]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.document.swt.core/src/org/simantics/document/swt/core/widget/ComboWidget.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.document.swt.core / src / org / simantics / document / swt / core / widget / ComboWidget.java
index 0de61cf9bf19665d2526e5db8a7ab681521025ff..e013ef02531e1be08aa0230b1380f15cddf58c4f 100644 (file)
@@ -1,90 +1,90 @@
-package org.simantics.document.swt.core.widget;\r
-\r
-import java.util.Arrays;\r
-import java.util.List;\r
-\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.events.ModifyEvent;\r
-import org.eclipse.swt.events.ModifyListener;\r
-import org.eclipse.swt.widgets.Combo;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.simantics.document.server.JSONObject;\r
-import org.simantics.document.server.handler.AbstractEventHandler;\r
-import org.simantics.document.server.io.CommandContextImpl;\r
-import org.simantics.document.swt.core.SWTDocument;\r
-import org.simantics.document.swt.core.base.LeafWidgetManager;\r
-import org.simantics.document.swt.core.bean.StringList;\r
-\r
-public class ComboWidget extends LeafWidgetManager<Combo> {\r
-       \r
-       private ModifyListener modifyListener = null;\r
-\r
-       private StringList extractAvailable(Object o) {\r
-               if(o instanceof StringList) return (StringList)o;\r
-               if(o instanceof List) return new StringList((List)o);\r
-               if(o instanceof String[]) return new StringList((String[])o);\r
-               throw new IllegalArgumentException("Unaccepted format for available " + o.getClass().getName());\r
-       }\r
-       \r
-       @Override\r
-       protected void doUpdateProperties(SWTDocument document, Combo combo, JSONObject object) {\r
-\r
-               if(combo.isDisposed()) return;\r
-               \r
-               if(modifyListener != null)\r
-                       combo.removeModifyListener(modifyListener);\r
-               \r
-               StringList availableList = extractAvailable(object.getJSONField("available"));\r
-               String selected = object.getJSONField("selected");\r
-\r
-               String[] available = availableList.strings;\r
-               String[] current = combo.getItems();\r
-               \r
-               if(!Arrays.equals(available, current)) {\r
-               combo.clearSelection();\r
-               combo.removeAll();\r
-               for(String key : available) {\r
-                       combo.add(key);\r
-               }\r
-               }\r
-               \r
-               int index = 0;\r
-               for(;index<available.length;index++) if(available[index].equals(selected)) break;\r
-\r
-               if(index == available.length) {\r
-                       combo.clearSelection();\r
-               } else {\r
-                       combo.select(index);\r
-               }\r
-\r
-               if(modifyListener != null)\r
-                       combo.addModifyListener(modifyListener);\r
-\r
-       }\r
-\r
-       @Override\r
-       protected Combo doCreateControl(final SWTDocument document, Composite parent, JSONObject object) {\r
-               final Combo combo = new Combo(parent, SWT.READ_ONLY);\r
-               final AbstractEventHandler onModify = object.getJSONField("onModify");\r
-               if(onModify != null) {\r
-                       modifyListener = new ModifyListener() {\r
-                               \r
-                               @Override\r
-                               public void modifyText(ModifyEvent e) {\r
-                                       String[] items = combo.getItems();\r
-                                       int index = combo.getSelectionIndex();\r
-                                       if(index >=0 && index < items.length) {\r
-                               CommandContextImpl parameters = new CommandContextImpl();\r
-                               parameters.putString("selected", items[index]);\r
-                                               document.post(onModify, parameters);\r
-                                       }\r
-                                       \r
-                               }\r
-                               \r
-                       };\r
-                       combo.addModifyListener(modifyListener);\r
-               }\r
-               return combo;\r
-       }\r
-       \r
-}\r
+package org.simantics.document.swt.core.widget;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.simantics.document.server.JSONObject;
+import org.simantics.document.server.handler.AbstractEventHandler;
+import org.simantics.document.server.io.CommandContextImpl;
+import org.simantics.document.swt.core.SWTDocument;
+import org.simantics.document.swt.core.base.LeafWidgetManager;
+import org.simantics.document.swt.core.bean.StringList;
+
+public class ComboWidget extends LeafWidgetManager<Combo> {
+       
+       private ModifyListener modifyListener = null;
+
+       private StringList extractAvailable(Object o) {
+               if(o instanceof StringList) return (StringList)o;
+               if(o instanceof List) return new StringList((List)o);
+               if(o instanceof String[]) return new StringList((String[])o);
+               throw new IllegalArgumentException("Unaccepted format for available " + o.getClass().getName());
+       }
+       
+       @Override
+       protected void doUpdateProperties(SWTDocument document, Combo combo, JSONObject object) {
+
+               if(combo.isDisposed()) return;
+               
+               if(modifyListener != null)
+                       combo.removeModifyListener(modifyListener);
+               
+               StringList availableList = extractAvailable(object.getJSONField("available"));
+               String selected = object.getJSONField("selected");
+
+               String[] available = availableList.strings;
+               String[] current = combo.getItems();
+               
+               if(!Arrays.equals(available, current)) {
+               combo.clearSelection();
+               combo.removeAll();
+               for(String key : available) {
+                       combo.add(key);
+               }
+               }
+               
+               int index = 0;
+               for(;index<available.length;index++) if(available[index].equals(selected)) break;
+
+               if(index == available.length) {
+                       combo.clearSelection();
+               } else {
+                       combo.select(index);
+               }
+
+               if(modifyListener != null)
+                       combo.addModifyListener(modifyListener);
+
+       }
+
+       @Override
+       protected Combo doCreateControl(final SWTDocument document, Composite parent, JSONObject object) {
+               final Combo combo = new Combo(parent, SWT.READ_ONLY);
+               final AbstractEventHandler onModify = object.getJSONField("onModify");
+               if(onModify != null) {
+                       modifyListener = new ModifyListener() {
+                               
+                               @Override
+                               public void modifyText(ModifyEvent e) {
+                                       String[] items = combo.getItems();
+                                       int index = combo.getSelectionIndex();
+                                       if(index >=0 && index < items.length) {
+                               CommandContextImpl parameters = new CommandContextImpl();
+                               parameters.putString("selected", items[index]);
+                                               document.post(onModify, parameters);
+                                       }
+                                       
+                               }
+                               
+                       };
+                       combo.addModifyListener(modifyListener);
+               }
+               return combo;
+       }
+       
+}