JBoss Tools SVN: r14311 - trunk/smooks/docs/reference/en/modules.
by jbosstools-commits@lists.jboss.org
Author: ochikvina
Date: 2009-03-24 10:56:57 -0400 (Tue, 24 Mar 2009)
New Revision: 14311
Modified:
trunk/smooks/docs/reference/en/modules/smooksformeditor_configurationpage.xml
trunk/smooks/docs/reference/en/modules/smooksformeditor_graphicalpage.xml
Log:
https://jira.jboss.org/jira/browse/JBDS-630 - the chapters "Smooks Graphical Editor Page" and "Smooks Configuration Editor Page" are updated as Date Decorater GUI is changed;
Modified: trunk/smooks/docs/reference/en/modules/…
[View More]smooksformeditor_configurationpage.xml
===================================================================
--- trunk/smooks/docs/reference/en/modules/smooksformeditor_configurationpage.xml 2009-03-24 14:54:14 UTC (rev 14310)
+++ trunk/smooks/docs/reference/en/modules/smooksformeditor_configurationpage.xml 2009-03-24 14:56:57 UTC (rev 14311)
@@ -9,7 +9,7 @@
</keywordset>
</chapterinfo>
<title>Smooks Configuration Editor Page</title>
- <para> Smooks Configuration Editor Page is one tab of the <property>Smooks Editor</property>. </para>
+ <para><property>Smooks Configuration Editor</property> is one tab of the <property>Smooks Editor</property>. </para>
<figure>
<title>Graphical Editor</title>
<mediaobject>
@@ -40,7 +40,7 @@
</imageobject>
</mediaobject>
</figure>
- <para> Select the radio button to change the Smooks parse type. </para>
+ <para>Select the needed radio button to change the Smooks parse type. </para>
</section>
<section id="configurationpage_importfile">
@@ -49,17 +49,8 @@
<property>Other Configurations</property>
</emphasis> section, there is an <emphasis>
<property>Import Files</property>
- </emphasis> list under the Smooks parse type buttons.</para>
+ </emphasis> list under the Smooks parse type buttons (see the figure above).</para>
- <figure>
- <title>Import File</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/config_page/config_page2.png" scale="90"/>
- </imageobject>
- </mediaobject>
- </figure>
-
<para>There are three buttons on the right side of the <emphasis>
<property>File Import</property>
</emphasis> list. You can click those to add/edit/remove the import files.</para>
@@ -106,16 +97,16 @@
<itemizedlist>
<listitem>
- <para>locale-language</para>
-
+ <para>Format</para>
</listitem>
-
+
<listitem>
- <para>format</para>
+ <para>Locale-Language</para>
+
</listitem>
<listitem>
- <para>locale-country</para>
+ <para>Locale-Country</para>
</listitem>
</itemizedlist>
@@ -128,15 +119,15 @@
<title>Date Decoder Detail Page</title>
<mediaobject>
<imageobject>
- <imagedata fileref="images/config_page/config_page5.png" scale="90"/>
+ <imagedata fileref="images/config_page/config_page1.png" scale="90"/>
</imageobject>
</mediaobject>
</figure>
<para> When you defined a new <emphasis>
- <property>Date Decoder</property></emphasis>, they can use the <link
- linkend="graphicalpage_propertiesview">JavaBean Properties</link> GUI to set the
- them to be the "Java type".</para>
+ <property>Date Decoder</property></emphasis>, then you can use the <link
+ linkend="graphicalpage_propertiesview">JavaBean Properties</link> GUI to set
+ it to be the "Java type".</para>
<!--
<para> The XML fragment generated by Smooks tools for the "Date
Modified: trunk/smooks/docs/reference/en/modules/smooksformeditor_graphicalpage.xml
===================================================================
--- trunk/smooks/docs/reference/en/modules/smooksformeditor_graphicalpage.xml 2009-03-24 14:54:14 UTC (rev 14310)
+++ trunk/smooks/docs/reference/en/modules/smooksformeditor_graphicalpage.xml 2009-03-24 14:56:57 UTC (rev 14311)
@@ -22,18 +22,37 @@
<para> This <property>Graphical editor</property> allows you to perform drug/drop operations
with the nodes of transform data to map the source data to target data. </para>
- <para> When you save the changes in the Graphical editor the correct Smooks Configuration file
- content will be generated. </para>
+ <para> When you save the changes in the <property>Graphical editor</property> the correct Smooks
+ Configuration file content will be generated. </para>
+
+ <para>To adjust the properties of the connection lines in the editor, you should use the <link
+ linkend="graphicalpage_propertiesview">Properties view</link> (activate it by following
+ to <emphasis>
+ <property>Window > Show View > Other > General > Properties</property>).</emphasis></para>
+
+ <para>For example, if you defined a date decoder in the <link
+ linkend="configurationpage_datedecoder">Smooks Configuration Editor</link>, in the <property>Properties view</property> you can
+ select it as a Mapping type for the "Date" type element.</para>
+
+ <figure>
+ <title>Browsing Custom Type for the Date Type Element</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/graph_editor/graph_editor1a.png" scale="90"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
<section>
<title>Introducing the areas of graphical editor</title>
- <para>Information on the topic could be found in the <link linkend="quickstart_formeditor">Quick Start/Smooks Editor</link> section.</para>
+ <para>Information on the topic could be found in the <link linkend="quickstart_formeditor"
+ >Quick Start/Smooks Editor</link> section.</para>
</section>
<section>
<title>Load Source/Target Data</title>
- <para> Click the links under the data view, the <property>Data Type Selection wizard</property> page will be
- shown.</para>
+ <para> Click the links under the data view, the <property>Data Type Selection
+ wizard</property> page will be shown.</para>
<figure>
<title>Data Type Selection Wizard Page</title>
<mediaobject>
@@ -93,8 +112,8 @@
file content with "Mapping Logic". If there are any errors of the configuration file
content, error messages are shown in the <link linkend="quickstart_formeditor">Problems
area</link>.</para>
- <para> Please, read the <link linkend="quickstart_mapping">Quick Start/Mapping</link> section to
- find how to fix the errors.</para>
+ <para> Please, read the <link linkend="quickstart_mapping">Quick Start/Mapping</link>
+ section to find how to fix the errors.</para>
</section>
<section id="graphicalpage_propertiesview">
<title>Properties View</title>
@@ -104,8 +123,8 @@
<para>Navigate to <emphasis><property>Window > Show View > Other >
Properties</property>,</emphasis> to open the <property>Properties
view</property>.</para>
- <para> When you select on the connection lines, the <property>Properties view</property>
- will show a set of section GUI for editing the properties of the connection line.</para>
+ <para> When you select the connection line, the <property>Properties view</property> will
+ show a set of section GUI for editing its properties.</para>
<tip>
<title>Tip:</title>
[View Less]
15 years, 11 months
JBoss Tools SVN: r14310 - trunk/smooks/docs/reference/en/images/config_page.
by jbosstools-commits@lists.jboss.org
Author: ochikvina
Date: 2009-03-24 10:54:14 -0400 (Tue, 24 Mar 2009)
New Revision: 14310
Modified:
trunk/smooks/docs/reference/en/images/config_page/config_page1.png
trunk/smooks/docs/reference/en/images/config_page/config_page2.png
Log:
https://jira.jboss.org/jira/browse/JBDS-630 - updating the images;
Modified: trunk/smooks/docs/reference/en/images/config_page/config_page1.png
===================================================================
(Binary files differ)
Modified: trunk/…
[View More]smooks/docs/reference/en/images/config_page/config_page2.png
===================================================================
(Binary files differ)
[View Less]
15 years, 11 months
JBoss Tools SVN: r14308 - trunk/smooks/docs/reference/en/images/graph_editor.
by jbosstools-commits@lists.jboss.org
Author: ochikvina
Date: 2009-03-24 10:53:26 -0400 (Tue, 24 Mar 2009)
New Revision: 14308
Added:
trunk/smooks/docs/reference/en/images/graph_editor/graph_editor1a.png
Log:
https://jira.jboss.org/jira/browse/JBDS-630 - adding a new image;
Added: trunk/smooks/docs/reference/en/images/graph_editor/graph_editor1a.png
===================================================================
(Binary files differ)
Property changes on: trunk/smooks/docs/reference/en/images/graph_editor/graph_editor1a.…
[View More]png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
[View Less]
15 years, 11 months
JBoss Tools SVN: r14307 - trunk/smooks/docs/reference/en/images/quick_start.
by jbosstools-commits@lists.jboss.org
Author: ochikvina
Date: 2009-03-24 10:51:41 -0400 (Tue, 24 Mar 2009)
New Revision: 14307
Modified:
trunk/smooks/docs/reference/en/images/quick_start/quick_start4.png
trunk/smooks/docs/reference/en/images/quick_start/quick_start5.png
Log:
https://jira.jboss.org/jira/browse/JBDS-630 - updating the screens;
Modified: trunk/smooks/docs/reference/en/images/quick_start/quick_start4.png
===================================================================
(Binary files differ)
Modified: trunk/…
[View More]smooks/docs/reference/en/images/quick_start/quick_start5.png
===================================================================
(Binary files differ)
[View Less]
15 years, 11 months
JBoss Tools SVN: r14306 - trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2009-03-24 09:04:42 -0400 (Tue, 24 Mar 2009)
New Revision: 14306
Modified:
trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/ComponentsHyperlink.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4074
Modified: trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/ComponentsHyperlink.java
===================================================================
--- trunk/seam/plugins/org.jboss.…
[View More]tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/ComponentsHyperlink.java 2009-03-24 09:21:04 UTC (rev 14305)
+++ trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/ComponentsHyperlink.java 2009-03-24 13:04:42 UTC (rev 14306)
@@ -70,18 +70,26 @@
}
private void doDroolsRuleHyperlink(IRegion region) {
+ IFile file = findDroolsRuleFile();
+ if (file != null)
+ openFileInEditor(file);
+ }
+
+ private IFile findDroolsRuleFile(){
+ IFile file;
+
IProject project = getProject();
IResource[] sources = EclipseResourceUtil.getJavaSourceRoots(project);
for (IResource resource : sources) {
String path = resource.getFullPath().removeFirstSegments(1)
+ hyperlinkText;
- IFile file = project.getFile(path);
- if (file.exists()) {
- openFileInEditor(file);
- return;
- }
+ file = project.getFile(path);
+ if(file != null && file.exists())
+ return file;
}
+
+ return findDefinitionFile();
}
private void doBpmDefinitionHyperlink(IRegion region) {
[View Less]
15 years, 11 months
JBoss Tools SVN: r14305 - trunk/hibernatetools/docs/reference/en/modules.
by jbosstools-commits@lists.jboss.org
Author: ochikvina
Date: 2009-03-24 05:21:04 -0400 (Tue, 24 Mar 2009)
New Revision: 14305
Modified:
trunk/hibernatetools/docs/reference/en/modules/plugins.xml
Log:
https://jira.jboss.org/jira/browse/JBDS-632 - JPA Generate Entities Wizard ui is changed. The "Hibernate support for Dali plugins in Eclipse WTP" chapter is updated.
Modified: trunk/hibernatetools/docs/reference/en/modules/plugins.xml
===================================================================
--- trunk/hibernatetools/…
[View More]docs/reference/en/modules/plugins.xml 2009-03-24 09:19:13 UTC (rev 14304)
+++ trunk/hibernatetools/docs/reference/en/modules/plugins.xml 2009-03-24 09:21:04 UTC (rev 14305)
@@ -12,7 +12,8 @@
<para>Hibernate Eclipse Tools include wizards for creating Hibernate mapping files,
configuration files (.cfg.xml), revenge.xml as well as wizards for adjusting Console
Configuration and Code Generation. Special structured and XML editors, editors for executing
- HQL and Criteria queries are also provided in Hibernate Console. Refer to <link linkend="hibernate_key_features">Key Features</link> section to find all benefits that you
+ HQL and Criteria queries are also provided in Hibernate Console. Refer to <link
+ linkend="hibernate_key_features">Key Features</link> section to find all benefits that you
can take advantage of while using the tools within Eclipse.</para>
<note>
@@ -837,27 +838,24 @@
strategy.</para>
</entry>
</row>
-
+
<row>
<entry>
<para>Detect one-to-one associations</para>
</entry>
-
+
<entry>
- <para>
- Reverse engineering detects one-to-one associations via primary key and both hbm.xml and annotation generation generates the proper code for it.
- </para>
- <para>
- The detection is enabled by default (except for Seam 1.2 and Seam 2.0) reverse engineering.
- For Hibernate Tools generation there is a checkbox to disable if not wanted.
-
- </para>
+ <para> Reverse engineering detects one-to-one associations via primary key and both
+ hbm.xml and annotation generation generates the proper code for it. </para>
+ <para> The detection is enabled by default (except for Seam 1.2 and Seam 2.0)
+ reverse engineering. For Hibernate Tools generation there is a checkbox to disable
+ if not wanted. </para>
</entry>
</row>
-
-
-
+
+
+
<row>
<entry>
<para>Use custom templates</para>
@@ -1239,13 +1237,13 @@
<tip>
<title>Tip:</title>
- <para>If the property is a directory, it is
- possible to browse directories in the Value field.</para>
+ <para>If the property is a directory, it is possible to browse directories in the Value
+ field.</para>
</tip>
-
+
<figure>
<title>Specifying the Property Value</title>
-
+
<mediaobject>
<imageobject>
<imagedata fileref="images/plugins/plugins_8b.png"/>
@@ -1525,7 +1523,8 @@
(including usertypes) if the default rules are not applicable. Here again to see the database
tables press <emphasis>
<property>Refresh</property>
- </emphasis> button underneath. More about type mappings you can find further in the <link linkend="type_map">Type Mappings</link> section.</para>
+ </emphasis> button underneath. More about type mappings you can find further in the <link
+ linkend="type_map">Type Mappings</link> section.</para>
<figure>
<title>Type Mappings Page</title>
@@ -1897,54 +1896,116 @@
support Eclipse Dali integration what now makes it possible to use a Hibernate as a complete
JPA development platform.</para>
- <para>When starting your new JPA project from <emphasis>
- <property>New > Other... > JPA > JPA Project</property>
+ <para>When starting a new JPA project from <emphasis>
+ <property>New > Other > JPA > JPA Project</property>
</emphasis> (or simply <emphasis>
- <property>New > JPA Project</property>
- </emphasis> in <property>JPA Perspective</property>) on the JPA Facet page you'll be
- prompted to choose Hibernate as a target platform.</para>
+ <property>New > JPA Project</property>
+ </emphasis> in <property>JPA Perspective</property>), the first wizard page looks as
+ follows.</para>
<figure>
+ <title>Starting JPA Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/plugins/dali_integration1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>It's possible here to select a target runtime and change the project
+ configuration, or you can leave everything as it is.</para>
+
+ <para>On the JPA Facet page you should choose Hibernate as a target platform. Also select the
+ proper database connection, if it is defined, or add a new one by clicking the <emphasis>
+ <property>Add connection</property>
+ </emphasis> link.</para>
+
+ <para>Hitting <emphasis>
+ <property>Finish</property>
+ </emphasis> will generate the project.</para>
+
+ <figure>
<title>Targeting at Hibernate Platform</title>
<mediaobject>
<imageobject>
- <imagedata fileref="images/plugins/plugins_23.png"/>
+ <imagedata fileref="images/plugins/dali_integration2.png"/>
</imageobject>
</mediaobject>
</figure>
+ <note>
+ <title>Note:</title>
+
+ <para>Please note, if you choose Hibernate as a platform while creating a JPA/Dali project, a
+ Hibernate Console Configuration for the project is created automatically when the
+ wizard finishes its work. It allows a full usage of <property>Hibernate Tools</property>
+ features without additional setup.</para>
+ </note>
+
<para>By enabling Hibernate platform specific features you can now generate DDL and Entities.
For that find <emphasis>
- <property>JPA Tools > Generate DDL.../Generate Entities...</property>
+ <property>JPA Tools > Generate DDL/Generate Entities</property>
</emphasis> options in the context menu of your JPA project.</para>
<figure>
<title>Generate DDL/Entities</title>
<mediaobject>
<imageobject>
- <imagedata fileref="images/plugins/plugins_24.png"/>
+ <imagedata fileref="images/plugins/dali_integration3.png"/>
</imageobject>
</mediaobject>
</figure>
- <para>The Generate DDL/Entities wizards first will ask you to choose the <property>Console
- Configuration</property>.</para>
+ <note>
+ <title>Note:</title>
+ <para>Please, remember to put the proper database driver to the classpath of your
+ project.</para>
+ </note>
+
+ <para>The <property>Generate DDL/Entities wizards</property> first will ask you to choose the directory where all
+ output will be written.</para>
+
<figure>
<title>Generate Entities Wizard</title>
<mediaobject>
<imageobject>
- <imagedata fileref="images/plugins/plugins_25.png"/>
+ <imagedata fileref="images/plugins/dali_integration4.png"/>
</imageobject>
</mediaobject>
</figure>
- <note>
- <title>Note:</title>
+ <para>To generate entities you can use:</para>
- <para>Please note, if you choose Hibernate as a platform and leave the Target Runtime
- with <none>, the wizard does not require you to have a <link linkend="console_conf"
- >Hibernate Console Configuration</link>. A Hibernate Console Configuration is created when the wizard finishes its work.</para>
- </note>
+ <itemizedlist>
+ <listitem>
+ <para>a Hibernate Console Configuration (proposed by default)</para>
+ <para>Just make sure that the <emphasis>
+ <property>Use Console Configuration</property>
+ </emphasis> checkbox is selected and choose a needed configuration from the <emphasis>
+ <property>Console
+ configurations</property></emphasis> list box.</para>
+
+ <figure>
+ <title>Generate Entities Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/plugins/dali_integration5.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ </itemizedlist>
+
+ <itemizedlist>
+ <listitem>
+ <para>or a DTP connection directly</para>
+ <para>Just uncheck <emphasis>
+ <property>Use Console Configuration</property>
+ </emphasis> and adjust database settings.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Thus, you can now have the Hibernate runtime support in Eclipse JPA projects.</para>
</section>
</chapter>
[View Less]
15 years, 11 months
JBoss Tools SVN: r14304 - trunk/hibernatetools/docs/reference/en/images/plugins.
by jbosstools-commits@lists.jboss.org
Author: ochikvina
Date: 2009-03-24 05:19:13 -0400 (Tue, 24 Mar 2009)
New Revision: 14304
Added:
trunk/hibernatetools/docs/reference/en/images/plugins/dali_integration1.png
trunk/hibernatetools/docs/reference/en/images/plugins/dali_integration2.png
trunk/hibernatetools/docs/reference/en/images/plugins/dali_integration3.png
trunk/hibernatetools/docs/reference/en/images/plugins/dali_integration4.png
trunk/hibernatetools/docs/reference/en/images/plugins/dali_integration5.png
Log:
…
[View More]https://jira.jboss.org/jira/browse/JBDS-632 - adding new images;
Added: trunk/hibernatetools/docs/reference/en/images/plugins/dali_integration1.png
===================================================================
(Binary files differ)
Property changes on: trunk/hibernatetools/docs/reference/en/images/plugins/dali_integration1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/hibernatetools/docs/reference/en/images/plugins/dali_integration2.png
===================================================================
(Binary files differ)
Property changes on: trunk/hibernatetools/docs/reference/en/images/plugins/dali_integration2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/hibernatetools/docs/reference/en/images/plugins/dali_integration3.png
===================================================================
(Binary files differ)
Property changes on: trunk/hibernatetools/docs/reference/en/images/plugins/dali_integration3.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/hibernatetools/docs/reference/en/images/plugins/dali_integration4.png
===================================================================
(Binary files differ)
Property changes on: trunk/hibernatetools/docs/reference/en/images/plugins/dali_integration4.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/hibernatetools/docs/reference/en/images/plugins/dali_integration5.png
===================================================================
(Binary files differ)
Property changes on: trunk/hibernatetools/docs/reference/en/images/plugins/dali_integration5.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
[View Less]
15 years, 11 months
JBoss Tools SVN: r14303 - trunk/hibernatetools/docs/reference/en/images/plugins.
by jbosstools-commits@lists.jboss.org
Author: ochikvina
Date: 2009-03-24 05:17:52 -0400 (Tue, 24 Mar 2009)
New Revision: 14303
Removed:
trunk/hibernatetools/docs/reference/en/images/plugins/plugins_23.png
trunk/hibernatetools/docs/reference/en/images/plugins/plugins_24.png
trunk/hibernatetools/docs/reference/en/images/plugins/plugins_25.png
Log:
https://jira.jboss.org/jira/browse/JBDS-632 - deleting unnecessary images;
Deleted: trunk/hibernatetools/docs/reference/en/images/plugins/plugins_23.png
==========================…
[View More]=========================================
(Binary files differ)
Deleted: trunk/hibernatetools/docs/reference/en/images/plugins/plugins_24.png
===================================================================
(Binary files differ)
Deleted: trunk/hibernatetools/docs/reference/en/images/plugins/plugins_25.png
===================================================================
(Binary files differ)
[View Less]
15 years, 11 months
JBoss Tools SVN: r14302 - in workspace/dart/plugins/org.jboss.tools.smooks.gef: .settings and 17 other directories.
by jbosstools-commits@lists.jboss.org
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-…
[View More]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(a)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(a)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(a)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(a)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(a)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
[View Less]
15 years, 11 months