List of usage examples for com.intellij.openapi.fileEditor OpenFileDescriptor OpenFileDescriptor
public OpenFileDescriptor(@NotNull Project project, @NotNull VirtualFile file, int offset)
From source file:org.jetbrains.plugins.groovy.annotator.intentions.CreateClassActionBase.java
License:Apache License
@Nullable public static Editor putCursor(Project project, @NotNull PsiFile targetFile, PsiElement element) { int textOffset = element.getTextOffset(); VirtualFile virtualFile = targetFile.getVirtualFile(); if (virtualFile != null) { OpenFileDescriptor descriptor = new OpenFileDescriptor(project, virtualFile, textOffset); return FileEditorManager.getInstance(project).openTextEditor(descriptor, true); } else {/*from w w w . j a va2 s . c om*/ return null; } }
From source file:org.jetbrains.plugins.groovy.annotator.intentions.CreateLocalVariableFromUsageFix.java
License:Apache License
@Nullable protected static Editor positionCursor(Project project, PsiFile targetFile, PsiElement element) { TextRange range = element.getTextRange(); int textOffset = range.getStartOffset(); VirtualFile vFile = targetFile.getVirtualFile(); assert vFile != null; OpenFileDescriptor descriptor = new OpenFileDescriptor(project, vFile, textOffset); return FileEditorManager.getInstance(project).openTextEditor(descriptor, true); }
From source file:org.jetbrains.plugins.ruby.ruby.actions.BaseEditorActionTestCase.java
License:Apache License
private void prepareEditor(String documentText) { final IntRef selStartOffset = new IntRef(documentText.indexOf(SELECTION_START_MARKER)); final IntRef selEndOffset = new IntRef(documentText.indexOf(SELECTION_END_MARKER)); final IntRef caretOffset = new IntRef(documentText.indexOf(CARET_MARKER)); if (caretOffset.get() >= 0) { documentText = TestUtil.removeSubstring(documentText, caretOffset.get(), CARET_MARKER.length(), caretOffset, selStartOffset, selEndOffset); }/*from ww w . ja v a 2 s . c om*/ if (selStartOffset.get() >= 0) { documentText = TestUtil.removeSubstring(documentText, selStartOffset.get(), SELECTION_START_MARKER.length(), caretOffset, selStartOffset, selEndOffset); } if (selEndOffset.get() >= 0) { documentText = TestUtil.removeSubstring(documentText, selEndOffset.get(), SELECTION_END_MARKER.length(), caretOffset, selStartOffset, selEndOffset); } assert (selStartOffset.get() <= -1) || selStartOffset.get() < selEndOffset.get(); myFile = TestUtil.createPseudoPhysicalFile(myProject, documentText); fileEditorManager = FileEditorManager.getInstance(myProject); myEditor = fileEditorManager.openTextEditor(new OpenFileDescriptor(myProject, myFile.getVirtualFile(), 0), false); // Setting up editor if (caretOffset.get() >= 0) { myEditor.getCaretModel().moveToOffset(caretOffset.get()); } else { myEditor.getCaretModel().moveToOffset(0); } if (selStartOffset.get() >= 0 && selEndOffset.get() >= 0) { myEditor.getSelectionModel().setSelection(selStartOffset.get(), selEndOffset.get()); } }
From source file:org.jetbrains.plugins.scala.lang.actions.editor.enter.AbstractEnterActionTestBase.java
License:Apache License
private String processFile(final PsiFile file) throws IncorrectOperationException, InvalidDataException, IOException { String result;//from w w w . java2 s . co m String fileText = file.getText(); int offset = fileText.indexOf(CARET_MARKER); fileText = removeMarker(fileText); myFile = TestUtils.createPseudoPhysicalScalaFile(getProject(), fileText); fileEditorManager = FileEditorManager.getInstance(getProject()); myEditor = fileEditorManager .openTextEditor(new OpenFileDescriptor(getProject(), myFile.getVirtualFile(), 0), false); myEditor.getCaretModel().moveToOffset(offset); final myDataContext dataContext = getDataContext(myFile); final EditorActionHandler handler = getMyHandler(); try { performAction(getProject(), new Runnable() { public void run() { handler.execute(myEditor, dataContext); } }); offset = myEditor.getCaretModel().getOffset(); result = myEditor.getDocument().getText(); result = result.substring(0, offset) + CARET_MARKER + result.substring(offset); } finally { fileEditorManager.closeFile(myFile.getVirtualFile()); myEditor = null; } return result; }
From source file:org.moe.designer.configurations.ConfigurationAction.java
License:Apache License
protected void pickedBetterMatch(@NotNull VirtualFile file, @NotNull VirtualFile old) { // Switch files, and leave this configuration alone Module module = myRenderContext.getModule(); assert module != null; Project project = module.getProject(); OpenFileDescriptor descriptor = new OpenFileDescriptor(project, file, -1); FileEditorManager manager = FileEditorManager.getInstance(project); FileEditor selectedEditor = manager.getSelectedEditor(old); List<FileEditor> editors = manager.openEditor(descriptor, true); // Switch to the same type of editor (XML or Layout Editor) in the target file if (selectedEditor instanceof IOSDesignerEditor) { manager.setSelectedEditor(file, IXMLFileEditorProvider.ANDROID_DESIGNER_ID); } else if (selectedEditor != null) { manager.setSelectedEditor(file, TextEditorProvider.getInstance().getEditorTypeId()); // Proactively switch to the new editor right away in the layout XML preview, if applicable if (!editors.isEmpty()) { for (FileEditor editor : editors) { if (editor instanceof TextEditor && editor.getComponent().isShowing()) { //TODO: implement preview window if it is important // AndroidLayoutPreviewToolWindowManager previewManager = AndroidLayoutPreviewToolWindowManager.getInstance(project); // previewManager.notifyFileShown((TextEditor)editor, true); break; }// ww w . j a v a2 s .c o m } } } }
From source file:org.moe.designer.rendering.RenderedPanel.java
License:Apache License
private boolean handleMenu(@Nullable RenderedView leaf) { boolean showMenu = false; if (leaf != null) { ViewInfo view = leaf.view;/*from w w w. j a v a 2 s .c o m*/ if (view != null) { ViewType viewType = view.getViewType(); if (viewType != ViewType.USER) { IXmlFile xmlFile = myContext.getXmlFile(); if (ResourceHelper.getFolderType(xmlFile) == ResourceFolderType.MENU) { // When rendering a menu file, don't hide menu when clicking outside of it showMenu = true; } if (viewType == ViewType.ACTION_BAR_OVERFLOW) { showMenu = !ActionBarHandler.isShowingMenu(myContext); } else if (ActionBarHandler.isShowingMenu(myContext)) { RenderedView v = leaf.getParent(); while (v != null) { if (v.tag != null) { // A view *containing* a system view is the menu showMenu = true; if (TAG_ITEM.equals(v.tag.getName())) { PsiFile file = v.tag.getContainingFile(); if (file != null && file != xmlFile) { VirtualFile virtualFile = file.getVirtualFile(); if (virtualFile != null) { Project project = file.getProject(); int offset = v.tag.getTextOffset(); OpenFileDescriptor descriptor = new OpenFileDescriptor(project, virtualFile, offset); FileEditorManager.getInstance(project).openEditor(descriptor, true); return true; } } } break; } v = v.getParent(); } } } } } ActionBarHandler.showMenu(showMenu, myContext, true); return false; }
From source file:org.moe.designer.rendering.RenderOptionsMenuBuilder.java
License:Apache License
@NotNull public RenderOptionsMenuBuilder addPreferXmlOption() { myGroup.addAction(new CheckboxAction("Prefer XML Editor") { @Override/*w w w. j a v a 2 s . c om*/ public boolean isSelected(AnActionEvent e) { return mySettings.getGlobalState().isPreferXmlEditor(); } @Override public void setSelected(AnActionEvent e, boolean state) { mySettings.getGlobalState().setPreferXmlEditor(state); // Switch to XML editor Module module = myContext.getModule(); VirtualFile file = myContext.getVirtualFile(); if (module != null && file != null) { Project project = module.getProject(); FileEditorManager manager = FileEditorManager.getInstance(project); if (state) { OpenFileDescriptor descriptor = new OpenFileDescriptor(project, file, 0); manager.openEditor(descriptor, true); } else { FileEditorManager.getInstance(project).setSelectedEditor(file, IXMLFileEditorProvider.ANDROID_DESIGNER_ID); } } } }).setAsSecondary(true); return this; }
From source file:org.napile.idea.thermit.config.execution.TreeView.java
License:Apache License
private JPanel createPanel() { createModel();/*from w w w . j a v a2s. co m*/ myTree = new MyTree(); myTree.setLineStyleAngled(); myTree.setRootVisible(false); myTree.setShowsRootHandles(true); myTree.updateUI(); myTree.setLargeModel(true); myTree.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ENTER) { OpenSourceUtil.openSourcesFrom(DataManager.getInstance().getDataContext(myTree), false); } } }); myTree.addMouseListener(new PopupHandler() { public void invokePopup(Component comp, int x, int y) { popupInvoked(comp, x, y); } }); EditSourceOnDoubleClickHandler.install(myTree); myAutoScrollToSourceHandler.install(myTree); myOccurenceNavigatorSupport = new OccurenceNavigatorSupport(myTree) { protected Navigatable createDescriptorForNode(DefaultMutableTreeNode node) { if (!(node instanceof MessageNode)) { return null; } MessageNode messageNode = (MessageNode) node; AntBuildMessageView.MessageType type = messageNode.getType(); if (type != AntBuildMessageView.MessageType.MESSAGE && type != AntBuildMessageView.MessageType.ERROR) { return null; } if (!isValid(messageNode.getFile())) { return null; } return new OpenFileDescriptor(myProject, messageNode.getFile(), messageNode.getOffset()); } @Nullable public String getNextOccurenceActionName() { return ThermitBundle.message("ant.execution.next.error.warning.action.name"); } @Nullable public String getPreviousOccurenceActionName() { return ThermitBundle.message("ant.execution.previous.error.warning.action.name"); } }; JPanel panel = new JPanel(new BorderLayout()); JScrollPane scrollPane = MessageTreeRenderer.install(myTree); panel.add(scrollPane, BorderLayout.CENTER); return panel; }
From source file:org.napile.idea.thermit.config.execution.TreeView.java
License:Apache License
@Nullable public Object getData(String dataId) { if (PlatformDataKeys.NAVIGATABLE.is(dataId)) { MessageNode item = getSelectedItem(); if (item == null) return null; if (isValid(item.getFile())) { return new OpenFileDescriptor(myProject, item.getFile(), item.getOffset()); }/*from w ww .j a v a 2 s. co m*/ if (item.getType() == AntBuildMessageView.MessageType.TARGET) { final OpenFileDescriptor descriptor = getDescriptorForTargetNode(item); if (descriptor != null && isValid(descriptor.getFile())) { return descriptor; } } if (item.getType() == AntBuildMessageView.MessageType.TASK) { final OpenFileDescriptor descriptor = getDescriptorForTaskNode(item); if (descriptor != null && isValid(descriptor.getFile())) { return descriptor; } } } return null; }
From source file:org.sonarlint.intellij.ui.AbstractIssuesPanel.java
License:Open Source License
@CheckForNull private OccurenceNavigator.OccurenceInfo occurrence(@Nullable IssueNode node) { if (node == null) { return null; }/*from w w w. j a v a2 s .c om*/ TreePath path = new TreePath(node.getPath()); tree.getSelectionModel().setSelectionPath(path); tree.scrollPathToVisible(path); RangeMarker range = node.issue().getRange(); int startOffset = (range != null) ? range.getStartOffset() : 0; return new OccurenceNavigator.OccurenceInfo( new OpenFileDescriptor(project, node.issue().psiFile().getVirtualFile(), startOffset), -1, -1); }