[graphl-cvs] graphl/src/org/mediavirus/graphl GraphlApplication.java GraphlPane.java GraphlPanel.jav
Status: Pre-Alpha
Brought to you by:
flo1
From: Flo L. <fl...@us...> - 2004-10-21 16:00:58
|
Update of /cvsroot/graphl/graphl/src/org/mediavirus/graphl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4235/src/org/mediavirus/graphl Modified Files: GraphlApplication.java GraphlPane.java GraphlPanel.java Log Message: - BUG updating painter list in GraphlPane menus - BUG scale center in center of viewport - FEATURE SortedNodeLayouter sorts on arbitrary property - FEATURE SortedNodeLayouter configurable in GUI + configfile - FEATURE BoxNodePainter: configurable roundedRect + cornerRadius - BUG added beaninfo for manhattanEdgePainter Index: GraphlPanel.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/GraphlPanel.java,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** GraphlPanel.java 19 Oct 2004 16:17:08 -0000 1.16 --- GraphlPanel.java 21 Oct 2004 16:00:47 -0000 1.17 *************** *** 181,185 **** public void stateChanged(ChangeEvent e) { ! graphPane.setScale(zoomSlider.getValue()/100.0f); getJButton().setText("Zoom: " + zoomSlider.getValue() + "%"); } --- 181,185 ---- public void stateChanged(ChangeEvent e) { ! graphPane.setScaleFactor(zoomSlider.getValue()/100.0f); getJButton().setText("Zoom: " + zoomSlider.getValue() + "%"); } *************** *** 194,198 **** if (layoutBox == null) { layoutBox = new JCheckBox(); ! layoutBox.setLabel("dynamic Layout"); layoutBox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { --- 194,198 ---- if (layoutBox == null) { layoutBox = new JCheckBox(); ! layoutBox.setText("dynamic Layout"); layoutBox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { *************** *** 245,249 **** } ! private JComponent getNodePainterMenu() { if (nodePainterMenu == null) { nodePainterMenu = new JComboBox(); --- 245,249 ---- } ! private JComboBox getNodePainterMenu() { if (nodePainterMenu == null) { nodePainterMenu = new JComboBox(); *************** *** 267,271 **** } ! private JComponent getEdgePainterMenu() { if (edgePainterMenu == null) { edgePainterMenu = new JComboBox(); --- 267,271 ---- } ! private JComboBox getEdgePainterMenu() { if (edgePainterMenu == null) { edgePainterMenu = new JComboBox(); *************** *** 290,293 **** --- 290,308 ---- } + public void updatePainters() { + getNodePainterMenu().removeAllItems(); + getEdgePainterMenu().removeAllItems(); + Vector painters = graphPane.getFacetRegistry().getAvailableNodePainters(); + for (Iterator iter = painters.iterator(); iter.hasNext();) { + NodePainter painter = (NodePainter) iter.next(); + getNodePainterMenu().addItem(painter); + } + painters = graphPane.getFacetRegistry().getAvailableEdgePainters(); + for (Iterator iter = painters.iterator(); iter.hasNext();) { + EdgePainter painter = (EdgePainter) iter.next(); + getEdgePainterMenu().addItem(painter); + } + } + public boolean nodeRemove(Node n) { return true; Index: GraphlApplication.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/GraphlApplication.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** GraphlApplication.java 19 Oct 2004 16:17:08 -0000 1.12 --- GraphlApplication.java 21 Oct 2004 16:00:47 -0000 1.13 *************** *** 426,429 **** --- 426,431 ---- mainPanel.graphPane.setFacetRegistry(new GraphFacetRegistry(settings,(Node)configurations.get(0))); } + + mainPanel.updatePainters(); } Index: GraphlPane.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/GraphlPane.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** GraphlPane.java 14 Oct 2004 13:03:04 -0000 1.13 --- GraphlPane.java 21 Oct 2004 16:00:47 -0000 1.14 *************** *** 63,70 **** Layouter layouter; ! AffineTransform transform = null; ! AffineTransform translationXF = null; ! AffineTransform scaleXF = null; private Point2D translationPoint = new Point2D.Double(0,0); FacetRegistry facetRegistry = new SimpleFacetRegistry(); --- 63,73 ---- Layouter layouter; ! AffineTransform transform = new AffineTransform(); ! AffineTransform translationXF = new AffineTransform(); ! AffineTransform scaleXF = new AffineTransform(); ! AffineTransform centerXF = new AffineTransform(); ! private Point2D translationPoint = new Point2D.Double(0,0); + float scaleFactor = 1.0f; FacetRegistry facetRegistry = new SimpleFacetRegistry(); *************** *** 129,132 **** --- 132,136 ---- return vocabularyRegistry; } + /** * @param vocabularyRegistry The VocabularyRegistry to set. *************** *** 135,181 **** this.vocabularyRegistry = vocabularyRegistry; } - /** - * @param graph - */ - - // private void setupDefaultPainters() { - // - // // register the available painter classes (for user selection) - // facetRegistry.registerEdgePainter(new StraightLineEdgePainter()); - // facetRegistry.registerEdgePainter(new ManhattanEdgePainter()); - // facetRegistry.registerEdgePainter(new InvisibleEdgePainter()); - // - // facetRegistry.registerNodePainter(new BoxNodePainter()); - // facetRegistry.registerNodePainter(new ImageNodePainter()); - // facetRegistry.registerNodePainter(new InvisibleNodePainter()); - // - // facetRegistry.registerEdgeLayouter(new SpringEdgeLayouter()); - // facetRegistry.registerEdgeLayouter(new NeutralEdgeLayouter()); - // - // facetRegistry.registerNodeLayouter(new UnconstrainedNodeLayouter()); - // facetRegistry.registerNodeLayouter(new RepulsionNodeLayouter()); - // facetRegistry.registerNodeLayouter(new AbsoluteNodeLayouter()); - // facetRegistry.registerNodeLayouter(new SortedNodeLayouter()); - // - // // set default painters - // facetRegistry.setDefaultEdgePainter(new StraightLineEdgePainter()); - // facetRegistry.setDefaultNodePainter(new BoxNodePainter()); - // facetRegistry.setDefaultEdgeLayouter(new SpringEdgeLayouter()); - // facetRegistry.setDefaultNodeLayouter(new RepulsionNodeLayouter()); - // - // } private void updateTransform() { transform = new AffineTransform(); ! if (translationXF != null) { transform.concatenate(translationXF); } ! if (scaleXF != null) { transform.concatenate(scaleXF); } repaint(); } ! public void setScale(float scale) { ! scaleXF = AffineTransform.getScaleInstance(scale, scale); updateTransform(); } public void setTranslation(double xoffset, double yoffset) { translationPoint = new Point2D.Double(xoffset, yoffset); --- 139,164 ---- this.vocabularyRegistry = vocabularyRegistry; } private void updateTransform() { transform = new AffineTransform(); ! transform.concatenate(centerXF); ! transform.concatenate(scaleXF); ! transform.concatenate(translationXF); repaint(); } ! public void setScaleFactor(float scaleFactor) { ! this.scaleFactor = scaleFactor; ! scaleXF = AffineTransform.getScaleInstance(scaleFactor, scaleFactor); updateTransform(); } + /** + * @return Returns the scaleFactor. + */ + public float getScaleFactor() { + return scaleFactor; + } + public void setTranslation(double xoffset, double yoffset) { translationPoint = new Point2D.Double(xoffset, yoffset); *************** *** 193,196 **** --- 176,180 ---- if (transform != null) g2.setTransform(transform); + long renderStartTime=System.currentTimeMillis(); Rectangle clipRectangle=g.getClipBounds(); Color oldColor=g.getColor(); *************** *** 205,209 **** Rectangle bounds=new Rectangle(); Iterator iterator; - long renderStartTime=System.currentTimeMillis(); while (nextZ < Integer.MAX_VALUE) { curZ = nextZ; --- 189,192 ---- *************** *** 241,245 **** for (int i=0;i<manipulators.size();i++) ((Manipulator)manipulators.get(i)).paint(g2); ! //long renderDuration = System.currentTimeMillis()-renderStartTime; } } --- 224,229 ---- for (int i=0;i<manipulators.size();i++) ((Manipulator)manipulators.get(i)).paint(g2); ! long renderDuration = System.currentTimeMillis()-renderStartTime; ! if (renderDuration > 0) System.out.println("render time: " + renderDuration + " FPS: " + 1000.0/renderDuration); } } *************** *** 283,287 **** public void doLayout() { super.doLayout(); ! setTranslation(getWidth()/2, getHeight()/2); } --- 267,272 ---- public void doLayout() { super.doLayout(); ! centerXF = AffineTransform.getTranslateInstance(getWidth()/2, getHeight()/2); ! updateTransform(); } *************** *** 328,332 **** } ! // we have to update all nodes' facets, because new nodes may have changed an existing node's type // TODO (2) implement node and edge change notification in GraphListener // then we can detect type changes properly --- 313,318 ---- } ! // we have to update all nodes' facets, because new nodes may have changed ! // an existing node's type // TODO (2) implement node and edge change notification in GraphListener // then we can detect type changes properly *************** *** 437,442 **** */ protected void paintEdge(Graphics2D g,Edge edge) { ! EdgePainter edgePainter = getPainterForEdge(edge); ! edgePainter.paintEdge(this, g, edge, selection.isEdgeSelected(edge), false); } --- 423,427 ---- */ protected void paintEdge(Graphics2D g,Edge edge) { ! edge.getCurrentPainter().paintEdge(this, g, edge, selection.isEdgeSelected(edge), false); } *************** *** 448,453 **** */ protected void paintNode(Graphics2D g,Node node) { ! NodePainter nodePainter = getPainterForNode(node); ! nodePainter.paintNode(this, g, node, selection.isNodeSelected(node), false); } --- 433,437 ---- */ protected void paintNode(Graphics2D g,Node node) { ! node.getCurrentPainter().paintNode(this, g, node, selection.isNodeSelected(node), false); } *************** *** 556,561 **** */ public void getNodeScreenBounds(Node node,Rectangle nodeScreenRectangle) { ! NodePainter nodePainter = getPainterForNode(node); ! nodePainter.getNodeScreenBounds(this,node,nodeScreenRectangle); } /** --- 540,544 ---- */ public void getNodeScreenBounds(Node node,Rectangle nodeScreenRectangle) { ! node.getCurrentPainter().getNodeScreenBounds(this,node,nodeScreenRectangle); } /** *************** *** 576,581 **** */ public void getEdgeScreenBounds(Edge edge,Rectangle edgeScreenRectangle) { ! EdgePainter edgePainter=getPainterForEdge(edge); ! edgePainter.getEdgeScreenBounds(this,edge,edgeScreenRectangle); } /** --- 559,563 ---- */ public void getEdgeScreenBounds(Edge edge,Rectangle edgeScreenRectangle) { ! edge.getCurrentPainter().getEdgeScreenBounds(this,edge,edgeScreenRectangle); } /** *************** *** 590,610 **** repaint(edgeScreenRectangle); } ! /** ! * Returns the text for the tool-tip. ! * ! * @param event the mouse event ! * @return the text for the tool-tip ! */ ! public String getToolTipText(MouseEvent event) { ! Point point = event.getPoint(); ! Node node = getNodeAtPoint(point); ! if (node != null) { ! NodePainter nodePainter = getPainterForNode(node); ! String toolTipText = nodePainter.getToolTipText(this,node,point); ! if (toolTipText != null) ! return toolTipText; ! } ! return super.getToolTipText(event); ! } /** * Processes the component event. --- 572,576 ---- repaint(edgeScreenRectangle); } ! /** * Processes the component event. |