performed javacscript:fix and worked on documentation
[taxeditor.git] / taxeditor-editor / src / main / java / eu / etaxonomy / taxeditor / editor / SimpleSelectionProvider.java
index ea52eb328844341516b9a438856b3cad326eee91..4af6db9b54fbf20ca5c15591f9544ea9a9fe2808 100644 (file)
-/**\r
-* Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy \r
-* http://www.e-taxonomy.eu\r
-* \r
-* The contents of this file are subject to the Mozilla Public License Version 1.1\r
-* See LICENSE.TXT at the top of this package for the full license terms.\r
-*/\r
-\r
-package eu.etaxonomy.taxeditor.editor;\r
-\r
-import org.eclipse.core.runtime.IProgressMonitor;\r
-import org.eclipse.core.runtime.IStatus;\r
-import org.eclipse.core.runtime.ListenerList;\r
-import org.eclipse.core.runtime.Status;\r
-import org.eclipse.core.runtime.jobs.Job;\r
-import org.eclipse.jface.util.SafeRunnable;\r
-import org.eclipse.jface.viewers.ISelection;\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.jface.viewers.StructuredSelection;\r
-import org.eclipse.swt.widgets.Display;\r
-\r
-/**\r
- * @author p.ciardelli\r
- * @author n.hoffmann\r
- * @created 16.05.2008\r
- * @version 1.0\r
- */\r
-public class SimpleSelectionProvider implements ISelectionProvider {\r
-\r
-       private ListenerList selectionChangedListeners = new ListenerList();\r
-       private ISelection selection;\r
-       private Job job;\r
-       \r
-       /*\r
-        * (non-Javadoc)\r
-        * @see org.eclipse.jface.viewers.ISelectionProvider#addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)\r
-        */\r
-       public void addSelectionChangedListener(\r
-                       ISelectionChangedListener listener) {\r
-               selectionChangedListeners.add(listener);\r
-       }\r
-\r
-       /*\r
-        * (non-Javadoc)\r
-        * @see org.eclipse.jface.viewers.ISelectionProvider#getSelection()\r
-        */\r
-       public ISelection getSelection() {\r
-               if (selection != null)\r
-                       return selection;\r
-               // TODO we have to return an empty selection to avoid NPE\r
-               // I don't really understand why this was not the case before\r
-               return new StructuredSelection();\r
-       }\r
-\r
-       /*\r
-        * (non-Javadoc)\r
-        * @see org.eclipse.jface.viewers.ISelectionProvider#removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)\r
-        */\r
-       public void removeSelectionChangedListener(\r
-                       ISelectionChangedListener listener) {\r
-               selectionChangedListeners.remove(listener);\r
-       }\r
-\r
-       /*\r
-        * (non-Javadoc)\r
-        * @see org.eclipse.jface.viewers.ISelectionProvider#setSelection(org.eclipse.jface.viewers.ISelection)\r
-        */\r
-       public void setSelection(ISelection selection) {\r
-               this.selection = selection;\r
-               \r
-               // cancel previous selection setting\r
-               if(job != null){\r
-                       job.cancel();\r
-                       job = null;\r
-               }\r
-               \r
-               if(job == null){\r
-                       final SelectionChangedEvent selectionChangedEvent = new SelectionChangedEvent(this, selection);\r
-                       final Display display = Display.getCurrent();\r
-                       job = new Job("Setting Selection"){\r
-       \r
-                               @Override\r
-                               protected IStatus run(IProgressMonitor monitor) {\r
-                                       monitor.beginTask("Setting Selection", 10);\r
-                                       \r
-                                       if(!monitor.isCanceled()){\r
-                                               display.asyncExec(new Runnable() {\r
-                                        \r
-                                                       public void run() {\r
-                                                               fireSelectionChanged(selectionChangedEvent);\r
-                                                       }\r
-                                               });\r
-                                       }\r
-                                       \r
-                                       return Status.OK_STATUS;\r
-                               }\r
-                               \r
-                       };\r
-                       \r
-                       job.setPriority(Job.DECORATE);\r
-                       job.schedule();\r
-               }\r
-               \r
-       }\r
-\r
-       private void fireSelectionChanged(final SelectionChangedEvent event) {\r
-               \r
-               Object[] listeners = selectionChangedListeners.getListeners();\r
-               for (int i = 0; i < listeners.length; ++i) {\r
-                       final ISelectionChangedListener l = (ISelectionChangedListener) listeners[i];\r
-                       SafeRunnable.run(new SafeRunnable() {\r
-                               public void run() {\r
-                                       l.selectionChanged(event);\r
-                               }\r
-                       });\r
-               }\r
-       }\r
-}\r
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy 
+* http://www.e-taxonomy.eu
+* 
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.taxeditor.editor;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.ListenerList;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.jface.util.SafeRunnable;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * <p>SimpleSelectionProvider class.</p>
+ *
+ * @author p.ciardelli
+ * @author n.hoffmann
+ * @created 16.05.2008
+ * @version 1.0
+ */
+public class SimpleSelectionProvider implements ISelectionProvider {
+
+       private ListenerList selectionChangedListeners = new ListenerList();
+       private ISelection selection;
+       private Job job;
+       
+       /*
+        * (non-Javadoc)
+        * @see org.eclipse.jface.viewers.ISelectionProvider#addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)
+        */
+       /** {@inheritDoc} */
+       public void addSelectionChangedListener(
+                       ISelectionChangedListener listener) {
+               selectionChangedListeners.add(listener);
+       }
+
+       /*
+        * (non-Javadoc)
+        * @see org.eclipse.jface.viewers.ISelectionProvider#getSelection()
+        */
+       /**
+        * <p>Getter for the field <code>selection</code>.</p>
+        *
+        * @return a {@link org.eclipse.jface.viewers.ISelection} object.
+        */
+       public ISelection getSelection() {
+               if (selection != null)
+                       return selection;
+               // TODO we have to return an empty selection to avoid NPE
+               // I don't really understand why this was not the case before
+               return new StructuredSelection();
+       }
+
+       /*
+        * (non-Javadoc)
+        * @see org.eclipse.jface.viewers.ISelectionProvider#removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener)
+        */
+       /** {@inheritDoc} */
+       public void removeSelectionChangedListener(
+                       ISelectionChangedListener listener) {
+               selectionChangedListeners.remove(listener);
+       }
+
+       /*
+        * (non-Javadoc)
+        * @see org.eclipse.jface.viewers.ISelectionProvider#setSelection(org.eclipse.jface.viewers.ISelection)
+        */
+       /** {@inheritDoc} */
+       public void setSelection(ISelection selection) {
+               this.selection = selection;
+               
+               // cancel previous selection setting
+               if(job != null){
+                       job.cancel();
+                       job = null;
+               }
+               
+               if(job == null){
+                       final SelectionChangedEvent selectionChangedEvent = new SelectionChangedEvent(this, selection);
+                       final Display display = Display.getCurrent();
+                       job = new Job("Setting Selection"){
+       
+                               @Override
+                               protected IStatus run(IProgressMonitor monitor) {
+                                       monitor.beginTask("Setting Selection", 10);
+                                       
+                                       if(!monitor.isCanceled()){
+                                               display.asyncExec(new Runnable() {
+                                        
+                                                       public void run() {
+                                                               fireSelectionChanged(selectionChangedEvent);
+                                                       }
+                                               });
+                                       }
+                                       
+                                       return Status.OK_STATUS;
+                               }
+                               
+                       };
+                       
+                       job.setPriority(Job.DECORATE);
+                       job.schedule();
+               }
+               
+       }
+
+       private void fireSelectionChanged(final SelectionChangedEvent event) {
+               
+               Object[] listeners = selectionChangedListeners.getListeners();
+               for (int i = 0; i < listeners.length; ++i) {
+                       final ISelectionChangedListener l = (ISelectionChangedListener) listeners[i];
+                       SafeRunnable.run(new SafeRunnable() {
+                               public void run() {
+                                       l.selectionChanged(event);
+                               }
+                       });
+               }
+       }
+}