Merge branch 'release/5.8.0'
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / io / e4 / out / owl / OwlTermExportComposite.java
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/out/owl/OwlTermExportComposite.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/out/owl/OwlTermExportComposite.java
new file mode 100644 (file)
index 0000000..3b6f100
--- /dev/null
@@ -0,0 +1,85 @@
+/**
+* Copyright (C) 2019 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.io.e4.out.owl;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
+
+import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermSorter;
+import eu.etaxonomy.taxeditor.editor.definedterm.FeatureTreeViewerComparator;
+import eu.etaxonomy.taxeditor.editor.definedterm.RootElementsOnlyTreeContentProvider;
+import eu.etaxonomy.taxeditor.editor.definedterm.TermDtoLabelProvider;
+import eu.etaxonomy.taxeditor.featuretree.FeatureTreeLabelProvider;
+import eu.etaxonomy.taxeditor.model.ImageResources;
+import eu.etaxonomy.taxeditor.preference.wizard.CheckBoxTreeComposite;
+
+/**
+ * @author pplitzner
+ * @since May 23, 2019
+ *
+ */
+public class OwlTermExportComposite extends Composite {
+
+    private CheckBoxTreeComposite selectVocabularyComposite;
+    private CheckBoxTreeComposite selectFeatureTreeComposite;
+    private Text txtExportDirectory;
+    private Button btnSelectDirectory;
+
+    public OwlTermExportComposite(Composite parent, int style) {
+        super(parent, style);
+        setLayout(new GridLayout(2, false));
+
+        GridData layoutData = new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1);
+        layoutData.heightHint = 200;
+        selectVocabularyComposite = new CheckBoxTreeComposite(this, new RootElementsOnlyTreeContentProvider(), new TermDtoLabelProvider(), SWT.NONE);
+        selectVocabularyComposite.setAllowTopLevelSelection(true);
+        selectVocabularyComposite.getViewer().setComparator(new DefinedTermSorter());
+        selectVocabularyComposite.setLayoutData(layoutData);
+
+        selectFeatureTreeComposite = new CheckBoxTreeComposite(this, new RootElementsOnlyTreeContentProvider(), new FeatureTreeLabelProvider(), SWT.NONE);
+        selectFeatureTreeComposite.setAllowTopLevelSelection(true);
+        selectFeatureTreeComposite.getViewer().setComparator(new FeatureTreeViewerComparator());
+        selectFeatureTreeComposite.setLayoutData(layoutData);
+
+        txtExportDirectory = new Text(this, style);
+        txtExportDirectory.setEditable(false);
+        txtExportDirectory.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
+
+        btnSelectDirectory = new Button(this, style);
+        btnSelectDirectory.setImage(ImageResources.getImage(ImageResources.BROWSE_ICON));
+        btnSelectDirectory.setToolTipText("Choose export directory");
+        btnSelectDirectory.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false));
+
+    }
+
+    Text getTxtExportDirectory() {
+        return txtExportDirectory;
+    }
+
+    Button getBtnSelectDirectory() {
+        return btnSelectDirectory;
+    }
+
+    CheckBoxTreeComposite getSelectFeatureTreeComposite() {
+        return selectFeatureTreeComposite;
+    }
+
+    CheckBoxTreeComposite getSelectVocabularyComposite() {
+        return selectVocabularyComposite;
+    }
+
+    String getExportDirectory(){
+        return txtExportDirectory.getText();
+    }
+
+}