ref #7086 Initialize UI elements with WS params
authorPatrick Plitzner <p.plitzner@bgbm.org>
Thu, 30 Nov 2017 15:54:39 +0000 (16:54 +0100)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Thu, 30 Nov 2017 15:54:39 +0000 (16:54 +0100)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/workingSet/WorkingSetComposite.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/workingSet/WorkingSetEditor.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/TermUuidComboViewer.java

index e1df0fd2eaf1a42a213d714210c76acfb052862a..b4d3f5f77bed8ccb71091803f3186c78ed1b3fe4 100644 (file)
@@ -11,10 +11,11 @@ package eu.etaxonomy.taxeditor.editor.workingSet;
 import java.util.List;
 
 import org.eclipse.jface.viewers.ITreeSelection;
+import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.layout.FillLayout;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
@@ -28,6 +29,7 @@ import eu.etaxonomy.cdm.api.service.IClassificationService;
 import eu.etaxonomy.cdm.model.common.TermType;
 import eu.etaxonomy.cdm.model.description.FeatureTree;
 import eu.etaxonomy.cdm.model.location.NamedArea;
+import eu.etaxonomy.cdm.model.name.Rank;
 import eu.etaxonomy.cdm.model.taxon.Classification;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
 import eu.etaxonomy.taxeditor.featuretree.e4.FeatureTreeEditorComposite;
@@ -49,6 +51,7 @@ public class WorkingSetComposite extends Composite {
     private FeatureTreeEditorComposite featureTreeEditorComposite;
     private TreeViewer taxonNodeTree;
     private NamedArea area;
+    private Label lblAreaLabel;
 
     public WorkingSetComposite(Composite parent, int style) {
         super(parent, style);
@@ -103,27 +106,22 @@ public class WorkingSetComposite extends Composite {
         composite_1.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
         composite_1.setLayout(new GridLayout(2, false));
 
-        Label lblNewLabel_5 = new Label(composite_1, SWT.NONE);
-        lblNewLabel_5.setText("New Label");
+        lblAreaLabel = new Label(composite_1, SWT.NONE);
+        lblAreaLabel.setText("New Label");
 
 
         Button btnNewButton = new Button(composite_1, SWT.NONE);
         btnNewButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1));
         btnNewButton.setText("Choose");
-        btnNewButton.addSelectionListener(new SelectionListener() {
-
+        btnNewButton.addSelectionListener(new SelectionAdapter() {
             @Override
             public void widgetSelected(SelectionEvent e) {
-                area = NamedAreaSelectionDialog.select(parent.getShell(), null, null);
-                lblNewLabel_5.setText(area.getLabel());
+                NamedArea area = NamedAreaSelectionDialog.select(parent.getShell(), null, null);
+                setArea(area);
             }
 
-            @Override
-            public void widgetDefaultSelected(SelectionEvent e) {
-            }
         });
 
-
     }
 
     @Override
@@ -133,15 +131,28 @@ public class WorkingSetComposite extends Composite {
     public Text getTxt_label() {
         return txtWorkingSetLabel;
     }
-    public TermUuidComboViewer getComboRankMin() {
+
+    public TermUuidComboViewer getRankMin() {
         return comboRankMin;
     }
-    public TermUuidComboViewer getComboRankMax() {
+    public TermUuidComboViewer getRankMax() {
         return comboRankMax;
     }
+
+    public void setRankMin(Rank min) {
+        comboRankMin.setTerm(min);
+    }
+    public void setRankMax(Rank max) {
+        comboRankMax.setTerm(max);
+    }
+
     public FeatureTree getCharacters(){
         return featureTreeEditorComposite.getFeatureTree();
     }
+    public void setCharacters(FeatureTree characters) {
+        featureTreeEditorComposite.setSelectedTree(characters, null);
+    }
+
     public TaxonNode getTaxonNode(){
         ITreeSelection selection = (ITreeSelection) taxonNodeTree.getSelection();
         if(selection!=null && selection.getFirstElement() instanceof TaxonNode){
@@ -149,7 +160,15 @@ public class WorkingSetComposite extends Composite {
         }
         return null;
     }
+    public void setTaxonNode(TaxonNode taxonNode){
+        taxonNodeTree.setSelection(new StructuredSelection(taxonNode), true);
+    }
+
     public NamedArea getArea(){
         return area;
     }
+    public void setArea(NamedArea area) {
+        this.area = area;
+        lblAreaLabel.setText(area.getLabel());
+    }
 }
index f8c606b5712e1f74bf099bf811c5a5e2efcf000a..251eba497838f2e31131868a00406f8df18bbeab 100644 (file)
@@ -70,6 +70,19 @@ public class WorkingSetEditor implements IE4SavablePart{
     public void init(WorkingSet workingSet) {
         this.workingSet = workingSet;
         composite.getTxt_label().setText(workingSet.getLabel());
+        composite.setCharacters(workingSet.getDescriptiveSystem());
+        Rank maxRank = workingSet.getMaxRank();
+        if(maxRank!=null){
+            composite.setRankMax(maxRank);
+        }
+        Rank minRank = workingSet.getMinRank();
+        if(minRank!=null){
+            composite.setRankMin(minRank);
+        }
+        Set<NamedArea> geoFilter = workingSet.getGeoFilter();
+        if(geoFilter!=null && !geoFilter.isEmpty()){
+            composite.setArea(geoFilter.iterator().next());
+        }
     }
 
     /**
@@ -85,12 +98,12 @@ public class WorkingSetEditor implements IE4SavablePart{
         }
         TaxonNode taxonNode = composite.getTaxonNode();
         FeatureTree characters = composite.getCharacters();
-        DefinedTermBase rankMaxSelection = composite.getComboRankMax().getSelection();
+        DefinedTermBase rankMaxSelection = composite.getRankMax().getSelection();
         Rank rankMax = null;
         if(rankMaxSelection instanceof Rank){
             rankMax = (Rank) rankMaxSelection;
         }
-        DefinedTermBase rankMinSelection = composite.getComboRankMin().getSelection();
+        DefinedTermBase rankMinSelection = composite.getRankMin().getSelection();
         Rank rankMin = null;
         if(rankMinSelection instanceof Rank){
             rankMin = (Rank) rankMinSelection;
index ed9ed0c291fc8fd273cd4962bb8e3fc0ab6dbf4f..6966203e44a2a15cc6bde80ea83922dd010b86a2 100644 (file)
@@ -46,4 +46,9 @@ public class TermUuidComboViewer extends Composite{
         return null;
     }
 
+    public void setTerm(DefinedTermBase term){
+        int index = viewer.getCCombo().indexOf(term.getLabel());
+        viewer.getCCombo().select(index);
+    }
+
 }