Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabian Miehe2014-11-13 09:11:03 +0000
committerFabian Miehe2014-12-18 13:15:08 +0000
commitfea45e79ec90f23678e2d7f41e10a2f253fa3bb4 (patch)
tree8b4bf00e754419a313c88cca4829e186ff69f4a6
parenta0124fa4721a4afc454b46607aa7500955cae686 (diff)
downloadorg.eclipse.e4.tools-I20141218-2200.tar.gz
org.eclipse.e4.tools-I20141218-2200.tar.xz
org.eclipse.e4.tools-I20141218-2200.zip
Bug 440289 - Combo Box in Editor 'Controls' inconsistentI20141218-2200
- Changed the layout of the toolbar - ToolItems converted to buttons - ComboViewer is READ_ONLY again. Change-Id: Ic3aff77b50b3475e4a3d63f824ffb8857aa5c018 Signed-off-by: Fabian Miehe <fabian.miehe@cassidian.com>
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/Messages.properties2
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/AbstractPickList.java122
-rw-r--r--bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/E4StringPickList.java11
3 files changed, 73 insertions, 62 deletions
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 90402a7f..c41e0e58 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
@@ -30,7 +30,7 @@ VWindowSharedElementsEditor_Views=Views
ModelTooling_Common_Up=Up
ModelTooling_Common_Down=Down
-ModelTooling_Common_AddEllipsis=Add ...
+ModelTooling_Common_AddEllipsis=Add
ModelTooling_Common_Add=Add
ModelTooling_Common_Remove=Remove
ModelTooling_Common_Replace=Replace
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/AbstractPickList.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/AbstractPickList.java
index f487aa0c..a0907770 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/AbstractPickList.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/AbstractPickList.java
@@ -14,14 +14,11 @@ package org.eclipse.e4.tools.emf.ui.internal.common;
import java.util.Collection;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import java.util.TreeMap;
import org.eclipse.e4.tools.emf.ui.common.component.AbstractComponentEditor;
import org.eclipse.e4.tools.emf.ui.internal.Messages;
import org.eclipse.e4.tools.emf.ui.internal.ResourceProvider;
-import org.eclipse.jface.fieldassist.AutoCompleteField;
-import org.eclipse.jface.fieldassist.ComboContentAdapter;
import org.eclipse.jface.viewers.ComboViewer;
import org.eclipse.jface.viewers.IContentProvider;
import org.eclipse.jface.viewers.ILabelProvider;
@@ -31,7 +28,6 @@ import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.OpenEvent;
import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.ViewerComparator;
import org.eclipse.swt.SWT;
@@ -40,12 +36,10 @@ import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
/**
* <p>
@@ -66,12 +60,12 @@ public abstract class AbstractPickList extends Composite {
protected TableViewer viewer;
private final Group group;
- private final ToolBar toolBar;
- private final ToolItem tiRemove;
- private final ToolItem tiUp;
- private final ToolItem tiDown;
- private final ToolItem tiAdd;
- private final AutoCompleteField autoCompleteField;
+ private final Composite toolBar;
+ private final Button tiRemove;
+ private final Button tiUp;
+ private final Button tiDown;
+ private final Button tiAdd;
+ // private final AutoCompleteField autoCompleteField;
private Map<String, Object> proposals;
public AbstractPickList(Composite parent, int style, List<PickListFeatures> listFeatures, Messages messages,
@@ -87,11 +81,51 @@ public abstract class AbstractPickList extends Composite {
// gridData.horizontalIndent = 30;
group.setLayout(new GridLayout(1, false));
- toolBar = new ToolBar(group, SWT.FLAT);
+ final Composite comp = new Composite(group, SWT.NONE);
+
+ GridLayout layout = new GridLayout(2, false);
+ layout.marginHeight = 0;
+ layout.marginWidth = 0;
+ comp.setLayout(layout);
+ comp.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
+
+ picker = new ComboViewer(comp, SWT.DROP_DOWN | SWT.BORDER | SWT.READ_ONLY);
+ final Combo control = picker.getCombo();
+ control.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
+
+ // ComboContentAdapter controlContentAdapter = new ComboContentAdapter()
+ // {
+ // @Override
+ // public void setControlContents(Control control, String text1, int
+ // cursorPosition) {
+ // super.setControlContents(control, text1, cursorPosition);
+ // Object valueInModel = proposals.get(text1);
+ // if (valueInModel != null) {
+ // getPicker().setSelection(new StructuredSelection(valueInModel));
+ // }
+ // }
+ // };
+ // autoCompleteField = new AutoCompleteField(control,
+ // controlContentAdapter, new String[0]);
+
+ toolBar = new Composite(comp, SWT.NONE);
+ layout = new GridLayout(5, true);
+ layout.marginHeight = 0;
+ layout.marginWidth = 0;
+ toolBar.setLayout(layout);
toolBar.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
- tiAdd = new ToolItem(toolBar, SWT.PUSH);
+ picker.addOpenListener(new IOpenListener() {
+
+ @Override
+ public void open(OpenEvent event) {
+ addPressed();
+ }
+ });
+
+ tiAdd = new Button(toolBar, SWT.PUSH);
tiAdd.setText(messages.ModelTooling_Common_AddEllipsis);
+ tiAdd.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
tiAdd.setImage(componentEditor.createImage(ResourceProvider.IMG_Obj16_table_add));
tiAdd.addSelectionListener(new SelectionAdapter() {
@Override
@@ -100,9 +134,19 @@ public abstract class AbstractPickList extends Composite {
}
});
- // new ToolItem(toolBar, SWT.SEPARATOR_FILL);
+ tiRemove = new Button(toolBar, SWT.PUSH);
+ tiRemove.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
+ tiRemove.setText(messages.ModelTooling_Common_Remove);
+ tiRemove.setImage(componentEditor.createImage(ResourceProvider.IMG_Obj16_table_delete));
+ tiRemove.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ removePressed();
+ }
+ });
- tiDown = new ToolItem(toolBar, SWT.PUSH);
+ tiDown = new Button(toolBar, SWT.PUSH);
+ tiDown.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
tiDown.setText(messages.ModelTooling_Common_Down);
tiDown.setImage(componentEditor.createImage(ResourceProvider.IMG_Obj16_arrow_down));
tiDown.addSelectionListener(new SelectionAdapter() {
@@ -112,7 +156,8 @@ public abstract class AbstractPickList extends Composite {
}
});
- tiUp = new ToolItem(toolBar, SWT.PUSH);
+ tiUp = new Button(toolBar, SWT.PUSH);
+ tiUp.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
tiUp.setText(messages.ModelTooling_Common_Up);
tiUp.setImage(componentEditor.createImage(ResourceProvider.IMG_Obj16_arrow_up));
tiUp.addSelectionListener(new SelectionAdapter() {
@@ -121,39 +166,6 @@ public abstract class AbstractPickList extends Composite {
moveUpPressed();
}
});
- tiRemove = new ToolItem(toolBar, SWT.PUSH);
- tiRemove.setText(messages.ModelTooling_Common_Remove);
- tiRemove.setImage(componentEditor.createImage(ResourceProvider.IMG_Obj16_table_delete));
- tiRemove.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- removePressed();
- }
- });
-
- picker = new ComboViewer(group, SWT.DROP_DOWN);
- final Combo control = picker.getCombo();
- control.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
-
- final ComboContentAdapter controlContentAdapter = new ComboContentAdapter() {
- @Override
- public void setControlContents(Control control, String text1, int cursorPosition) {
- super.setControlContents(control, text1, cursorPosition);
- final Object valueInModel = proposals.get(text1);
- if (valueInModel != null) {
- getPicker().setSelection(new StructuredSelection(valueInModel));
- }
- }
- };
- autoCompleteField = new AutoCompleteField(control, controlContentAdapter, new String[0]);
-
- picker.addOpenListener(new IOpenListener() {
-
- @Override
- public void open(OpenEvent event) {
- addPressed();
- }
- });
viewer = new TableViewer(group);
final GridData gd = new GridData(GridData.FILL, GridData.FILL, true, true, 1, 1);
@@ -195,9 +207,9 @@ public abstract class AbstractPickList extends Composite {
public void setInput(Object input) {
getPicker().setInput(input);
- proposals = toProposals(input);
- final Set<String> keySet = proposals.keySet();
- autoCompleteField.setProposals(keySet.toArray(new String[keySet.size()]));
+ // proposals = toProposals(input);
+ // final Set<String> keySet = proposals.keySet();
+ // autoCompleteField.setProposals(keySet.toArray(new String[keySet.size()]));
}
public ISelection getSelection() {
@@ -247,7 +259,7 @@ public abstract class AbstractPickList extends Composite {
getPicker().setComparator(comparator);
}
- protected ToolBar getToolBar() {
+ protected Composite getToolBar() {
return toolBar;
}
diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/E4StringPickList.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/E4StringPickList.java
index b1dfd1f5..aa9c06e9 100644
--- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/E4StringPickList.java
+++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/E4StringPickList.java
@@ -32,9 +32,9 @@ import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.ToolItem;
/**
* A PickList for creating a string list. Action include ordering, adding,
@@ -46,7 +46,7 @@ import org.eclipse.swt.widgets.ToolItem;
public class E4StringPickList extends AbstractPickList {
private Text text;
- private ToolItem tiReplace;
+ private Button tiReplace;
private AbstractComponentEditor editor;
private EStructuralFeature feature;
@@ -58,13 +58,12 @@ public class E4StringPickList extends AbstractPickList {
// TODO does not respect NO_ORDER yet
- tiReplace = new ToolItem(getToolBar(), SWT.PUSH, 2);
+ tiReplace = new Button(getToolBar(), SWT.PUSH);
tiReplace.setText(messages.E4StringPickList_Replace);
tiReplace.setImage(editor.createImage(ResourceProvider.IMG_Obj16_world_edit));
text = new Text(getToolBar().getParent(), SWT.SINGLE | SWT.LEAD | SWT.BORDER);
- text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- text.moveBelow(getToolBar());
+ text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));
tiReplace.addSelectionListener(new SelectionAdapter() {
@Override
@@ -170,7 +169,7 @@ public class E4StringPickList extends AbstractPickList {
return ((ObservableListContentProvider) viewer.getContentProvider()).getElements(viewer.getInput()).length;
}
- protected ToolItem getReplaceWidget() {
+ protected Button getReplaceWidget() {
return tiReplace;
}

Back to the top