Bug 563460: [UI Builder] allow to create ediable combo viewers
Change-Id: Ica911e997f84372a2d0a6db0f0baca2147d5392a
diff --git a/plugins/org.eclipse.ease.modules.platform/src/org/eclipse/ease/modules/platform/uibuilder/UIBuilderModule.java b/plugins/org.eclipse.ease.modules.platform/src/org/eclipse/ease/modules/platform/uibuilder/UIBuilderModule.java
index e0329ba..280362c 100644
--- a/plugins/org.eclipse.ease.modules.platform/src/org/eclipse/ease/modules/platform/uibuilder/UIBuilderModule.java
+++ b/plugins/org.eclipse.ease.modules.platform/src/org/eclipse/ease/modules/platform/uibuilder/UIBuilderModule.java
@@ -995,6 +995,8 @@
*
* @param elements
* combo elements to display.
+ * @param editable
+ * set to <code>true</code> to allow users to enter custom entries
* @param callback
* callback code when selection changes. Use {module #getUiEvent()} to access the {@link SelectionChangedEvent}.
* @param layout
@@ -1004,8 +1006,9 @@
* on any SWT error
*/
@WrapToScript
- public ComboViewer createComboViewer(Object[] elements, @ScriptParameter(defaultValue = ScriptParameter.NULL) Object callback,
- @ScriptParameter(defaultValue = ScriptParameter.NULL) String layout) throws Throwable {
+ public ComboViewer createComboViewer(Object[] elements, @ScriptParameter(defaultValue = "false") boolean editable,
+ @ScriptParameter(defaultValue = ScriptParameter.NULL) Object callback, @ScriptParameter(defaultValue = ScriptParameter.NULL) String layout)
+ throws Throwable {
if (callback != null)
keepScriptEngineAlive();
@@ -1013,7 +1016,7 @@
return runInUIThread(new RunnableWithResult<ComboViewer>() {
@Override
public ComboViewer runWithTry() throws Throwable {
- final ComboViewer comboViewer = new ComboViewer(getUICompositor().getComposite());
+ final ComboViewer comboViewer = new ComboViewer(getUICompositor().getComposite(), SWT.BORDER | (editable ? 0 : SWT.READ_ONLY));
comboViewer.setLabelProvider(new GenericLabelProvider());
comboViewer.setContentProvider(ArrayContentProvider.getInstance());
comboViewer.setInput(elements);