diff options
author | Fabian Miehe | 2014-11-13 09:11:03 +0000 |
---|---|---|
committer | Fabian Miehe | 2014-12-18 13:15:08 +0000 |
commit | fea45e79ec90f23678e2d7f41e10a2f253fa3bb4 (patch) | |
tree | 8b4bf00e754419a313c88cca4829e186ff69f4a6 | |
parent | a0124fa4721a4afc454b46607aa7500955cae686 (diff) | |
download | org.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>
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; } |