]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.views.swt.client/src/org/simantics/views/swt/client/impl/SWTTabFolder.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.views.swt.client / src / org / simantics / views / swt / client / impl / SWTTabFolder.java
index 629f28285f1b0d4998a131528b03ba53e1e89b5d..b1daf17556ee079acfa92c7f5f67a92dc8d0b99a 100644 (file)
-package org.simantics.views.swt.client.impl;\r
-\r
-import java.util.HashSet;\r
-import java.util.List;\r
-import java.util.Set;\r
-\r
-import org.eclipse.jface.viewers.ISelectionChangedListener;\r
-import org.eclipse.jface.viewers.ISelectionProvider;\r
-import org.eclipse.jface.viewers.SelectionChangedEvent;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.custom.CTabFolder;\r
-import org.eclipse.swt.custom.CTabItem;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.swt.widgets.Control;\r
-import org.simantics.browsing.ui.swt.widgets.GraphExplorerComposite;\r
-import org.simantics.utils.ui.jface.BasePostSelectionProvider;\r
-import org.simantics.views.ViewUtils.LayoutBean;\r
-import org.simantics.views.swt.client.base.ISWTViewNode;\r
-import org.simantics.views.swt.client.base.SingleSWTViewNode;\r
-\r
-public class SWTTabFolder extends SingleSWTViewNode<CTabFolder> {\r
-       \r
-       private static final long serialVersionUID = -8003676031533344133L;\r
-\r
-       public List<String> childNames;\r
-\r
-       public LayoutBean layout;\r
-       \r
-       final BasePostSelectionProvider selectionProvider = new BasePostSelectionProvider();\r
-\r
-       ISelectionChangedListener selectionListener = new ISelectionChangedListener() {\r
-               \r
-               @Override\r
-               public void selectionChanged(SelectionChangedEvent event) {\r
-                       selectionProvider.firePostSelection(event.getSelection());\r
-               }\r
-               \r
-       };\r
-       \r
-       private CTabItem createItem(int index, CTabFolder folder, Control control) {\r
-               \r
-               CTabItem item = new CTabItem(folder, SWT.NONE, index);\r
-               item.setControl(control);\r
-               return item;\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public void createControls(Composite parent) {\r
-               control = new CTabFolder(parent, SWT.BOTTOM | SWT.FLAT);\r
-               setProperties();\r
-               createChildComposites();\r
-               updateFolder();\r
-       }\r
-       \r
-       protected void childrenChanged() {\r
-           // FIXME: this is probably not what is intended, just modified it like this to get rid of the NPE it was producing.\r
-           if (control != null && !control.isDisposed())\r
-               updateFolder();\r
-       }\r
-\r
-       protected void updateFolder() {\r
-               \r
-               assert(childNames != null);\r
-               \r
-           HashSet<Control> existing = new HashSet<Control>();\r
-\r
-           for(CTabItem c : control.getItems()) {\r
-               existing.add(c.getControl());\r
-           }\r
-\r
-           int index = existing.size();\r
-           boolean hasSomeSelectionProviders = false;\r
-\r
-           for(ISWTViewNode node : getChildComposites()) {\r
-\r
-               Control c = node.getControl();\r
-               if(c != null && !existing.contains(c)) {\r
-\r
-                   CTabItem item = createItem(index, control, c);\r
-                   item.setText(childNames.get(index++));\r
-\r
-                   for(Control c2 : getControls(item)) {\r
-                       if(c2 instanceof GraphExplorerComposite) {\r
-                           GraphExplorerComposite gec = (GraphExplorerComposite)c2;\r
-                           ISelectionProvider sp = (ISelectionProvider)gec.getAdapter(ISelectionProvider.class);\r
-                           sp.addSelectionChangedListener(selectionListener);\r
-                           hasSomeSelectionProviders = true;\r
-                       }\r
-                   }\r
-\r
-               }\r
-           }\r
-\r
-           if(hasSomeSelectionProviders) {\r
-               // We use our combined selection provider\r
-               getSite().setSelectionProvider(selectionProvider);\r
-           }\r
-\r
-           control.setSelection(0);\r
-           control.update();\r
-       }\r
-\r
-    Set<Control> getControls(CTabItem item) {\r
-               HashSet<Control> result = new HashSet<Control>();\r
-               forControl(item.getControl(), result);\r
-               return result;\r
-       }\r
-       \r
-       void forControl(Control control, HashSet<Control> controls) {\r
-               controls.add(control);\r
-               if(control instanceof Composite) {\r
-                       Composite composite = (Composite)control;\r
-                       for(Control child : composite.getChildren()) forControl(child, controls);\r
-               }\r
-       }\r
-       \r
-       public void synchronizeChildNames(List<String> childNames) {\r
-               \r
-       }\r
-       \r
-       final public void synchronizeLayout(LayoutBean layout) {\r
-       }\r
-       \r
-}\r
+package org.simantics.views.swt.client.impl;
+
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.CTabFolder;
+import org.eclipse.swt.custom.CTabItem;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.simantics.browsing.ui.swt.widgets.GraphExplorerComposite;
+import org.simantics.utils.ui.jface.BasePostSelectionProvider;
+import org.simantics.views.ViewUtils.LayoutBean;
+import org.simantics.views.swt.client.base.ISWTViewNode;
+import org.simantics.views.swt.client.base.SingleSWTViewNode;
+
+public class SWTTabFolder extends SingleSWTViewNode<CTabFolder> {
+       
+       private static final long serialVersionUID = -8003676031533344133L;
+
+       public List<String> childNames;
+
+       public LayoutBean layout;
+       
+       final BasePostSelectionProvider selectionProvider = new BasePostSelectionProvider();
+
+       ISelectionChangedListener selectionListener = new ISelectionChangedListener() {
+               
+               @Override
+               public void selectionChanged(SelectionChangedEvent event) {
+                       selectionProvider.firePostSelection(event.getSelection());
+               }
+               
+       };
+       
+       private CTabItem createItem(int index, CTabFolder folder, Control control) {
+               
+               CTabItem item = new CTabItem(folder, SWT.NONE, index);
+               item.setControl(control);
+               return item;
+               
+       }
+       
+       @Override
+       public void createControls(Composite parent) {
+               control = new CTabFolder(parent, SWT.BOTTOM | SWT.FLAT);
+               setProperties();
+               createChildComposites();
+               updateFolder();
+       }
+       
+       protected void childrenChanged() {
+           // FIXME: this is probably not what is intended, just modified it like this to get rid of the NPE it was producing.
+           if (control != null && !control.isDisposed())
+               updateFolder();
+       }
+
+       protected void updateFolder() {
+               
+               assert(childNames != null);
+               
+           HashSet<Control> existing = new HashSet<Control>();
+
+           for(CTabItem c : control.getItems()) {
+               existing.add(c.getControl());
+           }
+
+           int index = existing.size();
+           boolean hasSomeSelectionProviders = false;
+
+           for(ISWTViewNode node : getChildComposites()) {
+
+               Control c = node.getControl();
+               if(c != null && !existing.contains(c)) {
+
+                   CTabItem item = createItem(index, control, c);
+                   item.setText(childNames.get(index++));
+
+                   for(Control c2 : getControls(item)) {
+                       if(c2 instanceof GraphExplorerComposite) {
+                           GraphExplorerComposite gec = (GraphExplorerComposite)c2;
+                           ISelectionProvider sp = (ISelectionProvider)gec.getAdapter(ISelectionProvider.class);
+                           sp.addSelectionChangedListener(selectionListener);
+                           hasSomeSelectionProviders = true;
+                       }
+                   }
+
+               }
+           }
+
+           if(hasSomeSelectionProviders) {
+               // We use our combined selection provider
+               getSite().setSelectionProvider(selectionProvider);
+           }
+
+           control.setSelection(0);
+           control.update();
+       }
+
+    Set<Control> getControls(CTabItem item) {
+               HashSet<Control> result = new HashSet<Control>();
+               forControl(item.getControl(), result);
+               return result;
+       }
+       
+       void forControl(Control control, HashSet<Control> controls) {
+               controls.add(control);
+               if(control instanceof Composite) {
+                       Composite composite = (Composite)control;
+                       for(Control child : composite.getChildren()) forControl(child, controls);
+               }
+       }
+       
+       public void synchronizeChildNames(List<String> childNames) {
+               
+       }
+       
+       final public void synchronizeLayout(LayoutBean layout) {
+       }
+       
+}