private boolean isGlyphGutterMouseEvent(MouseEvent evt) { return (evt != null && evt.getSource() == extEditorUI.getGlyphGutter()); }
public void run() { // Prevent default swing tooltip manager javax.swing.ToolTipManager.sharedInstance().unregisterComponent(component); // Also disable the swing tooltip manager on gutter component GlyphGutter gg = extEditorUI.getGlyphGutter(); if (gg != null) { javax.swing.ToolTipManager.sharedInstance().unregisterComponent(gg); } } }
public void focusGained(FocusEvent e) { // JComponent component = (JComponent)e.getSource(); // component.addMouseListener(this); // component.addMouseMotionListener(this); GlyphGutter gg = extEditorUI.getGlyphGutter(); if (gg != null && !glyphListenerAdded) { glyphListenerAdded = true; gg.addMouseListener(this); gg.addMouseMotionListener(this); } }
/** Possibly do translation when over the gutter. */ private Point getLastMouseEventPoint() { Point p = null; MouseEvent lme = lastMouseEvent; if (lme != null) { p = lme.getPoint(); if (lme.getSource() == extEditorUI.getGlyphGutter()) { // Over glyph gutter - change coords JTextComponent c = extEditorUI.getComponent(); if (c != null) { if (c.getParent() instanceof JViewport) { JViewport vp = (JViewport)c.getParent(); p = new Point(vp.getViewPosition().x, p.y); } } } } return p; }
/** Update the tooltip by running corresponding action * {@link ExtKit#buildToolTipAction}. This method gets * called once the enterTimer fires and it can be overriden * by children. */ protected void updateToolTip() { ExtEditorUI ui = extEditorUI; if (ui == null) return; JTextComponent comp = ui.getComponent(); if (comp == null) return; if (isGlyphGutterMouseEvent(lastMouseEvent)) { setToolTipText(extEditorUI.getGlyphGutter().getToolTipText(lastMouseEvent)); } else { // over the text component BaseKit kit = Utilities.getKit(comp); if (kit != null) { Action a = kit.getActionByName(ExtKit.buildToolTipAction); if (a != null) { a.actionPerformed(new ActionEvent(comp, 0, "")); // NOI18N } } } }
component.addMouseMotionListener(this); GlyphGutter gg = extEditorUI.getGlyphGutter(); if (gg != null && !glyphListenerAdded) { glyphListenerAdded = true; component.removeMouseMotionListener(this); GlyphGutter gg = extEditorUI.getGlyphGutter(); if (gg != null) { gg.removeMouseListener(this);