Check in of new files before trying to add databinding.
authorp.ciardelli <p.ciardelli@localhost>
Mon, 19 Nov 2007 15:15:33 +0000 (15:15 +0000)
committerp.ciardelli <p.ciardelli@localhost>
Mon, 19 Nov 2007 15:15:33 +0000 (15:15 +0000)
.gitattributes
eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/model/NameTreeContentProvider.java [new file with mode: 0644]
eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/model/TaxonList.java [new file with mode: 0644]
eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/view/TaxonomicTreeViewer.java [new file with mode: 0644]

index a1828c897f38c6d285fd82825afafad1c86884ca..23308a0d9e2c6ce3f6b61cc63e9410cf1270ec04 100644 (file)
@@ -177,6 +177,8 @@ eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/pro
 eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/controller/OpenNameEditorAction.java -text
 eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/controller/SaveNameAction.java -text
 eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/model/NameEditorInput.java -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/model/NameTreeContentProvider.java -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/model/TaxonList.java -text
 eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/view/CarduusEditorView.java -text
 eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/view/EditNameProperties.java -text
 eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/view/EmptyEditorView.java -text
@@ -188,6 +190,7 @@ eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/pro
 eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/view/NameEditorView.java -text
 eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/view/NameListView.java -text
 eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/view/PilosellaEditorView.java -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/view/TaxonomicTreeViewer.java -text
 eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/view/UndoView.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/.classpath -text
 eclipseprojects/eu.etaxonomy.taxeditor/.project -text
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/model/NameTreeContentProvider.java b/eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/model/NameTreeContentProvider.java
new file mode 100644 (file)
index 0000000..f3c2773
--- /dev/null
@@ -0,0 +1,24 @@
+package eu.etaxonomy.taxeditor.prototype2.model;\r
+\r
+import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;\r
+import org.eclipse.jface.viewers.ITreeContentProvider;\r
+\r
+public class NameTreeContentProvider extends ObservableListContentProvider \r
+               implements ITreeContentProvider {\r
+\r
+       public Object[] getChildren(Object parentElement) {\r
+               // TODO Auto-generated method stub\r
+               return null;\r
+       }\r
+\r
+       public Object getParent(Object element) {\r
+               // TODO Auto-generated method stub\r
+               return null;\r
+       }\r
+\r
+       public boolean hasChildren(Object element) {\r
+               // TODO Auto-generated method stub\r
+               return false;\r
+       }\r
+\r
+}\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/model/TaxonList.java b/eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/model/TaxonList.java
new file mode 100644 (file)
index 0000000..a0bc9f3
--- /dev/null
@@ -0,0 +1,61 @@
+package eu.etaxonomy.taxeditor.prototype2.model;\r
+\r
+import java.beans.PropertyChangeListener;\r
+import java.beans.PropertyChangeSupport;\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+import eu.etaxonomy.cdm.model.name.TaxonName;\r
+\r
+public class TaxonList {\r
+\r
+    private List<TaxonName>taxonList = new ArrayList<TaxonName>();\r
+       \r
+       public void add(TaxonName tn) {\r
+       this.taxonList.add(tn);\r
+       firePropertyChange("taxonList", null, null); //$NON-NLS-1$\r
+       }\r
+    \r
+    public void remove(TaxonName tn) {\r
+        this.taxonList.remove(tn);\r
+        firePropertyChange("taxonList", null, null); //$NON-NLS-1$\r
+    }\r
+\r
+    public TaxonName[] toArray() {\r
+        return (TaxonName[]) this.taxonList.toArray(new TaxonName[this.taxonList.size()]);\r
+    }\r
+\r
+       public List<TaxonName> getTaxonList() {\r
+               return taxonList;\r
+       }\r
+\r
+       public void setTaxonList(List<TaxonName> taxonList) {\r
+               this.taxonList = taxonList;\r
+       }\r
+       \r
+       protected final PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);\r
+       public void addPropertyChangeListener(PropertyChangeListener listener) {\r
+               propertyChangeSupport.addPropertyChangeListener(listener);\r
+       }\r
+\r
+       public void addPropertyChangeListener(String propertyName,\r
+                       PropertyChangeListener listener) {\r
+               propertyChangeSupport.addPropertyChangeListener(propertyName, listener);\r
+       }\r
+\r
+       public void removePropertyChangeListener(PropertyChangeListener listener) {\r
+               propertyChangeSupport.removePropertyChangeListener(listener);\r
+       }\r
+\r
+       public void removePropertyChangeListener(String propertyName,\r
+                       PropertyChangeListener listener) {\r
+               propertyChangeSupport.removePropertyChangeListener(propertyName,\r
+                               listener);\r
+       }\r
+\r
+       protected void firePropertyChange(String propertyName, Object oldValue,\r
+                       Object newValue) {\r
+               propertyChangeSupport.firePropertyChange(propertyName, oldValue,\r
+                               newValue);\r
+       }\r
+}\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/view/TaxonomicTreeViewer.java b/eclipseprojects/eu.etaxonomy.taxeditor.prototype2/src/eu/etaxonomy/taxeditor/prototype2/view/TaxonomicTreeViewer.java
new file mode 100644 (file)
index 0000000..baa9725
--- /dev/null
@@ -0,0 +1,50 @@
+package eu.etaxonomy.taxeditor.prototype2.view;\r
+\r
+import org.eclipse.core.databinding.DataBindingContext;\r
+import org.eclipse.core.databinding.beans.BeansObservables;\r
+import org.eclipse.core.databinding.observable.Realm;\r
+import org.eclipse.core.databinding.observable.list.IObservableList;\r
+import org.eclipse.core.databinding.observable.map.IObservableMap;\r
+import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;\r
+import org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider;\r
+import org.eclipse.jface.viewers.TreeViewer;\r
+import org.eclipse.swt.widgets.Composite;\r
+\r
+import eu.etaxonomy.cdm.model.name.TaxonName;\r
+import eu.etaxonomy.taxeditor.prototype2.Activator;\r
+import eu.etaxonomy.taxeditor.prototype2.model.NameTreeContentProvider;\r
+\r
+/**\r
+ * \r
+ * Tree viewer which shows TaxonList in taxonomic tree form\r
+ *   and responds to events within individual taxa\r
+ * \r
+ * @author p.ciardelli\r
+ *\r
+ */\r
+public class TaxonomicTreeViewer extends TreeViewer {\r
+\r
+       public TaxonomicTreeViewer(Composite parent) {\r
+               super(parent);\r
+               initDataBindings();\r
+       }\r
+\r
+       protected DataBindingContext initDataBindings() {\r
+               //\r
+               ObservableListContentProvider viewerContentProviderList = new NameTreeContentProvider();\r
+               this.setContentProvider(viewerContentProviderList);\r
+               //\r
+               IObservableMap[] viewerLabelProviderMaps = BeansObservables.observeMaps(viewerContentProviderList.getKnownElements(), \r
+                               TaxonName.class, new String[]{"name"});\r
+               this.setLabelProvider(new ObservableMapLabelProvider(viewerLabelProviderMaps));\r
+               //\r
+               IObservableList olObjectListObserveList = BeansObservables.observeList(Realm.getDefault(), \r
+                               Activator.getDefault().getTaxonList(), "taxonList");\r
+               this.setInput(olObjectListObserveList);         \r
+               DataBindingContext bindingContext = new DataBindingContext();\r
+               //\r
+               //\r
+               return bindingContext;\r
+       }\r
+       \r
+}\r