@Override public void addGraphicChangeHandler(PropertyChangeListener graphicsChangeHandler) { if (Objects.nonNull(graphicsChangeHandler) && !graphicsListeners.contains(graphicsChangeHandler)) { graphicsListeners.add(graphicsChangeHandler); models.forEach(g -> g.addPropertyChangeListener(graphicsChangeHandler)); } }
public static void addGraphicToModel(ViewCanvas<?> canvas, GraphicLayer layer, Graphic graphic) { GraphicModel gm = canvas.getGraphicManager(); graphic.setLayer(Optional.ofNullable(layer).orElseGet(() -> getOrBuildLayer(canvas, graphic.getLayerType()))); graphic.updateLabel(Boolean.TRUE, canvas); for (PropertyChangeListener listener : canvas.getGraphicManager().getGraphicsListeners()) { graphic.addPropertyChangeListener(listener); } gm.addGraphic(graphic); }
public static Graphic drawFromCurrentGraphic(ViewCanvas<?> canvas, Graphic graphicCreator) { Objects.requireNonNull(canvas); Graphic newGraphic = Optional.ofNullable(graphicCreator).orElse(MeasureToolBar.selectionGraphic); GraphicLayer layer = getOrBuildLayer(canvas, newGraphic.getLayerType()); if (!layer.getVisible() || !(Boolean) canvas.getActionValue(ActionW.DRAWINGS.cmd())) { JOptionPane.showMessageDialog(canvas.getJComponent(), Messages.getString("AbstractLayerModel.msg_not_vis"), //$NON-NLS-1$ Messages.getString("AbstractLayerModel.draw"), //$NON-NLS-1$ JOptionPane.ERROR_MESSAGE); return null; } else { Graphic graph = newGraphic.copy(); if (graph != null) { graph.updateLabel(Boolean.TRUE, canvas); for (PropertyChangeListener listener : canvas.getGraphicManager().getGraphicsListeners()) { graph.addPropertyChangeListener(listener); } graph.setLayer(layer); canvas.getGraphicManager().addGraphic(graph); } return graph; } }
graphic.setLayer(layer); for (PropertyChangeListener listener : modelList.getGraphicsListeners()) { graphic.addPropertyChangeListener(listener);
graphic.addPropertyChangeListener(listener); graphic.addPropertyChangeListener(listener);