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
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
--- /dev/null
+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
--- /dev/null
+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
--- /dev/null
+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