Improved PrintPublisher Wizard; Integrated SpecimenCdmExcel import
[taxeditor.git] / eu.etaxonomy.taxeditor.printpublisher / src / main / java / eu / etaxonomy / taxeditor / printpublisher / wizard / SelectOptionsWizardPage.java
diff --git a/eu.etaxonomy.taxeditor.printpublisher/src/main/java/eu/etaxonomy/taxeditor/printpublisher/wizard/SelectOptionsWizardPage.java b/eu.etaxonomy.taxeditor.printpublisher/src/main/java/eu/etaxonomy/taxeditor/printpublisher/wizard/SelectOptionsWizardPage.java
new file mode 100644 (file)
index 0000000..a50c872
--- /dev/null
@@ -0,0 +1,136 @@
+// $Id$
+/**
+* Copyright (C) 2007 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.printpublisher.wizard;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * <p>OptionsWizardPage class.</p>
+ *
+ * @author n.hoffmann
+ * @created Jul 26, 2010
+ * @version 1.0
+ */
+public class SelectOptionsWizardPage extends AbstractPublishWizardPage 
+       implements SelectionListener, IHasPersistableSettings{
+
+       private static final String DIALOG_SETTING_PUBLISH_ENTIRE_BRANCHES = "dialogSettingPublishEntireBranch";
+       private static final String DIALOG_SETTING_DO_SYNONYMS = "dialogSettingDoSynonyms";
+       private static final String DIALOG_SETTING_DO_DESCRIPTIONS = "dialogSettingDoDescriptions";
+       private static final String DIALOG_SETTING_DO_IMAGES = "dialogSettingDoImages";
+       
+       private Button button_doSynonymy;
+       private Button button_doDescriptions;
+       private Button button_doImages;
+       private Button button_doPublishEntireBranches;
+       private Composite composite;
+       private Boolean doImages;
+       private Boolean doDescriptions;
+       private Boolean doSynonymy;
+       private Boolean entireBranches;
+
+       /**
+        * <p>Constructor for OptionsWizardPage.</p>
+        *
+        * @param pageName a {@link java.lang.String} object.
+        */
+       protected SelectOptionsWizardPage(String pageName) {
+               super(pageName);
+               setTitle("Select options");
+       }
+       
+       /** {@inheritDoc} */
+       @Override
+       public void createControl(Composite parent) {
+               
+               composite = new Composite(parent, SWT.NULL);
+               composite.setLayout(new GridLayout());
+               
+               button_doPublishEntireBranches = new Button(composite, SWT.CHECK);
+               button_doPublishEntireBranches.setText("Publish the entire branch for selected taxa (i.e. all taxonomically included taxa)");
+               button_doPublishEntireBranches.addSelectionListener(this);
+               
+               button_doSynonymy = new Button(composite, SWT.CHECK);
+               button_doSynonymy.setText("Publish Synonymy");
+               button_doSynonymy.addSelectionListener(this);
+               
+               button_doDescriptions = new Button(composite, SWT.CHECK);
+               button_doDescriptions.setText("Publish Descriptions");
+               button_doDescriptions.addSelectionListener(this);
+               
+               button_doImages = new Button(composite, SWT.CHECK);
+               button_doImages.setText("Publish Images (not supported yet)");
+               button_doImages.addSelectionListener(this);
+                               
+               loadSettings();
+               
+               setControl(composite);
+       }
+       
+       @Override
+       public void loadSettings() {
+               if(getDialogSettingValue(DIALOG_SETTING_PUBLISH_ENTIRE_BRANCHES) != null){
+                       button_doPublishEntireBranches.setSelection(getDialogSettingBooleanValue(DIALOG_SETTING_PUBLISH_ENTIRE_BRANCHES));
+               }else{
+                       button_doPublishEntireBranches.setSelection(getConfigurator().isDoPublishEntireBranches());
+               }
+               
+               if(getDialogSettingValue(DIALOG_SETTING_DO_SYNONYMS) != null){
+                       button_doSynonymy.setSelection(getDialogSettingBooleanValue(DIALOG_SETTING_DO_SYNONYMS));
+               }else{
+                       button_doSynonymy.setSelection(getConfigurator().isDoSynonymy());
+               }
+               
+               if(getDialogSettingValue(DIALOG_SETTING_DO_DESCRIPTIONS) != null){
+                       button_doDescriptions.setSelection(getDialogSettingBooleanValue(DIALOG_SETTING_DO_DESCRIPTIONS));
+               }else{
+                       button_doDescriptions.setSelection(getConfigurator().isDoDescriptions());
+               }
+               
+               if(getDialogSettingValue(DIALOG_SETTING_DO_IMAGES) != null){
+                       button_doImages.setSelection(getDialogSettingBooleanValue(DIALOG_SETTING_DO_IMAGES));
+               }else{
+                       button_doImages.setSelection(getConfigurator().isDoImages());
+               }
+               
+               // trigger selection
+               widgetSelected(null);
+       }
+
+       /** {@inheritDoc} */
+       @Override
+       public void widgetSelected(SelectionEvent e) {
+               entireBranches = button_doPublishEntireBranches.getSelection();
+               getConfigurator().setDoPublishEntireBranches(entireBranches);
+               putDialogSettingValue(DIALOG_SETTING_PUBLISH_ENTIRE_BRANCHES, entireBranches.toString());
+               
+               doSynonymy = button_doSynonymy.getSelection();
+               getConfigurator().setDoSynonymy(doSynonymy);
+               putDialogSettingValue(DIALOG_SETTING_DO_SYNONYMS, doSynonymy.toString());
+               
+               doDescriptions = button_doDescriptions.getSelection();
+               getConfigurator().setDoDescriptions(doDescriptions);
+               putDialogSettingValue(DIALOG_SETTING_DO_DESCRIPTIONS, doDescriptions.toString());
+               
+               doImages = button_doImages.getSelection();
+               getConfigurator().setDoImages(doImages);
+               putDialogSettingValue(DIALOG_SETTING_DO_IMAGES, doImages.toString());
+       }
+
+       /** {@inheritDoc} */
+       @Override
+       public void widgetDefaultSelected(SelectionEvent e) {}
+}