From 2fcd92b450143bb79befc9229c024989b5936570 Mon Sep 17 00:00:00 2001
From: Patrick Plitzner
Date: Wed, 7 Oct 2015 07:11:13 +0200
Subject: [PATCH 1/1] Move derivative search view classes to taxeditor.editor
- adapted DerivateView
---
.../editor/view/derivate/DerivateView.java | 15 +
.../searchFilter/DerivateContentProvider.java | 144 +++++++
.../searchFilter/DerivateLabelProvider.java | 388 ++++++++++++++++++
.../searchFilter/DerivateSearchComposite.java | 131 ++++++
.../DerivateSearchCompositeController.java | 162 ++++++++
.../META-INF/MANIFEST.MF | 4 +-
6 files changed, 843 insertions(+), 1 deletion(-)
create mode 100644 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/searchFilter/DerivateContentProvider.java
create mode 100644 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/searchFilter/DerivateLabelProvider.java
create mode 100644 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/searchFilter/DerivateSearchComposite.java
create mode 100644 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/searchFilter/DerivateSearchCompositeController.java
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java
index ec05a6b1d..e754897f4 100644
--- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java
+++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java
@@ -38,6 +38,7 @@ import eu.etaxonomy.cdm.model.molecular.SingleRead;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.editor.Messages;
+import eu.etaxonomy.taxeditor.editor.view.derivate.searchFilter.DerivateSearchCompositeController;
import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData;
@@ -45,6 +46,7 @@ import eu.etaxonomy.taxeditor.model.IPartContentHasMedia;
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateContentProvider;
import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateLabelProvider;
@@ -78,6 +80,8 @@ public class DerivateView extends EditorPart implements IPartContentHasFactualDa
private DerivateContentProvider contentProvider;
+ private DerivateSearchCompositeController derivateSearchCompositeController;
+
/**
* Default constructor
*/
@@ -86,7 +90,18 @@ public class DerivateView extends EditorPart implements IPartContentHasFactualDa
@Override
public void createPartControl(Composite parent) {
+
+ parent.setLayout(LayoutConstants.LAYOUT());
+ parent.setLayoutData(LayoutConstants.FILL());
+
+ //---search and filter---
+ derivateSearchCompositeController = new DerivateSearchCompositeController(parent, this);
+ derivateSearchCompositeController.setEnabled(CdmStore.isActive());
+ derivateSearchCompositeController.setLayoutData(LayoutConstants.FILL_HORIZONTALLY());
+
+ //---tree viewer---
viewer = new TreeViewer(new Tree(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION));
+ viewer.getTree().setLayoutData(LayoutConstants.FILL());
contentProvider = new DerivateContentProvider();
viewer.setContentProvider(contentProvider);
labelProvider = new DerivateLabelProvider();
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/searchFilter/DerivateContentProvider.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/searchFilter/DerivateContentProvider.java
new file mode 100644
index 000000000..20b65e29e
--- /dev/null
+++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/searchFilter/DerivateContentProvider.java
@@ -0,0 +1,144 @@
+package eu.etaxonomy.taxeditor.editor.view.derivate.searchFilter;
+
+import java.util.ArrayList;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.TreeNode;
+import org.eclipse.jface.viewers.Viewer;
+
+import eu.etaxonomy.cdm.model.molecular.DnaSample;
+import eu.etaxonomy.cdm.model.molecular.Sequence;
+import eu.etaxonomy.cdm.model.molecular.SingleRead;
+import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;
+import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
+
+public class DerivateContentProvider implements ITreeContentProvider {
+
+ List rootNodes;
+
+ @Override
+ public void dispose() {
+ // TODO Auto-generated method stub
+
+ }
+
+ public List getRootElements() {
+ List elements = new ArrayList();
+
+ if(rootNodes != null) {
+ for(TreeNode node : rootNodes) {
+ elements.add((SpecimenOrObservationBase)node.getValue());
+ }
+ }
+ return elements;
+ }
+
+ @Override
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ }
+
+ @Override
+ public Object[] getElements(Object inputElement) {
+ rootNodes = new ArrayList();
+ if(inputElement instanceof Set){
+ for (Object o: (Set)inputElement) {
+ if(o instanceof SpecimenOrObservationBase){
+ SpecimenOrObservationBase> rootElement = (SpecimenOrObservationBase>)o;
+ if(rootElement!=null){
+ rootNodes.add(new TreeNode(rootElement));
+ }
+ }
+ }
+ }
+ return rootNodes.toArray();
+ }
+
+ @Override
+ public Object[] getChildren(Object element) {
+ TreeNode currentnode = null;
+ Object value = null;
+ if(element instanceof TreeNode){
+ currentnode = (TreeNode) element;
+ value = ((TreeNode) element).getValue();
+ }
+ Set