ref #8769: structure the configuration elements - add source
authorKatja Luther <k.luther@bgbm.org>
Tue, 24 Nov 2020 13:58:10 +0000 (14:58 +0100)
committerKatja Luther <k.luther@bgbm.org>
Tue, 24 Nov 2020 13:58:10 +0000 (14:58 +0100)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/AbcdImportConfiguratorWizardPage.java

index 1b696f7b9a738cd120f918987101b63c59eb7421..81449f2ba9c3ffe3aa0697eb993e5967e322ab6a 100644 (file)
@@ -32,9 +32,11 @@ import org.eclipse.swt.widgets.Text;
 import org.eclipse.wb.swt.ResourceManager;
 
 import eu.etaxonomy.cdm.api.service.IClassificationService;
+import eu.etaxonomy.cdm.api.service.IReferenceService;
 import eu.etaxonomy.cdm.io.specimen.abcd206.in.Abcd206ImportConfigurator;
 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
 import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
+import eu.etaxonomy.cdm.model.reference.Reference;
 import eu.etaxonomy.cdm.model.taxon.Classification;
 import eu.etaxonomy.taxeditor.databaseAdmin.wizard.AbstractPreferenceWizard;
 import eu.etaxonomy.taxeditor.l10n.Messages;
@@ -61,6 +63,10 @@ public class AbcdImportConfiguratorWizardPage extends AbstractPreferenceWizard i
     private Button btnBrowseClassification;
     private Button btnClear;
 
+    private Text textSource;
+    private Button btnBrowseSource;
+    private Button btnClearSource;
+
        private Abcd206ImportConfigurator abcdImportConfigurator;
 
        private List<URI> biocaseProvider = new ArrayList<>();
@@ -122,14 +128,14 @@ public class AbcdImportConfiguratorWizardPage extends AbstractPreferenceWizard i
         //gridLayout.makeColumnsEqualWidth=true;
         composite.setLayout(gridLayout);
 
-               Composite classificationComp = new Composite(composite, SWT.NULL);
-               classificationComp.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 2, 1));
-               classificationComp.setLayout(new GridLayout(4, false));
+               Composite classificationAndSourceComp = new Composite(composite, SWT.NULL);
+               classificationAndSourceComp.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 2, 1));
+               classificationAndSourceComp.setLayout(new GridLayout(4, false));
 
-               Label labelClassification = new Label(classificationComp, SWT.TOP);
+               Label labelClassification = new Label(classificationAndSourceComp, SWT.TOP);
                labelClassification.setText("Classification");
 //             labelClassification.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 3, 1));
-        textClassification = new Text(classificationComp, SWT.BORDER);
+        textClassification = new Text(classificationAndSourceComp, SWT.BORDER);
         textClassification.setEnabled(false);
         textClassification.setLayoutData(new GridData(SWT.FILL, SWT.LEFT, true, true));
         if (abcdImportConfigurator.getClassificationUuid() != null){
@@ -140,7 +146,7 @@ public class AbcdImportConfiguratorWizardPage extends AbstractPreferenceWizard i
                 textClassification.setText(classification.getTitleCache());
             }
         }
-        btnBrowseClassification = new Button(classificationComp, SWT.NONE);
+        btnBrowseClassification = new Button(classificationAndSourceComp, SWT.NONE);
         btnBrowseClassification.setImage(ResourceManager.getPluginImage("eu.etaxonomy.taxeditor.store", "icons/open.gif"));
         btnBrowseClassification.addSelectionListener(new SelectionAdapter() {
             @Override
@@ -153,7 +159,7 @@ public class AbcdImportConfiguratorWizardPage extends AbstractPreferenceWizard i
                 }
             }
         });
-        btnClear = new Button(classificationComp, SWT.NONE);
+        btnClear = new Button(classificationAndSourceComp, SWT.NONE);
         btnClear.setImage(ResourceManager.getPluginImage("eu.etaxonomy.taxeditor.store", "icons/trash.gif"));
         btnClear.addSelectionListener(new SelectionAdapter() {
             @Override
@@ -163,6 +169,8 @@ public class AbcdImportConfiguratorWizardPage extends AbstractPreferenceWizard i
             }
         });
 
+
+
         Button checkBoxMoveToDefaultClassification = new Button(composite, SWT.CHECK);
         gridData = new GridData();
         gridData.horizontalAlignment = GridData.FILL_HORIZONTAL;
@@ -448,6 +456,54 @@ public class AbcdImportConfiguratorWizardPage extends AbstractPreferenceWizard i
         checkBoxMediaSpecimen.setLayoutData(gridData);
         GridDataFactory.fillDefaults();
 
+        Label labelSource = new Label(composite, SWT.NONE);
+        labelSource.setText("Source");
+        labelSource.setFont(font);
+        gridData = new GridData();
+        gridData.horizontalAlignment = GridData.FILL;
+        gridData.grabExcessHorizontalSpace=true;
+        gridData.horizontalSpan = 2;
+        labelSource.setLayoutData(gridData);
+
+        Composite sourceComp = new Composite(composite, SWT.NULL);
+        sourceComp.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 2, 1));
+        sourceComp.setLayout(new GridLayout(4, false));
+        Label labelSourceRef = new Label(sourceComp, SWT.TOP);
+        labelSourceRef.setText("Source");
+//      labelClassification.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 3, 1));
+        textSource = new Text(sourceComp, SWT.BORDER);
+        textSource.setEnabled(false);
+        textSource.setLayoutData(new GridData(SWT.FILL, SWT.LEFT, true, true));
+        if (abcdImportConfigurator.getSourceRefUuid() != null){
+            if (abcdImportConfigurator.getSourceReferenceTitle() != null){
+                textSource.setText(abcdImportConfigurator.getSourceReferenceTitle());
+            }else{
+                Reference sourceRef = CdmStore.getService(IReferenceService.class).load(abcdImportConfigurator.getSourceRefUuid());
+                textClassification.setText(sourceRef.getTitleCache());
+            }
+        }
+        btnBrowseSource = new Button(sourceComp, SWT.NONE);
+        btnBrowseSource.setImage(ResourceManager.getPluginImage("eu.etaxonomy.taxeditor.store", "icons/open.gif"));
+        btnBrowseSource.addSelectionListener(new SelectionAdapter() {
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                Reference sourceRef = SelectionDialogFactory.getSelectionFromDialog(Reference.class,parent.getShell(), null, null);
+                if(sourceRef!=null){
+                    textSource.setText(sourceRef.getTitleCache());
+                    abcdImportConfigurator.setSourceRefUuid(sourceRef.getUuid());
+                    abcdImportConfigurator.setSourceReferenceTitle(sourceRef.getTitleCache());
+                }
+            }
+        });
+        btnClear = new Button(sourceComp, SWT.NONE);
+        btnClear.setImage(ResourceManager.getPluginImage("eu.etaxonomy.taxeditor.store", "icons/trash.gif"));
+        btnClear.addSelectionListener(new SelectionAdapter() {
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                abcdImportConfigurator.setClassificationUuid(null);
+                textClassification.setText("");
+            }
+        });
 
                setControl(composite);
        }