@Override public void setMoving(boolean moving) { previewModel.getProperties().putValue(PreviewProperty.MOVING, moving); }
@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 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 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()); } } }
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 RenderTarget buildRenderTarget(PreviewModel previewModel) { CanvasSize cs = previewModel.getGraphicsCanvasSize(); boolean scaleStrokes = previewModel.getProperties() .getBooleanValue(SVGTarget.SCALE_STROKES); SVGRenderTargetImpl renderTarget = new SVGRenderTargetImpl(cs, scaleStrokes); return renderTarget; }
@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); } }
@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]; } }
@Override public void setCurrentPreset(PreviewPreset preset) { if (model != null) { model.setCurrentPreset(preset); PreviewModel previewModel = previewController.getModel(); previewModel.getProperties().applyPreset(preset); } }
@Override public boolean execute() { PreviewController controller = Lookup.getDefault().lookup(PreviewController.class); controller.getModel(workspace).getProperties().putValue(PreviewProperty.VISIBILITY_RATIO, 1.0); controller.refreshPreview(workspace); PreviewProperties props = controller.getModel(workspace).getProperties(); props.putValue("width", width); props.putValue("height", height); target = (G2DTarget) controller.getRenderTarget(RenderTarget.G2D_TARGET, workspace); try { target.refresh(); Graphics2D pg2 = (Graphics2D) target.getGraphics(); BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); pg2.drawImage(img, null, 0, 0); ImageIO.write(img, "jpg", stream); stream.close(); } catch (Exception e) { throw new RuntimeException(e); } return true; }
public void refresh(PreviewModel m, RenderTarget target) { if (m == null) { return; } if (!inited) { CanvasSize cs = getSheetCanvasSize(m); scaling = computeDefaultScaling(cs); fit(cs); inited = true; } g2.setTransform(new AffineTransform()); background = m.getProperties() .getColorValue(PreviewProperty.BACKGROUND_COLOR); if (background != null) { g2.setColor(background); g2.fillRect(0, 0, width, height); } // user zoom Vector center = new Vector(width / 2F, height / 2F); Vector scaledCenter = Vector.mult(center, scaling); Vector scaledTrans = Vector.sub(center, scaledCenter); g2.translate(scaledTrans.x, scaledTrans.y); g2.scale(scaling, scaling); // user move g2.translate(trans.x, trans.y); //Draw target previewController.render(target); }
private synchronized void discardExportProperties(PreviewModel m) { PreviewProperties props = m.getProperties(); props.removeSimpleValue("width"); props.removeSimpleValue("height"); props.removeSimpleValue(PreviewProperty.MARGIN); props.putValue(PreviewProperty.BACKGROUND_COLOR, oldColor); } }
private synchronized void setExportProperties(PreviewModel m) { PreviewProperties props = m.getProperties(); props.putValue(PreviewProperty.VISIBILITY_RATIO, 1.0F); props.putValue("width", width); props.putValue("height", height); oldColor = props.getColorValue(PreviewProperty.BACKGROUND_COLOR); if (transparentBackground) { props.putValue( PreviewProperty.BACKGROUND_COLOR, null); //Transparent } props.putValue(PreviewProperty.MARGIN, new Float(margin)); }
@Override public void select(Workspace workspace) { graphModel = graphController.getGraphModel(workspace); PreviewModel previewModel = previewController.getModel(workspace); model = workspace.getLookup().lookup(PreviewUIModelImpl.class); if (model == null) { model = new PreviewUIModelImpl(previewModel); workspace.add(model); } Float visibilityRatio = previewModel.getProperties().getFloatValue(PreviewProperty.VISIBILITY_RATIO); ((PreviewUIModelImpl) model).setVisibilityRatio(visibilityRatio); fireEvent(SELECT, model); }
@Override public void run() { model.setRefreshing(true); fireEvent(REFRESHING, true); previewController.getModel().getProperties().putValue(PreviewProperty.VISIBILITY_RATIO, model.getVisibilityRatio()); previewController.refreshPreview(); fireEvent(REFRESHED, model); model.setRefreshing(false); fireEvent(REFRESHING, false); fireEvent(GRAPH_CHANGED, false); } }, "Refresh Preview");
@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 boolean execute() { PreviewController controller = Lookup.getDefault().lookup(PreviewController.class); controller.getModel(workspace).getProperties().putValue(PreviewProperty.VISIBILITY_RATIO, 1.0); controller.refreshPreview(workspace); PreviewProperties props = controller.getModel(workspace).getProperties(); props.putValue(SVGTarget.SCALE_STROKES, scaleStrokes); props.putValue(PreviewProperty.MARGIN, new Float((float) margin));
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 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; }