- added option to toggle the delete configurator parameters in taxon deletion dialog...
authorPatric Plitzner <p.plitzner@bgbm.org>
Tue, 17 Feb 2015 08:51:28 +0000 (08:51 +0000)
committerPatric Plitzner <p.plitzner@bgbm.org>
Tue, 17 Feb 2015 08:51:28 +0000 (08:51 +0000)
.gitattributes
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/DeleteConfiguratorComposite.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/DeleteConfiguratorDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/DeleteTaxonConfiguratorDialog.java

index dc32f59a77b8194b37d0c3d54cc980490a350e43..4e918641b49f455e88a3a53c6d60f3c9ba43b53f 100644 (file)
@@ -1410,6 +1410,7 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/bar/Authent
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EnumComboElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/TermComboElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/DefaultLanguageDialog.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/DeleteConfiguratorComposite.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/DeleteConfiguratorDialog.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/DeleteTaxonConfiguratorDialog.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/LoginDialog.java -text
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/DeleteConfiguratorComposite.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/DeleteConfiguratorComposite.java
new file mode 100644 (file)
index 0000000..5f78392
--- /dev/null
@@ -0,0 +1,93 @@
+// $Id$
+/**
+* Copyright (C) 2015 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.ui.dialog;
+
+import org.eclipse.core.databinding.DataBindingContext;
+import org.eclipse.core.databinding.beans.PojoProperties;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.DisposeEvent;
+import org.eclipse.swt.events.DisposeListener;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.forms.events.ExpansionEvent;
+import org.eclipse.ui.forms.events.IExpansionListener;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.Section;
+
+import eu.etaxonomy.cdm.api.service.config.TaxonBaseDeletionConfigurator;
+
+/**
+ * @author pplitzner
+ * @date Feb 16, 2015
+ *
+ */
+public class DeleteConfiguratorComposite extends Composite implements IExpansionListener{
+    private final DataBindingContext m_bindingContext;
+
+    private final FormToolkit toolkit = new FormToolkit(Display.getCurrent());
+    private TaxonBaseDeletionConfigurator configurator = null;
+    private final Button btnDeleteTaxonName;
+
+    /**
+     * Create the composite.
+     * @param parent
+     * @param style
+     */
+    public DeleteConfiguratorComposite(TaxonBaseDeletionConfigurator configurator, final Composite parent, int style) {
+        super(parent, SWT.NONE);
+        this.configurator = configurator;
+
+        addDisposeListener(new DisposeListener() {
+            @Override
+            public void widgetDisposed(DisposeEvent e) {
+                toolkit.dispose();
+            }
+        });
+        toolkit.paintBordersFor(this);
+        setLayout(new FillLayout(SWT.HORIZONTAL));
+
+        Section sctnConfigure = toolkit.createSection(this, Section.CLIENT_INDENT | Section.TWISTIE);
+        sctnConfigure.addExpansionListener(this);
+        sctnConfigure.setBackground(getBackground());
+        toolkit.paintBordersFor(sctnConfigure);
+        sctnConfigure.setText("Configure");
+
+        btnDeleteTaxonName = new Button(sctnConfigure, SWT.CHECK);
+        sctnConfigure.setClient(btnDeleteTaxonName);
+        btnDeleteTaxonName.setText("Delete Taxon Name");
+        m_bindingContext = initDataBindings();
+
+    }
+    protected DataBindingContext initDataBindings() {
+        DataBindingContext bindingContext = new DataBindingContext();
+        //
+        IObservableValue observeSelectionBtnDeleteTaxonNameObserveWidget = WidgetProperties.selection().observe(btnDeleteTaxonName);
+        IObservableValue deleteNameIfPossibleConfiguratorObserveValue = PojoProperties.value("deleteNameIfPossible").observe(configurator);
+        bindingContext.bindValue(observeSelectionBtnDeleteTaxonNameObserveWidget, deleteNameIfPossibleConfiguratorObserveValue, null, null);
+        //
+        return bindingContext;
+    }
+
+    public Button getBtnDeleteTaxonName() {
+        return btnDeleteTaxonName;
+    }
+
+    @Override
+    public void expansionStateChanged(ExpansionEvent e) {
+        getShell().setSize(getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT));
+    }
+    @Override
+    public void expansionStateChanging(ExpansionEvent e) {
+    }
+}
index 843ff14fbe8ddc9a69cc850e454dc833f7e28e19..3a8cbf46e80c32e3e855d25a7351f494c3bfb7f0 100644 (file)
@@ -14,7 +14,6 @@ import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Shell;
 
 import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
@@ -26,7 +25,7 @@ import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
  * @date Jan 28, 2015
  *
  */
-public abstract class DeleteConfiguratorDialog extends MessageDialog implements Listener{
+public abstract class DeleteConfiguratorDialog extends MessageDialog{
 
     public DeleteConfiguratorDialog(Shell parentShell, String dialogTitle,
             Image dialogTitleImage, String dialogMessage, int dialogImageType, String[] dialogButtonLabels, int defaultIndex) {
@@ -40,13 +39,9 @@ public abstract class DeleteConfiguratorDialog extends MessageDialog implements
     protected Control createDialogArea(Composite parent) {
         Composite composite = (Composite) super.createDialogArea(parent);
 
-        createCheckBoxes(composite);
-
         return composite;
     }
 
-    protected abstract void createCheckBoxes(Composite parent);
-
     /**
      * @param kind
      * @return
index e7a822cf59c9c7e16081190ee71e39cf755b801c..9ad0e951cabf01ff5542c076fc629ace6ab374f2 100644 (file)
 package eu.etaxonomy.taxeditor.ui.dialog;
 
 import org.apache.log4j.Logger;
-import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Shell;
 
 import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;
@@ -30,7 +28,6 @@ public class DeleteTaxonConfiguratorDialog extends DeleteConfiguratorDialog {
     private final Logger logger = Logger.getLogger(DeleteTaxonConfiguratorDialog.class);
 
     private final TaxonDeletionConfigurator configurator;
-    private Button btnDeleteName;
 
     /**
      * @param configurator
@@ -49,24 +46,12 @@ public class DeleteTaxonConfiguratorDialog extends DeleteConfiguratorDialog {
     }
 
     /* (non-Javadoc)
-     * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
+     * @see org.eclipse.jface.dialogs.MessageDialog#createCustomArea(org.eclipse.swt.widgets.Composite)
      */
     @Override
-    public void handleEvent(Event event) {
-        if(event.widget==btnDeleteName){
-            configurator.setDeleteNameIfPossible(btnDeleteName.getSelection());
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.taxeditor.ui.dialog.DeleteConfiguratorDialog#createCheckBoxes()
-     */
-    @Override
-    protected void createCheckBoxes(Composite parent) {
-        btnDeleteName = new Button(parent, SWT.CHECK);
-        btnDeleteName.setText("Delete taxon name if possible");
-        btnDeleteName.addListener(SWT.Selection, this);
-        btnDeleteName.setSelection(configurator.isDeleteNameIfPossible());
+    protected Control createCustomArea(Composite parent) {
+        DeleteConfiguratorComposite composite = new DeleteConfiguratorComposite(configurator, parent, NONE);
+        return composite;
     }
 
     public static boolean openConfirmWithConfigurator(TaxonDeletionConfigurator configurator, Shell parent, String title, String message) {
@@ -74,4 +59,12 @@ public class DeleteTaxonConfiguratorDialog extends DeleteConfiguratorDialog {
         return dialog.open() == 0;
     }
 
+    /* (non-Javadoc)
+     * @see org.eclipse.jface.dialogs.Dialog#isResizable()
+     */
+    @Override
+    protected boolean isResizable() {
+        return true;
+    }
+
 }