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);