Author: DartPeng
Date: 2009-03-23 19:47:18 -0400 (Mon, 23 Mar 2009)
New Revision: 14302
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/.classpath
workspace/dart/plugins/org.jboss.tools.smooks.gef/.project
workspace/dart/plugins/org.jboss.tools.smooks.gef/.settings/
workspace/dart/plugins/org.jboss.tools.smooks.gef/.settings/org.eclipse.jdt.core.prefs
workspace/dart/plugins/org.jboss.tools.smooks.gef/META-INF/
workspace/dart/plugins/org.jboss.tools.smooks.gef/META-INF/MANIFEST.MF
workspace/dart/plugins/org.jboss.tools.smooks.gef/build.properties
workspace/dart/plugins/org.jboss.tools.smooks.gef/icons/
workspace/dart/plugins/org.jboss.tools.smooks.gef/icons/sample.gif
workspace/dart/plugins/org.jboss.tools.smooks.gef/libs/
workspace/dart/plugins/org.jboss.tools.smooks.gef/libs/dom4j-1.6.1.jar
workspace/dart/plugins/org.jboss.tools.smooks.gef/plugin.xml
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/SmooksGEFActivator.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/common/
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/common/AbstractGEFEditor.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/common/RootModel.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/common/SmooksGEFEditFactory.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/common/SmooksGEFEditor.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/order-01.xml
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/plugin.xml
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/A.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/AbstractJavaBeanModel.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/B.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/Header.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/LineItem.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/LineOrder.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/Order.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/OrderItem.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/AbstractTreeEditPart.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/ChangeConstraintCommand.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/CreateConnectionCommand.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/RootEditPart.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/TestEditpart.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/TreeContainerEditPart.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeConnectionEditPart.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeEditPart.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editpolicy/
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editpolicy/RootPanelXYLayoutEditPolicy.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editpolicy/TreeNodeGraphicalNodeEditPolicy.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/IMoveableModel.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/ITreeFigureListener.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/LeftOrRightAnchor.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/TestFigure.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/TreeContainerFigure.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/TreeFigureExpansionEvent.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/TreeNodeFigure.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/model/
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/model/IConnectableNode.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/model/TreeContainerModel.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/model/TreeNodeConnection.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/model/TreeNodeModel.java
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/palette/
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/palette/SmooksGEFPaletteBuilder.java
Log:
Added: workspace/dart/plugins/org.jboss.tools.smooks.gef/.classpath
===================================================================
--- workspace/dart/plugins/org.jboss.tools.smooks.gef/.classpath
(rev 0)
+++ workspace/dart/plugins/org.jboss.tools.smooks.gef/.classpath 2009-03-23 23:47:18 UTC
(rev 14302)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con"
path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="lib" path="libs/dom4j-1.6.1.jar"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Property changes on: workspace/dart/plugins/org.jboss.tools.smooks.gef/.classpath
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: workspace/dart/plugins/org.jboss.tools.smooks.gef/.project
===================================================================
--- workspace/dart/plugins/org.jboss.tools.smooks.gef/.project
(rev 0)
+++ workspace/dart/plugins/org.jboss.tools.smooks.gef/.project 2009-03-23 23:47:18 UTC
(rev 14302)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.jboss.tools.smooks.gef</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Property changes on: workspace/dart/plugins/org.jboss.tools.smooks.gef/.project
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/.settings/org.eclipse.jdt.core.prefs
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/.settings/org.eclipse.jdt.core.prefs
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/.settings/org.eclipse.jdt.core.prefs 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,7 @@
+#Mon Mar 16 14:22:27 CST 2009
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/.settings/org.eclipse.jdt.core.prefs
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: workspace/dart/plugins/org.jboss.tools.smooks.gef/META-INF/MANIFEST.MF
===================================================================
--- workspace/dart/plugins/org.jboss.tools.smooks.gef/META-INF/MANIFEST.MF
(rev 0)
+++ workspace/dart/plugins/org.jboss.tools.smooks.gef/META-INF/MANIFEST.MF 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,19 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Common Plug-in
+Bundle-SymbolicName: org.jboss.tools.smooks.gef;singleton:=true
+Bundle-Version: 1.0.0
+Bundle-Activator: org.jboss.tools.smooks.gef.SmooksGEFActivator
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.jface.text,
+ org.eclipse.core.resources,
+ org.eclipse.ui.editors,
+ org.eclipse.ui.ide,
+ org.eclipse.gef;bundle-version="3.4.1",
+ org.jboss.tools.smooks.core;bundle-version="1.0.0",
+ org.jboss.tools.smooks.ui;bundle-version="1.0.0"
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-ClassPath: libs/dom4j-1.6.1.jar,
+ .
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: workspace/dart/plugins/org.jboss.tools.smooks.gef/build.properties
===================================================================
--- workspace/dart/plugins/org.jboss.tools.smooks.gef/build.properties
(rev 0)
+++ workspace/dart/plugins/org.jboss.tools.smooks.gef/build.properties 2009-03-23 23:47:18
UTC (rev 14302)
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = bin/
+bin.includes = plugin.xml,\
+ META-INF/,\
+ .,\
+ icons/,\
+ libs/dom4j-1.6.1.jar
Property changes on: workspace/dart/plugins/org.jboss.tools.smooks.gef/build.properties
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: workspace/dart/plugins/org.jboss.tools.smooks.gef/icons/sample.gif
===================================================================
(Binary files differ)
Property changes on: workspace/dart/plugins/org.jboss.tools.smooks.gef/icons/sample.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: workspace/dart/plugins/org.jboss.tools.smooks.gef/libs/dom4j-1.6.1.jar
===================================================================
(Binary files differ)
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/libs/dom4j-1.6.1.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: workspace/dart/plugins/org.jboss.tools.smooks.gef/plugin.xml
===================================================================
--- workspace/dart/plugins/org.jboss.tools.smooks.gef/plugin.xml
(rev 0)
+++ workspace/dart/plugins/org.jboss.tools.smooks.gef/plugin.xml 2009-03-23 23:47:18 UTC
(rev 14302)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+
+ <extension
+ point="org.eclipse.ui.editors">
+ <editor
+ name="Sample Multi-page Editor"
+ extensions="test"
+ icon="icons/sample.gif"
+ class="org.jboss.tools.smooks.gef.common.SmooksGEFEditor"
+ id="org.jboss.tools.smooks.common.editors.aaaMultiPageEditor">
+ </editor>
+ </extension>
+
+</plugin>
Property changes on: workspace/dart/plugins/org.jboss.tools.smooks.gef/plugin.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/SmooksGEFActivator.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/SmooksGEFActivator.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/SmooksGEFActivator.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,61 @@
+package org.jboss.tools.smooks.gef;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class SmooksGEFActivator extends AbstractUIPlugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.jboss.tools.smooks.common";
+
+ // The shared instance
+ private static SmooksGEFActivator plugin;
+
+ /**
+ * The constructor
+ */
+ public SmooksGEFActivator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static SmooksGEFActivator getDefault() {
+ return plugin;
+ }
+
+ /**
+ * Returns an image descriptor for the image file at the given
+ * plug-in relative path
+ *
+ * @param path the path
+ * @return the image descriptor
+ */
+ public static ImageDescriptor getImageDescriptor(String path) {
+ return imageDescriptorFromPlugin(PLUGIN_ID, path);
+ }
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/SmooksGEFActivator.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/common/AbstractGEFEditor.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/common/AbstractGEFEditor.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/common/AbstractGEFEditor.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,79 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.common;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gef.DefaultEditDomain;
+import org.eclipse.gef.EditPartFactory;
+import org.eclipse.gef.editparts.FreeformGraphicalRootEditPart;
+import org.eclipse.gef.palette.PaletteRoot;
+import org.eclipse.gef.ui.parts.GraphicalEditorWithPalette;
+
+/**
+ * @author DartPeng
+ *
+ */
+public class AbstractGEFEditor extends GraphicalEditorWithPalette {
+
+ private DefaultEditDomain editDomain = null;
+ protected Object rootModel;
+ private EditPartFactory editPartFactory;
+
+ public AbstractGEFEditor(){
+ super();
+ editDomain = createEditDomain();
+ setEditDomain(editDomain);
+ }
+
+ protected DefaultEditDomain createEditDomain(){
+ return new DefaultEditDomain(this);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.gef.ui.parts.GraphicalEditorWithPalette#getPaletteRoot()
+ */
+ @Override
+ protected PaletteRoot getPaletteRoot() {
+ return createPaletteRoot();
+ }
+
+ protected PaletteRoot createPaletteRoot(){
+ return new PaletteRoot();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.gef.ui.parts.GraphicalEditor#initializeGraphicalViewer()
+ */
+ @Override
+ protected void initializeGraphicalViewer() {
+ rootModel = createGraphicalModel();
+ getGraphicalViewer().setContents(rootModel);
+ }
+
+ protected Object createGraphicalModel() {
+ return null;
+ }
+
+ @Override
+ protected void configureGraphicalViewer() {
+ super.configureGraphicalViewer();
+ getGraphicalViewer().setRootEditPart(new FreeformGraphicalRootEditPart());
+ editPartFactory = createEditPartFactory();
+ getGraphicalViewer().setEditPartFactory(editPartFactory);
+ }
+
+ protected EditPartFactory createEditPartFactory() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.IProgressMonitor)
+ */
+ @Override
+ public void doSave(IProgressMonitor monitor) {
+
+ }
+
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/common/AbstractGEFEditor.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/common/RootModel.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/common/RootModel.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/common/RootModel.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,14 @@
+package org.jboss.tools.smooks.gef.common;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
+
+public class RootModel {
+ private List<TreeNodeModel> children = new ArrayList<TreeNodeModel>();
+
+ public List<TreeNodeModel> getChildren() {
+ return children;
+ }
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/common/RootModel.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/common/SmooksGEFEditFactory.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/common/SmooksGEFEditFactory.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/common/SmooksGEFEditFactory.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,44 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.common;
+
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPartFactory;
+import org.jboss.tools.smooks.gef.tree.editparts.RootEditPart;
+import org.jboss.tools.smooks.gef.tree.editparts.TreeContainerEditPart;
+import org.jboss.tools.smooks.gef.tree.editparts.TreeNodeConnectionEditPart;
+import org.jboss.tools.smooks.gef.tree.editparts.TreeNodeEditPart;
+import org.jboss.tools.smooks.gef.tree.model.TreeContainerModel;
+import org.jboss.tools.smooks.gef.tree.model.TreeNodeConnection;
+import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
+
+/**
+ * @author DartPeng
+ *
+ */
+public class SmooksGEFEditFactory implements EditPartFactory {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.gef.EditPartFactory#createEditPart(org.eclipse.gef.EditPart,
java.lang.Object)
+ */
+ public EditPart createEditPart(EditPart context, Object model) {
+ EditPart editPart = null;
+ if(model instanceof RootModel){
+ editPart = new RootEditPart();
+ }
+ if(model.getClass() == TreeNodeModel.class){
+ editPart = new TreeNodeEditPart();
+ }if(model.getClass() == TreeContainerModel.class){
+ editPart = new TreeContainerEditPart();
+ }
+ if(model.getClass() == TreeNodeConnection.class){
+ editPart = new TreeNodeConnectionEditPart();
+ }
+ if(editPart != null){
+ editPart.setModel(model);
+ }
+ return editPart;
+ }
+
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/common/SmooksGEFEditFactory.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/common/SmooksGEFEditor.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/common/SmooksGEFEditor.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/common/SmooksGEFEditor.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,84 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.common;
+
+import java.io.InputStream;
+
+import org.dom4j.DocumentException;
+import org.eclipse.gef.EditPartFactory;
+import org.eclipse.gef.palette.PaletteRoot;
+import org.jboss.tools.smooks.gef.test.Header;
+import org.jboss.tools.smooks.gef.test.Order;
+import org.jboss.tools.smooks.gef.tree.model.TreeContainerModel;
+import org.jboss.tools.smooks.gef.tree.palette.SmooksGEFPaletteBuilder;
+import org.jboss.tools.smooks.javabean.model.BeanContentProvider;
+import org.jboss.tools.smooks.javabean.model.BeanlabelProvider;
+import org.jboss.tools.smooks.javabean.model.JavaBeanList;
+import org.jboss.tools.smooks.javabean.model.JavaBeanModel;
+import org.jboss.tools.smooks.javabean.model.JavaBeanModelFactory;
+import org.jboss.tools.smooks.xml.model.AbstractXMLObject;
+import org.jboss.tools.smooks.xml.model.XMLObjectAnalyzer;
+import org.jboss.tools.smooks.xml.ui.XMLStructuredDataContentProvider;
+import org.jboss.tools.smooks.xml.ui.XMLStructuredDataLabelProvider;
+
+/**
+ * @author DartPeng
+ *
+ */
+public class SmooksGEFEditor extends AbstractGEFEditor {
+
+ @Override
+ protected EditPartFactory createEditPartFactory() {
+ return new SmooksGEFEditFactory();
+ }
+
+ @Override
+ protected PaletteRoot createPaletteRoot() {
+ return SmooksGEFPaletteBuilder.getInstance().getPaletteRoot();
+ }
+
+ @Override
+ protected Object createGraphicalModel() {
+ RootModel rootModel = new RootModel();
+ JavaBeanModel beanModel = JavaBeanModelFactory
+ .getJavaBeanModelWithLazyLoad(Order.class);
+ beanModel.setFlat(true);
+
+ JavaBeanModel beanModel1 = JavaBeanModelFactory
+ .getJavaBeanModelWithLazyLoad(Header.class);
+ beanModel1.setFlat(true);
+ beanModel.setFlat(true);
+
+ TreeContainerModel container = new TreeContainerModel(beanModel,
+ new BeanContentProvider(), new BeanlabelProvider());
+ container.setHeaderVisable(true);
+
+ TreeContainerModel container1 = new TreeContainerModel(beanModel1,
+ new BeanContentProvider(), new BeanlabelProvider());
+ container1.setHeaderVisable(true);
+
+ AbstractXMLObject model = null;
+ try {
+ InputStream stream = getClass().getResourceAsStream(
+ "/org/jboss/tools/smooks/gef/order-01.xml");
+ model = new XMLObjectAnalyzer().analyze(stream, null);
+ } catch (DocumentException e) {
+ e.printStackTrace();
+ }
+
+ TreeContainerModel container2 = new TreeContainerModel(model,
+ new XMLStructuredDataContentProvider(),
+ new XMLStructuredDataLabelProvider());
+ container2.setLinkable(false);
+
+ container1.setSourceLinkNode(false);
+ container.setSourceLinkNode(false);
+ container2.setSourceLinkNode(true);
+
+ rootModel.getChildren().add(container);
+ rootModel.getChildren().add(container2);
+ rootModel.getChildren().add(container1);
+ return rootModel;
+ }
+}
\ No newline at end of file
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/common/SmooksGEFEditor.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/order-01.xml
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/order-01.xml
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/order-01.xml 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,19 @@
+<order xmlns="http://x">
+ <header>
+ <y:date xmlns:y="http://y">Wed Nov 15 13:45:28 EST
2006</y:date>
+ <customer number="123123">Joe</customer>
+ <privatePerson></privatePerson>
+ </header>
+ <order-items>
+ <order-item>
+ <product>111</product>
+ <quantity>2</quantity>
+ <price>8.90</price>
+ </order-item>
+ <order-item>
+ <product>222</product>
+ <quantity>7</quantity>
+ <price>5.20</price>
+ </order-item>
+ </order-items>
+</order>
\ No newline at end of file
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/order-01.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/plugin.xml
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/plugin.xml
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/plugin.xml 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,347 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+ <extension-point id="viewerInitor" name="viewerInitor"
schema="schema/viewerInitor.exsd"/>
+ <extension-point id="analyzer" name="analyzer"
schema="schema/analyzer.exsd"/>
+ <extension-point id="commandProcessor" name="commandProcessor"
schema="schema/commandProcessor.exsd"/>
+ <extension-point id="menuActionProvider"
name="menuActionProvider"
schema="schema/menuActionProvider.exsd"/>
+ <extension-point id="linePaintListener"
name="linePaintListener" schema="schema/linePaintListener.exsd"/>
+ <extension-point id="graphicalModelListener"
name="graphicalModelListener"
schema="schema/graphicalModelListener.exsd"/>
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.jboss.org/tools/smooks/graphicalInformation"
+ class = "org.jboss.tools.smooks.graphical.GraphicalPackage"
+ genModel = "model/graphical.genmodel" />
+ </extension>
+ <extension
+ point="org.eclipse.ui.editors">
+ <editor
+ name="Smooks Editor"
+ extensions="smooks"
+ icon="icons/smooks-sm.gif"
+ class="org.jboss.tools.smooks.ui.editors.SmooksFormEditor"
+ id="org.jboss.tools.smooks.ui.editors.SmooksFormEditor">
+ <contentTypeBinding
+ contentTypeId="org.eclipse.core.runtime.xml" />
+ <contentTypeBinding
+ contentTypeId="org.jboss.tools.smooks.ui.smooks.contentType" />
+ </editor>
+ </extension>
+ <extension
+ point="org.eclipse.ui.views.properties.tabbed.propertySections">
+ <propertySections
+
contributorId="org.jboss.tools.smooks.ui.editors.SmooksFormEditor">
+ <propertySection
+ class="org.jboss.tools.smooks.ui.ConnectionPropertySection"
+ filter="org.jboss.tools.smooks.ui.LineConnectionSectionFilter"
+ id="org.jboss.tools.smooks.ui.connection.propertyTab.Section"
+ tab="org.jboss.tools.smooks.ui.connection.propertyTab">
+ </propertySection>
+ <propertySection
+
class="org.jboss.tools.smooks.javabean.ui.JavaBeanPropertiesSection"
+
filter="org.jboss.tools.smooks.javabean.ui.JavaBeanPropertiesSectonFilter"
+ id="org.jboss.tools.smooks.ui.javabean.propertyTab.Section"
+ tab="org.jboss.tools.smooks.ui.javabean.propertyTab">
+ </propertySection>
+ <propertySection
+ class="org.jboss.tools.smooks.xml.ui.XMLPropertiesSection"
+
filter="org.jboss.tools.smooks.xml.ui.XMLPropertiesSectionFilter"
+ id="org.jboss.tools.smooks.ui.xml.propertySection"
+ tab="org.jboss.tools.smooks.ui.xml.propertyTab">
+ </propertySection>
+ <propertySection
+ class="org.jboss.tools.smooks.xml.ui.XMLNodePropertySection"
+ filter="org.jboss.tools.smooks.xml.ui.XMLNodeSectionFilter"
+ id="org.jboss.tools.smooks.ui.xmlnode.propertySection"
+ tab="org.jboss.tools.smooks.ui.xmlnode.propertyTab">
+ </propertySection>
+ <propertySection
+
class="org.jboss.tools.smooks.javabean.ui.BeanPopulatorConnectionSection"
+
filter="org.jboss.tools.smooks.javabean.ui.BeanPopulatorConnectionFilter"
+ id="org.jboss.tools.smooks.ui.connection.beanpopulator.section"
+
tab="org.jboss.tools.smooks.ui.connection.beanpopulator.propertyTab">
+ </propertySection>
+ <propertySection
+ class="org.jboss.tools.smooks.xml2xml.XML2XMLConnectionSection"
+ filter="org.jboss.tools.smooks.xml2xml.XML2XMLSectionFilter"
+ id="org.jboss.tools.smooks.ui.xml2xml.propertySection"
+ tab="org.jboss.tools.smooks.ui.xml2xml.propertySection.tab">
+ </propertySection>
+ </propertySections>
+ </extension>
+ <extension
+
point="org.eclipse.ui.views.properties.tabbed.propertyContributor">
+ <propertyContributor
+ contributorId="org.jboss.tools.smooks.ui.editors.SmooksFormEditor"
+
typeMapper="org.jboss.tools.smooks.ui.SmooksGraphPropertyTypeMapper">
+ <propertyCategory
+ category="connection"></propertyCategory>
+ <propertyCategory
+ category="transformdata">
+ </propertyCategory>
+ </propertyContributor>
+ </extension>
+ <extension
+ point="org.eclipse.ui.views.properties.tabbed.propertyTabs">
+ <propertyTabs
+
contributorId="org.jboss.tools.smooks.ui.editors.SmooksFormEditor">
+ <propertyTab
+ category="connection"
+ id="org.jboss.tools.smooks.ui.connection.propertyTab"
+ label="Mapping Properties">
+ </propertyTab>
+ <propertyTab
+ category="connection"
+ id="org.jboss.tools.smooks.ui.javabean.propertyTab"
+ label="JavaBean Connection Properties">
+ </propertyTab>
+ <propertyTab
+ category="connection"
+ id="org.jboss.tools.smooks.ui.xml.propertyTab"
+ label="XML Connection Properties">
+ </propertyTab>
+ <propertyTab
+ category="transformdata"
+ id="org.jboss.tools.smooks.ui.xmlnode.propertyTab"
+ label="XML Node">
+ </propertyTab>
+ <propertyTab
+ category="connection"
+
id="org.jboss.tools.smooks.ui.connection.beanpopulator.propertyTab"
+ label="BeanPopulator Connection">
+ </propertyTab>
+ <propertyTab
+ category="connection"
+ id="org.jboss.tools.smooks.ui.xml2xml.propertySection.tab"
+ label="XML2XML Properties">
+ </propertyTab>
+ </propertyTabs>
+ </extension>
+ <extension
+ point="org.eclipse.ui.newWizards">
+ <category
+ id="org.jboss.tools.smooks.ui.wizards"
+ name="Smooks">
+ </category>
+ <wizard
+ category="org.jboss.tools.smooks.ui.wizards"
+
class="org.jboss.tools.smooks.ui.wizards.SmooksConfigFileNewWizard"
+ icon="icons/smooks-sm.gif"
+ id="org.jboss.tools.smooks.ui.wizards.SmooksConfigFileNewWizard"
+ name="Smooks Configuration File">
+ </wizard>
+ </extension>
+
+ <extension
+ point="org.jboss.tools.smooks.ui.viewerInitor">
+ <viewerInitor
+
contentProvider="org.jboss.tools.smooks.xml.ui.XMLStructuredDataContentProvider"
+
creationWizard="org.jboss.tools.smooks.xml.ui.XMLStructuredDataWizard"
+ description="XML data type comes from any .xml file."
+
labelProvider="org.jboss.tools.smooks.xml.ui.XMLStructuredDataLabelProvider"
+ name="XML"
+ typeID="org.jboss.tools.smooks.xml.viewerInitor.xml">
+ </viewerInitor>
+ </extension>
+ <extension
+ point="org.jboss.tools.smooks.ui.analyzer">
+ <mappingAnalyzer
+ class="org.jboss.tools.smooks.xml2xml.XML2XMLAnalyzer"
+ name="XML2XML Analyzer"
+ typeID="org.jboss.tools.smooks.xml.viewerInitor.xml">
+ <targetSourceType
+ id="org.jboss.tools.smooks.xml.viewerInitor.xml"
+ name="XML">
+ </targetSourceType>
+ </mappingAnalyzer>
+ </extension>
+ <extension
+ point="org.jboss.tools.smooks.ui.viewerInitor">
+ <viewerInitor
+
contentProvider="org.jboss.tools.smooks.javabean.model.BeanContentProvider"
+
creationWizard="org.jboss.tools.smooks.javabean.ui.NewJavaBeanStrucutredDataWizard"
+ description="This data type can get from any Java .class."
+
labelProvider="org.jboss.tools.smooks.javabean.model.BeanlabelProvider"
+ name="Java"
+ typeID="org.jboss.tools.smooks.ui.viewerInitor.javabean">
+ </viewerInitor>
+ </extension>
+ <extension
+ point="org.jboss.tools.smooks.ui.analyzer">
+ <mappingAnalyzer
+ class="org.jboss.tools.smooks.javabean.analyzer.JavaBeanAnalyzer"
+ name="Java"
+ typeID="org.jboss.tools.smooks.ui.viewerInitor.javabean1">
+ <targetSourceType
+ id="org.jboss.tools.smooks.ui.viewerInitor.javabean1"
+ name="java2java">
+ </targetSourceType>
+ </mappingAnalyzer>
+ <sourceModelAnalyzer
+ class="org.jboss.tools.smooks.javabean.analyzer.JavaBeanAnalyzer"
+ level="0"
+ name="Java"
+ typeID="org.jboss.tools.smooks.ui.viewerInitor.javabean1">
+ </sourceModelAnalyzer>
+ <targetModelAnalyzer
+ class="org.jboss.tools.smooks.javabean.analyzer.JavaBeanAnalyzer"
+ level="0"
+ name="Java"
+ typeID="org.jboss.tools.smooks.ui.viewerInitor.javabean1">
+ </targetModelAnalyzer>
+ </extension>
+
+ <extension
+ point="org.jboss.tools.smooks.ui.analyzer">
+ <mappingAnalyzer
+ class="org.jboss.tools.smooks.java2xml.analyzer.Java2XMLAnalyzer"
+ name="Java"
+ typeID="org.jboss.tools.smooks.ui.viewerInitor.javabean">
+ <targetSourceType
+ id="org.jboss.tools.smooks.xml.viewerInitor.xml"
+ name="XML">
+ </targetSourceType>
+ </mappingAnalyzer>
+ </extension>
+
+ <extension
+ point="org.jboss.tools.smooks.ui.analyzer">
+ <mappingAnalyzer
+ class="org.jboss.tools.smooks.xml2java.analyzer.XML2JavaAnalyzer2"
+ name="XML2Java"
+ typeID="org.jboss.tools.smooks.xml.viewerInitor.xml">
+ <targetSourceType
+ id="org.jboss.tools.smooks.ui.viewerInitor.javabean"
+ name="JavaBean">
+ </targetSourceType>
+ </mappingAnalyzer>
+ <sourceModelAnalyzer
+
class="org.jboss.tools.smooks.xml2java.analyzer.XMLSourceModelAnalyzer"
+ name="XML"
+ typeID="org.jboss.tools.smooks.xml.viewerInitor.xml">
+ </sourceModelAnalyzer>
+ <targetModelAnalyzer
+
class="org.jboss.tools.smooks.xml2java.analyzer.XMLTargetModelAnalyzer"
+ name="XML"
+ typeID="org.jboss.tools.smooks.xml.viewerInitor.xml">
+ </targetModelAnalyzer>
+ </extension>
+ <extension
+ point="org.jboss.tools.smooks.ui.commandProcessor">
+ <commandProcessor
+
class="org.jboss.tools.smooks.javabean.commandprocessor.JavaBeanModelCommandProcessor"
+ sourceId="org.jboss.tools.smooks.ui.viewerInitor.javabean"
+ targetId="org.jboss.tools.smooks.ui.viewerInitor.javabean">
+ </commandProcessor>
+ <commandProcessor
+
class="org.jboss.tools.smooks.javabean.commandprocessor.JavaBeanModelCommandProcessor"
+ sourceId="org.jboss.tools.smooks.xml.viewerInitor.xml"
+ targetId="org.jboss.tools.smooks.ui.viewerInitor.javabean">
+ </commandProcessor>
+ <commandProcessor
+
class="org.jboss.tools.smooks.xml.model.XMLConnectionCommandProcessor"
+ sourceId="org.jboss.tools.smooks.xml.viewerInitor.xml"
+ targetId="org.jboss.tools.smooks.xml.viewerInitor.xml">
+ </commandProcessor>
+ </extension>
+
+ <extension
+ point="org.eclipse.ui.startup">
+ <startup
+ class="org.jboss.tools.smooks.ui.SmooksListenerRegister">
+ </startup>
+ </extension>
+ <extension
+ point="org.eclipse.core.contenttype.contentTypes">
+ <content-type
+ base-type="org.eclipse.core.runtime.xml"
+ file-extensions="smooks"
+ id="org.jboss.tools.smooks.ui.smooks.contentType"
+ name="Smooks Configuration File"
+ priority="normal">
+ </content-type>
+ </extension>
+ <extension
+ point="org.eclipse.ui.decorators">
+ <decorator
+ adaptable="false"
+
class="org.jboss.tools.smooks.xml.ui.XMLStructuredDataLabelDecorator"
+ id="org.jboss.tools.smooks.ui.xml.decorator"
+ label="Smooks XML Data Viewer Decorator"
+ lightweight="false"
+ objectClass="org.jboss.tools.smooks.xml.model.TagObject"
+ state="true">
+ </decorator>
+ </extension>
+ <extension
+ point="org.jboss.tools.smooks.ui.menuActionProvider">
+ <menuActionProvider
+ class="org.jboss.tools.smooks.xml.ui.XMLViewerActionProvider"
+ typeID="org.jboss.tools.smooks.xml.viewerInitor.xml">
+ </menuActionProvider>
+ <menuActionProvider
+
class="org.jboss.tools.smooks.javabean.ui.JavaBeanViewerActionProvider"
+ typeID="org.jboss.tools.smooks.ui.viewerInitor.javabean">
+ </menuActionProvider>
+ </extension>
+ <extension
+ point="org.jboss.tools.smooks.ui.linePaintListener">
+ <linePaintListener
+ class="org.jboss.tools.smooks.xml.ui.XML2XMLLinePaintListener"
+ sourceId="org.jboss.tools.smooks.xml.viewerInitor.xml"
+ targetId="org.jboss.tools.smooks.xml.viewerInitor.xml">
+ </linePaintListener>
+ <linePaintListener
+
class="org.jboss.tools.smooks.javabean.ui.JavaBeanLinePaintLitener"
+ sourceId="org.jboss.tools.smooks.xml.viewerInitor.xml"
+ targetId="org.jboss.tools.smooks.ui.viewerInitor.javabean">
+ </linePaintListener>
+ <linePaintListener
+
class="org.jboss.tools.smooks.javabean.ui.JavaBeanLinePaintLitener"
+ sourceId="org.jboss.tools.smooks.ui.viewerInitor.javabean"
+ targetId="org.jboss.tools.smooks.ui.viewerInitor.javabean">
+ </linePaintListener>
+ </extension>
+ <extension
+ point="org.jboss.tools.smooks.ui.analyzer">
+ <mappingAnalyzer
+ class="org.jboss.tools.smooks.javabean.model.Java2JavaAnalyzer"
+ name="Java"
+ typeID="org.jboss.tools.smooks.ui.viewerInitor.javabean">
+ <targetSourceType
+ id="org.jboss.tools.smooks.ui.viewerInitor.javabean"
+ name="java2java">
+ </targetSourceType>
+ </mappingAnalyzer>
+ <sourceModelAnalyzer
+ class="org.jboss.tools.smooks.javabean.ui.JavaBeanSourceBuilder"
+ level="0"
+ name="Java"
+ typeID="org.jboss.tools.smooks.ui.viewerInitor.javabean">
+ </sourceModelAnalyzer>
+ <targetModelAnalyzer
+ class="org.jboss.tools.smooks.javabean.ui.JavaBeanTargetBuilder"
+ level="0"
+ name="Java"
+ typeID="org.jboss.tools.smooks.ui.viewerInitor.javabean">
+ </targetModelAnalyzer>
+ </extension>
+ <extension
+ point="org.jboss.tools.smooks.ui.graphicalModelListener">
+ <graphicalModelListener
+
class="org.jboss.tools.smooks.javabean.ui.BeanPopulatorGraphicalModelListener"
+ sourceId="org.jboss.tools.smooks.ui.viewerInitor.javabean"
+ targetId="org.jboss.tools.smooks.ui.viewerInitor.javabean">
+ </graphicalModelListener>
+ <graphicalModelListener
+
class="org.jboss.tools.smooks.javabean.ui.BeanPopulatorGraphicalModelListener"
+ sourceId="org.jboss.tools.smooks.xml.viewerInitor.xml"
+ targetId="org.jboss.tools.smooks.ui.viewerInitor.javabean">
+ </graphicalModelListener>
+ <graphicalModelListener
+
class="org.jboss.tools.smooks.xml2xml.XML2XMLGraphicalModelListener"
+ sourceId="org.jboss.tools.smooks.xml.viewerInitor.xml"
+ targetId="org.jboss.tools.smooks.xml.viewerInitor.xml">
+ </graphicalModelListener>
+ </extension>
+</plugin>
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/plugin.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/A.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/A.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/A.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,13 @@
+package org.jboss.tools.smooks.gef.test;
+
+public class A {
+ private B b;
+
+ public B getB() {
+ return b;
+ }
+
+ public void setB(B b) {
+ this.b = b;
+ }
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/A.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/AbstractJavaBeanModel.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/AbstractJavaBeanModel.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/AbstractJavaBeanModel.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,89 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.test;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author Dart
+ *
+ */
+public class AbstractJavaBeanModel {
+
+ private String stringProperty;
+ private Date dateProperty;
+ private Boolean booleanProperty;
+ private Integer integerProperty;
+ private Long longProperty;
+ private Double doubleProperty;
+ private Float floatProperty;
+ private BigDecimal bigDecimalProperty;
+ private BigInteger bigIntegerProperty;
+ // ignore list
+ private List<?> testList;
+ public List<?> getTestList() {
+ return testList;
+ }
+ public void setTestList(List<?> testList) {
+ this.testList = testList;
+ }
+
+ public String getStringProperty() {
+ return stringProperty;
+ }
+ public void setStringProperty(String stringProperty) {
+ this.stringProperty = stringProperty;
+ }
+ public Date getDateProperty() {
+ return dateProperty;
+ }
+ public void setDateProperty(Date dateProperty) {
+ this.dateProperty = dateProperty;
+ }
+ public Boolean getBooleanProperty() {
+ return booleanProperty;
+ }
+ public void setBooleanProperty(Boolean booleanProperty) {
+ this.booleanProperty = booleanProperty;
+ }
+ public Integer getIntegerProperty() {
+ return integerProperty;
+ }
+ public void setIntegerProperty(Integer integerProperty) {
+ this.integerProperty = integerProperty;
+ }
+ public Long getLongProperty() {
+ return longProperty;
+ }
+ public void setLongProperty(Long longProperty) {
+ this.longProperty = longProperty;
+ }
+ public Double getDoubleProperty() {
+ return doubleProperty;
+ }
+ public void setDoubleProperty(Double doubleProperty) {
+ this.doubleProperty = doubleProperty;
+ }
+ public Float getFloatProperty() {
+ return floatProperty;
+ }
+ public void setFloatProperty(Float floatProperty) {
+ this.floatProperty = floatProperty;
+ }
+ public BigDecimal getBigDecimalProperty() {
+ return bigDecimalProperty;
+ }
+ public void setBigDecimalProperty(BigDecimal bigDecimalProperty) {
+ this.bigDecimalProperty = bigDecimalProperty;
+ }
+ public BigInteger getBigIntegerProperty() {
+ return bigIntegerProperty;
+ }
+ public void setBigIntegerProperty(BigInteger bigIntegerProperty) {
+ this.bigIntegerProperty = bigIntegerProperty;
+ }
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/AbstractJavaBeanModel.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/B.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/B.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/B.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,23 @@
+package org.jboss.tools.smooks.gef.test;
+
+public class B {
+ private String m;
+
+ private B b;
+
+ public B getB() {
+ return b;
+ }
+
+ public void setB(B b) {
+ this.b = b;
+ }
+
+ public String getM() {
+ return m;
+ }
+
+ public void setM(String m) {
+ this.m = m;
+ }
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/B.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/Header.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/Header.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/Header.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,36 @@
+package org.jboss.tools.smooks.gef.test;
+
+
+
+/**
+ * @author <a
href="mailto:tom.fennelly@gmail.com">tom.fennelly@gmail.com</a>
+ */
+public class Header {
+ private Long customerNumber = 1234L;
+ private String customerName = "Buzz Lightyear";
+
+ public Long getCustomerNumber() {
+ return customerNumber;
+ }
+
+ public void setCustomerNumber(Long customerNumber) {
+ this.customerNumber = customerNumber;
+ }
+
+ public String getCustomerName() {
+ return customerName;
+ }
+
+ public void setCustomerName(String customerName) {
+ this.customerName = customerName;
+ }
+
+ public String toString() {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ stringBuilder.append("customerNumber: " + customerNumber + ",
");
+ stringBuilder.append("customerName: " + customerName);
+
+ return stringBuilder.toString();
+ }
+}
\ No newline at end of file
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/Header.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/LineItem.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/LineItem.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/LineItem.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,61 @@
+/*
+ Milyn - Copyright (C) 2006
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License (version 2.1) as published by the Free Software
+ Foundation.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ See the GNU Lesser General Public License for more details:
+
http://www.gnu.org/licenses/lgpl.txt
+*/
+package org.jboss.tools.smooks.gef.test;
+
+import java.math.BigDecimal;
+
+/**
+ * @author <a
href="mailto:tom.fennelly@gmail.com">tom.fennelly@gmail.com</a>
+ */
+public class LineItem {
+ private String productCode;
+ private int unitQuantity;
+ private BigDecimal unitPrice;
+
+ public String getProductCode() {
+ return productCode;
+ }
+
+ public void setProductCode(String productCode) {
+ this.productCode = productCode;
+ }
+
+ public int getUnitQuantity() {
+ return unitQuantity;
+ }
+
+ public void setUnitQuantity(int unitQuantity) {
+ this.unitQuantity = unitQuantity;
+ }
+
+ public BigDecimal getUnitPrice() {
+ return unitPrice;
+ }
+
+ public void setUnitPrice(BigDecimal unitPrice) {
+ this.unitPrice = unitPrice;
+ }
+
+ public String toString() {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ stringBuilder.append("{productCode: " + productCode + " |
");
+ stringBuilder.append("unitQuantity: " + unitQuantity + " |
");
+ stringBuilder.append("unitPrice: " + unitPrice + "}");
+
+ return stringBuilder.toString();
+ }
+}
\ No newline at end of file
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/LineItem.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/LineOrder.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/LineOrder.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/LineOrder.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,64 @@
+/*
+ Milyn - Copyright (C) 2006
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License (version 2.1) as published by the Free Software
+ Foundation.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ See the GNU Lesser General Public License for more details:
+
http://www.gnu.org/licenses/lgpl.txt
+*/
+package org.jboss.tools.smooks.gef.test;
+
+import java.util.Arrays;
+
+/**
+ * @author <a
href="mailto:tom.fennelly@gmail.com">tom.fennelly@gmail.com</a>
+ */
+public class LineOrder {
+ private String customerId;
+ private String customerName;
+ private LineItem[] lineItems;
+
+ public String getCustomerId() {
+ return customerId;
+ }
+
+ public void setCustomerId(String customerId) {
+ this.customerId = customerId;
+ }
+
+ public String getCustomerName() {
+ return customerName;
+ }
+
+ public void setCustomerName(String customerName) {
+ this.customerName = customerName;
+ }
+
+ public LineItem[] getLineItems() {
+ return lineItems;
+ }
+
+ public void setLineItems(LineItem[] lineItems) {
+ this.lineItems = lineItems;
+ }
+
+ public String toString() {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ stringBuilder.append("Class: " + getClass().getName() +
"\n");
+ stringBuilder.append("\tcustomerId: " + customerId + "\n");
+ stringBuilder.append("\tcustomerName: " + customerName +
"\n");
+ if(lineItems != null) {
+ stringBuilder.append("\tlineItems: " + Arrays.asList(lineItems));
+ }
+
+ return stringBuilder.toString();
+ }
+}
\ No newline at end of file
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/LineOrder.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/Order.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/Order.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/Order.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,80 @@
+package org.jboss.tools.smooks.gef.test;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author <a
href="mailto:tom.fennelly@gmail.com">tom.fennelly@gmail.com</a>
+ */
+public class Order extends AbstractJavaBeanModel {
+ private Header header;
+ private List<OrderItem> modifyOrderItems;
+ private int[] orderCounts = new int[] {};
+ private Header[] headerArray = new Header[] { header };
+ private int[] ages;
+
+ public Order() {
+ header = new Header();
+ modifyOrderItems = new ArrayList<OrderItem>();
+ modifyOrderItems.add(new OrderItem());
+ modifyOrderItems.add(new OrderItem());
+
+ modifyOrderItems.get(0).setProductId(111);
+ modifyOrderItems.get(0).setQuantity(2);
+ modifyOrderItems.get(0).setPrice(10.99);
+
+ modifyOrderItems.get(1).setProductId(222);
+ modifyOrderItems.get(1).setQuantity(4);
+ modifyOrderItems.get(1).setPrice(25.50);
+ }
+
+ public int[] getAges() {
+ return ages;
+ }
+
+ public void setAges(int[] ages) {
+ this.ages = ages;
+ }
+
+ public Header[] getHeaderArray() {
+ return headerArray;
+ }
+
+ public void setHeaderArray(Header[] headerArray) {
+ this.headerArray = headerArray;
+ }
+
+ public int[] getOrderCounts() {
+ return orderCounts;
+ }
+
+ public void setOrderCounts(int[] orderCounts) {
+ this.orderCounts = orderCounts;
+ }
+
+ public Header getHeader() {
+ return header;
+ }
+
+ public void setHeader(Header header) {
+ this.header = header;
+ }
+
+ public List<OrderItem> getOrderItems() {
+ return modifyOrderItems;
+ }
+
+ public void setOrderItems(List<OrderItem> orderItems) {
+ this.modifyOrderItems = orderItems;
+ }
+
+ public String toString() {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ stringBuilder.append("Class: " + getClass().getName() + "\n");
+ stringBuilder.append("\theader: " + header + "\n");
+ stringBuilder.append("\torderItems: " + modifyOrderItems);
+
+ return stringBuilder.toString();
+ }
+}
\ No newline at end of file
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/Order.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/OrderItem.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/OrderItem.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/OrderItem.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,45 @@
+package org.jboss.tools.smooks.gef.test;
+
+
+/**
+ * @author <a
href="mailto:tom.fennelly@gmail.com">tom.fennelly@gmail.com</a>
+ */
+public class OrderItem {
+ private long productId;
+ private Integer quantity;
+ private double price;
+
+ public long getProductId() {
+ return productId;
+ }
+
+ public void setProductId(long productId) {
+ this.productId = productId;
+ }
+
+ public Integer getQuantity() {
+ return quantity;
+ }
+
+ public void setQuantity(Integer quantity) {
+ this.quantity = quantity;
+ }
+
+ public double getPrice() {
+ return price;
+ }
+
+ public void setPrice(double price) {
+ this.price = price;
+ }
+
+ public String toString() {
+ StringBuilder stringBuilder = new StringBuilder();
+
+ stringBuilder.append("{productId: " + productId + " | ");
+ stringBuilder.append("quantity: " + quantity + " | ");
+ stringBuilder.append("price: " + price + "}");
+
+ return stringBuilder.toString();
+ }
+}
\ No newline at end of file
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/test/OrderItem.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/AbstractTreeEditPart.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/AbstractTreeEditPart.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/AbstractTreeEditPart.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,35 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.tree.editparts;
+
+
+import java.beans.PropertyChangeListener;
+
+import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
+import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
+
+/**
+ * @author DartPeng
+ *
+ */
+public abstract class AbstractTreeEditPart extends AbstractGraphicalEditPart implements
PropertyChangeListener{
+
+ @Override
+ public void activate() {
+ super.activate();
+ Object model = getModel();
+ if(model instanceof TreeNodeModel){
+ ((TreeNodeModel)model).addPropertyChangeListener(this);
+ }
+ }
+
+ @Override
+ public void deactivate() {
+ Object model = getModel();
+ if(model instanceof TreeNodeModel){
+ ((TreeNodeModel)model).removePropertyChangeListener(this);
+ }
+ super.deactivate();
+ }
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/AbstractTreeEditPart.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/ChangeConstraintCommand.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/ChangeConstraintCommand.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/ChangeConstraintCommand.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,45 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.tree.editparts;
+
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.commands.Command;
+import org.jboss.tools.smooks.gef.tree.figures.IMoveableModel;
+
+/**
+ * @author DartPeng
+ *
+ */
+public class ChangeConstraintCommand extends Command {
+
+ private Rectangle oldBounds = null;
+
+ private Rectangle constraint = null;
+
+ private IMoveableModel model = null;
+
+ public ChangeConstraintCommand(Rectangle constraint, IMoveableModel model){
+ this.constraint = constraint;
+ this.model = model;
+ }
+
+ @Override
+ public void execute() {
+ oldBounds = model.getBounds();
+ model.setBounds(constraint);
+ }
+
+ @Override
+ public void redo() {
+ execute();
+ }
+
+ @Override
+ public void undo() {
+ model.setBounds(oldBounds);
+ }
+
+
+
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/ChangeConstraintCommand.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/CreateConnectionCommand.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/CreateConnectionCommand.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/CreateConnectionCommand.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,63 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.tree.editparts;
+
+import org.eclipse.gef.commands.Command;
+import org.jboss.tools.smooks.gef.tree.model.TreeNodeConnection;
+import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
+
+/**
+ * @author DartPeng
+ *
+ */
+public class CreateConnectionCommand extends Command {
+
+
+ private TreeNodeModel source;
+
+ private TreeNodeModel target;
+
+ private TreeNodeConnection tempConnectionHandle = null;
+
+ @Override
+ public void execute() {
+ if (source != null && target != null) {
+ TreeNodeConnection connection = new TreeNodeConnection(source,
+ target);
+ connection.connect();
+ tempConnectionHandle = connection;
+ }
+ }
+
+ @Override
+ public void redo() {
+ if(tempConnectionHandle != null){
+ tempConnectionHandle.connect();
+ }else{
+ execute();
+ }
+ }
+
+ @Override
+ public void undo() {
+ if(tempConnectionHandle != null){
+ tempConnectionHandle.disconnect();
+ }
+ }
+ public TreeNodeModel getSource() {
+ return source;
+ }
+
+ public void setSource(TreeNodeModel source) {
+ this.source = source;
+ }
+
+ public TreeNodeModel getTarget() {
+ return target;
+ }
+
+ public void setTarget(TreeNodeModel target) {
+ this.target = target;
+ }
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/CreateConnectionCommand.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/RootEditPart.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/RootEditPart.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/RootEditPart.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,44 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.tree.editparts;
+
+import java.util.List;
+
+import org.eclipse.draw2d.FreeformLayer;
+import org.eclipse.draw2d.FreeformLayout;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
+import org.jboss.tools.smooks.gef.common.RootModel;
+import org.jboss.tools.smooks.gef.tree.editpolicy.RootPanelXYLayoutEditPolicy;
+
+/**
+ * @author DartPeng
+ *
+ */
+public class RootEditPart extends AbstractGraphicalEditPart {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure()
+ */
+ @Override
+ protected IFigure createFigure() {
+ FreeformLayer layer = new FreeformLayer();
+ layer.setLayoutManager(new FreeformLayout());
+ return layer;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies()
+ */
+ @Override
+ protected void createEditPolicies() {
+ this.installEditPolicy(EditPolicy.LAYOUT_ROLE, new RootPanelXYLayoutEditPolicy());
+ }
+
+ protected List<?> getModelChildren(){
+ RootModel list = (RootModel) getModel();
+ return list.getChildren();
+ }
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/RootEditPart.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/TestEditpart.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/TestEditpart.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/TestEditpart.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,89 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.tree.editparts;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
+import org.jboss.tools.smooks.gef.tree.figures.IMoveableModel;
+import org.jboss.tools.smooks.gef.tree.figures.TestFigure;
+import org.jboss.tools.smooks.gef.tree.figures.TreeContainerFigure;
+import org.jboss.tools.smooks.gef.tree.model.TreeContainerModel;
+
+/**
+ * @author DartPeng
+ *
+ */
+public class TestEditpart extends AbstractGraphicalEditPart implements
PropertyChangeListener{
+
+ /* (non-Javadoc)
+ * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure()
+ */
+ @Override
+ protected IFigure createFigure() {
+ // TODO Auto-generated method stub
+ return new TestFigure();
+ }
+
+
+
+ @Override
+ public void activate() {
+ ((TreeContainerModel)getModel()).addPropertyChangeListener(this);
+ super.activate();
+ }
+
+
+
+ @Override
+ public void deactivate() {
+ ((TreeContainerModel)getModel()).addPropertyChangeListener(this);
+ super.deactivate();
+ }
+
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies()
+ */
+ @Override
+ protected void createEditPolicies() {
+
+ }
+
+
+ @Override
+ protected void refreshVisuals() {
+ super.refreshVisuals();
+ TreeContainerModel model = (TreeContainerModel) getModel();
+ String text = model.getText();
+ if (text != null && getFigure() instanceof TreeContainerFigure) {
+ TreeContainerFigure figure = (TreeContainerFigure) getFigure();
+ figure.setText(text);
+ }
+ Point location = model.getLocation();
+ Dimension size = getFigure().getPreferredSize();
+ try {
+ ((GraphicalEditPart) this.getParent()).setLayoutConstraint(this, this
+ .getFigure(),new Rectangle(location,size));
+// ((AbstractGraphicalEditPart) getParent()).setLayoutConstraint(this,
+// this.getFigure(), rect);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void propertyChange(PropertyChangeEvent evt) {
+ if(evt.getPropertyName().equals(IMoveableModel.PRO_BOUNDS_CHANGED)){
+ refreshVisuals();
+ }
+ }
+
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/TestEditpart.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/TreeContainerEditPart.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/TreeContainerEditPart.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/TreeContainerEditPart.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,136 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.tree.editparts;
+
+import java.beans.PropertyChangeEvent;
+import java.util.List;
+
+import org.eclipse.draw2d.ChopboxAnchor;
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.draw2d.ConnectionAnchor;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.ConnectionEditPart;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gef.Request;
+import org.jboss.tools.smooks.gef.tree.figures.IMoveableModel;
+import org.jboss.tools.smooks.gef.tree.figures.TreeContainerFigure;
+import org.jboss.tools.smooks.gef.tree.figures.TreeFigureExpansionEvent;
+import org.jboss.tools.smooks.gef.tree.model.TreeContainerModel;
+
+/**
+ * @author DartPeng
+ *
+ */
+public class TreeContainerEditPart extends TreeNodeEditPart {
+
+ public TreeContainerEditPart() {
+ super();
+ childrenLoaded = true;
+ }
+
+ @Override
+ protected IFigure createFigure() {
+ return new TreeContainerFigure((TreeContainerModel) getModel());
+ }
+
+ protected void refreshVisuals() {
+ TreeContainerModel model = (TreeContainerModel) getModel();
+ String text = model.getText();
+ if (text != null && model.isHeaderVisable() && getFigure() instanceof
TreeContainerFigure) {
+ TreeContainerFigure figure = (TreeContainerFigure) getFigure();
+ figure.setText(text);
+ }
+ boolean isSource = this.isSourceLinkNodeEditPart();
+ if(!isSource){
+ IFigure figure = getFigure();
+ if(figure instanceof TreeContainerFigure){
+ ((TreeContainerFigure)figure).setHeaderColor(ColorConstants.orange);
+ }
+ }
+ Point location = model.getLocation();
+ Dimension size = getFigure().getPreferredSize();
+ try {
+ ((GraphicalEditPart) this.getParent()).setLayoutConstraint(this, this
+ .getFigure(),new Rectangle(location,size));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public IFigure getContentPane() {
+ if (getFigure() instanceof TreeContainerFigure) {
+ TreeContainerFigure t = (TreeContainerFigure) getFigure();
+ return t.getContentFigure();
+ }else{
+ return getFigure();
+ }
+ }
+
+ public TreeContainerEditPart getTreeContainerEditPart(){
+ return this;
+ }
+
+ public boolean isSourceLinkNodeEditPart(){
+ Object model = getModel();
+ if(model != null && model instanceof TreeContainerModel){
+ return ((TreeContainerModel)model).isSourceLinkNode();
+ }
+ return false;
+ }
+
+ public void propertyChange(PropertyChangeEvent evt) {
+ super.propertyChange(evt);
+ if (IMoveableModel.PRO_BOUNDS_CHANGED.equals(evt.getPropertyName())) {
+ refresh();
+ }
+ }
+
+ @Override
+ protected void createEditPolicies() {
+ super.createEditPolicies();
+ }
+
+
+
+ @Override
+ public ConnectionAnchor getSourceConnectionAnchor(
+ ConnectionEditPart connection) {
+ return new ChopboxAnchor(getFigure());
+ }
+
+ @Override
+ public ConnectionAnchor getSourceConnectionAnchor(Request request) {
+ return new ChopboxAnchor(getFigure());
+ }
+
+ @Override
+ public ConnectionAnchor getTargetConnectionAnchor(
+ ConnectionEditPart connection) {
+ return new ChopboxAnchor(getFigure());
+ }
+
+ @Override
+ public ConnectionAnchor getTargetConnectionAnchor(Request request) {
+ return new ChopboxAnchor(getFigure());
+ }
+
+ @Override
+ public List<?> getModelChildren() {
+ return super.getModelChildren();
+ }
+
+ @Override
+ public void treeCollapsed(TreeFigureExpansionEvent event) {
+ super.treeCollapsed(event);
+ }
+
+ @Override
+ public void treeExpanded(TreeFigureExpansionEvent event) {
+ super.treeExpanded(event);
+ }
+
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/TreeContainerEditPart.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeConnectionEditPart.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeConnectionEditPart.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeConnectionEditPart.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,135 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.tree.editparts;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.draw2d.ConnectionLocator;
+import org.eclipse.draw2d.Figure;
+import org.eclipse.draw2d.Graphics;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.ManhattanConnectionRouter;
+import org.eclipse.draw2d.PolygonDecoration;
+import org.eclipse.draw2d.PolylineConnection;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.draw2d.geometry.PointList;
+import org.eclipse.gef.editparts.AbstractConnectionEditPart;
+import org.jboss.tools.smooks.gef.tree.model.TreeContainerModel;
+import org.jboss.tools.smooks.gef.tree.model.TreeNodeConnection;
+import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
+import org.jboss.tools.smooks.ui.gef.util.GraphicsConstants;
+
+/**
+ * @author DartPeng
+ *
+ */
+public class TreeNodeConnectionEditPart extends AbstractConnectionEditPart {
+ private int alpha = 255;
+
+ @Override
+ protected void createEditPolicies() {
+
+ }
+
+ public void changeLineAlpha(int alpha) {
+ this.alpha = alpha;
+ }
+
+ public IFigure createFigure() {
+ TreeNodeConnection model = (TreeNodeConnection)getModel();
+ TreeNodeModel sourceModel = model.getSourceNode();
+ TreeNodeModel targetModel = model.getTargetNode();
+ PolylineConnection connection1 = new PolylineConnection();
+ if (sourceModel instanceof TreeContainerModel
+ || targetModel instanceof TreeContainerModel) {
+// connection1.setConnectionRouter(new ManhattanConnectionRouter());
+ connection1.setTargetDecoration(new PolygonDecoration());
+ return connection1;
+ }
+ PolylineConnection connection = new PolylineConnection() {
+
+ @Override
+ public void paintFigure(Graphics graphics) {
+ graphics.setAlpha(alpha);
+ super.paintFigure(graphics);
+ }
+
+ public PointList getPoints() {
+ PointList list = super.getPoints();
+ Point start = getStart();
+ Point start2 = new Point(start.x + 20, start.y);
+ Point end = getEnd();
+ Point end2 = new Point(end.x - 20, end.y);
+ list.removeAllPoints();
+ list.addPoint(start);
+ list.addPoint(start2);
+ list.addPoint(end2);
+ list.addPoint(end);
+ return list;
+ }
+ };
+ connection.setConnectionRouter(new ManhattanConnectionRouter());
+ Figure targetFlagFigure = new Figure() {
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.draw2d.Figure#paint(org.eclipse.draw2d.Graphics)
+ */
+ @Override
+ public void paint(Graphics graphics) {
+ graphics.pushState();
+ graphics.setBackgroundColor(GraphicsConstants.groupHeaderColor);
+ Point p = this.getBounds().getTopLeft();
+ Point p2 = this.getBounds().getBottomLeft();
+ Point p3 = this.getBounds().getTopRight();
+ p3 = new Point(p3.x, p3.y + this.getSize().height / 2);
+ PointList pointList = new PointList();
+ pointList.addPoint(p);
+ pointList.addPoint(p2.x, p2.y - 1);
+ pointList.addPoint(p3);
+ graphics.fillPolygon(pointList);
+ graphics.drawPolygon(pointList);
+ graphics.popState();
+ }
+
+ };
+
+ Figure sourceFlagFigure = new Figure() {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.draw2d.Figure#paint(org.eclipse.draw2d.Graphics)
+ */
+ @Override
+ public void paint(Graphics graphics) {
+ graphics.pushState();
+ graphics.setForegroundColor(ColorConstants.black);
+ graphics
+ .setBackgroundColor(GraphicsConstants.elementLabelColor);
+ Point p = this.getBounds().getTopLeft();
+ Point p2 = this.getBounds().getBottomLeft();
+ Point p3 = this.getBounds().getTopRight();
+ p3 = new Point(p3.x, p3.y + this.getSize().height / 2);
+ PointList pointList = new PointList();
+ pointList.addPoint(p);
+ pointList.addPoint(p2.x, p2.y - 1);
+ pointList.addPoint(p3);
+ graphics.fillPolygon(pointList);
+ graphics.drawPolygon(pointList);
+ graphics.popState();
+ super.paint(graphics);
+ }
+
+ };
+ targetFlagFigure.setSize(10, 10);
+ sourceFlagFigure.setSize(10, 10);
+ ConnectionLocator targetLocator = new ConnectionLocator(connection,
+ ConnectionLocator.TARGET);
+ connection.add(targetFlagFigure, targetLocator);
+ ConnectionLocator sourceLocator = new ConnectionLocator(connection,
+ ConnectionLocator.SOURCE);
+ connection.add(sourceFlagFigure, sourceLocator);
+ return connection;
+ }
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeConnectionEditPart.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeEditPart.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeEditPart.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeEditPart.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,240 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.tree.editparts;
+
+import java.beans.PropertyChangeEvent;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.draw2d.ConnectionAnchor;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.gef.ConnectionEditPart;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.NodeEditPart;
+import org.eclipse.gef.Request;
+import org.jboss.tools.smooks.gef.tree.editpolicy.TreeNodeGraphicalNodeEditPolicy;
+import org.jboss.tools.smooks.gef.tree.figures.ITreeFigureListener;
+import org.jboss.tools.smooks.gef.tree.figures.LeftOrRightAnchor;
+import org.jboss.tools.smooks.gef.tree.figures.TreeFigureExpansionEvent;
+import org.jboss.tools.smooks.gef.tree.figures.TreeNodeFigure;
+import org.jboss.tools.smooks.gef.tree.model.IConnectableNode;
+import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
+
+/**
+ * @author DartPeng
+ *
+ */
+public class TreeNodeEditPart extends AbstractTreeEditPart implements
+ ITreeFigureListener, NodeEditPart {
+
+ protected boolean childrenLoaded = false;
+
+ private IFigure anchorFigure = null;
+
+ @Override
+ protected IFigure createFigure() {
+ TreeNodeModel model = (TreeNodeModel) getModel();
+ TreeNodeFigure figure = new TreeNodeFigure(model);
+ figure.addTreeListener(this);
+ return figure;
+ }
+
+ public TreeContainerEditPart getTreeContainerEditPart(){
+ EditPart parent = this.getParent();
+ while(parent != null && (parent.getClass() != TreeContainerEditPart.class)){
+ parent = parent.getParent();
+ }
+ if(parent != null && parent.getClass() == TreeContainerEditPart.class){
+ return (TreeContainerEditPart)parent;
+ }
+ return null;
+ }
+
+ public boolean isSourceLinkNodeEditPart() {
+ TreeContainerEditPart container = getTreeContainerEditPart();
+ if(container != null) return container.isSourceLinkNodeEditPart();
+ return true;
+ }
+
+ @Override
+ protected void createEditPolicies() {
+ this.installEditPolicy(EditPolicy.NODE_ROLE,
+ new TreeNodeGraphicalNodeEditPolicy());
+ }
+
+ @Override
+ public IFigure getContentPane() {
+ TreeNodeFigure figure = (TreeNodeFigure) getFigure();
+ return figure.getContentFigure();
+ }
+
+ protected void refreshVisuals() {
+ super.refreshVisuals();
+ TreeNodeModel node = (TreeNodeModel) getModel();
+ String text = node.getText();
+ if (text != null) {
+ ((TreeNodeFigure) getFigure()).setLabelText(text);
+ }
+ // Dimension size = getFigure().getPreferredSize(-1, -1);
+ // Rectangle rect = getFigure().getBounds();
+ // rect.setSize(size);
+ // ((AbstractGraphicalEditPart) getParent()).setLayoutConstraint(this,
+ // this.getFigure(), rect);
+ }
+
+ public List<?> getModelChildren() {
+ if (childrenLoaded) {
+ TreeNodeModel node = (TreeNodeModel) getModel();
+ return node.getChildren();
+ } else {
+ return Collections.EMPTY_LIST;
+ }
+ }
+
+ public void treeCollapsed(TreeFigureExpansionEvent event) {
+ caculateAnchorFigure();
+ }
+
+ public void treeExpanded(TreeFigureExpansionEvent event) {
+ if (!childrenLoaded) {
+ childrenLoaded = true;
+ refreshChildren();
+ }
+ caculateAnchorFigure();
+ }
+
+ public void propertyChange(PropertyChangeEvent evt) {
+ String proName = evt.getPropertyName();
+ if (TreeNodeModel.PRO_ADD_CHILD.equals(proName)
+ || TreeNodeModel.PRO_REMOVE_CHILD.equals(proName)) {
+ refreshChildren();
+ }
+ if (TreeNodeModel.PRO_ADD_SOURCE_CONNECTION.equals(proName)
+ || TreeNodeModel.PRO_REMOVE_SOURCE_CONNECTION.equals(proName)) {
+ refreshSourceConnections();
+ }
+ if (TreeNodeModel.PRO_ADD_TARGET_CONNECTION.equals(proName)
+ || TreeNodeModel.PRO_REMOVE_TARGET_CONNECTION.equals(proName)) {
+ refreshTargetConnections();
+ }
+ }
+
+ protected IFigure getAnchorFigure() {
+ if (anchorFigure != null)
+ return anchorFigure;
+ else {
+ IFigure figure = getFigure();
+ if (figure instanceof TreeNodeFigure) {
+ anchorFigure = ((TreeNodeFigure) figure).getLabel();
+ return anchorFigure;
+ } else {
+ anchorFigure = getFigure();
+ }
+ }
+ return anchorFigure;
+ }
+
+ public void caculateAnchorFigure() {
+ anchorFigure = null;
+ EditPart parent = getParent();
+ List<TreeNodeEditPart> parentList = new ArrayList<TreeNodeEditPart>();
+ while (parent != null && parent.getClass() == TreeNodeEditPart.class) {
+ parentList.add((TreeNodeEditPart) parent);
+ if (parent.getParent() == null
+ || parent.getParent().getClass() != TreeNodeEditPart.class) {
+ break;
+ }
+ parent = parent.getParent();
+ }
+
+ for (int i = parentList.size() - 1; i >= 0; i--) {
+ TreeNodeEditPart p = parentList.get(i);
+ if (p.isExpanded())
+ continue;
+ anchorFigure = p.getAnchorFigure();
+ break;
+ }
+ int alpha = 255;
+ if (anchorFigure != null) {
+ alpha = 20;
+ }
+ List<?> sourceConnectionEditParts = getSourceConnections();
+ for (Iterator<?> iterator = sourceConnectionEditParts.iterator(); iterator
+ .hasNext();) {
+ Object con = (Object) iterator.next();
+ if (con instanceof TreeNodeConnectionEditPart) {
+ ((TreeNodeConnectionEditPart) con).changeLineAlpha(alpha);
+ ((TreeNodeConnectionEditPart) con).refresh();
+ }
+ }
+
+ List<?> targetConnectionEditParts = getTargetConnections();
+ for (Iterator<?> iterator = targetConnectionEditParts.iterator(); iterator
+ .hasNext();) {
+ Object con = (Object) iterator.next();
+ if (con instanceof TreeNodeConnectionEditPart) {
+ ((TreeNodeConnectionEditPart) con).changeLineAlpha(alpha);
+ ((TreeNodeConnectionEditPart) con).refresh();
+ }
+ }
+ List<?> childrenEditParts = getChildren();
+ for (Iterator<?> iterator = childrenEditParts.iterator(); iterator
+ .hasNext();) {
+ EditPart child = (EditPart) iterator.next();
+ if (child.getClass() == TreeNodeEditPart.class) {
+ ((TreeNodeEditPart) child).caculateAnchorFigure();
+ }
+ }
+ }
+
+ public boolean isExpanded() {
+ IFigure f = getFigure();
+ if (f instanceof TreeNodeFigure) {
+ return ((TreeNodeFigure) f).isExpand();
+ }
+ return true;
+ }
+
+ @Override
+ protected List<?> getModelSourceConnections() {
+ Object model = getModel();
+ if (model instanceof IConnectableNode) {
+ return ((IConnectableNode) model).getSourceConnections();
+ }
+ return Collections.emptyList();
+ }
+
+ @Override
+ protected List<?> getModelTargetConnections() {
+ Object model = getModel();
+ if (model instanceof IConnectableNode) {
+ return ((IConnectableNode) model).getTargetConnections();
+ }
+ return Collections.emptyList();
+
+ }
+
+ public ConnectionAnchor getSourceConnectionAnchor(
+ ConnectionEditPart connection) {
+ return new LeftOrRightAnchor(getAnchorFigure(),false);
+ }
+
+ public ConnectionAnchor getSourceConnectionAnchor(Request request) {
+ return new LeftOrRightAnchor(getAnchorFigure(),false);
+ }
+
+ public ConnectionAnchor getTargetConnectionAnchor(
+ ConnectionEditPart connection) {
+ boolean isLeft = !isSourceLinkNodeEditPart();
+ return new LeftOrRightAnchor(getAnchorFigure(),isLeft);
+ }
+
+ public ConnectionAnchor getTargetConnectionAnchor(Request request) {
+ boolean isLeft = !isSourceLinkNodeEditPart();
+ return new LeftOrRightAnchor(getAnchorFigure(),isLeft);
+ }
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeEditPart.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editpolicy/RootPanelXYLayoutEditPolicy.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editpolicy/RootPanelXYLayoutEditPolicy.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editpolicy/RootPanelXYLayoutEditPolicy.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,75 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.tree.editpolicy;
+
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.EditPolicy;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.editpolicies.LayoutEditPolicy;
+import org.eclipse.gef.editpolicies.NonResizableEditPolicy;
+import org.eclipse.gef.requests.ChangeBoundsRequest;
+import org.eclipse.gef.requests.CreateRequest;
+import org.jboss.tools.smooks.gef.tree.editparts.ChangeConstraintCommand;
+import org.jboss.tools.smooks.gef.tree.figures.IMoveableModel;
+
+/**
+ * @author DartPeng
+ *
+ */
+public class RootPanelXYLayoutEditPolicy extends LayoutEditPolicy {
+
+// /*
+// * (non-Javadoc)
+// *
+// * @seeorg.eclipse.gef.editpolicies.ConstrainedLayoutEditPolicy#
+// * createChangeConstraintCommand(org.eclipse.gef.EditPart, java.lang.Object)
+// */
+// @Override
+// protected Command createChangeConstraintCommand(EditPart child,
+// Object constraint) {
+//
+// }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.gef.editpolicies.LayoutEditPolicy#getCreateCommand(org.eclipse
+ * .gef.requests.CreateRequest)
+ */
+ @Override
+ protected Command getCreateCommand(CreateRequest request) {
+ return null;
+ }
+
+ @Override
+ protected EditPolicy createChildEditPolicy(EditPart child) {
+ return new NonResizableEditPolicy(){
+
+ @Override
+ protected Command getMoveCommand(ChangeBoundsRequest request) {
+ Object model = getHost().getModel();
+ if (request instanceof ChangeBoundsRequest && model instanceof
IMoveableModel) {
+ Point delta = ((ChangeBoundsRequest)request).getMoveDelta();
+ Rectangle rect = ((IMoveableModel) model).getBounds();
+ rect.setLocation(rect.x+delta.x, rect.y + delta.y);
+ ChangeConstraintCommand command = new ChangeConstraintCommand(
+ (Rectangle) rect, (IMoveableModel) model);
+ return command;
+ }
+ return null;
+ }
+
+ };
+ }
+
+ @Override
+ protected Command getMoveChildrenCommand(Request request) {
+ return null;
+ }
+
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editpolicy/RootPanelXYLayoutEditPolicy.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editpolicy/TreeNodeGraphicalNodeEditPolicy.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editpolicy/TreeNodeGraphicalNodeEditPolicy.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editpolicy/TreeNodeGraphicalNodeEditPolicy.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,77 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.tree.editpolicy;
+
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gef.editpolicies.GraphicalNodeEditPolicy;
+import org.eclipse.gef.requests.CreateConnectionRequest;
+import org.eclipse.gef.requests.ReconnectRequest;
+import org.jboss.tools.smooks.gef.tree.editparts.CreateConnectionCommand;
+import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
+
+/**
+ * @author DartPeng
+ *
+ */
+public class TreeNodeGraphicalNodeEditPolicy extends GraphicalNodeEditPolicy {
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.gef.editpolicies.GraphicalNodeEditPolicy#getConnectionCompleteCommand(org.eclipse.gef.requests.CreateConnectionRequest)
+ */
+ @Override
+ protected Command getConnectionCompleteCommand(
+ CreateConnectionRequest request) {
+ Command command = request.getStartCommand();
+ if(command != null && command instanceof CreateConnectionCommand){
+ Object targetModel = request.getTargetEditPart().getModel();
+ if(targetModel instanceof TreeNodeModel){
+ if(!((TreeNodeModel)targetModel).isLinkable()) return null;
+ ((CreateConnectionCommand)command).setTarget((TreeNodeModel)targetModel);
+ return command;
+ }
+ }
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.gef.editpolicies.GraphicalNodeEditPolicy#getConnectionCreateCommand(org.eclipse.gef.requests.CreateConnectionRequest)
+ */
+ @Override
+ protected Command getConnectionCreateCommand(CreateConnectionRequest request) {
+ EditPart sourceEditpart = request.getSourceEditPart();
+ Object model = null;
+ if(sourceEditpart == null){
+ sourceEditpart = getHost();
+ }
+ model = sourceEditpart.getModel();
+ if(model != null && model instanceof TreeNodeModel){
+ if(!((TreeNodeModel)model).isLinkable()) return null;
+ CreateConnectionCommand command = new CreateConnectionCommand();
+ command.setSource((TreeNodeModel)model);
+ request.setStartCommand(command);
+ return command;
+ }
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.gef.editpolicies.GraphicalNodeEditPolicy#getReconnectSourceCommand(org.eclipse.gef.requests.ReconnectRequest)
+ */
+ @Override
+ protected Command getReconnectSourceCommand(ReconnectRequest request) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.eclipse.gef.editpolicies.GraphicalNodeEditPolicy#getReconnectTargetCommand(org.eclipse.gef.requests.ReconnectRequest)
+ */
+ @Override
+ protected Command getReconnectTargetCommand(ReconnectRequest request) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/editpolicy/TreeNodeGraphicalNodeEditPolicy.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/IMoveableModel.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/IMoveableModel.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/IMoveableModel.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,29 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.tree.figures;
+
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.draw2d.geometry.Rectangle;
+
+/**
+ * @author DartPeng
+ *
+ */
+public interface IMoveableModel {
+
+ public static final String PRO_BOUNDS_CHANGED = "__pro_bounds_changed";
+
+ public Point getLocation();
+
+ public void setLocation(Point location);
+
+ public Dimension getSize();
+
+ public void setSize(Dimension size);
+
+ public Rectangle getBounds();
+
+ public void setBounds(Rectangle rect);
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/IMoveableModel.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/ITreeFigureListener.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/ITreeFigureListener.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/ITreeFigureListener.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,25 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.tree.figures;
+
+
+/**
+ * @author DartPeng
+ *
+ */
+public interface ITreeFigureListener {
+ /**
+ * Notifies that a node in the tree has been collapsed.
+ *
+ * @param event event object describing details
+ */
+ public void treeCollapsed(TreeFigureExpansionEvent event);
+
+ /**
+ * Notifies that a node in the tree has been expanded.
+ *
+ * @param event event object describing details
+ */
+ public void treeExpanded(TreeFigureExpansionEvent event);
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/ITreeFigureListener.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/LeftOrRightAnchor.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/LeftOrRightAnchor.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/LeftOrRightAnchor.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,49 @@
+package org.jboss.tools.smooks.gef.tree.figures;
+
+import org.eclipse.draw2d.ChopboxAnchor;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.geometry.Point;
+
+public class LeftOrRightAnchor extends ChopboxAnchor {
+
+ private boolean isLeft = false;
+
+ public LeftOrRightAnchor(IFigure owner , boolean isLeft) {
+ super(owner);
+ this.isLeft = isLeft;
+ }
+
+ public Point getReferencePoint(){
+ Point point = super.getReferencePoint();
+ if(isLeft){
+ return new Point(point.x + 30,point.y);
+ }else{
+ return new Point(point.x - 30,point.y);
+ }
+ }
+
+ public Point getLocation(Point reference) {
+ Point p;
+ IFigure hostFigure = getOwner();
+ IFigure parent = hostFigure.getParent();
+ while(parent != null && !(parent instanceof TreeContainerFigure)){
+ if(parent == null || parent instanceof TreeContainerFigure){
+ break;
+ }
+ parent = parent.getParent();
+ }
+ p = getOwner().getBounds().getCenter();
+ getOwner().translateToAbsolute(p);
+ if (isLeft){
+ p = getOwner().getBounds().getLeft();
+ p.x = parent.getBounds().getLeft().x - 2;
+ }
+ else{
+ p = getOwner().getBounds().getRight();
+ p.x = parent.getBounds().getRight().x + 2;
+ }
+ getOwner().translateToAbsolute(p);
+ return p;
+ }
+}
+
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/LeftOrRightAnchor.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/TestFigure.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/TestFigure.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/TestFigure.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,19 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.tree.figures;
+
+import org.eclipse.draw2d.RectangleFigure;
+
+/**
+ * @author DartPeng
+ *
+ */
+public class TestFigure extends RectangleFigure {
+ public TestFigure(){
+// Label l = new Label();
+// l.setSize(new Dimension(100,20));
+// l.setText("dfafafdaf");
+// this.add(l);
+ }
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/TestFigure.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/TreeContainerFigure.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/TreeContainerFigure.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/TreeContainerFigure.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,125 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.tree.figures;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.draw2d.Figure;
+import org.eclipse.draw2d.Graphics;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.Label;
+import org.eclipse.draw2d.ToolbarLayout;
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.swt.graphics.Color;
+import org.jboss.tools.smooks.gef.tree.model.TreeContainerModel;
+
+/**
+ * @author DartPeng
+ *
+ */
+public class TreeContainerFigure extends Figure {
+
+ private IFigure headerFigure;
+
+ private IFigure contentFigure;
+
+ private Label label;
+
+ private TreeContainerModel model;
+
+ private Color headerColor = ColorConstants.button;
+
+ public TreeContainerFigure(TreeContainerModel model) {
+ super();
+ this.model = model;
+ headerFigure = new Figure() {
+
+ @Override
+ protected void paintFigure(Graphics graphics) {
+ super.paintFigure(graphics);
+ graphics.pushState();
+ graphics.setForegroundColor(headerColor);
+ graphics.setBackgroundColor(ColorConstants.white);
+ graphics.fillGradient(getBounds(), true);
+ graphics.setForegroundColor(headerColor);
+ graphics.drawLine(getBounds().getBottomLeft().translate(0, -1),
+ getBounds().getBottomRight().translate(0, -1));
+ graphics.popState();
+ }
+
+ @Override
+ public Dimension getPreferredSize(int hint, int hint2) {
+ Dimension size = super.getPreferredSize(hint, hint2);
+ return new Dimension(size.width,25);
+ }
+ };
+ label = new Label();
+ headerFigure.add(label);
+ ToolbarLayout layout = new ToolbarLayout();
+ layout.setMinorAlignment(ToolbarLayout.ALIGN_CENTER);
+ headerFigure.setLayoutManager(layout);
+ headerFigure.setOpaque(true);
+ headerFigure.setBackgroundColor(ColorConstants.blue);
+
+ contentFigure = new Figure();
+ contentFigure.setBackgroundColor(ColorConstants.red);
+ contentFigure.setLayoutManager(new ToolbarLayout());
+ this.add(headerFigure);
+ this.add(contentFigure);
+ this.setLayoutManager(new ToolbarLayout());
+ }
+
+ public IFigure getContentFigure() {
+ return contentFigure;
+ }
+
+ public Color getHeaderColor() {
+ return headerColor;
+ }
+
+ public void setHeaderColor(Color headerColor) {
+ this.headerColor = headerColor;
+ }
+
+ public Rectangle getBounds() {
+ Rectangle rect = super.getBounds();
+ if (getLayoutManager() != null) {
+ Dimension d = getLayoutManager().getPreferredSize(this, -1, -1);
+ rect.setSize(d);
+ }
+ return rect;
+ }
+
+ @Override
+ protected void paintBorder(Graphics graphics) {
+ graphics.setForegroundColor(ColorConstants.buttonDarker);
+ Rectangle drawnRectangle = new Rectangle(getBounds().x, getBounds().y,
+ getBounds().width - 1, getBounds().height - 1);
+ graphics.drawRoundRectangle(drawnRectangle, 5, 5);
+ }
+
+ public void setText(String text){
+ if(label != null){
+ label.setText(text);
+ }
+ }
+
+ public TreeContainerModel getModel() {
+ return model;
+ }
+
+ public void setModel(TreeContainerModel model) {
+ this.model = model;
+ }
+
+ @Override
+ protected void paintFigure(Graphics graphics) {
+ super.paintFigure(graphics);
+ graphics.pushState();
+ graphics.setAlpha(190);
+ graphics.setBackgroundColor(ColorConstants.white);
+ graphics.fillRectangle(getBounds());
+ graphics.popState();
+ }
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/TreeContainerFigure.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/TreeFigureExpansionEvent.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/TreeFigureExpansionEvent.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/TreeFigureExpansionEvent.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,21 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.tree.figures;
+
+/**
+ * @author DartPeng
+ *
+ */
+public class TreeFigureExpansionEvent {
+
+ private Object source;
+
+ public Object getSource() {
+ return source;
+ }
+
+ public TreeFigureExpansionEvent(Object source) {
+ this.source = source;
+ }
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/TreeFigureExpansionEvent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/TreeNodeFigure.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/TreeNodeFigure.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/TreeNodeFigure.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,322 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.tree.figures;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.draw2d.ActionEvent;
+import org.eclipse.draw2d.ActionListener;
+import org.eclipse.draw2d.Clickable;
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.draw2d.Figure;
+import org.eclipse.draw2d.Graphics;
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.Label;
+import org.eclipse.draw2d.LayoutManager;
+import org.eclipse.draw2d.MarginBorder;
+import org.eclipse.draw2d.MouseEvent;
+import org.eclipse.draw2d.MouseMotionListener;
+import org.eclipse.draw2d.ToolbarLayout;
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.draw2d.geometry.Insets;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.draw2d.geometry.PointList;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.swt.graphics.Image;
+import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
+
+/**
+ * @author DartPeng
+ *
+ */
+public class TreeNodeFigure extends Figure {
+ private List<ITreeFigureListener> treeListener = new
ArrayList<ITreeFigureListener>();
+
+ private final int SPACE_INT = 14;
+
+ private final int CLICKNODE_HEIGHT = 18;
+
+ private final int CLICKNODE_WIDTH = 18;
+
+ private Figure contentFigure;
+
+ private Figure labelContainer;
+
+ private Figure clickNode;
+
+ private Label label;
+
+ private boolean mouseEnter = false;
+
+ private boolean expand = false;
+
+ private TreeNodeModel model;
+
+ public TreeNodeFigure(TreeNodeModel model) {
+ super();
+ this.model = model;
+ this.setBorder(new MarginBorder(2, 2, 2, 2));
+ this.setLayoutManager(new ToolbarLayout());
+ createLabelContainer();
+ createContentFigure();
+ }
+
+ public void addTreeListener(ITreeFigureListener listener) {
+ treeListener.add(listener);
+ }
+
+ public void removeTreeListener(ITreeFigureListener listener) {
+ treeListener.remove(listener);
+ }
+
+ public TreeNodeModel getModel() {
+ return model;
+ }
+
+ public boolean isExpand() {
+ return expand;
+ }
+
+ public void setModel(TreeNodeModel model) {
+ this.model = model;
+ }
+
+ public Label getLabel() {
+ return label;
+ }
+
+ private void createContentFigure() {
+ Figure panelFigure = new Figure();
+ ToolbarLayout layout = new ToolbarLayout();
+ layout.setVertical(false);
+ panelFigure.setLayoutManager(layout);
+ Figure spaceFigure = new Figure(){
+ @Override
+ public Dimension getPreferredSize(int hint, int hint2) {
+ return new Dimension(SPACE_INT, 0);
+ }
+ };
+ panelFigure.add(spaceFigure);
+ contentFigure = new Figure(){
+
+ @Override
+ protected void paintFigure(Graphics graphics) {
+ super.paintFigure(graphics);
+// graphics.drawRectangle(getBounds().x + 1 , getBounds().y + 1 , getBounds().width -
2 ,getBounds().height - 2 );
+ }
+
+ };
+ panelFigure.add(contentFigure);
+ contentFigure.setLayoutManager(new ToolbarLayout());
+ this.add(panelFigure);
+ }
+
+ public Figure getContentFigure() {
+ return contentFigure;
+ }
+
+ @Override
+ public Dimension getPreferredSize(int hint, int hint2) {
+ if (expand) {
+// contentFigure.setSize(-1, -1);
+// LayoutManager manager = contentFigure.getLayoutManager();
+// if(manager != null){
+// manager.invalidate();
+// }
+ return super.getPreferredSize(hint, hint2);
+ } else {
+ LayoutManager layout = labelContainer.getLayoutManager();
+ if (layout != null)
+ layout.invalidate();
+ labelContainer.invalidateTree();
+ Dimension size = labelContainer.getPreferredSize(hint, hint2);
+ Insets insets = getBorder().getInsets(null);
+ return new Dimension(size.width + insets.left + insets.right,
+ size.height + insets.bottom + insets.top);
+ }
+ }
+
+ protected void createLabelContainer() {
+ labelContainer = new Figure();
+ clickNode = new Clickable() {
+
+ public void paintBorder(Graphics graphics) {
+
+ }
+
+ public void paintFigure(Graphics graphics) {
+ drawClickFigure(clickNode, graphics);
+ }
+ };
+ ((Clickable) clickNode).addActionListener(new ActionListener() {
+
+ public void actionPerformed(ActionEvent event) {
+ boolean hasChildren = model.hasChildren();
+ if (!hasChildren)
+ return;
+ changeTreeExpansionState();
+ }
+
+ });
+ ((Clickable) clickNode)
+ .addMouseMotionListener(new MouseMotionListener() {
+
+ public void mouseDragged(MouseEvent me) {
+ }
+
+ public void mouseEntered(MouseEvent me) {
+ boolean hasChildren = model.hasChildren();
+ if (!hasChildren)
+ return;
+ mouseEnter = true;
+ clickNode.repaint();
+ }
+
+ public void mouseExited(MouseEvent me) {
+ boolean hasChildren = model.hasChildren();
+ if (!hasChildren)
+ return;
+ mouseEnter = false;
+ clickNode.repaint();
+ }
+
+ public void mouseHover(MouseEvent me) {
+ }
+
+ public void mouseMoved(MouseEvent me) {
+ }
+
+ });
+ clickNode.setSize(new Dimension(CLICKNODE_WIDTH, CLICKNODE_HEIGHT));
+
+ Figure imageFigure = new Figure() {
+ @Override
+ protected void paintFigure(Graphics graphics) {
+ super.paintFigure(graphics);
+ if (model != null) {
+ Image i = model.getImage();
+ if (i != null)
+ ;
+ graphics.drawImage(i, getBounds().getTopLeft().x,
+ getBounds().getTopLeft().y + 2);
+ }
+ }
+ };
+ imageFigure.setSize(new Dimension(18, 18));
+
+ label = new Label();
+ if (model != null) {
+ label.setText(model.getText());
+ } else {
+ label.setText("");
+ }
+ labelContainer.add(clickNode);
+ labelContainer.add(imageFigure);
+ labelContainer.add(label);
+ ToolbarLayout tl = new ToolbarLayout();
+ tl.setVertical(false);
+ labelContainer.setLayoutManager(tl);
+ this.add(labelContainer);
+ }
+
+ public void updateLabel() {
+ if (model != null) {
+ label.setText(model.getText());
+ } else {
+ label.setText("");
+ }
+ }
+
+ public void setLabelText(String text) {
+ label.setText(text);
+ }
+
+ protected void drawClickFigure(IFigure clickFigure, Graphics graphics) {
+ Rectangle rect = clickFigure.getBounds();
+ Point center = rect.getCenter();
+ int width = 8;
+ PointList pointList = new PointList();
+ boolean hasChildren = model.hasChildren();
+ if (hasChildren) {
+ if (expand) {
+ Point point1 = new Point(center.x - width / 2, center.y - width
+ / 4);
+ Point point2 = new Point(point1.x + width, point1.y);
+ Point point3 = new Point(point1.x + width / 2, point1.y + width
+ / 2);
+ pointList.addPoint(point1);
+ pointList.addPoint(point2);
+ pointList.addPoint(point3);
+ } else {
+ Point point1 = new Point(center.x - width / 4, center.y - width
+ / 2);
+ Point point2 = new Point(point1.x, point1.y + width);
+ Point point3 = new Point(point1.x + width / 2, point1.y + width
+ / 2);
+ pointList.addPoint(point1);
+ pointList.addPoint(point2);
+ pointList.addPoint(point3);
+ }
+ graphics.drawPolygon(pointList);
+ }
+ if (mouseEnter) {
+ graphics.pushState();
+ graphics.setBackgroundColor(ColorConstants.black);
+ graphics.fillPolygon(pointList);
+ graphics.popState();
+ }
+ }
+
+ private void changeTreeExpansionState() {
+ try {
+ IFigure parent = contentFigure.getParent();
+ while (parent != null) {
+ if (parent instanceof TreeContainerFigure) {
+ break;
+ }
+ parent = parent.getParent();
+ }
+ if (parent != null) {
+ Rectangle oldRectangle = parent.getClientArea();
+ expand = !expand;
+ for (Iterator<ITreeFigureListener> iterator = this.treeListener
+ .iterator(); iterator.hasNext();) {
+ ITreeFigureListener listener = (ITreeFigureListener) iterator
+ .next();
+ TreeFigureExpansionEvent event = new TreeFigureExpansionEvent(
+ this);
+ if (!expand) {
+ listener.treeCollapsed(event);
+ } else {
+ listener.treeExpanded(event);
+ }
+ }
+ if (!expand) {
+ contentFigure.setLayoutManager(null);
+ contentFigure.setSize(new Dimension(0, 0));
+ } else {
+ contentFigure.setLayoutManager(new ToolbarLayout());
+ contentFigure.setSize(contentFigure.getPreferredSize());
+ }
+ Rectangle newRectangle = parent.getClientArea();
+ int w = Math.max(oldRectangle.width, newRectangle.width);
+ int h = Math.max(oldRectangle.height, newRectangle.height);
+// IFigure currentParent = contentFigure.getParent();
+// currentParent.invalidateTree();
+// LayoutManager layout = currentParent.getLayoutManager();
+// if(layout != null){
+// layout.layout(currentParent);
+// }
+ IFigure panel = parent.getParent();
+ if (panel != null) {
+ panel.repaint(oldRectangle.x, oldRectangle.y, w, h);
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/figures/TreeNodeFigure.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/model/IConnectableNode.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/model/IConnectableNode.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/model/IConnectableNode.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,19 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.tree.model;
+
+import java.util.List;
+
+/**
+ * @author DartPeng
+ *
+ */
+public interface IConnectableNode {
+
+ public List<TreeNodeConnection> getSourceConnections();
+
+ public List<TreeNodeConnection> getTargetConnections();
+
+
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/model/IConnectableNode.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/model/TreeContainerModel.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/model/TreeContainerModel.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/model/TreeContainerModel.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,91 @@
+package org.jboss.tools.smooks.gef.tree.model;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.draw2d.geometry.Rectangle;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.jboss.tools.smooks.gef.tree.figures.IMoveableModel;
+
+public class TreeContainerModel extends TreeNodeModel implements IMoveableModel {
+
+ private boolean sourceLinkNode = false;
+
+ private boolean headerVisable = false;
+
+ private Point location = new Point(0, 0);
+
+ public TreeContainerModel(Object data,
+ ITreeContentProvider contentProvider, LabelProvider labelProvider) {
+ super(data, contentProvider, labelProvider);
+ }
+
+ public boolean isSourceLinkNode() {
+ return sourceLinkNode;
+ }
+
+ public void setSourceLinkNode(boolean sourceLinkNode) {
+ this.sourceLinkNode = sourceLinkNode;
+ }
+
+ public List<TreeNodeModel> getChildren() {
+ if (children == null) {
+ if (contentProvider != null && data != null) {
+ Object[] elements = contentProvider.getChildren(getData());
+ if (elements != null) {
+ children = new ArrayList<TreeNodeModel>();
+ for (int i = 0; i < elements.length; i++) {
+ Object element = elements[i];
+ TreeNodeModel treeNode = new TreeNodeModel(element,
+ contentProvider, labelProvider);
+ children.add(treeNode);
+ }
+ return children;
+ }
+ }
+ return Collections.emptyList();
+ }
+ return children;
+ }
+
+ public Point getLocation() {
+ return location;
+ }
+
+ public void setLocation(Point location) {
+ if (!this.location.equals(location)) {
+ Point oldLocation = this.location;
+ this.location = location;
+ support.firePropertyChange(IMoveableModel.PRO_BOUNDS_CHANGED, oldLocation,
this.location);
+ }
+ }
+
+ public Rectangle getBounds() {
+ return new Rectangle(getLocation(),new Dimension(0,0));
+ }
+
+ public Dimension getSize() {
+ return null;
+ }
+
+ public void setBounds(Rectangle rect) {
+ setLocation(rect.getLocation());
+ }
+
+ public void setSize(Dimension size) {
+
+ }
+
+ public void setHeaderVisable(boolean headerVisable) {
+ this.headerVisable = headerVisable;
+ }
+
+ public boolean isHeaderVisable() {
+ return headerVisable;
+ }
+
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/model/TreeContainerModel.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/model/TreeNodeConnection.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/model/TreeNodeConnection.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/model/TreeNodeConnection.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,70 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.tree.model;
+
+import org.eclipse.core.runtime.Assert;
+
+/**
+ * @author DartPeng
+ *
+ */
+public class TreeNodeConnection {
+
+ private TreeNodeModel sourceNode;
+
+ private TreeNodeModel targetNode;
+
+ public TreeNodeConnection(){
+
+ }
+
+ public TreeNodeConnection(TreeNodeModel sourceNode,TreeNodeModel targetNode){
+ this.sourceNode = sourceNode;
+ this.targetNode = targetNode;
+ Assert.isNotNull(sourceNode);
+ Assert.isNotNull(targetNode);
+ }
+
+ public void connect(){
+ connectSource();
+ connectTarget();
+ }
+
+ public void disconnect(){
+ disconnectSource();
+ disconnectTarget();
+ }
+
+ public void connectSource(){
+ sourceNode.addSourceConnection(this);
+ }
+
+ public void connectTarget(){
+ targetNode.addTargetConnection(this);
+ }
+
+ public void disconnectSource(){
+ sourceNode.removeSourceConnection(this);
+ }
+
+ public void disconnectTarget(){
+ targetNode.removeTargetConnection(this);
+ }
+
+ public TreeNodeModel getSourceNode() {
+ return sourceNode;
+ }
+
+ public void setSourceNode(TreeNodeModel sourceNode) {
+ this.sourceNode = sourceNode;
+ }
+
+ public TreeNodeModel getTargetNode() {
+ return targetNode;
+ }
+
+ public void setTargetNode(TreeNodeModel targetNode) {
+ this.targetNode = targetNode;
+ }
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/model/TreeNodeConnection.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/model/TreeNodeModel.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/model/TreeNodeModel.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/model/TreeNodeModel.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,217 @@
+package org.jboss.tools.smooks.gef.tree.model;
+
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyChangeSupport;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Image;
+
+public class TreeNodeModel implements IConnectableNode{
+
+ protected ITreeContentProvider contentProvider;
+
+ protected LabelProvider labelProvider;
+
+ public static final String PRO_ADD_CHILD = "_pro_add_child";
+
+ public static final String PRO_REMOVE_CHILD = "_pro_remove_child";
+
+ public static final String PRO_ADD_SOURCE_CONNECTION =
"_pro_add_source_connected";
+
+ public static final String PRO_ADD_TARGET_CONNECTION =
"_pro_add_target_connected";
+
+ public static final String PRO_REMOVE_SOURCE_CONNECTION =
"_pro_remove_source_connected";
+
+ public static final String PRO_REMOVE_TARGET_CONNECTION =
"_pro_remove_target_connected";
+
+ public static final String PRO_TEXT_CHANGED = "_pro_text_changed";
+
+ protected Object data = null;
+
+ private boolean linkable = true;
+
+ private TreeNodeModel parent = null;
+
+ private HashMap<String, Object> userDataMap = new HashMap<String,
Object>();
+
+ protected PropertyChangeSupport support = new PropertyChangeSupport(this);
+
+ protected List<TreeNodeModel> children = null;
+
+ private List<TreeNodeConnection> sourceConnections = new
ArrayList<TreeNodeConnection>();
+
+ private List<TreeNodeConnection> targetConnections = new
ArrayList<TreeNodeConnection>();
+
+ public TreeNodeModel(Object data, ITreeContentProvider contentProvider,
+ LabelProvider labelProvider) {
+ setContentProvider(contentProvider);
+ setLabelProvider(labelProvider);
+ setData(data);
+ }
+
+ public boolean hasChildren() {
+ if (contentProvider != null && data != null) {
+ return contentProvider.hasChildren(data);
+ }
+ return true;
+ }
+
+ public TreeNodeModel getParent() {
+ return parent;
+ }
+
+ public void setParent(TreeNodeModel parent) {
+ this.parent = parent;
+ }
+
+ public ITreeContentProvider getContentProvider() {
+ return contentProvider;
+ }
+
+ public void setContentProvider(ITreeContentProvider contentProvider) {
+ this.contentProvider = contentProvider;
+ }
+
+ public LabelProvider getLabelProvider() {
+ return labelProvider;
+ }
+
+ public void setLabelProvider(LabelProvider labelProvider) {
+ this.labelProvider = labelProvider;
+ }
+
+ public List<TreeNodeModel> getChildren() {
+ if (children == null) {
+ if (this.contentProvider != null && data != null) {
+ Object[] models = contentProvider.getChildren(data);
+ if (models != null) {
+ children = new ArrayList<TreeNodeModel>();
+ for (int i = 0; i < models.length; i++) {
+ Object model = models[i];
+ TreeNodeModel n = new TreeNodeModel(model,contentProvider,labelProvider);
+ children.add(n);
+ }
+ return children;
+ }
+ }
+ return Collections.emptyList();
+ }
+ return children;
+ }
+
+ public void addPropertyChangeListener(PropertyChangeListener listener) {
+ support.addPropertyChangeListener(listener);
+ }
+
+ public void removePropertyChangeListener(PropertyChangeListener listener) {
+ support.removePropertyChangeListener(listener);
+ }
+
+ public void addSourceConnection(TreeNodeConnection connection) {
+ if (this.sourceConnections.indexOf(connection) == -1) {
+ this.sourceConnections.add(connection);
+ support.firePropertyChange(PRO_ADD_SOURCE_CONNECTION, null,
+ connection);
+ }
+ }
+
+ public void removeSourceConnection(TreeNodeConnection connection) {
+ if (this.sourceConnections.indexOf(connection) != -1) {
+ this.sourceConnections.remove(connection);
+ support.firePropertyChange(PRO_REMOVE_SOURCE_CONNECTION,
+ connection, null);
+ }
+ }
+
+ public void addTargetConnection(TreeNodeConnection connection) {
+ if (this.targetConnections.indexOf(connection) == -1) {
+ this.targetConnections.add(connection);
+ support.firePropertyChange(PRO_ADD_TARGET_CONNECTION, null,
+ connection);
+ }
+ }
+
+ public void removeTargetConnection(TreeNodeConnection connection) {
+ if (this.targetConnections.indexOf(connection) != -1) {
+ this.targetConnections.remove(connection);
+ support.firePropertyChange(PRO_REMOVE_TARGET_CONNECTION,
+ connection, null);
+ }
+ }
+
+ public void addChild(TreeNodeModel node) {
+ if (getChildren().indexOf(node) == -1) {
+ getChildren().add(node);
+ node.setParent(this);
+ support.firePropertyChange(PRO_ADD_CHILD, null, node);
+ }
+ }
+
+ public void removeChild(TreeNodeModel node) {
+ if (getChildren().indexOf(node) != -1) {
+ getChildren().remove(node);
+ node.setParent(null);
+ support.firePropertyChange(PRO_REMOVE_CHILD, node, null);
+ }
+ }
+
+ public Object getData() {
+ return data;
+ }
+
+ public void setData(Object data) {
+ this.data = data;
+ }
+
+ public void setUserData(String key, Object data) {
+ userDataMap.put(key, data);
+ }
+
+ public Object getUserData(String key) {
+ return userDataMap.get(key);
+ }
+
+ public String getText() {
+ if(data != null && labelProvider != null){
+ return labelProvider.getText(data);
+ }
+ return "";
+ }
+
+ public Image getImage() {
+ if(data != null && labelProvider != null){
+ return labelProvider.getImage(data);
+ }
+ return null;
+ }
+
+ public boolean isLinkable() {
+ return linkable;
+ }
+
+ public void setLinkable(boolean linkable) {
+ this.linkable = linkable;
+ }
+
+ public void setText(String text) {
+// if (text != null && !text.equals(this.text)) {
+// String oldtext = this.text;
+// this.text = text;
+// support.firePropertyChange(PRO_TEXT_CHANGED, oldtext, this.text);
+// }
+ }
+
+ public List<TreeNodeConnection> getSourceConnections() {
+ return sourceConnections;
+ }
+
+ public List<TreeNodeConnection> getTargetConnections() {
+ return targetConnections;
+ }
+
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/model/TreeNodeModel.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/palette/SmooksGEFPaletteBuilder.java
===================================================================
---
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/palette/SmooksGEFPaletteBuilder.java
(rev 0)
+++
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/palette/SmooksGEFPaletteBuilder.java 2009-03-23
23:47:18 UTC (rev 14302)
@@ -0,0 +1,35 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.gef.tree.palette;
+
+import org.eclipse.gef.palette.ConnectionCreationToolEntry;
+import org.eclipse.gef.palette.PaletteDrawer;
+import org.eclipse.gef.palette.PaletteRoot;
+import org.eclipse.gef.palette.SelectionToolEntry;
+
+/**
+ * @author DartPeng
+ *
+ */
+public class SmooksGEFPaletteBuilder {
+
+ private static SmooksGEFPaletteBuilder instance = null;
+
+ public static SmooksGEFPaletteBuilder getInstance() {
+ if (instance == null) {
+ instance = new SmooksGEFPaletteBuilder();
+ }
+ return instance;
+ }
+
+ public PaletteRoot getPaletteRoot() {
+ PaletteRoot paletteRoot = new PaletteRoot();
+ PaletteDrawer drawer = new PaletteDrawer("aaaaa");
+ drawer.add(new SelectionToolEntry());
+ drawer.add(new ConnectionCreationToolEntry("Connect", "Connect",
null,
+ null, null));
+ paletteRoot.add(drawer);
+ return paletteRoot;
+ }
+}
Property changes on:
workspace/dart/plugins/org.jboss.tools.smooks.gef/src/org/jboss/tools/smooks/gef/tree/palette/SmooksGEFPaletteBuilder.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain