List of usage examples for com.intellij.openapi.editor.event EditorMouseAdapter EditorMouseAdapter
EditorMouseAdapter
From source file:com.intellij.codeInsight.hint.HintManagerImpl.java
License:Apache License
public HintManagerImpl(ActionManagerEx actionManagerEx, ProjectManager projectManager) { myEditorManagerListener = new MyEditorManagerListener(); myAnActionListener = new MyAnActionListener(); actionManagerEx.addAnActionListener(myAnActionListener); myCaretMoveListener = new CaretAdapter() { @Override/*from w w w. ja v a 2 s .co m*/ public void caretPositionChanged(CaretEvent e) { hideHints(HIDE_BY_ANY_KEY, false, false); } }; projectManager.addProjectManagerListener(new MyProjectManagerListener()); myEditorMouseListener = new EditorMouseAdapter() { @Override public void mousePressed(EditorMouseEvent event) { hideAllHints(); } }; myVisibleAreaListener = new VisibleAreaListener() { @Override public void visibleAreaChanged(VisibleAreaEvent e) { updateScrollableHints(e); hideHints(HIDE_BY_SCROLLING, false, false); } }; myEditorFocusListener = new FocusAdapter() { @Override public void focusLost(final FocusEvent e) { myHideAlarm.addRequest(new Runnable() { @Override public void run() { if (!JBPopupFactory.getInstance().isChildPopupFocused(e.getComponent())) { hideAllHints(); } } }, 200); } @Override public void focusGained(FocusEvent e) { myHideAlarm.cancelAllRequests(); } }; myEditorDocumentListener = new DocumentAdapter() { @Override public void documentChanged(DocumentEvent event) { LOG.assertTrue(SwingUtilities.isEventDispatchThread()); HintInfo[] infos = getHintsStackArray(); for (HintInfo info : infos) { if ((info.flags & HIDE_BY_TEXT_CHANGE) != 0) { if (info.hint.isVisible()) { info.hint.hide(); } myHintsStack.remove(info); } } if (myHintsStack.isEmpty()) { updateLastEditor(null); } } }; }
From source file:com.intellij.codeInsight.lookup.impl.LookupImpl.java
License:Apache License
private void addListeners() { myEditor.getDocument().addDocumentListener(new DocumentAdapter() { @Override/*from ww w.j a v a 2 s .co m*/ public void documentChanged(DocumentEvent e) { if (!myChangeGuard && !myFinishing) { hide(); } } }, this); final CaretListener caretListener = new CaretAdapter() { @Override public void caretPositionChanged(CaretEvent e) { if (!myChangeGuard && !myFinishing) { hide(); } } }; final SelectionListener selectionListener = new SelectionListener() { @Override public void selectionChanged(final SelectionEvent e) { if (!myChangeGuard && !myFinishing) { hide(); } } }; final EditorMouseListener mouseListener = new EditorMouseAdapter() { @Override public void mouseClicked(EditorMouseEvent e) { e.consume(); hide(); } }; myEditor.getCaretModel().addCaretListener(caretListener); myEditor.getSelectionModel().addSelectionListener(selectionListener); myEditor.addEditorMouseListener(mouseListener); Disposer.register(this, new Disposable() { @Override public void dispose() { myEditor.getCaretModel().removeCaretListener(caretListener); myEditor.getSelectionModel().removeSelectionListener(selectionListener); myEditor.removeEditorMouseListener(mouseListener); } }); JComponent editorComponent = myEditor.getContentComponent(); if (editorComponent.isShowing()) { Disposer.register(this, new UiNotifyConnector(editorComponent, new Activatable() { @Override public void showNotify() { } @Override public void hideNotify() { hideLookup(false); } })); } myList.addListSelectionListener(new ListSelectionListener() { private LookupElement oldItem = null; @Override public void valueChanged(@NotNull ListSelectionEvent e) { final LookupElement item = getCurrentItem(); if (oldItem != item && !myList.isEmpty()) { // do not update on temporary model wipe fireCurrentItemChanged(item); if (myDisposed) { //a listener may have decided to close us, what can we do? return; } oldItem = item; } } }); new ClickListener() { @Override public boolean onClick(@NotNull MouseEvent e, int clickCount) { setFocusDegree(FocusDegree.FOCUSED); markSelectionTouched(); if (clickCount == 2) { CommandProcessor.getInstance().executeCommand(myProject, new Runnable() { @Override public void run() { finishLookup(NORMAL_SELECT_CHAR); } }, "", null); } return true; } }.installOn(myList); }
From source file:com.intellij.execution.impl.EditorHyperlinkSupport.java
License:Apache License
public EditorHyperlinkSupport(@NotNull final Editor editor, @NotNull final Project project) { myEditor = editor;/*from www . jav a2s .c om*/ myProject = project; editor.addEditorMouseListener(new EditorMouseAdapter() { @Override public void mouseClicked(EditorMouseEvent e) { final MouseEvent mouseEvent = e.getMouseEvent(); if (mouseEvent.getButton() == MouseEvent.BUTTON1 && !mouseEvent.isPopupTrigger()) { Runnable runnable = getLinkNavigationRunnable( myEditor.xyToLogicalPosition(e.getMouseEvent().getPoint())); if (runnable != null) { runnable.run(); } } } }); editor.getContentComponent().addMouseMotionListener(new MouseMotionAdapter() { public void mouseMoved(final MouseEvent e) { final HyperlinkInfo info = getHyperlinkInfoByPoint(e.getPoint()); if (info != null) { myEditor.getContentComponent().setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); } else { final Cursor cursor = editor instanceof EditorEx ? UIUtil.getTextCursor(((EditorEx) editor).getBackgroundColor()) : Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR); myEditor.getContentComponent().setCursor(cursor); } } }); }
From source file:com.maddyhome.idea.vim.group.ChangeGroup.java
License:Open Source License
/** * Creates the group/*from ww w. j ava 2 s .com*/ */ public ChangeGroup() { // We want to know when a user clicks the mouse somewhere in the editor so we can clear any // saved text for the current insert mode. final EventFacade eventFacade = EventFacade.getInstance(); eventFacade.addEditorFactoryListener(new EditorFactoryAdapter() { public void editorCreated(@NotNull EditorFactoryEvent event) { final Editor editor = event.getEditor(); eventFacade.addEditorMouseListener(editor, listener); EditorData.setChangeGroup(editor, true); } public void editorReleased(@NotNull EditorFactoryEvent event) { final Editor editor = event.getEditor(); if (EditorData.getChangeGroup(editor)) { eventFacade.removeEditorMouseListener(editor, listener); EditorData.setChangeGroup(editor, false); } } @NotNull private final EditorMouseAdapter listener = new EditorMouseAdapter() { public void mouseClicked(@NotNull EditorMouseEvent event) { Editor editor = event.getEditor(); if (!VimPlugin.isEnabled()) { return; } if (CommandState.inInsertMode(editor)) { clearStrokes(editor); } } }; }, ApplicationManager.getApplication()); }
From source file:com.ritesh.idea.plugin.ui.diff.CommentsDiffTool.java
License:Apache License
@Override public void show(DiffRequest request) { final FrameWrapper frameWrapper = new FrameWrapper(request.getProject(), request.getGroupKey()); final DiffPanelImpl diffPanel = createDiffPanelImpl(request, frameWrapper.getFrame(), frameWrapper); final Editor editor = diffPanel.getEditor2(); updateHighLights(editor);/*from w ww. ja va 2 s .co m*/ editor.addEditorMouseListener(new EditorMouseAdapter() { @Override public void mouseClicked(EditorMouseEvent e) { if (e.getArea() != null && e.getArea().equals(EditorMouseEventArea.LINE_MARKERS_AREA)) { final Point locationOnScreen = e.getMouseEvent().getLocationOnScreen(); final int lineNumber = EditorUtil.yPositionToLogicalLine(editor, e.getMouseEvent()) + 1; showCommentsView(locationOnScreen, lineNumber, editor); } } }); DiffUtil.initDiffFrame(request.getProject(), frameWrapper, diffPanel, diffPanel.getComponent()); frameWrapper.setTitle(request.getWindowTitle()); frameWrapper.show(); }