Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Schindl2011-03-10 22:06:50 +0000
committerThomas Schindl2011-03-10 22:06:50 +0000
commitd1fdd6728a10a2c5e4db7f8254a82db1db49c6c1 (patch)
treeb60b3627af7f02577c4ece147f2cccb756e98b82
parent36a91f6979dcdb8a124d24b0d9b2ba227bf7807f (diff)
downloadorg.eclipse.e4.tools-d1fdd6728a10a2c5e4db7f8254a82db1db49c6c1.tar.gz
org.eclipse.e4.tools-d1fdd6728a10a2c5e4db7f8254a82db1db49c6c1.tar.xz
org.eclipse.e4.tools-d1fdd6728a10a2c5e4db7f8254a82db1db49c6c1.zip
Bug 339598 - [ModelTooling] Add UI-Widget-Tree inspector
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/META-INF/MANIFEST.MF3
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/OSGI-INF/resources.properties26
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/button_obj.gifbin0 -> 344 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/ccombo_obj.gifbin0 -> 634 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/checkbox_obj.gifbin0 -> 343 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/clabel_obj.gifbin0 -> 341 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/comboviewer_obj.gifbin0 -> 946 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/composite_obj.gifbin0 -> 377 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/coolbar_obj.gifbin0 -> 613 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/ctabfolder_obj.gifbin0 -> 367 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/group_obj.gifbin0 -> 398 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/label_obj.gifbin0 -> 582 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/progressbar_obj.gifbin0 -> 327 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/radiobutton_obj.gifbin0 -> 166 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/sashform_obj.gifbin0 -> 378 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/separator_obj.gifbin0 -> 868 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/shell_obj.gifbin0 -> 358 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/tabfolder_obj.gifbin0 -> 607 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/table_obj.gifbin0 -> 573 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/text_obj.gifbin0 -> 343 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolbar_obj.gifbin0 -> 607 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolitemcheck_obj.gifbin0 -> 354 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolitemdrop_obj.gifbin0 -> 607 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolitempush_obj.gifbin0 -> 216 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolitemradio_obj.gifbin0 -> 563 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolitemseparator_obj.gifbin0 -> 608 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/tree_obj.gifbin0 -> 372 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/Messages.java3
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/Messages.properties3
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/ResourceProvider.java26
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/AddonsEditor.java2
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ApplicationEditor.java26
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/AreaEditor.java18
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/DirectMenuItemEditor.java2
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/DirectToolItemEditor.java2
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/HandlerEditor.java2
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/MenuEditor.java18
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/MenuItemEditor.java19
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/MenuSeparatorEditor.java27
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PartEditor.java15
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PartSashContainerEditor.java24
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PartStackEditor.java24
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PerspectiveEditor.java18
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PerspectiveStackEditor.java24
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PlaceholderEditor.java25
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ToolBarContributionEditor.java24
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ToolBarSeparatorEditor.java26
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ToolControlEditor.java22
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ToolItemEditor.java19
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/TrimBarEditor.java24
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/TrimContributionEditor.java24
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/WindowEditor.java18
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/uistructure/UIViewer.java72
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/uistructure/WidgetContentProvider.java113
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/uistructure/WidgetLabelProvider.java165
55 files changed, 803 insertions, 11 deletions
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.e4.tools.emf.ui/META-INF/MANIFEST.MF
index 8af951f2..92554df3 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.e4.tools.emf.ui/META-INF/MANIFEST.MF
@@ -29,7 +29,8 @@ Require-Bundle: org.eclipse.core.databinding;bundle-version="1.3.0",
javax.annotation;bundle-version="1.0.0",
org.eclipse.e4.tools.services;bundle-version="1.0.0",
org.eclipse.e4.core.di.extensions;bundle-version="0.9.0",
- org.eclipse.jface.text;bundle-version="3.7.0"
+ org.eclipse.jface.text;bundle-version="3.7.0",
+ org.eclipse.e4.ui.widgets;bundle-version="1.0.0"
Bundle-ActivationPolicy: lazy
Import-Package: javax.inject;version="1.0.0",
org.eclipse.core.runtime.jobs,
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/OSGI-INF/resources.properties b/bundles/org.eclipse.e4.tools.emf.ui/OSGI-INF/resources.properties
index 4ad8645f..43901a3a 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/OSGI-INF/resources.properties
+++ b/bundles/org.eclipse.e4.tools.emf.ui/OSGI-INF/resources.properties
@@ -98,6 +98,32 @@ IMG_org.eclipse.e4.tools.emf.ui.wizban.newexp_wiz=/icons/full/wizban/newexp_wiz.
IMG_org.eclipse.e4.tools.emf.ui.wizban.typerefact_wiz=/icons/full/wizban/typerefact_wiz.png
IMG_org.eclipse.e4.tools.emf.ui.wizban.extstr_wiz=/icons/full/wizban/extstr_wiz.png
+IMG_org.eclipse.e4.tools.emf.ui.widgets.ctabfolder_obj = /icons/full/widgets/ctabfolder_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.tabfolder_obj = /icons/full/widgets/tabfolder_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.shell_obj = /icons/full/widgets/shell_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.group_obj = /icons/full/widgets/group_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.ccombo_obj = /icons/full/widgets/ccombo_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.comboviewer_obj = /icons/full/widgets/comboviewer_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.table_obj = /icons/full/widgets/table_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.tree_obj = /icons/full/widgets/tree_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.sashform_obj = /icons/full/widgets/sashform_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.text_obj = /icons/full/widgets/text_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.label_obj = /icons/full/widgets/label_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.button_obj = /icons/full/widgets/button_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.composite_obj = /icons/full/widgets/composite_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.progressbar_obj = /icons/full/widgets/progressbar_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.separator_obj = /icons/full/widgets/separator_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.clabel_obj = /icons/full/widgets/clabel_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.coolbar_obj = /icons/full/widgets/coolbar_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.toolbar_obj = /icons/full/widgets/toolbar_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.toolitemcheck_obj = /icons/full/widgets/toolitemcheck_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.toolitemdrop_obj = /icons/full/widgets/toolitemdrop_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.toolitempush_obj = /icons/full/widgets/toolitempush_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.toolitemradio_obj = /icons/full/widgets/toolitemradio_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.toolitemseparator_obj = /icons/full/widgets/toolitemseparator_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.checkbox_obj = /icons/full/widgets/checkbox_obj.gif
+IMG_org.eclipse.e4.tools.emf.ui.widgets.group_obj = /icons/full/widgets/group_obj.gif
+
COLOR_org.eclipse.e4.tools.emf.ui.XML_COMMENT=rgb(128, 0, 0)
COLOR_org.eclipse.e4.tools.emf.ui.PROC_INSTR=rgb(128, 128, 128)
COLOR_org.eclipse.e4.tools.emf.ui.STRING=rgb(0, 128, 0)
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/button_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/button_obj.gif
new file mode 100644
index 00000000..d143fcf6
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/button_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/ccombo_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/ccombo_obj.gif
new file mode 100644
index 00000000..6bd017e8
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/ccombo_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/checkbox_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/checkbox_obj.gif
new file mode 100644
index 00000000..9cacb96d
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/checkbox_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/clabel_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/clabel_obj.gif
new file mode 100644
index 00000000..8588b69e
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/clabel_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/comboviewer_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/comboviewer_obj.gif
new file mode 100644
index 00000000..9ac63fc1
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/comboviewer_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/composite_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/composite_obj.gif
new file mode 100644
index 00000000..3e53cbdc
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/composite_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/coolbar_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/coolbar_obj.gif
new file mode 100644
index 00000000..d71af7a6
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/coolbar_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/ctabfolder_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/ctabfolder_obj.gif
new file mode 100644
index 00000000..7a93c669
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/ctabfolder_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/group_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/group_obj.gif
new file mode 100644
index 00000000..d91ebdf8
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/group_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/label_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/label_obj.gif
new file mode 100644
index 00000000..cf00ad26
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/label_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/progressbar_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/progressbar_obj.gif
new file mode 100644
index 00000000..af41a172
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/progressbar_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/radiobutton_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/radiobutton_obj.gif
new file mode 100644
index 00000000..3901d055
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/radiobutton_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/sashform_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/sashform_obj.gif
new file mode 100644
index 00000000..bbbdd559
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/sashform_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/separator_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/separator_obj.gif
new file mode 100644
index 00000000..579587dc
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/separator_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/shell_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/shell_obj.gif
new file mode 100644
index 00000000..37aad784
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/shell_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/tabfolder_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/tabfolder_obj.gif
new file mode 100644
index 00000000..edd6060d
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/tabfolder_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/table_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/table_obj.gif
new file mode 100644
index 00000000..b99b45ca
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/table_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/text_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/text_obj.gif
new file mode 100644
index 00000000..cf20952b
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/text_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolbar_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolbar_obj.gif
new file mode 100644
index 00000000..64173281
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolbar_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolitemcheck_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolitemcheck_obj.gif
new file mode 100644
index 00000000..9421f563
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolitemcheck_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolitemdrop_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolitemdrop_obj.gif
new file mode 100644
index 00000000..c03f91d8
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolitemdrop_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolitempush_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolitempush_obj.gif
new file mode 100644
index 00000000..619f79d6
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolitempush_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolitemradio_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolitemradio_obj.gif
new file mode 100644
index 00000000..3cf12264
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolitemradio_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolitemseparator_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolitemseparator_obj.gif
new file mode 100644
index 00000000..81d54f31
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/toolitemseparator_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/tree_obj.gif b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/tree_obj.gif
new file mode 100644
index 00000000..82b3bed1
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/icons/full/widgets/tree_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/Messages.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/Messages.java
index 475fb90b..97ca0695 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/Messages.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/Messages.java
@@ -23,7 +23,8 @@ public class Messages {
public String ModelTooling_Common_TabDefault;
public String ModelTooling_Common_TabSupplementary;
public String ModelEditor_AddChild;
- public String ModelTooling_Common_TabRuntime;
+ public String ModelTooling_Common_RuntimeContributionInstance;
+ public String ModelTooling_Common_RuntimeWidgetTree;
public String ModelTooling_UIElement_ToBeRendered;
public String ModelTooling_UIElement_Visible;
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/Messages.properties b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/Messages.properties
index b45be4ff..d5170110 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/Messages.properties
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/Messages.properties
@@ -19,7 +19,8 @@ ModelTooling_Common_FindEllipsis=Find ...
ModelTooling_Common_TabDefault=Default
ModelTooling_Common_TabSupplementary=Supplementary
ModelEditor_AddChild=Add child
-ModelTooling_Common_TabRuntime=Runtime
+ModelTooling_Common_RuntimeContributionInstance=Contrib. Instance
+ModelTooling_Common_RuntimeWidgetTree=Widget Tree
ModelTooling_UIElement_ToBeRendered=To Be Rendered
ModelTooling_UIElement_Visible=Visible
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/ResourceProvider.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/ResourceProvider.java
index e0d49035..fd80845d 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/ResourceProvider.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/ResourceProvider.java
@@ -103,6 +103,32 @@ public class ResourceProvider extends BasicResourceProvider {
public static final String IMG_Wizban16_typerefact_wiz = "IMG_org.eclipse.e4.tools.emf.ui.wizban.typerefact_wiz"; //$NON-NLS-1$
public static final String IMG_Wizban16_extstr_wiz = "IMG_org.eclipse.e4.tools.emf.ui.wizban.extstr_wiz"; //$NON-NLS-1$
+ public static final String IMG_Widgets_ctabfolder_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.ctabfolder_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_tabfolder_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.tabfolder_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_shell_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.shell_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_group_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.group_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_ccombo_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.ccombo_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_comboviewer_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.comboviewer_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_table_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.table_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_tree_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.tree_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_sashform_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.sashform_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_text_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.text_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_label_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.label_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_button_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.button_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_composite_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.composite_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_progressbar_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.progressbar_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_separator_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.separator_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_clabel_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.clabel_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_coolbar_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.coolbar_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_toolbar_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.toolbar_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_toolitemcheck_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.toolitemcheck_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_toolitemdrop_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.toolitemdrop_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_toolitempush_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.toolitempush_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_toolitemradio_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.toolitemradio_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_toolitemseparator_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.toolitemseparator_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_checkbox_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.checkbox_obj"; //$NON-NLS-1$
+ public static final String IMG_Widgets_radiobutton_obj = "IMG_org.eclipse.e4.tools.emf.ui.widgets.radiobutton_obj"; //$NON-NLS-1$
+
public static final String COLOR_XML_COMMENT = "COLOR_org.eclipse.e4.tools.emf.ui.XML_COMMENT"; //$NON-NLS-1$
public static final String COLOR_PROC_INSTR = "COLOR_org.eclipse.e4.tools.emf.ui.PROC_INSTR"; //$NON-NLS-1$
public static final String COLOR_STRING = "COLOR_org.eclipse.e4.tools.emf.ui.STRING"; //$NON-NLS-1$
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/AddonsEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/AddonsEditor.java
index fe964e6d..8b934ef3 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/AddonsEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/AddonsEditor.java
@@ -202,7 +202,7 @@ public class AddonsEditor extends AbstractComponentEditor {
private void createInstanceInspection(CTabFolder folder) {
CTabItem item = new CTabItem(folder, SWT.NONE);
- item.setText(Messages.ModelTooling_Common_TabRuntime);
+ item.setText(Messages.ModelTooling_Common_RuntimeContributionInstance);
Composite container = new Composite(folder, SWT.NONE);
container.setLayout(new GridLayout());
item.setControl(container);
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ApplicationEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ApplicationEditor.java
index e2abbe9d..f926d05c 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ApplicationEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ApplicationEditor.java
@@ -14,10 +14,13 @@ import javax.inject.Inject;
import org.eclipse.core.databinding.observable.list.IObservableList;
import org.eclipse.core.databinding.observable.list.WritableList;
import org.eclipse.core.databinding.property.list.IListProperty;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.e4.core.di.annotations.Optional;
import org.eclipse.e4.tools.emf.ui.common.component.AbstractComponentEditor;
import org.eclipse.e4.tools.emf.ui.internal.ResourceProvider;
import org.eclipse.e4.tools.emf.ui.internal.common.ModelEditor;
import org.eclipse.e4.tools.emf.ui.internal.common.VirtualEntry;
+import org.eclipse.e4.tools.emf.ui.internal.common.uistructure.UIViewer;
import org.eclipse.e4.ui.model.application.commands.impl.CommandsPackageImpl;
import org.eclipse.e4.ui.model.application.descriptor.basic.impl.BasicPackageImpl;
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
@@ -30,10 +33,13 @@ import org.eclipse.emf.databinding.FeaturePath;
import org.eclipse.emf.databinding.edit.EMFEditProperties;
import org.eclipse.jface.databinding.swt.IWidgetValueProperty;
import org.eclipse.jface.databinding.swt.WidgetProperties;
+import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
@@ -56,6 +62,10 @@ public class ApplicationEditor extends AbstractComponentEditor {
private IListProperty BINDING_TABLE_CONTAINER__ROOT_CONTEXT = EMFProperties.list(CommandsPackageImpl.Literals.BINDING_TABLE_CONTAINER__ROOT_CONTEXT);
@Inject
+ @Optional
+ private IProject project;
+
+ @Inject
public ApplicationEditor() {
super();
}
@@ -125,11 +135,27 @@ public class ApplicationEditor extends AbstractComponentEditor {
ControlFactory.createStringListWidget(parent, Messages, this, Messages.ModelTooling_Context_Variables, UiPackageImpl.Literals.CONTEXT__VARIABLES, VERTICAL_LIST_WIDGET_INDENT);
ControlFactory.createStringListWidget(parent, Messages, this, Messages.AddonsEditor_Tags, ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__TAGS, VERTICAL_LIST_WIDGET_INDENT);
+ if (project == null) {
+ createUITreeInspection(folder);
+ }
+
folder.setSelection(0);
return folder;
}
+ private void createUITreeInspection(CTabFolder folder) {
+ CTabItem item = new CTabItem(folder, SWT.NONE);
+ item.setText(Messages.ModelTooling_Common_RuntimeWidgetTree);
+ Composite container = new Composite(folder, SWT.NONE);
+ container.setLayout(new GridLayout());
+ item.setControl(container);
+
+ UIViewer objectViewer = new UIViewer();
+ TreeViewer viewer = objectViewer.createViewer(container, UiPackageImpl.Literals.UI_ELEMENT__WIDGET, getMaster(), resourcePool, Messages);
+ viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
+ }
+
@Override
public IObservableList getChildList(final Object element) {
final WritableList list = new WritableList();
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/AreaEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/AreaEditor.java
index 146e20a6..0e1f878f 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/AreaEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/AreaEditor.java
@@ -27,6 +27,7 @@ import org.eclipse.e4.tools.emf.ui.internal.ResourceProvider;
import org.eclipse.e4.tools.emf.ui.internal.common.ComponentLabelProvider;
import org.eclipse.e4.tools.emf.ui.internal.common.component.ControlFactory.TextPasteHandler;
import org.eclipse.e4.tools.emf.ui.internal.common.component.dialogs.AreaIconDialogEditor;
+import org.eclipse.e4.tools.emf.ui.internal.common.uistructure.UIViewer;
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
@@ -60,6 +61,7 @@ import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
@@ -416,11 +418,27 @@ public class AreaEditor extends AbstractComponentEditor {
ControlFactory.createTextField(parent, Messages.ModelTooling_UIElement_AccessibilityPhrase, getMaster(), context, textProp, EMFEditProperties.value(getEditingDomain(), UiPackageImpl.Literals.UI_ELEMENT__ACCESSIBILITY_PHRASE));
ControlFactory.createStringListWidget(parent, Messages, this, Messages.ModelTooling_ApplicationElement_Tags, ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__TAGS, VERTICAL_LIST_WIDGET_INDENT);
+ if (project == null) {
+ createUITreeInspection(folder);
+ }
+
folder.setSelection(0);
return folder;
}
+ private void createUITreeInspection(CTabFolder folder) {
+ CTabItem item = new CTabItem(folder, SWT.NONE);
+ item.setText(Messages.ModelTooling_Common_RuntimeWidgetTree);
+ Composite container = new Composite(folder, SWT.NONE);
+ container.setLayout(new GridLayout());
+ item.setControl(container);
+
+ UIViewer objectViewer = new UIViewer();
+ TreeViewer viewer = objectViewer.createViewer(container, UiPackageImpl.Literals.UI_ELEMENT__WIDGET, getMaster(), resourcePool, Messages);
+ viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
+ }
+
protected void handleAddChild(EClass eClass) {
EObject eObject = EcoreUtil.create(eClass);
setElementId(eObject);
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/DirectMenuItemEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/DirectMenuItemEditor.java
index f452e920..9cb85eef 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/DirectMenuItemEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/DirectMenuItemEditor.java
@@ -88,7 +88,7 @@ public class DirectMenuItemEditor extends MenuItemEditor {
private void createInstanceInspection(CTabFolder folder) {
CTabItem item = new CTabItem(folder, SWT.NONE);
- item.setText(Messages.ModelTooling_Common_TabRuntime);
+ item.setText(Messages.ModelTooling_Common_RuntimeContributionInstance);
Composite container = new Composite(folder, SWT.NONE);
container.setLayout(new GridLayout());
item.setControl(container);
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/DirectToolItemEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/DirectToolItemEditor.java
index 13b8741b..c22e08eb 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/DirectToolItemEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/DirectToolItemEditor.java
@@ -127,7 +127,7 @@ public class DirectToolItemEditor extends ToolItemEditor {
private void createInstanceInspection(CTabFolder folder) {
CTabItem item = new CTabItem(folder, SWT.NONE);
- item.setText(Messages.ModelTooling_Common_TabRuntime);
+ item.setText(Messages.ModelTooling_Common_RuntimeContributionInstance);
Composite container = new Composite(folder, SWT.NONE);
container.setLayout(new GridLayout());
item.setControl(container);
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/HandlerEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/HandlerEditor.java
index 558024b3..53a58181 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/HandlerEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/HandlerEditor.java
@@ -224,7 +224,7 @@ public class HandlerEditor extends AbstractComponentEditor {
private void createInstanceInspection(CTabFolder folder) {
CTabItem item = new CTabItem(folder, SWT.NONE);
- item.setText(Messages.ModelTooling_Common_TabRuntime);
+ item.setText(Messages.ModelTooling_Common_RuntimeContributionInstance);
Composite container = new Composite(folder, SWT.NONE);
container.setLayout(new GridLayout());
item.setControl(container);
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/MenuEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/MenuEditor.java
index 3245d567..8aadbcad 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/MenuEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/MenuEditor.java
@@ -36,6 +36,7 @@ import org.eclipse.e4.tools.emf.ui.internal.common.component.ControlFactory.Text
import org.eclipse.e4.tools.emf.ui.internal.common.component.MenuItemEditor.EClass2EObject;
import org.eclipse.e4.tools.emf.ui.internal.common.component.MenuItemEditor.EObject2EClass;
import org.eclipse.e4.tools.emf.ui.internal.common.component.dialogs.MenuIconDialogEditor;
+import org.eclipse.e4.tools.emf.ui.internal.common.uistructure.UIViewer;
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
import org.eclipse.e4.ui.model.application.ui.MExpression;
@@ -72,6 +73,7 @@ import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
@@ -440,11 +442,27 @@ public class MenuEditor extends AbstractComponentEditor {
ControlFactory.createTextField(parent, Messages.ModelTooling_UIElement_AccessibilityPhrase, getMaster(), context, textProp, EMFEditProperties.value(getEditingDomain(), UiPackageImpl.Literals.UI_ELEMENT__ACCESSIBILITY_PHRASE));
ControlFactory.createStringListWidget(parent, Messages, this, Messages.CategoryEditor_Tags, ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__TAGS, VERTICAL_LIST_WIDGET_INDENT);
+ if (project == null) {
+ createUITreeInspection(folder);
+ }
+
folder.setSelection(0);
return folder;
}
+ private void createUITreeInspection(CTabFolder folder) {
+ CTabItem item = new CTabItem(folder, SWT.NONE);
+ item.setText(Messages.ModelTooling_Common_RuntimeWidgetTree);
+ Composite container = new Composite(folder, SWT.NONE);
+ container.setLayout(new GridLayout());
+ item.setControl(container);
+
+ UIViewer objectViewer = new UIViewer();
+ TreeViewer viewer = objectViewer.createViewer(container, UiPackageImpl.Literals.UI_ELEMENT__WIDGET, getMaster(), resourcePool, Messages);
+ viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
+ }
+
@Override
public IObservableList getChildList(Object element) {
final WritableList list = new WritableList();
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/MenuItemEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/MenuItemEditor.java
index 3561de7c..5b1542ff 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/MenuItemEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/MenuItemEditor.java
@@ -29,6 +29,7 @@ import org.eclipse.e4.tools.emf.ui.internal.Messages;
import org.eclipse.e4.tools.emf.ui.internal.ResourceProvider;
import org.eclipse.e4.tools.emf.ui.internal.common.component.ControlFactory.TextPasteHandler;
import org.eclipse.e4.tools.emf.ui.internal.common.component.dialogs.MenuItemIconDialogEditor;
+import org.eclipse.e4.tools.emf.ui.internal.common.uistructure.UIViewer;
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
import org.eclipse.e4.ui.model.application.ui.MUILabel;
@@ -53,6 +54,7 @@ import org.eclipse.jface.databinding.viewers.ViewerProperties;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.ComboViewer;
import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
@@ -60,6 +62,7 @@ import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
@@ -307,6 +310,10 @@ public abstract class MenuItemEditor extends AbstractComponentEditor {
ControlFactory.createStringListWidget(parent, Messages, this, Messages.CategoryEditor_Tags, ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__TAGS, VERTICAL_LIST_WIDGET_INDENT);
+ if (project == null) {
+ createUITreeInspection(folder);
+ }
+
folder.setSelection(0);
return folder;
@@ -314,6 +321,18 @@ public abstract class MenuItemEditor extends AbstractComponentEditor {
protected abstract void createFormSubTypeForm(Composite parent, EMFDataBindingContext context, WritableValue master);
+ private void createUITreeInspection(CTabFolder folder) {
+ CTabItem item = new CTabItem(folder, SWT.NONE);
+ item.setText(Messages.ModelTooling_Common_RuntimeWidgetTree);
+ Composite container = new Composite(folder, SWT.NONE);
+ container.setLayout(new GridLayout());
+ item.setControl(container);
+
+ UIViewer objectViewer = new UIViewer();
+ TreeViewer viewer = objectViewer.createViewer(container, UiPackageImpl.Literals.UI_ELEMENT__WIDGET, getMaster(), resourcePool, Messages);
+ viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
+ }
+
@Override
public IObservableList getChildList(Object element) {
return null;
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/MenuSeparatorEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/MenuSeparatorEditor.java
index 19368822..1fa6af05 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/MenuSeparatorEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/MenuSeparatorEditor.java
@@ -13,10 +13,13 @@ package org.eclipse.e4.tools.emf.ui.internal.common.component;
import javax.inject.Inject;
import org.eclipse.core.databinding.observable.list.IObservableList;
import org.eclipse.core.databinding.observable.value.WritableValue;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.e4.core.di.annotations.Optional;
import org.eclipse.e4.tools.emf.ui.common.EStackLayout;
import org.eclipse.e4.tools.emf.ui.common.Util;
import org.eclipse.e4.tools.emf.ui.common.component.AbstractComponentEditor;
import org.eclipse.e4.tools.emf.ui.internal.ResourceProvider;
+import org.eclipse.e4.tools.emf.ui.internal.common.uistructure.UIViewer;
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
import org.eclipse.e4.ui.model.application.ui.impl.UiPackageImpl;
import org.eclipse.emf.databinding.EMFDataBindingContext;
@@ -24,10 +27,13 @@ import org.eclipse.emf.databinding.edit.EMFEditProperties;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.jface.databinding.swt.IWidgetValueProperty;
import org.eclipse.jface.databinding.swt.WidgetProperties;
+import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
@@ -38,6 +44,10 @@ public class MenuSeparatorEditor extends AbstractComponentEditor {
private EStackLayout stackLayout;
@Inject
+ @Optional
+ private IProject project;
+
+ @Inject
public MenuSeparatorEditor() {
super();
}
@@ -128,14 +138,29 @@ public class MenuSeparatorEditor extends AbstractComponentEditor {
ControlFactory.createStringListWidget(parent, Messages, this, Messages.CategoryEditor_Tags, ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__TAGS, VERTICAL_LIST_WIDGET_INDENT);
+ if (project == null) {
+ createUITreeInspection(folder);
+ }
+
folder.setSelection(0);
return folder;
}
+ private void createUITreeInspection(CTabFolder folder) {
+ CTabItem item = new CTabItem(folder, SWT.NONE);
+ item.setText(Messages.ModelTooling_Common_RuntimeWidgetTree);
+ Composite container = new Composite(folder, SWT.NONE);
+ container.setLayout(new GridLayout());
+ item.setControl(container);
+
+ UIViewer objectViewer = new UIViewer();
+ TreeViewer viewer = objectViewer.createViewer(container, UiPackageImpl.Literals.UI_ELEMENT__WIDGET, getMaster(), resourcePool, Messages);
+ viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
+ }
+
@Override
public IObservableList getChildList(Object element) {
- // TODO Auto-generated method stub
return null;
}
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PartEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PartEditor.java
index 1939c2f4..1fe518a5 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PartEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PartEditor.java
@@ -35,6 +35,7 @@ import org.eclipse.e4.tools.emf.ui.internal.common.component.ControlFactory.Text
import org.eclipse.e4.tools.emf.ui.internal.common.component.dialogs.ContributionClassDialog;
import org.eclipse.e4.tools.emf.ui.internal.common.component.dialogs.PartIconDialogEditor;
import org.eclipse.e4.tools.emf.ui.internal.common.objectdata.ObjectViewer;
+import org.eclipse.e4.tools.emf.ui.internal.common.uistructure.UIViewer;
import org.eclipse.e4.ui.model.application.MContribution;
import org.eclipse.e4.ui.model.application.commands.impl.CommandsPackageImpl;
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
@@ -299,6 +300,7 @@ public class PartEditor extends AbstractComponentEditor {
if (project == null) {
createInstanceInspection(folder);
+ createUITreeInspection(folder);
}
folder.setSelection(0);
@@ -308,7 +310,7 @@ public class PartEditor extends AbstractComponentEditor {
private void createInstanceInspection(CTabFolder folder) {
CTabItem item = new CTabItem(folder, SWT.NONE);
- item.setText(Messages.ModelTooling_Common_TabRuntime);
+ item.setText(Messages.ModelTooling_Common_RuntimeContributionInstance);
Composite container = new Composite(folder, SWT.NONE);
container.setLayout(new GridLayout());
item.setControl(container);
@@ -316,7 +318,18 @@ public class PartEditor extends AbstractComponentEditor {
ObjectViewer objectViewer = new ObjectViewer();
TreeViewer viewer = objectViewer.createViewer(container, ApplicationPackageImpl.Literals.CONTRIBUTION__OBJECT, getMaster(), resourcePool, Messages);
viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
+ }
+ private void createUITreeInspection(CTabFolder folder) {
+ CTabItem item = new CTabItem(folder, SWT.NONE);
+ item.setText(Messages.ModelTooling_Common_RuntimeWidgetTree);
+ Composite container = new Composite(folder, SWT.NONE);
+ container.setLayout(new GridLayout());
+ item.setControl(container);
+
+ UIViewer objectViewer = new UIViewer();
+ TreeViewer viewer = objectViewer.createViewer(container, UiPackageImpl.Literals.UI_ELEMENT__WIDGET, getMaster(), resourcePool, Messages);
+ viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
}
private void addToolBar() {
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PartSashContainerEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PartSashContainerEditor.java
index c8fe39bd..71ed4788 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PartSashContainerEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PartSashContainerEditor.java
@@ -17,11 +17,14 @@ import javax.inject.Inject;
import org.eclipse.core.databinding.observable.list.IObservableList;
import org.eclipse.core.databinding.observable.value.WritableValue;
import org.eclipse.core.databinding.property.list.IListProperty;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.e4.core.di.annotations.Optional;
import org.eclipse.e4.tools.emf.ui.common.EStackLayout;
import org.eclipse.e4.tools.emf.ui.common.Util;
import org.eclipse.e4.tools.emf.ui.common.component.AbstractComponentEditor;
import org.eclipse.e4.tools.emf.ui.internal.ResourceProvider;
import org.eclipse.e4.tools.emf.ui.internal.common.ComponentLabelProvider;
+import org.eclipse.e4.tools.emf.ui.internal.common.uistructure.UIViewer;
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
@@ -52,6 +55,7 @@ import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
@@ -76,6 +80,10 @@ public class PartSashContainerEditor extends AbstractComponentEditor {
private List<Action> actions = new ArrayList<Action>();
@Inject
+ @Optional
+ private IProject project;
+
+ @Inject
public PartSashContainerEditor() {
super();
}
@@ -363,11 +371,27 @@ public class PartSashContainerEditor extends AbstractComponentEditor {
ControlFactory.createStringListWidget(parent, Messages, this, Messages.CategoryEditor_Tags, ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__TAGS, VERTICAL_LIST_WIDGET_INDENT);
+ if (project == null) {
+ createUITreeInspection(folder);
+ }
+
folder.setSelection(0);
return folder;
}
+ private void createUITreeInspection(CTabFolder folder) {
+ CTabItem item = new CTabItem(folder, SWT.NONE);
+ item.setText(Messages.ModelTooling_Common_RuntimeWidgetTree);
+ Composite container = new Composite(folder, SWT.NONE);
+ container.setLayout(new GridLayout());
+ item.setControl(container);
+
+ UIViewer objectViewer = new UIViewer();
+ TreeViewer viewer = objectViewer.createViewer(container, UiPackageImpl.Literals.UI_ELEMENT__WIDGET, getMaster(), resourcePool, Messages);
+ viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
+ }
+
@Override
public IObservableList getChildList(Object element) {
return ELEMENT_CONTAINER__CHILDREN.observe(element);
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PartStackEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PartStackEditor.java
index 7b018a32..b46d5432 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PartStackEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PartStackEditor.java
@@ -17,11 +17,14 @@ import javax.inject.Inject;
import org.eclipse.core.databinding.observable.list.IObservableList;
import org.eclipse.core.databinding.observable.value.WritableValue;
import org.eclipse.core.databinding.property.list.IListProperty;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.e4.core.di.annotations.Optional;
import org.eclipse.e4.tools.emf.ui.common.EStackLayout;
import org.eclipse.e4.tools.emf.ui.common.Util;
import org.eclipse.e4.tools.emf.ui.common.component.AbstractComponentEditor;
import org.eclipse.e4.tools.emf.ui.internal.ResourceProvider;
import org.eclipse.e4.tools.emf.ui.internal.common.ComponentLabelProvider;
+import org.eclipse.e4.tools.emf.ui.internal.common.uistructure.UIViewer;
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
@@ -49,6 +52,7 @@ import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
@@ -74,6 +78,10 @@ public class PartStackEditor extends AbstractComponentEditor {
private List<Action> actions = new ArrayList<Action>();
@Inject
+ @Optional
+ private IProject project;
+
+ @Inject
public PartStackEditor() {
super();
}
@@ -307,11 +315,27 @@ public class PartStackEditor extends AbstractComponentEditor {
ControlFactory.createStringListWidget(parent, Messages, this, Messages.CategoryEditor_Tags, ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__TAGS, VERTICAL_LIST_WIDGET_INDENT);
+ if (project == null) {
+ createUITreeInspection(folder);
+ }
+
folder.setSelection(0);
return folder;
}
+ private void createUITreeInspection(CTabFolder folder) {
+ CTabItem item = new CTabItem(folder, SWT.NONE);
+ item.setText(Messages.ModelTooling_Common_RuntimeWidgetTree);
+ Composite container = new Composite(folder, SWT.NONE);
+ container.setLayout(new GridLayout());
+ item.setControl(container);
+
+ UIViewer objectViewer = new UIViewer();
+ TreeViewer viewer = objectViewer.createViewer(container, UiPackageImpl.Literals.UI_ELEMENT__WIDGET, getMaster(), resourcePool, Messages);
+ viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
+ }
+
@Override
public IObservableList getChildList(Object element) {
return ELEMENT_CONTAINER__CHILDREN.observe(element);
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PerspectiveEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PerspectiveEditor.java
index 51bf7556..c5f8bc06 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PerspectiveEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PerspectiveEditor.java
@@ -27,6 +27,7 @@ import org.eclipse.e4.tools.emf.ui.internal.ResourceProvider;
import org.eclipse.e4.tools.emf.ui.internal.common.ComponentLabelProvider;
import org.eclipse.e4.tools.emf.ui.internal.common.component.ControlFactory.TextPasteHandler;
import org.eclipse.e4.tools.emf.ui.internal.common.component.dialogs.PerspectiveIconDialogEditor;
+import org.eclipse.e4.tools.emf.ui.internal.common.uistructure.UIViewer;
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
@@ -57,6 +58,7 @@ import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
@@ -388,11 +390,27 @@ public class PerspectiveEditor extends AbstractComponentEditor {
ControlFactory.createStringListWidget(parent, Messages, this, Messages.CategoryEditor_Tags, ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__TAGS, VERTICAL_LIST_WIDGET_INDENT);
+ if (project == null) {
+ createUITreeInspection(folder);
+ }
+
folder.setSelection(0);
return folder;
}
+ private void createUITreeInspection(CTabFolder folder) {
+ CTabItem item = new CTabItem(folder, SWT.NONE);
+ item.setText(Messages.ModelTooling_Common_RuntimeWidgetTree);
+ Composite container = new Composite(folder, SWT.NONE);
+ container.setLayout(new GridLayout());
+ item.setControl(container);
+
+ UIViewer objectViewer = new UIViewer();
+ TreeViewer viewer = objectViewer.createViewer(container, UiPackageImpl.Literals.UI_ELEMENT__WIDGET, getMaster(), resourcePool, Messages);
+ viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
+ }
+
@Override
public IObservableList getChildList(Object element) {
return ELEMENT_CONTAINER__CHILDREN.observe(element);
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PerspectiveStackEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PerspectiveStackEditor.java
index 2cbbcf68..0e6ba7cb 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PerspectiveStackEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PerspectiveStackEditor.java
@@ -17,11 +17,14 @@ import javax.inject.Inject;
import org.eclipse.core.databinding.observable.list.IObservableList;
import org.eclipse.core.databinding.observable.value.WritableValue;
import org.eclipse.core.databinding.property.list.IListProperty;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.e4.core.di.annotations.Optional;
import org.eclipse.e4.tools.emf.ui.common.EStackLayout;
import org.eclipse.e4.tools.emf.ui.common.Util;
import org.eclipse.e4.tools.emf.ui.common.component.AbstractComponentEditor;
import org.eclipse.e4.tools.emf.ui.internal.ResourceProvider;
import org.eclipse.e4.tools.emf.ui.internal.common.ComponentLabelProvider;
+import org.eclipse.e4.tools.emf.ui.internal.common.uistructure.UIViewer;
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
@@ -44,6 +47,7 @@ import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
@@ -67,6 +71,10 @@ public class PerspectiveStackEditor extends AbstractComponentEditor {
private List<Action> actions = new ArrayList<Action>();
@Inject
+ @Optional
+ private IProject project;
+
+ @Inject
public PerspectiveStackEditor() {
super();
}
@@ -280,11 +288,27 @@ public class PerspectiveStackEditor extends AbstractComponentEditor {
ControlFactory.createStringListWidget(parent, Messages, this, Messages.CategoryEditor_Tags, ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__TAGS, VERTICAL_LIST_WIDGET_INDENT);
+ if (project == null) {
+ createUITreeInspection(folder);
+ }
+
folder.setSelection(0);
return folder;
}
+ private void createUITreeInspection(CTabFolder folder) {
+ CTabItem item = new CTabItem(folder, SWT.NONE);
+ item.setText(Messages.ModelTooling_Common_RuntimeWidgetTree);
+ Composite container = new Composite(folder, SWT.NONE);
+ container.setLayout(new GridLayout());
+ item.setControl(container);
+
+ UIViewer objectViewer = new UIViewer();
+ TreeViewer viewer = objectViewer.createViewer(container, UiPackageImpl.Literals.UI_ELEMENT__WIDGET, getMaster(), resourcePool, Messages);
+ viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
+ }
+
@Override
public IObservableList getChildList(Object element) {
return ELEMENT_CONTAINER__CHILDREN.observe(element);
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PlaceholderEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PlaceholderEditor.java
index 61969545..0e14cfdf 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PlaceholderEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PlaceholderEditor.java
@@ -15,6 +15,8 @@ import org.eclipse.core.databinding.UpdateValueStrategy;
import org.eclipse.core.databinding.conversion.Converter;
import org.eclipse.core.databinding.observable.list.IObservableList;
import org.eclipse.core.databinding.observable.value.WritableValue;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.e4.core.di.annotations.Optional;
import org.eclipse.e4.tools.emf.ui.common.EStackLayout;
import org.eclipse.e4.tools.emf.ui.common.IModelResource;
import org.eclipse.e4.tools.emf.ui.common.Util;
@@ -22,6 +24,7 @@ import org.eclipse.e4.tools.emf.ui.common.component.AbstractComponentEditor;
import org.eclipse.e4.tools.emf.ui.internal.ResourceProvider;
import org.eclipse.e4.tools.emf.ui.internal.common.component.ControlFactory.TextPasteHandler;
import org.eclipse.e4.tools.emf.ui.internal.common.component.dialogs.SharedElementsDialog;
+import org.eclipse.e4.tools.emf.ui.internal.common.uistructure.UIViewer;
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
import org.eclipse.e4.ui.model.application.ui.MUILabel;
@@ -33,6 +36,7 @@ import org.eclipse.emf.databinding.edit.EMFEditProperties;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.jface.databinding.swt.IWidgetValueProperty;
import org.eclipse.jface.databinding.swt.WidgetProperties;
+import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
@@ -40,6 +44,7 @@ import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
@@ -53,6 +58,10 @@ public class PlaceholderEditor extends AbstractComponentEditor {
private EStackLayout stackLayout;
@Inject
+ @Optional
+ private IProject project;
+
+ @Inject
private IModelResource resource;
@Inject
@@ -229,11 +238,27 @@ public class PlaceholderEditor extends AbstractComponentEditor {
ControlFactory.createStringListWidget(parent, Messages, this, Messages.CategoryEditor_Tags, ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__TAGS, VERTICAL_LIST_WIDGET_INDENT);
+ if (project == null) {
+ createUITreeInspection(folder);
+ }
+
folder.setSelection(0);
return folder;
}
+ private void createUITreeInspection(CTabFolder folder) {
+ CTabItem item = new CTabItem(folder, SWT.NONE);
+ item.setText(Messages.ModelTooling_Common_RuntimeWidgetTree);
+ Composite container = new Composite(folder, SWT.NONE);
+ container.setLayout(new GridLayout());
+ item.setControl(container);
+
+ UIViewer objectViewer = new UIViewer();
+ TreeViewer viewer = objectViewer.createViewer(container, UiPackageImpl.Literals.UI_ELEMENT__WIDGET, getMaster(), resourcePool, Messages);
+ viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
+ }
+
@Override
public IObservableList getChildList(Object element) {
return null;
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ToolBarContributionEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ToolBarContributionEditor.java
index d0bcef2d..88110efa 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ToolBarContributionEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ToolBarContributionEditor.java
@@ -15,11 +15,14 @@ import javax.inject.Inject;
import org.eclipse.core.databinding.observable.list.IObservableList;
import org.eclipse.core.databinding.observable.value.WritableValue;
import org.eclipse.core.databinding.property.list.IListProperty;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.e4.core.di.annotations.Optional;
import org.eclipse.e4.tools.emf.ui.common.EStackLayout;
import org.eclipse.e4.tools.emf.ui.common.Util;
import org.eclipse.e4.tools.emf.ui.common.component.AbstractComponentEditor;
import org.eclipse.e4.tools.emf.ui.internal.ResourceProvider;
import org.eclipse.e4.tools.emf.ui.internal.common.ComponentLabelProvider;
+import org.eclipse.e4.tools.emf.ui.internal.common.uistructure.UIViewer;
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
@@ -46,6 +49,7 @@ import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
@@ -67,6 +71,10 @@ public class ToolBarContributionEditor extends AbstractComponentEditor {
private IListProperty ELEMENT_CONTAINER__CHILDREN = EMFProperties.list(UiPackageImpl.Literals.ELEMENT_CONTAINER__CHILDREN);
private EStackLayout stackLayout;
+ @Inject
+ @Optional
+ private IProject project;
+
private static class Struct {
private final String label;
private final EClass eClass;
@@ -313,11 +321,27 @@ public class ToolBarContributionEditor extends AbstractComponentEditor {
ControlFactory.createStringListWidget(parent, Messages, this, Messages.CategoryEditor_Tags, ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__TAGS, VERTICAL_LIST_WIDGET_INDENT);
+ if (project == null) {
+ createUITreeInspection(folder);
+ }
+
folder.setSelection(0);
return folder;
}
+ private void createUITreeInspection(CTabFolder folder) {
+ CTabItem item = new CTabItem(folder, SWT.NONE);
+ item.setText(Messages.ModelTooling_Common_RuntimeWidgetTree);
+ Composite container = new Composite(folder, SWT.NONE);
+ container.setLayout(new GridLayout());
+ item.setControl(container);
+
+ UIViewer objectViewer = new UIViewer();
+ TreeViewer viewer = objectViewer.createViewer(container, UiPackageImpl.Literals.UI_ELEMENT__WIDGET, getMaster(), resourcePool, Messages);
+ viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
+ }
+
@Override
public IObservableList getChildList(Object element) {
return ELEMENT_CONTAINER__CHILDREN.observe(element);
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ToolBarSeparatorEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ToolBarSeparatorEditor.java
index b2b33820..4cc8b945 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ToolBarSeparatorEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ToolBarSeparatorEditor.java
@@ -13,10 +13,13 @@ package org.eclipse.e4.tools.emf.ui.internal.common.component;
import javax.inject.Inject;
import org.eclipse.core.databinding.observable.list.IObservableList;
import org.eclipse.core.databinding.observable.value.WritableValue;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.e4.core.di.annotations.Optional;
import org.eclipse.e4.tools.emf.ui.common.EStackLayout;
import org.eclipse.e4.tools.emf.ui.common.Util;
import org.eclipse.e4.tools.emf.ui.common.component.AbstractComponentEditor;
import org.eclipse.e4.tools.emf.ui.internal.ResourceProvider;
+import org.eclipse.e4.tools.emf.ui.internal.common.uistructure.UIViewer;
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
import org.eclipse.e4.ui.model.application.ui.impl.UiPackageImpl;
@@ -26,10 +29,13 @@ import org.eclipse.emf.databinding.edit.EMFEditProperties;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.jface.databinding.swt.IWidgetValueProperty;
import org.eclipse.jface.databinding.swt.WidgetProperties;
+import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
@@ -40,6 +46,10 @@ public class ToolBarSeparatorEditor extends AbstractComponentEditor {
private EStackLayout stackLayout;
@Inject
+ @Optional
+ private IProject project;
+
+ @Inject
public ToolBarSeparatorEditor() {
super();
}
@@ -139,11 +149,27 @@ public class ToolBarSeparatorEditor extends AbstractComponentEditor {
ControlFactory.createStringListWidget(parent, Messages, this, Messages.CategoryEditor_Tags, ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__TAGS, VERTICAL_LIST_WIDGET_INDENT);
+ if (project == null) {
+ createUITreeInspection(folder);
+ }
+
folder.setSelection(0);
return folder;
}
+ private void createUITreeInspection(CTabFolder folder) {
+ CTabItem item = new CTabItem(folder, SWT.NONE);
+ item.setText(Messages.ModelTooling_Common_RuntimeWidgetTree);
+ Composite container = new Composite(folder, SWT.NONE);
+ container.setLayout(new GridLayout());
+ item.setControl(container);
+
+ UIViewer objectViewer = new UIViewer();
+ TreeViewer viewer = objectViewer.createViewer(container, UiPackageImpl.Literals.UI_ELEMENT__WIDGET, getMaster(), resourcePool, Messages);
+ viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
+ }
+
@Override
public IObservableList getChildList(Object element) {
return null;
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ToolControlEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ToolControlEditor.java
index fbb8f094..0e90d536 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ToolControlEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ToolControlEditor.java
@@ -22,6 +22,7 @@ import org.eclipse.e4.tools.emf.ui.internal.ResourceProvider;
import org.eclipse.e4.tools.emf.ui.internal.common.component.ControlFactory.TextPasteHandler;
import org.eclipse.e4.tools.emf.ui.internal.common.component.dialogs.ContributionClassDialog;
import org.eclipse.e4.tools.emf.ui.internal.common.objectdata.ObjectViewer;
+import org.eclipse.e4.tools.emf.ui.internal.common.uistructure.UIViewer;
import org.eclipse.e4.ui.model.application.MContribution;
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
@@ -184,7 +185,12 @@ public class ToolControlEditor extends AbstractComponentEditor {
item.setControl(parent.getParent());
ControlFactory.createStringListWidget(parent, Messages, this, Messages.CategoryEditor_Tags, ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__TAGS, VERTICAL_LIST_WIDGET_INDENT);
- createInstanceInspection(folder);
+
+ if (project == null) {
+ createInstanceInspection(folder);
+ createUITreeInspection(folder);
+ }
+
folder.setSelection(0);
return folder;
@@ -192,7 +198,7 @@ public class ToolControlEditor extends AbstractComponentEditor {
private void createInstanceInspection(CTabFolder folder) {
CTabItem item = new CTabItem(folder, SWT.NONE);
- item.setText(Messages.ModelTooling_Common_TabRuntime);
+ item.setText(Messages.ModelTooling_Common_RuntimeContributionInstance);
Composite container = new Composite(folder, SWT.NONE);
container.setLayout(new GridLayout());
item.setControl(container);
@@ -203,6 +209,18 @@ public class ToolControlEditor extends AbstractComponentEditor {
}
+ private void createUITreeInspection(CTabFolder folder) {
+ CTabItem item = new CTabItem(folder, SWT.NONE);
+ item.setText(Messages.ModelTooling_Common_RuntimeWidgetTree);
+ Composite container = new Composite(folder, SWT.NONE);
+ container.setLayout(new GridLayout());
+ item.setControl(container);
+
+ UIViewer objectViewer = new UIViewer();
+ TreeViewer viewer = objectViewer.createViewer(container, UiPackageImpl.Literals.UI_ELEMENT__WIDGET, getMaster(), resourcePool, Messages);
+ viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
+ }
+
@Override
public IObservableList getChildList(Object element) {
// TODO Auto-generated method stub
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ToolItemEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ToolItemEditor.java
index 8f100cf0..db0ce046 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ToolItemEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/ToolItemEditor.java
@@ -28,6 +28,7 @@ import org.eclipse.e4.tools.emf.ui.internal.Messages;
import org.eclipse.e4.tools.emf.ui.internal.ResourceProvider;
import org.eclipse.e4.tools.emf.ui.internal.common.component.ControlFactory.TextPasteHandler;
import org.eclipse.e4.tools.emf.ui.internal.common.component.dialogs.ToolItemIconDialogEditor;
+import org.eclipse.e4.tools.emf.ui.internal.common.uistructure.UIViewer;
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
import org.eclipse.e4.ui.model.application.ui.MUILabel;
import org.eclipse.e4.ui.model.application.ui.impl.UiPackageImpl;
@@ -47,12 +48,14 @@ import org.eclipse.jface.databinding.viewers.ViewerProperties;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.ComboViewer;
import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
@@ -130,11 +133,27 @@ public abstract class ToolItemEditor extends AbstractComponentEditor {
createFormSubTypeForm(parent, folder, context, master);
+ if (project == null) {
+ createUITreeInspection(folder);
+ }
+
folder.setSelection(0);
return folder;
}
+ private void createUITreeInspection(CTabFolder folder) {
+ CTabItem item = new CTabItem(folder, SWT.NONE);
+ item.setText(Messages.ModelTooling_Common_RuntimeWidgetTree);
+ Composite container = new Composite(folder, SWT.NONE);
+ container.setLayout(new GridLayout());
+ item.setControl(container);
+
+ UIViewer objectViewer = new UIViewer();
+ TreeViewer viewer = objectViewer.createViewer(container, UiPackageImpl.Literals.UI_ELEMENT__WIDGET, getMaster(), resourcePool, Messages);
+ viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
+ }
+
protected void createFormSubTypeForm(Composite parent, CTabFolder folder, EMFDataBindingContext context, final WritableValue master) {
IWidgetValueProperty textProp = WidgetProperties.text(SWT.Modify);
IWidgetValueProperty checkProp = WidgetProperties.selection();
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/TrimBarEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/TrimBarEditor.java
index c302c3da..072ba2f1 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/TrimBarEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/TrimBarEditor.java
@@ -18,12 +18,15 @@ import org.eclipse.core.databinding.observable.list.IObservableList;
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.core.databinding.observable.value.WritableValue;
import org.eclipse.core.databinding.property.list.IListProperty;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.e4.core.di.annotations.Optional;
import org.eclipse.e4.tools.emf.ui.common.EStackLayout;
import org.eclipse.e4.tools.emf.ui.common.Util;
import org.eclipse.e4.tools.emf.ui.common.component.AbstractComponentEditor;
import org.eclipse.e4.tools.emf.ui.internal.ResourceProvider;
import org.eclipse.e4.tools.emf.ui.internal.common.ComponentLabelProvider;
import org.eclipse.e4.tools.emf.ui.internal.common.ModelEditor;
+import org.eclipse.e4.tools.emf.ui.internal.common.uistructure.UIViewer;
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
import org.eclipse.e4.ui.model.application.ui.MGenericTrimContainer;
@@ -53,6 +56,7 @@ import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
@@ -77,6 +81,10 @@ public class TrimBarEditor extends AbstractComponentEditor {
private List<Action> actions = new ArrayList<Action>();
@Inject
+ @Optional
+ protected IProject project;
+
+ @Inject
private ModelEditor editor;
@Inject
@@ -320,11 +328,27 @@ public class TrimBarEditor extends AbstractComponentEditor {
ControlFactory.createStringListWidget(parent, Messages, this, Messages.CategoryEditor_Tags, ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__TAGS, VERTICAL_LIST_WIDGET_INDENT);
+ if (project == null) {
+ createUITreeInspection(folder);
+ }
+
folder.setSelection(0);
return folder;
}
+ private void createUITreeInspection(CTabFolder folder) {
+ CTabItem item = new CTabItem(folder, SWT.NONE);
+ item.setText(Messages.ModelTooling_Common_RuntimeWidgetTree);
+ Composite container = new Composite(folder, SWT.NONE);
+ container.setLayout(new GridLayout());
+ item.setControl(container);
+
+ UIViewer objectViewer = new UIViewer();
+ TreeViewer viewer = objectViewer.createViewer(container, UiPackageImpl.Literals.UI_ELEMENT__WIDGET, getMaster(), resourcePool, Messages);
+ viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
+ }
+
@Override
public IObservableList getChildList(Object element) {
return ELEMENT_CONTAINER__CHILDREN.observe(element);
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/TrimContributionEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/TrimContributionEditor.java
index 024b7973..bd85be0f 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/TrimContributionEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/TrimContributionEditor.java
@@ -15,11 +15,14 @@ import javax.inject.Inject;
import org.eclipse.core.databinding.observable.list.IObservableList;
import org.eclipse.core.databinding.observable.value.WritableValue;
import org.eclipse.core.databinding.property.list.IListProperty;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.e4.core.di.annotations.Optional;
import org.eclipse.e4.tools.emf.ui.common.EStackLayout;
import org.eclipse.e4.tools.emf.ui.common.Util;
import org.eclipse.e4.tools.emf.ui.common.component.AbstractComponentEditor;
import org.eclipse.e4.tools.emf.ui.internal.ResourceProvider;
import org.eclipse.e4.tools.emf.ui.internal.common.ComponentLabelProvider;
+import org.eclipse.e4.tools.emf.ui.internal.common.uistructure.UIViewer;
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
@@ -45,6 +48,7 @@ import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
@@ -67,6 +71,10 @@ public class TrimContributionEditor extends AbstractComponentEditor {
private EStackLayout stackLayout;
@Inject
+ @Optional
+ protected IProject project;
+
+ @Inject
public TrimContributionEditor() {
super();
}
@@ -289,11 +297,27 @@ public class TrimContributionEditor extends AbstractComponentEditor {
ControlFactory.createStringListWidget(parent, Messages, this, Messages.CategoryEditor_Tags, ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__TAGS, VERTICAL_LIST_WIDGET_INDENT);
+ if (project == null) {
+ createUITreeInspection(folder);
+ }
+
folder.setSelection(0);
return folder;
}
+ private void createUITreeInspection(CTabFolder folder) {
+ CTabItem item = new CTabItem(folder, SWT.NONE);
+ item.setText(Messages.ModelTooling_Common_RuntimeWidgetTree);
+ Composite container = new Composite(folder, SWT.NONE);
+ container.setLayout(new GridLayout());
+ item.setControl(container);
+
+ UIViewer objectViewer = new UIViewer();
+ TreeViewer viewer = objectViewer.createViewer(container, UiPackageImpl.Literals.UI_ELEMENT__WIDGET, getMaster(), resourcePool, Messages);
+ viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
+ }
+
@Override
public IObservableList getChildList(Object element) {
return ELEMENT_CONTAINER__CHILDREN.observe(element);
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/WindowEditor.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/WindowEditor.java
index d16e3b9d..efc20524 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/WindowEditor.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/WindowEditor.java
@@ -31,6 +31,7 @@ import org.eclipse.e4.tools.emf.ui.internal.ResourceProvider;
import org.eclipse.e4.tools.emf.ui.internal.common.ModelEditor;
import org.eclipse.e4.tools.emf.ui.internal.common.VirtualEntry;
import org.eclipse.e4.tools.emf.ui.internal.common.component.dialogs.WindowIconDialogEditor;
+import org.eclipse.e4.tools.emf.ui.internal.common.uistructure.UIViewer;
import org.eclipse.e4.ui.model.application.commands.impl.CommandsPackageImpl;
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
@@ -51,6 +52,7 @@ import org.eclipse.emf.edit.command.SetCommand;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.databinding.swt.IWidgetValueProperty;
import org.eclipse.jface.databinding.swt.WidgetProperties;
+import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
@@ -292,11 +294,27 @@ public class WindowEditor extends AbstractComponentEditor {
ControlFactory.createStringListWidget(parent, Messages, this, Messages.ModelTooling_Context_Variables, UiPackageImpl.Literals.CONTEXT__VARIABLES, VERTICAL_LIST_WIDGET_INDENT);
ControlFactory.createStringListWidget(parent, Messages, this, Messages.CategoryEditor_Tags, ApplicationPackageImpl.Literals.APPLICATION_ELEMENT__TAGS, VERTICAL_LIST_WIDGET_INDENT);
+ if (project == null) {
+ createUITreeInspection(folder);
+ }
+
folder.setSelection(0);
return folder;
}
+ private void createUITreeInspection(CTabFolder folder) {
+ CTabItem item = new CTabItem(folder, SWT.NONE);
+ item.setText(Messages.ModelTooling_Common_RuntimeWidgetTree);
+ Composite container = new Composite(folder, SWT.NONE);
+ container.setLayout(new GridLayout());
+ item.setControl(container);
+
+ UIViewer objectViewer = new UIViewer();
+ TreeViewer viewer = objectViewer.createViewer(container, UiPackageImpl.Literals.UI_ELEMENT__WIDGET, getMaster(), resourcePool, Messages);
+ viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
+ }
+
void removeMenu() {
Command cmd = SetCommand.create(getEditingDomain(), getMaster().getValue(), BasicPackageImpl.Literals.WINDOW__MAIN_MENU, null);
if (cmd.canExecute()) {
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/uistructure/UIViewer.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/uistructure/UIViewer.java
new file mode 100644
index 00000000..e27d5bef
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/uistructure/UIViewer.java
@@ -0,0 +1,72 @@
+/*******************************************************************************
+ * Copyright (c) 2011 BestSolution.at and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tom Schindl <tom.schindl@bestsolution.at> - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.e4.tools.emf.ui.internal.common.uistructure;
+
+import java.util.Collections;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.observable.value.IValueChangeListener;
+import org.eclipse.core.databinding.observable.value.ValueChangeEvent;
+import org.eclipse.e4.tools.emf.ui.internal.Messages;
+import org.eclipse.e4.tools.emf.ui.internal.common.ControlHighlighter;
+import org.eclipse.e4.tools.services.IResourcePool;
+import org.eclipse.emf.databinding.EMFProperties;
+import org.eclipse.emf.databinding.IEMFValueProperty;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+
+public class UIViewer {
+ public TreeViewer createViewer(Composite parent, EStructuralFeature feature, IObservableValue master, IResourcePool resourcePool, final Messages messages) {
+ final TreeViewer viewer = new TreeViewer(parent);
+ viewer.setContentProvider(new WidgetContentProvider());
+ viewer.setLabelProvider(new WidgetLabelProvider(resourcePool));
+ IEMFValueProperty property = EMFProperties.value(feature);
+ IObservableValue value = property.observeDetail(master);
+ value.addValueChangeListener(new IValueChangeListener() {
+
+ public void handleValueChange(ValueChangeEvent event) {
+ if (event.diff.getNewValue() != null) {
+ viewer.setInput(Collections.singleton(event.diff.getNewValue()));
+ viewer.expandToLevel(2);
+ } else {
+ viewer.setInput(Collections.emptyList());
+ }
+ }
+ });
+
+ MenuManager mgr = new MenuManager();
+ mgr.setRemoveAllWhenShown(true);
+ mgr.addMenuListener(new IMenuListener() {
+
+ public void menuAboutToShow(IMenuManager manager) {
+ final Object o = ((IStructuredSelection) viewer.getSelection()).getFirstElement();
+ if (o instanceof Control) {
+ manager.add(new Action(messages.ModelEditor_ShowControl) {
+ @Override
+ public void run() {
+ ControlHighlighter.show((Control) o);
+ }
+ });
+ }
+ }
+ });
+
+ viewer.getControl().setMenu(mgr.createContextMenu(viewer.getControl()));
+
+ return viewer;
+ }
+}
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/uistructure/WidgetContentProvider.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/uistructure/WidgetContentProvider.java
new file mode 100644
index 00000000..f3f6e13c
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/uistructure/WidgetContentProvider.java
@@ -0,0 +1,113 @@
+package org.eclipse.e4.tools.emf.ui.internal.common.uistructure;
+
+import java.util.Collection;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.custom.CTabFolder;
+import org.eclipse.swt.custom.CTabItem;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.CoolBar;
+import org.eclipse.swt.widgets.CoolItem;
+import org.eclipse.swt.widgets.List;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.TabItem;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.ToolBar;
+import org.eclipse.swt.widgets.ToolItem;
+import org.eclipse.swt.widgets.Tree;
+
+public class WidgetContentProvider implements ITreeContentProvider {
+
+ public void dispose() {
+
+ }
+
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+
+ }
+
+ public Object[] getElements(Object inputElement) {
+ return ((Collection<?>) inputElement).toArray();
+ }
+
+ public Object[] getChildren(Object parentElement) {
+ if (parentElement instanceof ToolBar) {
+ ToolBar toolbar = (ToolBar) parentElement;
+ ToolItem[] items = toolbar.getItems();
+ Object[] rv = new Object[items.length];
+ System.arraycopy(items, 0, rv, 0, rv.length);
+ return rv;
+ } else if (parentElement instanceof CoolBar) {
+ CoolBar coolbar = (CoolBar) parentElement;
+ CoolItem[] items = coolbar.getItems();
+ Object[] rv = new Object[items.length];
+ System.arraycopy(items, 0, rv, 0, rv.length);
+ return rv;
+ } else if (parentElement instanceof TabItem) {
+ TabItem item = (TabItem) parentElement;
+ if (item.getControl() != null) {
+ return new Object[] { item.getControl() };
+ }
+ } else if (parentElement instanceof CTabItem) {
+ CTabItem item = (CTabItem) parentElement;
+ if (item.getControl() != null) {
+ return new Object[] { item.getControl() };
+ }
+ } else if (parentElement instanceof org.eclipse.e4.ui.widgets.CTabItem) {
+ org.eclipse.e4.ui.widgets.CTabItem item = (org.eclipse.e4.ui.widgets.CTabItem) parentElement;
+ if (item.getControl() != null) {
+ return new Object[] { item.getControl() };
+ }
+ } else if (parentElement instanceof Tree) {
+ Tree tree = (Tree) parentElement;
+
+ } else if (parentElement instanceof Tree) {
+ Table table = (Table) parentElement;
+
+ } else if (parentElement instanceof List) {
+ List list = (List) parentElement;
+
+ } else if (parentElement instanceof Combo) {
+ Combo combo = (Combo) parentElement;
+
+ } else if (parentElement instanceof CTabFolder) {
+ CTabFolder tabFolder = (CTabFolder) parentElement;
+ CTabItem[] items = tabFolder.getItems();
+ Object[] rv = new Object[items.length];
+ System.arraycopy(items, 0, rv, 0, rv.length);
+ return rv;
+ } else if (parentElement instanceof org.eclipse.e4.ui.widgets.CTabFolder) {
+ org.eclipse.e4.ui.widgets.CTabFolder tabFolder = (org.eclipse.e4.ui.widgets.CTabFolder) parentElement;
+ org.eclipse.e4.ui.widgets.CTabItem[] items = tabFolder.getItems();
+ Object[] rv = new Object[items.length];
+ System.arraycopy(items, 0, rv, 0, rv.length);
+ return rv;
+ } else if (parentElement instanceof TabFolder) {
+ TabFolder tabFolder = (TabFolder) parentElement;
+ TabItem[] items = tabFolder.getItems();
+ Object[] rv = new Object[items.length];
+ System.arraycopy(items, 0, rv, 0, rv.length);
+ return rv;
+ } else if (parentElement instanceof Composite) {
+ Composite comp = (Composite) parentElement;
+ Control controls[] = comp.getChildren();
+ Object[] rv = new Object[controls.length];
+ System.arraycopy(controls, 0, rv, 0, rv.length);
+ return rv;
+ }
+
+ return new Object[0];
+ }
+
+ public Object getParent(Object element) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public boolean hasChildren(Object element) {
+ return getChildren(element).length > 0;
+ }
+
+}
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/uistructure/WidgetLabelProvider.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/uistructure/WidgetLabelProvider.java
new file mode 100644
index 00000000..9aa305ce
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/uistructure/WidgetLabelProvider.java
@@ -0,0 +1,165 @@
+package org.eclipse.e4.tools.emf.ui.internal.common.uistructure;
+
+import org.eclipse.e4.tools.emf.ui.internal.ResourceProvider;
+import org.eclipse.e4.tools.services.IResourcePool;
+import org.eclipse.jface.viewers.StyledCellLabelProvider;
+import org.eclipse.jface.viewers.StyledString;
+import org.eclipse.jface.viewers.ViewerCell;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.CCombo;
+import org.eclipse.swt.custom.CLabel;
+import org.eclipse.swt.custom.CTabFolder;
+import org.eclipse.swt.custom.CTabItem;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.CoolBar;
+import org.eclipse.swt.widgets.CoolItem;
+import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.ProgressBar;
+import org.eclipse.swt.widgets.Sash;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.TabItem;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.swt.widgets.ToolBar;
+import org.eclipse.swt.widgets.ToolItem;
+import org.eclipse.swt.widgets.Tree;
+
+public class WidgetLabelProvider extends StyledCellLabelProvider {
+ private IResourcePool resourcePool;
+
+ public WidgetLabelProvider(IResourcePool resourcePool) {
+ this.resourcePool = resourcePool;
+ }
+
+ @Override
+ public void update(ViewerCell cell) {
+ Object element = cell.getElement();
+ if (element instanceof CLabel) {
+ StyledString s = new StyledString("Label"); //$NON-NLS-1$
+ s.append(" - " + ((CLabel) element).getText(), StyledString.DECORATIONS_STYLER); //$NON-NLS-1$
+ cell.setStyleRanges(s.getStyleRanges());
+ cell.setText(s.getString());
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_clabel_obj));
+ } else if (element instanceof ToolBar) {
+ cell.setText("Toolbar"); //$NON-NLS-1$
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_toolbar_obj));
+ } else if (element instanceof ToolItem) {
+ cell.setText("ToolItem"); //$NON-NLS-1$
+ ToolItem item = (ToolItem) element;
+ if ((item.getStyle() & SWT.PUSH) == SWT.PUSH) {
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_toolitempush_obj));
+ } else if ((item.getStyle() & SWT.DROP_DOWN) == SWT.DROP_DOWN) {
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_toolitemdrop_obj));
+ } else if ((item.getStyle() & SWT.CHECK) == SWT.CHECK) {
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_toolitemcheck_obj));
+ } else if ((item.getStyle() & SWT.RADIO) == SWT.RADIO) {
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_toolitemradio_obj));
+ } else if ((item.getStyle() & SWT.SEPARATOR) == SWT.SEPARATOR) {
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_toolitemseparator_obj));
+ }
+ } else if (element instanceof CoolItem) {
+ cell.setText("CoolItem"); //$NON-NLS-1$
+ CoolItem item = (CoolItem) element;
+ if ((item.getStyle() & SWT.PUSH) == SWT.PUSH) {
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_toolitempush_obj));
+ } else if ((item.getStyle() & SWT.DROP_DOWN) == SWT.DROP_DOWN) {
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_toolitemdrop_obj));
+ } else if ((item.getStyle() & SWT.CHECK) == SWT.CHECK) {
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_toolitemcheck_obj));
+ } else if ((item.getStyle() & SWT.RADIO) == SWT.RADIO) {
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_toolitemradio_obj));
+ } else if ((item.getStyle() & SWT.SEPARATOR) == SWT.SEPARATOR) {
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_toolitemseparator_obj));
+ }
+ } else if (element instanceof CoolBar) {
+ cell.setText("Coolbar"); //$NON-NLS-1$
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_coolbar_obj));
+ } else if (element instanceof Shell) {
+ StyledString s = new StyledString("Shell"); //$NON-NLS-1$
+ s.append(" - " + ((Shell) element).getText(), StyledString.DECORATIONS_STYLER); //$NON-NLS-1$
+ cell.setStyleRanges(s.getStyleRanges());
+ cell.setText(s.getString());
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_shell_obj));
+ } else if (element instanceof ProgressBar) {
+ cell.setText("ProgressBar"); //$NON-NLS-1$
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_progressbar_obj));
+ } else if (element instanceof Group) {
+ StyledString s = new StyledString("Group"); //$NON-NLS-1$
+ s.append(" - " + ((Group) element).getText(), StyledString.DECORATIONS_STYLER); //$NON-NLS-1$
+ cell.setStyleRanges(s.getStyleRanges());
+ cell.setText(s.getString());
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_group_obj));
+ } else if (element instanceof TabFolder) {
+ cell.setText("TabFolder"); //$NON-NLS-1$
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_tabfolder_obj));
+ } else if (element instanceof CTabFolder || element instanceof org.eclipse.e4.ui.widgets.CTabFolder) {
+ cell.setText("CTabFolder"); //$NON-NLS-1$
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_ctabfolder_obj));
+ } else if (element instanceof Combo) {
+ cell.setText("Combo"); //$NON-NLS-1$
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_comboviewer_obj));
+ } else if (element instanceof CCombo) {
+ cell.setText("CCombo"); //$NON-NLS-1$
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_ccombo_obj));
+ } else if (element instanceof Table) {
+ cell.setText("Table"); //$NON-NLS-1$
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_table_obj));
+ } else if (element instanceof Tree) {
+ cell.setText("Tree"); //$NON-NLS-1$
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_tree_obj));
+ } else if (element instanceof Text) {
+ cell.setText("Text"); //$NON-NLS-1$
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_text_obj));
+ } else if (element instanceof Sash) {
+ cell.setText("Sash"); //$NON-NLS-1$
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_sashform_obj));
+ } else if (element instanceof Label) {
+ Label l = (Label) element;
+ if ((l.getStyle() & SWT.SEPARATOR) == SWT.SEPARATOR) {
+ cell.setText("Separator"); //$NON-NLS-1$
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_separator_obj));
+ } else {
+ StyledString s = new StyledString("Label"); //$NON-NLS-1$
+ s.append(" - " + l.getText(), StyledString.DECORATIONS_STYLER); //$NON-NLS-1$
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_label_obj));
+ }
+
+ } else if (element instanceof TabItem) {
+ cell.setText("TabItem"); //$NON-NLS-1$
+ } else if (element instanceof CTabItem) {
+ StyledString s = new StyledString("CTabItem"); //$NON-NLS-1$
+ s.append(" - " + ((CTabItem) element).getText(), StyledString.DECORATIONS_STYLER); //$NON-NLS-1$
+ cell.setStyleRanges(s.getStyleRanges());
+ cell.setText(s.getString());
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_clabel_obj));
+ } else if (element instanceof org.eclipse.e4.ui.widgets.CTabItem) {
+ StyledString s = new StyledString("CTabItem"); //$NON-NLS-1$
+ s.append(" - " + ((org.eclipse.e4.ui.widgets.CTabItem) element).getText(), StyledString.DECORATIONS_STYLER); //$NON-NLS-1$
+ cell.setStyleRanges(s.getStyleRanges());
+ cell.setText(s.getString());
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_clabel_obj));
+ } else if (element instanceof Button) {
+ Button b = (Button) element;
+ if ((b.getStyle() & SWT.PUSH) == SWT.PUSH) {
+ cell.setText("Button"); //$NON-NLS-1$
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_button_obj));
+ } else if ((b.getStyle() & SWT.CHECK) == SWT.CHECK) {
+ cell.setText("Checkbox"); //$NON-NLS-1$
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_checkbox_obj));
+ } else if ((b.getStyle() & SWT.RADIO) == SWT.RADIO) {
+ cell.setText("Radiobox"); //$NON-NLS-1$
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_radiobutton_obj));
+ }
+ } else if (element instanceof Composite) {
+ cell.setText("Composite"); //$NON-NLS-1$
+ cell.setImage(resourcePool.getImageUnchecked(ResourceProvider.IMG_Widgets_composite_obj));
+ } else {
+ cell.setText(element + ""); //$NON-NLS-1$
+ }
+ super.update(cell);
+ }
+}

Back to the top