/** * Hook method which can be overriden by subclasses to provide * specialised behaviour in the event of a popup trigger. */ protected void handlePopupMenu(MouseEvent evt) { Point p = new Point(evt.getX(), evt.getY()); Figure figure = getView().findFigure(p); if (figure != null || drawingActions.size() > 0) { showPopupMenu(figure, p, evt.getComponent()); } else { popupMenu = null; } }
@Override public String getToolTipText(DrawingView view, MouseEvent evt) { Handle handle = view.findHandle(evt.getPoint()); if (handle != null) { return handle.getToolTipText(evt.getPoint()); } Figure figure = view.findFigure(evt.getPoint()); if (figure != null) { return figure.getToolTipText(viewToDrawing(evt.getPoint())); } return null; } }
@Override public void mouseDragged(MouseEvent e) { DrawingView v = getView(); Figure f = v.findFigure(e.getPoint()); if (f != null) { if (!v.getSelectedFigures().contains(f)) { v.clearSelection(); v.addToSelection(f); } v.getComponent().getTransferHandler().exportAsDrag(v.getComponent(), e, DnDConstants.ACTION_MOVE); } fireToolDone(); }
if (view != null && view.isEnabled()) { if (view.findHandle(anchor) != null || (view.findFigure(anchor) != null && view.findFigure(anchor) .isSelectable()))
protected boolean maybeSwitchTool(final MouseEvent event) { if (activeTool != null && activeTool.isConstructing()) return false; anchor = new Point(event.getX(), event.getY()); JHotDrawTool tool = creationTool; final DrawingView view = getView(); if (view != null && view.isEnabled()) { if (view.findHandle(anchor) != null || (view.findFigure(anchor) != null && view.findFigure(anchor) .isSelectable())) { tool = selectionTool; } } if (activeTool != tool) { if (activeTool != null) { activeTool.deactivate(getEditor()); } if (tool != null) { tool.activate(getEditor()); if (!isActive()) { tool.deactivate(getEditor()); } } activeTool = tool; return true; } return false; } }
Figure f = view.findFigure(me.getPoint()); if (view.getSelectedFigures().contains(f)) { transferFigures.addAll(view.getSelectedFigures());
@Override public void mouseMoved(MouseEvent evt) { Point point = evt.getPoint(); updateCursor(editor.findView((Container) evt.getSource()), point); DrawingView view = editor.findView((Container) evt.getSource()); updateCursor(view, point); if (view == null || editor.getActiveView() != view) { clearHoverHandles(); } else { // Search first, if one of the selected figures contains // the current mouse location. Only then search for other // figures. This search sequence is consistent with the // search sequence of the SelectionTool. Figure figure = null; Point2D.Double p = view.viewToDrawing(point); for (Figure f : view.getSelectedFigures()) { if (f.contains(p)) { figure = f; } } if (figure == null) { figure = view.findFigure(point); Drawing drawing = view.getDrawing(); while (figure != null && !figure.isSelectable()) { figure = drawing.findFigureBehind(p, figure); } } updateHoverHandles(view, figure); } }
@Override public void mouseMoved(MouseEvent evt) { clearRubberBand(); Point point = evt.getPoint(); DrawingView view = editor.findView((Container) evt.getSource()); updateCursor(view, point); if (view == null || editor.getActiveView() != view) { clearHoverHandles(); } else { // Search first, if one of the selected figures contains // the current mouse location, and is selectable. // Only then search for other // figures. This search sequence is consistent with the // search sequence of the SelectionTool. Figure figure = null; Point2D.Double p = view.viewToDrawing(point); for (Figure f : view.getSelectedFigures()) { if (f.contains(p)) { figure = f; } } if (figure == null) { figure = view.findFigure(point); while (figure != null && !figure.isSelectable()) { figure = view.getDrawing().findFigureBehind(p, figure); } } updateHoverHandles(view, figure); } }
public void updateCursor(DrawingView view, Point p) { if (view.isEnabled()) { Handle handle = view.findHandle(p); if (handle != null) { view.setCursor(handle.getCursor()); } else { Figure figure = view.findFigure(p); Point2D.Double point = view.viewToDrawing(p); Drawing drawing = view.getDrawing(); while (figure != null && !figure.isSelectable()) { figure = drawing.findFigureBehind(point, figure); } if (figure != null) { view.setCursor(figure.getCursor(view.viewToDrawing(p))); } else { view.setCursor(Cursor.getDefaultCursor()); } } } else { view.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); } }
figure = v.findFigure(pos);
(InputEvent.ALT_DOWN_MASK | InputEvent.CTRL_DOWN_MASK)) != 0) { figure = view.findFigure(anchor); while (figure != null && !figure.isSelectable()) { figure = drawing.findFigureBehind(p, figure); figure = view.findFigure(anchor); while (figure != null && !figure.isSelectable()) { figure = drawing.findFigureBehind(p, figure);