/** * Sent when an area of the drawing view needs to be repainted. */ @Override public void areaInvalidated(ToolEvent e) { fireAreaInvalidated(e.getInvalidatedArea()); } /**
/** * Sent when the bounds need to be revalidated. */ @Override public void boundsInvalidated(ToolEvent e) { fireBoundsInvalidated(e.getInvalidatedArea()); }
/** * Sets the selectBehindEnabled property. * This is a bound property. * * @param newValue The new value. */ public void setSelectBehindEnabled(boolean newValue) { boolean oldValue = isSelectBehindEnabled; isSelectBehindEnabled = newValue; firePropertyChange(SELECT_BEHIND_ENABLED_PROPERTY, oldValue, newValue); }
@Override public void toolDone(ToolEvent event) { // Empty Tool newTracker = getSelectAreaTracker(); if (newTracker != null) { if (tracker != null) { tracker.deactivate(getEditor()); tracker.removeToolListener(this); } tracker = newTracker; tracker.activate(getEditor()); tracker.addToolListener(this); } fireToolDone(); }
@Override public void mousePressed(MouseEvent evt) { if (getView() != null && getView().isEnabled()) { super.mousePressed(evt); DrawingView view = getView(); Handle handle = view.findHandle(anchor); Tool newTracker = null; if (handle != null) { newTracker = getHandleTracker(handle); } else { Figure figure; Drawing drawing = view.getDrawing(); Point2D.Double p = view.viewToDrawing(anchor); if (isSelectBehindEnabled() && (evt.getModifiersEx() & (InputEvent.ALT_DOWN_MASK | InputEvent.CTRL_DOWN_MASK)) != 0) { if (isSelectBehindEnabled()) { for (Figure f : view.getSelectedFigures()) { if (f.contains(p)) { newTracker = getDragTracker(figure); } else { if (!evt.isShiftDown()) { newTracker = getSelectAreaTracker(); setTracker(newTracker);
SelectionTool selectionTool = new SelectionTool(); selectionTool.setDragTracker(new DnDTracker());
/** Creates a new instance. */ public SelectionTool() { tracker = getSelectAreaTracker(); trackerHandler = new TrackerHandler(); tracker.addToolListener(trackerHandler); }
editor.setTool(new SelectionTool());
/** * Method to get a {@code HandleTracker} which handles user interaction * for the specified handle. */ protected HandleTracker getHandleTracker(Handle handle) { if (handleTracker == null) { handleTracker = new DefaultHandleTracker(); } handleTracker.setHandles(handle, getView().getCompatibleHandles(handle)); return handleTracker; }