• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java GlobalUndoableAction类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.intellij.openapi.command.undo.GlobalUndoableAction的典型用法代码示例。如果您正苦于以下问题:Java GlobalUndoableAction类的具体用法?Java GlobalUndoableAction怎么用?Java GlobalUndoableAction使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



GlobalUndoableAction类属于com.intellij.openapi.command.undo包,在下文中一共展示了GlobalUndoableAction类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: handleQualifiedNameChange

import com.intellij.openapi.command.undo.GlobalUndoableAction; //导入依赖的package包/类
@Override
public void handleQualifiedNameChange(@NotNull final PsiPackage psiPackage, @NotNull final String newQualifiedName) {
  ApplicationManager.getApplication().assertWriteAccessAllowed();
  final String oldQualifedName = psiPackage.getQualifiedName();
  final boolean anyChanged = changePackagePrefixes(psiPackage, oldQualifedName, newQualifiedName);
  if (anyChanged) {
    UndoManager.getInstance(psiPackage.getProject()).undoableActionPerformed(new GlobalUndoableAction() {
      @Override
      public void undo() {
        changePackagePrefixes(psiPackage, newQualifiedName, oldQualifedName);
      }

      @Override
      public void redo() {
        changePackagePrefixes(psiPackage, oldQualifedName, newQualifiedName);
      }
    });
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:20,代码来源:PsiPackageImplementationHelperImpl.java


示例2: handleQualifiedNameChange

import com.intellij.openapi.command.undo.GlobalUndoableAction; //导入依赖的package包/类
@Override
public void handleQualifiedNameChange(final PsiPackage psiPackage, final String newQualifiedName) {
  ApplicationManager.getApplication().assertWriteAccessAllowed();
  final String oldQualifedName = psiPackage.getQualifiedName();
  final boolean anyChanged = changePackagePrefixes(psiPackage, oldQualifedName, newQualifiedName);
  if (anyChanged) {
    UndoManager.getInstance(psiPackage.getProject()).undoableActionPerformed(new GlobalUndoableAction() {
      @Override
      public void undo() {
        changePackagePrefixes(psiPackage, newQualifiedName, oldQualifedName);
      }

      @Override
      public void redo() {
        changePackagePrefixes(psiPackage, oldQualifedName, newQualifiedName);
      }
    });
  }
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:20,代码来源:PsiPackageImplementationHelperImpl.java


示例3: processAddOrRemove

import com.intellij.openapi.command.undo.GlobalUndoableAction; //导入依赖的package包/类
public void processAddOrRemove(final AndroidDataSource dataSource, final boolean add) {
  final Project project = myDbFacade.getProject();

  final UndoableAction action = new GlobalUndoableAction() {
    public void undo() throws UnexpectedUndoException {
      if (add) {
        removeDataSourceInner(project, dataSource);
      }
      else {
        addDataSourceInner(project, dataSource);
      }
    }

    public void redo() throws UnexpectedUndoException {
      if (add) {
        addDataSourceInner(project, dataSource);
      }
      else {
        removeDataSourceInner(project, dataSource);
      }
    }
  };
  final String commandName = add ? DatabaseMessages.message("command.name.add.data.source")
                                 : DatabaseMessages.message("command.name.remove.data.source");
  new WriteCommandAction(project, commandName) {
    protected void run(@NotNull final Result result) throws Throwable {
      action.redo();
      UndoManager.getInstance(project).undoableActionPerformed(action);
    }

    @Override
    protected UndoConfirmationPolicy getUndoConfirmationPolicy() {
      return UndoConfirmationPolicy.REQUEST_CONFIRMATION;
    }
  }.execute();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:37,代码来源:AndroidDbManager.java


示例4: actionPerformed

import com.intellij.openapi.command.undo.GlobalUndoableAction; //导入依赖的package包/类
public void actionPerformed(final AnActionEvent e) {
  final Project project = getProject(e);
  GlobalUndoableAction action = new GlobalUndoableAction() {
    public void undo() throws UnexpectedUndoException {

    }

    public void redo() throws UnexpectedUndoException {
      WorkingContextManager.getInstance(project).clearContext();
    }
  };
  UndoableCommand.execute(project, action, "Clear context", "Context");
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:14,代码来源:ClearContextAction.java


示例5: replaceInjectionsWithUndo

import com.intellij.openapi.command.undo.GlobalUndoableAction; //导入依赖的package包/类
public static <T> void replaceInjectionsWithUndo(final Project project, final T add, final T remove,
                              final List<? extends PsiElement> psiElementsToRemove,
                              final PairProcessor<T, T> actualProcessor) {
  final UndoableAction action = new GlobalUndoableAction() {
    @Override
    public void undo() {
      actualProcessor.process(remove, add);
    }

    @Override
    public void redo() {
      actualProcessor.process(add, remove);
    }
  };
  final List<PsiFile> psiFiles = ContainerUtil.mapNotNull(psiElementsToRemove, new NullableFunction<PsiElement, PsiFile>() {
    @Override
    public PsiFile fun(final PsiElement psiAnnotation) {
      return psiAnnotation instanceof PsiCompiledElement ? null : psiAnnotation.getContainingFile();
    }
  });
  new WriteCommandAction.Simple(project, "Language Injection Configuration Update", PsiUtilCore.toPsiFileArray(psiFiles)) {
    @Override
    public void run() {
      for (PsiElement annotation : psiElementsToRemove) {
        annotation.delete();
      }
      actualProcessor.process(add, remove);
      UndoManager.getInstance(project).undoableActionPerformed(action);
    }

    @Override
    protected UndoConfirmationPolicy getUndoConfirmationPolicy() {
      return UndoConfirmationPolicy.REQUEST_CONFIRMATION;
    }
  }.execute();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:37,代码来源:Configuration.java


示例6: replaceInjectionsWithUndo

import com.intellij.openapi.command.undo.GlobalUndoableAction; //导入依赖的package包/类
public static <T> void replaceInjectionsWithUndo(final Project project, final T add, final T remove,
                              final List<? extends PsiElement> psiElementsToRemove,
                              final PairProcessor<T, T> actualProcessor) {
  final UndoableAction action = new GlobalUndoableAction() {
    public void undo() {
      actualProcessor.process(remove, add);
    }

    public void redo() {
      actualProcessor.process(add, remove);
    }
  };
  final List<PsiFile> psiFiles = ContainerUtil.mapNotNull(psiElementsToRemove, new NullableFunction<PsiElement, PsiFile>() {
    public PsiFile fun(final PsiElement psiAnnotation) {
      return psiAnnotation instanceof PsiCompiledElement ? null : psiAnnotation.getContainingFile();
    }
  });
  new WriteCommandAction.Simple(project, "Language Injection Configuration Update", PsiUtilCore.toPsiFileArray(psiFiles)) {
    public void run() {
      for (PsiElement annotation : psiElementsToRemove) {
        annotation.delete();
      }
      actualProcessor.process(add, remove);
      UndoManager.getInstance(project).undoableActionPerformed(action);
    }

    @Override
    protected UndoConfirmationPolicy getUndoConfirmationPolicy() {
      return UndoConfirmationPolicy.REQUEST_CONFIRMATION;
    }
  }.execute();
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:33,代码来源:Configuration.java


示例7: doOKAction

import com.intellij.openapi.command.undo.GlobalUndoableAction; //导入依赖的package包/类
@Override
protected void doOKAction() {
  super.doOKAction();

  mySettings.setContainingClassName((String)myClassComboBox.getSelectedItem());
  mySettings.setStatic(myStaticCheckBox.isSelected());
  GrTypeElement typeElement = getEnteredTypeName();

  if (typeElement == null) {
    mySettings.setType(CommonClassNames.JAVA_LANG_OBJECT);
  }
  else {
    PsiType type = typeElement.getType();
    if (type instanceof PsiPrimitiveType) {
      type = TypesUtil.boxPrimitiveType(type, typeElement.getManager(), ProjectScope.getAllScope(myProject));
    }

    final String typeQualifiedName = type.getCanonicalText();

    if (typeQualifiedName != null) {
      mySettings.setType(typeQualifiedName);
    }
    else {
      mySettings.setType(type.getPresentableText());
    }
  }

  final Document document = PsiDocumentManager.getInstance(myProject).getDocument(myContext.getContainingFile());

  CommandProcessor.getInstance().executeCommand(myProject, new Runnable() {
    @Override
    public void run() {
      UndoManager.getInstance(myProject).undoableActionPerformed(new GlobalUndoableAction(document) {
        @Override
        public void undo() throws UnexpectedUndoException {

          final DItemElement itemElement;
          if (mySettings.isMethod()) {
            final List<ParamInfo> myPairList = mySettings.getParams();
            final String[] argumentsTypes = QuickfixUtil.getArgumentsTypes(myPairList);
            itemElement =
              myDynamicManager.findConcreteDynamicMethod(mySettings.getContainingClassName(), mySettings.getName(), argumentsTypes);
          }
          else {
            itemElement = myDynamicManager.findConcreteDynamicProperty(mySettings.getContainingClassName(), mySettings.getName());
          }

          if (itemElement == null) {
            Messages.showWarningDialog(myProject, GroovyInspectionBundle.message("Cannot.perform.undo.operation"),
                                       GroovyInspectionBundle.message("Undo.disable"));
            return;
          }
          final DClassElement classElement = myDynamicManager.getClassElementByItem(itemElement);

          if (classElement == null) {
            Messages.showWarningDialog(myProject, GroovyInspectionBundle.message("Cannot.perform.undo.operation"),
                                       GroovyInspectionBundle.message("Undo.disable"));
            return;
          }

          removeElement(itemElement);

          if (classElement.getMethods().isEmpty() && classElement.getProperties().isEmpty()) {
            myDynamicManager.removeClassElement(classElement);
          }
        }

        @Override
        public void redo() throws UnexpectedUndoException {
          addElement(mySettings);
        }
      });

      addElement(mySettings);
    }
  }, "Add dynamic element", null);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:78,代码来源:DynamicDialog.java


示例8: doOKAction

import com.intellij.openapi.command.undo.GlobalUndoableAction; //导入依赖的package包/类
protected void doOKAction() {
  super.doOKAction();

  mySettings.setContainingClassName((String)myClassComboBox.getSelectedItem());
  mySettings.setStatic(myStaticCheckBox.isSelected());
  GrTypeElement typeElement = getEnteredTypeName();

  if (typeElement == null) {
    mySettings.setType(CommonClassNames.JAVA_LANG_OBJECT);
  }
  else {
    PsiType type = typeElement.getType();
    if (type instanceof PsiPrimitiveType) {
      type = TypesUtil.boxPrimitiveType(type, typeElement.getManager(), ProjectScope.getAllScope(myProject));
    }

    final String typeQualifiedName = type.getCanonicalText();

    if (typeQualifiedName != null) {
      mySettings.setType(typeQualifiedName);
    }
    else {
      mySettings.setType(type.getPresentableText());
    }
  }

  final Document document = PsiDocumentManager.getInstance(myProject).getDocument(myContext.getContainingFile());

  CommandProcessor.getInstance().executeCommand(myProject, new Runnable() {
    public void run() {
      UndoManager.getInstance(myProject).undoableActionPerformed(new GlobalUndoableAction(document) {
        public void undo() throws UnexpectedUndoException {

          final DItemElement itemElement;
          if (mySettings.isMethod()) {
            final List<ParamInfo> myPairList = mySettings.getParams();
            final String[] argumentsTypes = QuickfixUtil.getArgumentsTypes(myPairList);
            itemElement =
              myDynamicManager.findConcreteDynamicMethod(mySettings.getContainingClassName(), mySettings.getName(), argumentsTypes);
          }
          else {
            itemElement = myDynamicManager.findConcreteDynamicProperty(mySettings.getContainingClassName(), mySettings.getName());
          }

          if (itemElement == null) {
            Messages.showWarningDialog(myProject, GroovyInspectionBundle.message("Cannot.perform.undo.operation"),
                                       GroovyInspectionBundle.message("Undo.disable"));
            return;
          }
          final DClassElement classElement = myDynamicManager.getClassElementByItem(itemElement);

          if (classElement == null) {
            Messages.showWarningDialog(myProject, GroovyInspectionBundle.message("Cannot.perform.undo.operation"),
                                       GroovyInspectionBundle.message("Undo.disable"));
            return;
          }

          removeElement(itemElement);

          if (classElement.getMethods().size() == 0 && classElement.getProperties().size() == 0) {
            myDynamicManager.removeClassElement(classElement);
          }
        }

        public void redo() throws UnexpectedUndoException {
          addElement(mySettings);
        }
      });

      addElement(mySettings);
    }
  }, "Add dynamic element", null);
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:74,代码来源:DynamicDialog.java



注:本文中的com.intellij.openapi.command.undo.GlobalUndoableAction类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java OPDSpasticityAssessTreatVoAssembler类代码示例发布时间:2022-05-15
下一篇:
Java LogisticRegression类代码示例发布时间:2022-05-15
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap