comparing with http://hg.netbeans.org/main/contrib/ searching for changes changeset: 13238:5f2ed997c3cf user: derbeth@netbeans.org date: Sat Jun 14 22:17:45 2008 +0200 summary: added @Override to AnimatorTest, added description of widget behaviour to widget labels diff -r 66f77277c096 -r 5f2ed997c3cf visual.examples/src/test/animator/AnimatorTest.java --- a/visual.examples/src/test/animator/AnimatorTest.java Sat Jun 07 00:05:14 2008 +0800 +++ b/visual.examples/src/test/animator/AnimatorTest.java Sat Jun 14 22:17:45 2008 +0200 @@ -72,11 +72,13 @@ public class MyAction extends WidgetAction.Adapter { + @Override public State mousePressed (Widget widget, WidgetMouseEvent event) { moveTo (event.getButton () == MouseEvent.BUTTON1 ? event.getPoint () : null); return State.CONSUMED; } + @Override public State mouseDragged (Widget widget, WidgetMouseEvent event) { moveTo (event.getPoint ()); return State.CONSUMED; @@ -93,10 +95,10 @@ public static void main (String[] args) { AnimatorTest scene = new AnimatorTest (); - scene.addNode ("form [Form]"); - scene.addNode ("list [List]"); - scene.addNode ("canvas [Canvas]"); - scene.addNode ("alert [Alert]"); + scene.addNode ("note the smooth animation"); + scene.addNode ("you can move widgets with mouse"); + scene.addNode ("use left mouse click to move all widgets to click point"); + scene.addNode ("use right mouse click to restore initial position"); scene.moveTo (null); SceneSupport.show (scene); } changeset: 13239:7d5836efec91 user: Derbeth@DOISSETEP date: Sat Jun 14 22:36:40 2008 +0200 summary: added @Override diff -r 5f2ed997c3cf -r 7d5836efec91 visual.examples/src/test/animator/ColorAnimatorTest.java --- a/visual.examples/src/test/animator/ColorAnimatorTest.java Sat Jun 14 22:17:45 2008 +0200 +++ b/visual.examples/src/test/animator/ColorAnimatorTest.java Sat Jun 14 22:36:40 2008 +0200 @@ -51,6 +51,7 @@ getActions ().addAction (scene.createWidgetHoverAction ()); } + @Override protected void notifyStateChanged (ObjectState previousState, ObjectState state) { if (previousState.isHovered () == state.isHovered ()) return; changeset: 13240:c52a0993034c user: Derbeth@DOISSETEP date: Sun Jun 15 11:32:26 2008 +0200 summary: added @Override to test.connect.ConnectScene diff -r 7d5836efec91 -r c52a0993034c visual.examples/src/test/connect/ConnectScene.java --- a/visual.examples/src/test/connect/ConnectScene.java Sat Jun 14 22:36:40 2008 +0200 +++ b/visual.examples/src/test/connect/ConnectScene.java Sun Jun 15 11:32:26 2008 +0200 @@ -89,6 +89,7 @@ private class SceneCreateAction extends WidgetAction.Adapter { + @Override public State mousePressed (Widget widget, WidgetMouseEvent event) { if (event.getClickCount () == 1) if (event.getButton () == MouseEvent.BUTTON1 || event.getButton () == MouseEvent.BUTTON2) { changeset: 13241:51860560d4ed user: Derbeth@DOISSETEP date: Sun Jun 15 11:59:34 2008 +0200 summary: changed "action" to "hoverAction"; setting opaque to false when hovering widgets (otherwise they will disappear) diff -r c52a0993034c -r 51860560d4ed visual.examples/src/test/connectionlabels/ConnectionLabelsTest.java --- a/visual.examples/src/test/connectionlabels/ConnectionLabelsTest.java Sun Jun 15 11:32:26 2008 +0200 +++ b/visual.examples/src/test/connectionlabels/ConnectionLabelsTest.java Sun Jun 15 11:59:34 2008 +0200 @@ -40,14 +40,14 @@ scene.addChild (mainLayer); LayerWidget connectionLayer = new LayerWidget (scene); scene.addChild (connectionLayer); - WidgetAction action = ActionFactory.createHoverAction (new MyHoverProvider (scene)); - scene.getActions ().addAction (action); + WidgetAction hoverAction = ActionFactory.createHoverAction (new MyHoverProvider (scene)); + scene.getActions ().addAction (hoverAction); LabelWidget sourceNode = new LabelWidget (scene, "Source"); sourceNode.setBorder (BorderFactory.createLineBorder ()); sourceNode.setOpaque (true); mainLayer.addChild (sourceNode); - sourceNode.getActions ().addAction (action); + sourceNode.getActions ().addAction (hoverAction); sourceNode.getActions ().addAction (ActionFactory.createMoveAction ()); sourceNode.setPreferredLocation (new Point (50, 100)); @@ -55,7 +55,7 @@ targetNode.setBorder (BorderFactory.createLineBorder ()); targetNode.setOpaque (true); mainLayer.addChild (targetNode); - targetNode.getActions ().addAction (action); + targetNode.getActions ().addAction (hoverAction); targetNode.getActions ().addAction (ActionFactory.createMoveAction ()); targetNode.setPreferredLocation (new Point (350, 200)); @@ -69,20 +69,20 @@ label1.setOpaque (true); edge.addChild (label1); edge.setConstraint (label1, LayoutFactory.ConnectionWidgetLayoutAlignment.TOP_RIGHT, 10); - label1.getActions ().addAction (action); + label1.getActions ().addAction (hoverAction); LabelWidget label2 = new LabelWidget (scene, "Movable Edge Center Label"); label2.setOpaque (true); label2.getActions ().addAction (ActionFactory.createMoveAction ()); edge.addChild (label2); edge.setConstraint (label2, LayoutFactory.ConnectionWidgetLayoutAlignment.CENTER_RIGHT, 0.5f); - label2.getActions ().addAction (action); + label2.getActions ().addAction (hoverAction); LabelWidget label3 = new LabelWidget (scene, "Target Bottom Label"); label3.setOpaque (true); edge.addChild (label3); edge.setConstraint (label3, LayoutFactory.ConnectionWidgetLayoutAlignment.BOTTOM_LEFT, -10); - label3.getActions ().addAction (action); + label3.getActions ().addAction (hoverAction); SceneSupport.show (scene); } diff -r c52a0993034c -r 51860560d4ed visual.examples/src/test/connectionlabels/LabelsWithSameAnchorTest.java --- a/visual.examples/src/test/connectionlabels/LabelsWithSameAnchorTest.java Sun Jun 15 11:32:26 2008 +0200 +++ b/visual.examples/src/test/connectionlabels/LabelsWithSameAnchorTest.java Sun Jun 15 11:59:34 2008 +0200 @@ -40,14 +40,14 @@ scene.addChild (mainLayer); LayerWidget connectionLayer = new LayerWidget (scene); scene.addChild (connectionLayer); - WidgetAction action = ActionFactory.createHoverAction (new MyHoverProvider (scene)); - scene.getActions ().addAction (action); + WidgetAction hoverAction = ActionFactory.createHoverAction (new MyHoverProvider (scene)); + scene.getActions ().addAction (hoverAction); LabelWidget sourceNode = new LabelWidget (scene, "Source"); sourceNode.setBorder (BorderFactory.createLineBorder ()); sourceNode.setOpaque (true); mainLayer.addChild (sourceNode); - sourceNode.getActions ().addAction (action); + sourceNode.getActions ().addAction (hoverAction); sourceNode.getActions ().addAction (ActionFactory.createMoveAction ()); sourceNode.setPreferredLocation (new Point (50, 100)); @@ -55,7 +55,7 @@ targetNode.setBorder (BorderFactory.createLineBorder ()); targetNode.setOpaque (true); mainLayer.addChild (targetNode); - targetNode.getActions ().addAction (action); + targetNode.getActions ().addAction (hoverAction); targetNode.getActions ().addAction (ActionFactory.createMoveAction ()); targetNode.setPreferredLocation (new Point (350, 200)); @@ -69,13 +69,13 @@ label1.getActions ().addAction (ActionFactory.createMoveAction ()); edge.addChild (label1); edge.setConstraint (label1, LayoutFactory.ConnectionWidgetLayoutAlignment.CENTER_RIGHT, 0.5f); - label1.getActions ().addAction (action); + label1.getActions ().addAction (hoverAction); LabelWidget label2 = new LabelWidget (scene, "Second Center Node"); label2.getActions ().addAction (ActionFactory.createMoveAction ()); edge.addChild (label2); edge.setConstraint (label2, LayoutFactory.ConnectionWidgetLayoutAlignment.CENTER_RIGHT, 0.5f); - label2.getActions ().addAction (action); + label2.getActions ().addAction (hoverAction); SceneSupport.show (scene); } @@ -90,6 +90,9 @@ public void unsetHovering (Widget widget) { if (widget != null) { + if (widget instanceof LabelWidget) { + widget.setOpaque(false); + } widget.setBackground (scene.getLookFeel ().getBackground (ObjectState.createNormal ())); widget.setForeground (scene.getLookFeel ().getForeground (ObjectState.createNormal ())); } @@ -97,6 +100,9 @@ public void setHovering (Widget widget) { if (widget != null) { + if (widget instanceof LabelWidget) { + widget.setOpaque(true); // otherwise user won't be able to see the hovered widget + } ObjectState state = ObjectState.createNormal ().deriveSelected (true); widget.setBackground (scene.getLookFeel ().getBackground (state)); widget.setForeground (scene.getLookFeel ().getForeground (state)); changeset: 13242:0313b63b4b0b user: derbeth@netbeans.org date: Sun Jun 15 17:00:06 2008 +0200 summary: added @Override, added description in DevolveTest diff -r 51860560d4ed -r 0313b63b4b0b visual.examples/src/test/context/ContextTest.java --- a/visual.examples/src/test/context/ContextTest.java Sun Jun 15 11:59:34 2008 +0200 +++ b/visual.examples/src/test/context/ContextTest.java Sun Jun 15 17:00:06 2008 +0200 @@ -71,11 +71,13 @@ return locked; } + @Override public State mousePressed (Widget widget, WidgetMouseEvent event) { locked = true; return State.createLocked (widget, this); } + @Override public State mouseReleased (Widget widget, WidgetMouseEvent event) { locked = false; return State.REJECTED; @@ -85,6 +87,7 @@ private static final class MouseUpAction extends WidgetAction.Adapter { + @Override public State mouseReleased (Widget widget, WidgetMouseEvent event) { widget.setBackground(((Color) widget.getBackground ()).darker ()); return State.CONSUMED; diff -r 51860560d4ed -r 0313b63b4b0b visual.examples/src/test/custom/CustomWidgetTest.java --- a/visual.examples/src/test/custom/CustomWidgetTest.java Sun Jun 15 11:59:34 2008 +0200 +++ b/visual.examples/src/test/custom/CustomWidgetTest.java Sun Jun 15 17:00:06 2008 +0200 @@ -36,11 +36,13 @@ this.radius = radius; } + @Override protected Rectangle calculateClientArea () { int r = (int) Math.ceil (radius); return new Rectangle (- r, - r, 2 * r + 1, 2 * r + 1); } + @Override protected void paintWidget () { int r = (int) Math.ceil (radius); Graphics2D g = getGraphics (); diff -r 51860560d4ed -r 0313b63b4b0b visual.examples/src/test/devolve/DevolveTest.java --- a/visual.examples/src/test/devolve/DevolveTest.java Sun Jun 15 11:59:34 2008 +0200 +++ b/visual.examples/src/test/devolve/DevolveTest.java Sun Jun 15 17:00:06 2008 +0200 @@ -31,6 +31,7 @@ import java.awt.*; import java.awt.event.MouseEvent; +import org.netbeans.api.visual.widget.LabelWidget; /** * @author David Kaspar @@ -49,6 +50,8 @@ addChild (backgroundLayer); addChild (mainLayer = new LayerWidget (this)); + + mainLayer.addChild (new LabelWidget (this, "When you click right mouse button, widgets return to the initial position.")); devolveLayout = LayoutFactory.createDevolveWidgetLayout (mainLayer, LayoutFactory.createHorizontalFlowLayout (), true); @@ -83,6 +86,7 @@ public class MyAction extends WidgetAction.Adapter { + @Override public State mouseClicked (Widget widget, WidgetMouseEvent event) { if (event.getButton () != MouseEvent.BUTTON1) { devolveLayout.invokeLayout (); changeset: 13243:e2132dc90c5d user: derbeth@netbeans.org date: Sun Jun 15 17:45:55 2008 +0200 summary: applied automatic code formatter (code hard to read), removed redundant cast (caused compiler warnings), fixed obscure node numbering (why 3 when there are 2 nodes?) diff -r 0313b63b4b0b -r e2132dc90c5d visual.examples/src/test/freeconnect/DemoGraphScene.java --- a/visual.examples/src/test/freeconnect/DemoGraphScene.java Sun Jun 15 17:00:06 2008 +0200 +++ b/visual.examples/src/test/freeconnect/DemoGraphScene.java Sun Jun 15 17:45:55 2008 +0200 @@ -46,8 +46,8 @@ private static final Image IMAGE = Utilities.loadImage("test/resources/node.png"); // NOI18N - private LayerWidget mainLayer; - private LayerWidget connectionLayer; + private LayerWidget mainLayer = new LayerWidget(this); + private LayerWidget connectionLayer = new LayerWidget(this); private LayerWidget interractionLayer = new LayerWidget(this); private LayerWidget backgroundLayer = new LayerWidget(this); private WidgetAction moveAction = ActionFactory.createMoveAction(); @@ -63,15 +63,14 @@ public DemoGraphScene() { - mainLayer = new LayerWidget(this); + addChild(backgroundLayer); addChild(mainLayer); - - connectionLayer = new LayerWidget(this); addChild(connectionLayer); addChild(interractionLayer); + getActions().addAction(ActionFactory.createRectangularSelectAction(this, backgroundLayer)); getActions().addAction(ActionFactory.createPopupMenuAction(new SceneMainMenu(this))); - setToolTipText("Left mouse click for creating a new Node"); + setToolTipText("Right mouse click for creating a new Node"); initGrids(); } @@ -84,6 +83,7 @@ label.getActions().addAction(moveAction); mainLayer.addChild(label); label.getActions().addAction(ActionFactory.createPopupMenuAction(nodeMenu)); + label.getActions().addAction(selectAction); return label; } diff -r 0313b63b4b0b -r e2132dc90c5d visual.examples/src/test/freeconnect/EdgeMenu.java --- a/visual.examples/src/test/freeconnect/EdgeMenu.java Sun Jun 15 17:00:06 2008 +0200 +++ b/visual.examples/src/test/freeconnect/EdgeMenu.java Sun Jun 15 17:45:55 2008 +0200 @@ -35,13 +35,11 @@ * @author alex */ public class EdgeMenu implements PopupMenuProvider, ActionListener { - + private static final String ADD_REMOVE_CP_ACTION = "addRemoveCPAction"; // NOI18N // private static final String DELETE_ALL_CP_ACTION = "deleteAllCPAction"; // NOI18N private static final String DELETE_TRANSITION = "deleteTransition"; // NOI18N - private GraphScene.StringGraph scene; - private JPopupMenu menu; private ConnectionWidget edge; private Point point; @@ -70,51 +68,52 @@ menu.add(item); } - - public JPopupMenu getPopupMenu(Widget widget, Point point){ + + public JPopupMenu getPopupMenu(Widget widget, Point point) { if (widget instanceof ConnectionWidget) { this.edge = (ConnectionWidget) widget; - this.point=point; + this.point = point; return menu; } return null; } - + public void actionPerformed(ActionEvent e) { - if(e.getActionCommand().equals(ADD_REMOVE_CP_ACTION)) { + if (e.getActionCommand().equals(ADD_REMOVE_CP_ACTION)) { addRemoveControlPoint(point); - } else if(e.getActionCommand().equals(DELETE_TRANSITION)) { - scene.removeEdge ((String) scene.findObject (edge)); + } else if (e.getActionCommand().equals(DELETE_TRANSITION)) { + scene.removeEdge((String) scene.findObject(edge)); } } - - private void addRemoveControlPoint (Point localLocation) { - ArrayList list = new ArrayList (edge.getControlPoints()); - double createSensitivity=1.00, deleteSensitivity=5.00; - if(!removeControlPoint(localLocation,list,deleteSensitivity)){ - Point exPoint=null;int index=0; - for (Point elem : list) { - if(exPoint!=null){ - Line2D l2d=new Line2D.Double(exPoint,elem); - if(l2d.ptLineDist(localLocation) list = new ArrayList(edge.getControlPoints()); + final double createSensitivity = 1.00, deleteSensitivity = 5.00; + if (!removeControlPoint(localLocation, list, deleteSensitivity)) { + Point exPoint = null; + int index = 0; + for (Point elem : list) { + if (exPoint != null) { + Line2D l2d = new Line2D.Double(exPoint, elem); + if (l2d.ptLineDist(localLocation) < createSensitivity) { + list.add(index, localLocation); + break; } - exPoint=elem;index++; } + exPoint = elem; + index++; } - edge.setControlPoints(list,false); + } + edge.setControlPoints(list, false); } - - private boolean removeControlPoint(Point point, ArrayList list, double deleteSensitivity){ + + private boolean removeControlPoint(Point point, ArrayList list, double deleteSensitivity) { for (Point elem : list) { - if(elem.distance(point)