当前位置: 首页>>代码示例>>Java>>正文


Java DataManager.getDataContext方法代码示例

本文整理汇总了Java中com.intellij.ide.DataManager.getDataContext方法的典型用法代码示例。如果您正苦于以下问题:Java DataManager.getDataContext方法的具体用法?Java DataManager.getDataContext怎么用?Java DataManager.getDataContext使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.intellij.ide.DataManager的用法示例。


在下文中一共展示了DataManager.getDataContext方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: moveClass

import com.intellij.ide.DataManager; //导入方法依赖的package包/类
private void moveClass(Project project, Editor editor, PsiFile file, PsiClass aClass) {
  RefactoringActionHandler moveHandler = RefactoringActionHandlerFactory.getInstance().createMoveHandler();
  DataManager dataManager = DataManager.getInstance();
  DataContext dataContext = dataManager.getDataContext();
  final String fqName = aClass.getQualifiedName();
  LOG.assertTrue(fqName != null);
  PsiDirectory directory = PackageUtil
    .findOrCreateDirectoryForPackage(myCurrentModule, StringUtil.getPackageName(fqName), mySourceRoot, true);
  DataContext context = SimpleDataContext.getSimpleContext(LangDataKeys.TARGET_PSI_ELEMENT.getName(), directory, dataContext);

  moveHandler.invoke(project, new PsiElement[]{aClass}, context);
  PsiReference reference = file.findReferenceAt(editor.getCaretModel().getOffset());
  PsiClass newClass = JavaPsiFacade.getInstance(project).findClass(fqName, GlobalSearchScope.moduleScope(myCurrentModule));
  if (reference != null && newClass != null) {
    final QuestionAction action = new AddImportAction(project, reference, editor, newClass);
    action.execute();
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:19,代码来源:MoveClassToModuleFix.java

示例2: onChosen

import com.intellij.ide.DataManager; //导入方法依赖的package包/类
@Override
public PopupStep onChosen(ActionItem actionChoice, boolean finalChoice, final int eventModifiers) {
  if (!actionChoice.isEnabled()) return FINAL_CHOICE;
  final AnAction action = actionChoice.getAction();
  DataManager mgr = DataManager.getInstance();

  final DataContext dataContext = myContext != null ? mgr.getDataContext(myContext) : mgr.getDataContext();

  if (action instanceof ActionGroup && (!finalChoice || !((ActionGroup)action).canBePerformed(dataContext))) {
      return createActionsStep((ActionGroup)action, dataContext, myEnableMnemonics, true, myShowDisabledActions, null, myContext, false,
                               myPreselectActionCondition, false);
  }
  else {
    myFinalRunnable = new Runnable() {
      @Override
      public void run() {
        performAction(action, eventModifiers);
      }
    };
    return FINAL_CHOICE;
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:23,代码来源:PopupFactoryImpl.java

示例3: doFix

import com.intellij.ide.DataManager; //导入方法依赖的package包/类
@Override
public void doFix(@NotNull final Project project, ProblemDescriptor descriptor) {
  final PsiElement nameElement = descriptor.getPsiElement();
  final PsiAnonymousClass aClass =
    (PsiAnonymousClass)nameElement.getParent();
  final JavaRefactoringActionHandlerFactory factory =
    JavaRefactoringActionHandlerFactory.getInstance();
  final RefactoringActionHandler anonymousToInner =
    factory.createAnonymousToInnerHandler();
  final DataManager dataManager = DataManager.getInstance();
  final DataContext dataContext = dataManager.getDataContext();
  final Runnable runnable = new Runnable() {
    @Override
    public void run() {
      anonymousToInner.invoke(project, new PsiElement[]{aClass}, dataContext);
    }
  };
  if (ApplicationManager.getApplication().isUnitTestMode()) {
    runnable.run();
  }
  else {
    ApplicationManager.getApplication().invokeLater(runnable, project.getDisposed());
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:25,代码来源:MoveAnonymousToInnerClassFix.java

示例4: doFix

import com.intellij.ide.DataManager; //导入方法依赖的package包/类
@Override
public void doFix(final Project project, ProblemDescriptor descriptor) {
  final PsiExpression expression =
    (PsiExpression)descriptor.getPsiElement();
  final JavaRefactoringActionHandlerFactory factory =
    JavaRefactoringActionHandlerFactory.getInstance();
  final RefactoringActionHandler extractHandler =
    factory.createExtractMethodHandler();
  final DataManager dataManager = DataManager.getInstance();
  final DataContext dataContext = dataManager.getDataContext();
  final Runnable runnable = new Runnable() {
    @Override
    public void run() {
      extractHandler.invoke(project,
                            new PsiElement[]{expression}, dataContext);
    }
  };
  if (ApplicationManager.getApplication().isUnitTestMode()) {
    runnable.run();
  }
  else {
    ApplicationManager.getApplication().invokeLater(runnable);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:25,代码来源:ExtractMethodFix.java

示例5: performAction

import com.intellij.ide.DataManager; //导入方法依赖的package包/类
public void performAction(@NotNull AnAction action, int modifiers) {
  final DataManager mgr = DataManager.getInstance();
  final DataContext dataContext = myContext != null ? mgr.getDataContext(myContext) : mgr.getDataContext();
  final AnActionEvent event = new AnActionEvent(null, dataContext, ActionPlaces.UNKNOWN, action.getTemplatePresentation().clone(),
                                                ActionManager.getInstance(), modifiers);
  event.setInjectedContext(action.isInInjectedContext());
  if (ActionUtil.lastUpdateAndCheckDumb(action, event, false)) {
    action.actionPerformed(event);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:11,代码来源:PopupFactoryImpl.java

示例6: navigate

import com.intellij.ide.DataManager; //导入方法依赖的package包/类
@Override
public void navigate(@NotNull Project project, @Nullable RelativePoint hyperlinkLocationPoint) {
  final DataManager dataManager = DataManager.getInstance();
  final DataContext dataContext = hyperlinkLocationPoint != null ?
                                  dataManager.getDataContext(hyperlinkLocationPoint.getOriginalComponent()) : dataManager.getDataContext();
  ViewAssertEqualsDiffAction.openDiff(dataContext, DiffHyperlink.this);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:8,代码来源:DiffHyperlink.java

示例7: computeSourcePosition

import com.intellij.ide.DataManager; //导入方法依赖的package包/类
@Override
public void computeSourcePosition(@NotNull XNavigatable navigatable) {
    final DataManager dataManager = DataManager.getInstance();
    final DataContext dataContext = dataManager != null ? dataManager.getDataContext() : null;
    final Project project;
    if (dataContext != null) {
        project = PlatformDataKeys.PROJECT.getData(dataContext);
    } else {
        super.computeSourcePosition(navigatable);
        return;
    }

    XDebugSession debugSession = null;
    if (project != null) {
        debugSession = XDebuggerManager.getInstance(project).getCurrentSession();
    }
    XSourcePosition currentPosition = null;

    if (debugSession != null) {
        currentPosition = debugSession.getCurrentPosition();
    }

    if (currentPosition == null) return;

    final PsiElement contextElement = XDebuggerUtil.getInstance().findContextElement(currentPosition.getFile(),
            currentPosition.getOffset(), project, false);

    if (contextElement == null) return;

    LuaBlock block = PsiTreeUtil.getParentOfType(contextElement, LuaBlock.class);

    if (!isLocal) {
        block = PsiTreeUtil.getParentOfType(block, LuaBlock.class, true);
    }

    ArrayList<LuaLocalDeclaration> candidates = new ArrayList<>();

    boolean found = false;

    while (block != null && !found) {
        for (LuaLocalDeclaration local : block.getLocals()) {
            final String localName = local.getName();
            if (localName != null && localName.equals(getName())) {
                candidates.add(local);
                found = true;
            }
        }

        block = PsiTreeUtil.getParentOfType(block, LuaBlock.class, true);
    }


    if (candidates.size() == 0) return;

    LuaLocalDeclaration resolved = null;
    for (LuaLocalDeclaration candidate : candidates) {
        if (resolved == null) {
            resolved = candidate;
        } else {
            if (candidate.getTextOffset() < contextElement.getTextOffset() && candidate.getTextOffset() > resolved.getTextOffset()) {
                resolved = candidate;
            }
        }
    }

    navigatable.setSourcePosition(XDebuggerUtil.getInstance().createPositionByElement(resolved));
}
 
开发者ID:internetisalie,项目名称:lua-for-idea,代码行数:68,代码来源:LuaDebugVariable.java

示例8: getContextBy

import com.intellij.ide.DataManager; //导入方法依赖的package包/类
private static DataContext getContextBy(Component contextComponent) {
  final DataManager dataManager = DataManager.getInstance();
  return contextComponent != null ? dataManager.getDataContext(contextComponent) : dataManager.getDataContext();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:5,代码来源:ActionManagerImpl.java

示例9: restoreFocus

import com.intellij.ide.DataManager; //导入方法依赖的package包/类
public void restoreFocus() {
  final Application app = ApplicationManager.getApplication();
  if (app == null || wrongOS() || myConsumed || isSheduledForRestore()) return;

  Project project = null;
  DataManager dataManager = DataManager.getInstance();
  if (dataManager != null) {
    DataContext context = myParentWindow == null ? dataManager.getDataContext() : dataManager.getDataContext(myParentWindow);
    if (context != null) {
      project = CommonDataKeys.PROJECT.getData(context);
    }
  }

  mySheduledForRestore = true;
  final List<FocusTrackback> stack = getCleanStackForRoot();
  final int index = stack.indexOf(this);
  for (int i = index - 1; i >=0; i--) {
    if (stack.get(i).isSheduledForRestore()) {
      dispose();
      return;
    }
  }

  if (project != null && !project.isDisposed()) {
    final IdeFocusManager focusManager = IdeFocusManager.getInstance(project);
    cleanParentWindow();
    final Project finalProject = project;
    focusManager.requestFocus(new MyFocusCommand(), myForcedRestore).doWhenProcessed(new Runnable() {
      public void run() {
        dispose();
      }
    }).doWhenRejected(new Runnable() {
      @Override
      public void run() {
        focusManager.revalidateFocus(new ExpirableRunnable.ForProject(finalProject) {
          @Override
          public void run() {
            if (UIUtil.isMeaninglessFocusOwner(focusManager.getFocusOwner())) {
              focusManager.requestDefaultFocus(false);
            }
          }
        });
      }
    });
  }
  else {
    // no ide focus manager, so no way -- do just later
    //noinspection SSBasedInspection
    SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        _restoreFocus();
        dispose();
      }
    });
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:57,代码来源:FocusTrackback.java


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