本文整理汇总了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();
}
}
示例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;
}
}
示例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());
}
}
示例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);
}
}
示例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);
}
}
示例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);
}
示例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));
}
示例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();
}
示例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();
}
});
}
}