Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Schindl2010-06-26 13:03:44 +0000
committerThomas Schindl2010-06-26 13:03:44 +0000
commit33e5c7f031dc98fe185ce0e38e6fd765be1ccd44 (patch)
treee1dc2bc78d7705c69f0ee277b50615ce96681d69 /bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PerspectiveStackEditor.java
parentb5bb9511fd46b6d5ea3d25d8a5fc77a86bc57fa0 (diff)
downloadorg.eclipse.e4.tools-33e5c7f031dc98fe185ce0e38e6fd765be1ccd44.tar.gz
org.eclipse.e4.tools-33e5c7f031dc98fe185ce0e38e6fd765be1ccd44.tar.xz
org.eclipse.e4.tools-33e5c7f031dc98fe185ce0e38e6fd765be1ccd44.zip
Bug 304584 - [Tooling] Implement Workbench-Model-Tooling
* fixing problem with fragments (treats everything as import) * some minor layout improvements (everything right aligned)
Diffstat (limited to 'bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PerspectiveStackEditor.java')
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/PerspectiveStackEditor.java38
1 files changed, 34 insertions, 4 deletions
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 a133dd15..fc674650 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
@@ -10,6 +10,10 @@
******************************************************************************/
package org.eclipse.e4.tools.emf.ui.internal.common.component;
+import org.eclipse.e4.tools.emf.ui.common.Util;
+import org.eclipse.swt.custom.StackLayout;
+import org.eclipse.swt.widgets.Control;
+
import org.eclipse.e4.tools.emf.ui.internal.common.component.dialogs.FindImportElementDialog;
import org.eclipse.emf.ecore.EObject;
@@ -71,6 +75,7 @@ public class PerspectiveStackEditor extends AbstractComponentEditor {
private EMFDataBindingContext context;
private IListProperty ELEMENT_CONTAINER__CHILDREN = EMFProperties.list(UiPackageImpl.Literals.ELEMENT_CONTAINER__CHILDREN);
+ private StackLayout stackLayout;
public PerspectiveStackEditor(EditingDomain editingDomain, ModelEditor editor) {
super(editingDomain,editor);
@@ -107,22 +112,45 @@ public class PerspectiveStackEditor extends AbstractComponentEditor {
@Override
public Composite getEditor(Composite parent, Object object) {
- if( composite == null ) {
+ if (composite == null) {
context = new EMFDataBindingContext();
- composite = createForm(parent,context, getMaster());
+ if (getEditor().isModelFragment()) {
+ composite = new Composite(parent, SWT.NONE);
+ stackLayout = new StackLayout();
+ composite.setLayout(stackLayout);
+ createForm(composite, context, getMaster(), false);
+ createForm(composite, context, getMaster(), true);
+ } else {
+ composite = createForm(parent, context, getMaster(), false);
+ }
+ }
+
+ if( getEditor().isModelFragment() ) {
+ Control topControl;
+ if( Util.isImport((EObject) object) ) {
+ topControl = composite.getChildren()[1];
+ } else {
+ topControl = composite.getChildren()[0];
+ }
+
+ if( stackLayout.topControl != topControl ) {
+ stackLayout.topControl = topControl;
+ composite.layout(true, true);
+ }
}
+
getMaster().setValue(object);
return composite;
}
private Composite createForm(Composite parent, final EMFDataBindingContext context,
- WritableValue master) {
+ WritableValue master, boolean isImport) {
parent = new Composite(parent,SWT.NONE);
parent.setLayout(new GridLayout(3, false));
IWidgetValueProperty textProp = WidgetProperties.text(SWT.Modify);
- if( getEditor().isModelFragment() ) {
+ if( isImport ) {
ControlFactory.createFindImport(parent, this, context);
return parent;
}
@@ -131,6 +159,7 @@ public class PerspectiveStackEditor extends AbstractComponentEditor {
{
Label l = new Label(parent, SWT.NONE);
l.setText(Messages.PerspectiveStackEditor_Id);
+ l.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
Text t = new Text(parent, SWT.BORDER);
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
@@ -145,6 +174,7 @@ public class PerspectiveStackEditor extends AbstractComponentEditor {
{
Label l = new Label(parent, SWT.NONE);
l.setText(Messages.PerspectiveStackEditor_Perspectives);
+ l.setLayoutData(new GridData(GridData.END,GridData.BEGINNING,false,false));
final TableViewer viewer = new TableViewer(parent);
viewer.setContentProvider(new ObservableListContentProvider());

Back to the top