@Override public void setMoving(boolean moving) { previewModel.getProperties().putValue(PreviewProperty.MOVING, moving); }
@Override public void preProcess(PreviewModel previewModel) { PreviewProperties properties = previewModel.getProperties(); //Check if the boolean property is set if (properties.getBooleanValue(MUTUALEGDE_HIGHLIGHT)) { Color color = properties.getColorValue(MUTUALEGDE_HIGHLIGHT_COLOR); // Retrieve all edge items in the model // As this renderer is called after the EdgeRenderer (which has a position=100, // and this renderer has no specific position) we know these edge // items are well defined and already posses a color Item[] edgeItems = previewModel.getItems(Item.EDGE); for (Item item : edgeItems) { EdgeItem edgeItem = (EdgeItem) item; Boolean mutual = edgeItem.getData(EdgeItem.MUTUAL); if (mutual) { //If mutual edge, change the color edgeItem.setData(EdgeItem.COLOR, color); } } } }
@Override public void duplicate(Workspace source, Workspace destination) { PreviewController previewController=Lookup.getDefault().lookup(PreviewController.class); PreviewModel sourceModel=previewController.getModel(source); PreviewModel destModel=previewController.getModel(destination); destModel.setManagedRenderers(sourceModel.getManagedRenderers()); for(PreviewProperty property:sourceModel.getProperties().getProperties()){ destModel.getProperties().putValue(property.getName(), property.getValue()); } for(Entry<String,Object> property:sourceModel.getProperties().getSimpleValues()){ destModel.getProperties().putValue(property.getKey(), property.getValue()); } } }
@Override public RenderTarget buildRenderTarget(PreviewModel previewModel) { CanvasSize cs = previewModel.getGraphicsCanvasSize(); boolean scaleStrokes = previewModel.getProperties() .getBooleanValue(SVGTarget.SCALE_STROKES); SVGRenderTargetImpl renderTarget = new SVGRenderTargetImpl(cs, scaleStrokes); return renderTarget; }
/** * Restores the original order of the renderers list, preserving their enabled state. */ private void restoreRenderersList() { PreviewModel model = previewController.getModel(); Set<Renderer> enabledRenderers = null; if (model != null && model.getManagedRenderers() != null) { enabledRenderers = new HashSet<>(); enabledRenderers.addAll(Arrays.asList(model.getManagedEnabledRenderers())); } renderersList.clear(); for (Renderer r : previewController.getRegisteredRenderers()) { renderersList.add(new RendererCheckBox(r, enabledRenderers == null || enabledRenderers.contains(r))); } updateModelManagedRenderers(); }
@Override public void preProcess(PreviewModel previewModel) { PreviewProperties properties = previewModel.getProperties(); if (properties.getBooleanValue(PreviewProperty.NODE_LABEL_SHORTEN)) { Item[] nodeLabelsItems = previewModel.getItems(Item.NODE_LABEL); for (Item item : previewModel.getItems(Item.NODE_LABEL)) { Node node = (Node) item.getSource(); Item nodeItem = previewModel.getItem(Item.NODE, node); item.setData(NODE_COLOR, nodeItem.getData(NodeItem.COLOR)); item.setData(NODE_SIZE, nodeItem.getData(NodeItem.SIZE)); for (Item item : previewModel.getItems(Item.NODE_LABEL)) { Float nodeSize = item.getData(NODE_SIZE); Float fontSize = 1f;
for (PreviewMouseListener listener : previewModel.getEnabledMouseListeners()) { switch (event.type) { case CLICKED: listener.mouseClicked(event, previewModel.getProperties(), workspace); break; case PRESSED: mousePressed = true; listener.mousePressed(event, previewModel.getProperties(), workspace); break; case DRAGGED: listener.mouseDragged(event, previewModel.getProperties(), workspace); break; case RELEASED: mousePressed = false; listener.mouseReleased(event, previewModel.getProperties(), workspace);
if (controller.getModel()!=null && controller.getModel().getManagedRenderers() != null) { enabledRenderers = new HashSet<>(); for (ManagedRenderer mr : controller.getModel().getManagedRenderers()) { if (mr.isEnabled()) { enabledRenderers.add(mr.getRenderer()); PreviewProperties properties = model.getProperties();
/** * Sets current renderers enabled state and order to the preview model. */ private void updateModelManagedRenderers() { PreviewModel model = previewController.getModel(); if (model != null) { ArrayList<ManagedRenderer> managedRenderers = new ArrayList<>(); for (RendererCheckBox rendererCheckBox : renderersList) { managedRenderers.add(new ManagedRenderer(rendererCheckBox.renderer, rendererCheckBox.isSelected())); } model.setManagedRenderers(managedRenderers.toArray(new ManagedRenderer[0])); } }
/** * Obtain renderers enabled state and order from the preview model. */ private void loadModelManagedRenderers() { renderersList.clear(); PreviewModel model = previewController.getModel(); if (model != null) { if (model.getManagedRenderers() != null) { for (ManagedRenderer mr : model.getManagedRenderers()) { renderersList.add(new RendererCheckBox(mr.getRenderer(), mr.isEnabled())); } } else { restoreRenderersList(); } } }
@Override public void preProcess(PreviewModel previewModel) { final PreviewProperties properties = previewModel.getProperties(); final Item[] edgeItems = previewModel.getItems(Item.EDGE); final Node source = edge.getSource(); final Node target = edge.getTarget(); final Item nodeSource = previewModel.getItem(Item.NODE, source); final Item nodeTarget = previewModel.getItem(Item.NODE, target); item.setData(SOURCE, nodeSource); item.setData(TARGET, nodeTarget);
private CanvasSize getSheetCanvasSize(PreviewModel m) { CanvasSize cs = m.getGraphicsCanvasSize(); float marginPercentage = m.getProperties() .getFloatValue(PreviewProperty.MARGIN); float marginWidth = cs.getWidth() * marginPercentage / 100F; float marginHeight = cs.getHeight() * marginPercentage / 100F; return new CanvasSize( cs.getX() - marginWidth, cs.getY() - marginHeight, cs.getWidth() + 2F * marginWidth, cs.getHeight() + 2F * marginHeight); }
@Override public void itemStateChanged(ItemEvent e) { JComboBox comboBox = (JComboBox) e.getSource(); if (!comboBox.getSelectedItem().equals(NO_SELECTION)) { previewModel.getProperties().putValue(NodesZOrdering.SORT_COLUMN, comboBox.getSelectedItem()); } else { previewModel.getProperties().putValue(NodesZOrdering.SORT_COLUMN, null); } } });
@Override public void preProcess(PreviewModel previewModel) { PreviewProperties properties = previewModel.getProperties(); if (properties.getBooleanValue(PreviewProperty.EDGE_LABEL_SHORTEN)) { Item[] EdgeLabelsItems = previewModel.getItems(Item.EDGE_LABEL); for (Item item : previewModel.getItems(Item.EDGE_LABEL)) { Edge edge = (Edge) item.getSource(); Item edgeItem = previewModel.getItem(Item.EDGE, edge);
@Override public RenderTarget buildRenderTarget(PreviewModel previewModel) { CanvasSize cs = previewModel.getGraphicsCanvasSize(); PreviewProperties properties = previewModel.getProperties(); float marginBottom = properties.getFloatValue(PDFTarget.MARGIN_BOTTOM); float marginLeft = properties.getFloatValue(PDFTarget.MARGIN_LEFT); float marginRight = properties.getFloatValue(PDFTarget.MARGIN_RIGHT); float marginTop = properties.getFloatValue(PDFTarget.MARGIN_TOP); com.itextpdf.text.Rectangle pageSize = properties.getValue(PDFTarget.PAGESIZE); boolean landscape = properties.getBooleanValue(PDFTarget.LANDSCAPE); PdfContentByte cb = properties.getValue(PDFTarget.PDF_CONTENT_BYTE); PDFRenderTargetImpl renderTarget = new PDFRenderTargetImpl( cb, cs, pageSize, marginLeft, marginRight, marginTop, marginBottom, landscape); return renderTarget; }
@Override public void propertyChange(PropertyChangeEvent evt) { PreviewController previewController = Lookup.getDefault().lookup(PreviewController.class); previewController.getModel().getProperties().putValue(PreviewProperty.BACKGROUND_COLOR, (Color) evt.getNewValue()); PreviewUIController previewUIController = Lookup.getDefault().lookup(PreviewUIController.class); previewUIController.refreshPreview(); } });
@Override public RenderTarget buildRenderTarget(PreviewModel previewModel) { Integer width = previewModel.getProperties().getValue("width"); Integer height = previewModel.getProperties().getValue("height"); if (width != null && height != null) { width = Math.max(1, width); height = Math.max(1, height); return new G2DTargetImpl(previewModel, width, height); } else { return new G2DTargetImpl(previewModel, 1, 1); } }
@Override public void savePreset(String name) { if (model != null) { PreviewModel previewModel = previewController.getModel(); Map<String, Object> map = new HashMap<>(); for (PreviewProperty p : previewModel.getProperties().getProperties()) { map.put(p.getName(), p.getValue()); } for (Entry<String, Object> p : previewModel.getProperties().getSimpleValues()) { map.put(p.getKey(), p.getValue()); } PreviewPreset preset = new PreviewPreset(name, map); presetUtils.savePreset(preset); model.setCurrentPreset(preset); } }
public void initTarget(PreviewUIModel previewUIModel) { // inits the preview applet if (previewUIModel != null && target == null) { PreviewController previewController = Lookup.getDefault().lookup(PreviewController.class); PreviewModel previewModel = previewUIModel.getPreviewModel(); Color background = previewModel.getProperties().getColorValue(PreviewProperty.BACKGROUND_COLOR); if (background != null) { setBackgroundColor(background); } Dimension dimensions = getSketchDimensions(); previewModel.getProperties().putValue("width", (int) dimensions.getWidth()); previewModel.getProperties().putValue("height", (int) dimensions.getHeight()); target = (G2DTarget) previewController.getRenderTarget(RenderTarget.G2D_TARGET); if (target != null) { sketch = new PreviewSketch(target); sketchPanel.add(sketch, BorderLayout.CENTER); } } else if (previewUIModel == null) { sketchPanel.remove(sketch); target = null; } }
@Override public Item[] getItems(Graph graph) { // Workspace workspace = graphModel.getWorkspace(); PreviewProperties properties = Lookup.getDefault().lookup(PreviewController.class).getModel().getProperties(); if (properties.hasProperty("display-label.node.id")) { String nodeId = properties.getStringValue("display-label.node.id"); return new Item[]{new LabelItem(graph.getNode(nodeId))}; } else { return new Item[0]; } }