fix #8642 Add tree editor for rank, NamedArea and PresenceAbsence
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / featuretree / e4 / FeatureTreeEditorComposite.java
index c89e67f89a84736c786440b40dc7d6389dfbe253..7bc710245fc286d6f97578ff323e82847a5b6e5d 100644 (file)
@@ -24,13 +24,12 @@ import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.swt.widgets.Tree;
 
 import eu.etaxonomy.cdm.model.term.DefinedTermBase;
+import eu.etaxonomy.cdm.model.term.TermTree;
 import eu.etaxonomy.cdm.model.term.TermType;
-import eu.etaxonomy.cdm.model.term.FeatureTree;
 import eu.etaxonomy.taxeditor.editor.definedterm.TermTransfer;
 import eu.etaxonomy.taxeditor.featuretree.FeatureNodeTransfer;
 import eu.etaxonomy.taxeditor.featuretree.FeatureTreeContentProvider;
@@ -38,16 +37,16 @@ import eu.etaxonomy.taxeditor.featuretree.FeatureTreeLabelProvider;
 import eu.etaxonomy.taxeditor.l10n.Messages;
 import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
 import eu.etaxonomy.taxeditor.model.ImageResources;
+import eu.etaxonomy.taxeditor.store.StoreUtil;
 import eu.etaxonomy.taxeditor.ui.dialog.selection.FeatureTreeSelectionDialog;
 
 /**
  * @author pplitzner
  * @since Jun 19, 2017
- *
  */
 public class FeatureTreeEditorComposite <T extends DefinedTermBase> extends Composite{
 
-    private FeatureTree<T> featureTree;
+    private TermTree<T> featureTree;
 
     private Label label_title;
     private Text text_title;
@@ -181,7 +180,7 @@ public class FeatureTreeEditorComposite <T extends DefinedTermBase> extends Comp
             btnOpenFeatureTree.addSelectionListener(new SelectionAdapter(){
                 @Override
                 public void widgetSelected(SelectionEvent e) {
-                    FeatureTree<T> tree = FeatureTreeSelectionDialog.select(getDisplay().getActiveShell(),
+                    TermTree<T> tree = FeatureTreeSelectionDialog.select(getDisplay().getActiveShell(),
                             null, termType);
                     if(tree!=null){
                         setSelectedTree(tree);
@@ -194,22 +193,13 @@ public class FeatureTreeEditorComposite <T extends DefinedTermBase> extends Comp
         }
     }
 
-    public void setSelectedTree(FeatureTree<T> featureTree) {
+    public void setSelectedTree(TermTree<T> featureTree) {
         this.featureTree = featureTree;
-
         viewer.setInput(featureTree);
-
-        Listener[] listeners = text_title.getListeners(SWT.Modify);
-        for (Listener listener : listeners) {
-            text_title.removeListener(SWT.Modify, listener);
-        }
-        text_title.setText(featureTree!=null?featureTree.getTitleCache():"");
-        for (Listener listener : listeners) {
-            text_title.addListener(SWT.Modify, listener);
-        }
+        StoreUtil.setTextWithoutModifyListeners(text_title, featureTree!=null?featureTree.getTitleCache():"");
     }
 
-    public FeatureTree<T> getFeatureTree() {
+    public TermTree<T> getFeatureTree() {
         return featureTree;
     }