import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
import eu.etaxonomy.taxeditor.newWizard.IWizardPageListener;
import eu.etaxonomy.taxeditor.newWizard.NewTaxonNodeWizard;
+import eu.etaxonomy.taxeditor.newWizard.NewTaxonNodeWizardDialog;
/**
*
final NewTaxonNodeWizard wizard = new NewTaxonNodeWizard();
wizard.init(null, selection);
- final WizardDialog dialog = new WizardDialog(shell, wizard);
+ final WizardDialog dialog = new NewTaxonNodeWizardDialog(shell, wizard);
wizard.addWizardPageListener(new IWizardPageListener() {
@Override
public void close() {
private boolean openEmptyEditor;
private UUID generatedTaxonNodeUuid;
private IWizardPageListener wizardPageListener;
+ private boolean isOpenInEditor = false;
@Override
public void addPages() {
taxonNodePage = new TaxonNodeWizardPage(formFactory, getConversationHolder(), getEntity(), wizardPageListener, true);
-
addPage(taxonNodePage);
+
}
@Override
/**
- * <p>openInEditor</p>
+ * <p>
+ * openInEditor
+ * </p>
*
* @return a boolean.
*/
- public boolean openInEditor(){
- return taxonNodePage.openInEditor();
+ public boolean openInEditor() {
+ return isOpenInEditor ;
+ }
+
+ public void setOpenInEditor(boolean isOpenInEditor) {
+ this.isOpenInEditor = isOpenInEditor;
}
/**
this.wizardPageListener = wizardPageListener;
}
+
+
}
--- /dev/null
+/**
+* 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.newWizard;
+
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.wizard.IWizard;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * @author k.luther
+ * @since 23.01.2019
+ *
+ */
+public class NewTaxonNodeWizardDialog extends WizardDialog {
+
+ private Button finishAndOpen;
+ private IWizard newTaxonNodeWizard;
+ /**
+ * @param parentShell
+ * @param newWizard
+ */
+ public NewTaxonNodeWizardDialog(Shell parentShell, IWizard newWizard) {
+ super(parentShell, newWizard);
+ newTaxonNodeWizard = newWizard;
+ }
+
+ @Override
+ protected void createButtonsForButtonBar(Composite parent) {
+ finishAndOpen = createButton(parent, IDialogConstants.FINISH_ID,"Finish and Open", false);
+
+ finishAndOpen.addSelectionListener(new SelectionListener() {
+ /*
+ * @see SelectionListener.widgetSelected (SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ ((NewTaxonNodeWizard)newTaxonNodeWizard).setOpenInEditor(true);
+ finishPressed();
+ }
+ /*
+ * @see SelectionListener.widgetDefaultSelected(SelectionEvent)
+ */
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {
+
+ }
+ });
+ super.createButtonsForButtonBar(parent);
+ }
+
+ @Override
+ public void updateButtons() {
+
+ boolean canFinish = newTaxonNodeWizard.canFinish();
+
+ finishAndOpen.setEnabled(canFinish);
+
+ super.updateButtons();
+ // finishAndOpen is default unless it is disabled and next is enabled
+ if (canFinish) {
+ getShell().setDefaultButton(finishAndOpen);
+ }
+ }
+
+}
private TaxonNodeAgentRelationCollectionSection selectionNodeAgentRelation;
- private CheckboxElement checkbox_openInEditor;
+// private CheckboxElement checkbox_openInEditor;
private CheckboxElement checkbox_unplaced;
private MultilanguageTextElement multiLanguageTextExcludedNotes;
- private boolean openInEditor;
+// private boolean openInEditor;
private boolean complete;
selectionNodeAgentRelation.setEntity((TaxonNode)entity);
selectionNodeAgentRelation.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
}
- checkbox_openInEditor = formFactory.createCheckbox(formElement,
- "Open in Editor", true, style);
- setOpenInEditor(true);
+// checkbox_openInEditor = formFactory.createCheckbox(formElement,
+// "Open in Editor", true, style);
+// setOpenInEditor(true);
}
private void preFillTaxonName() {
complete = CdmUtils.isNotBlank(textNewTaxonName.getText());
}
- if (eventSource == checkbox_openInEditor) {
- setOpenInEditor(checkbox_openInEditor.getSelection());
- }
+// if (eventSource == checkbox_openInEditor) {
+// setOpenInEditor(checkbox_openInEditor.getSelection());
+// }
if (eventSource == selectionNodeAgentRelation){
boolean allComplete = true;
for (ICdmFormElement element : selectionNodeAgentRelation.getElements()){
return classification;
}
- public boolean isOpenInEditor() {
- return openInEditor;
- }
+// public boolean isOpenInEditor() {
+// return openInEditor;
+// }
public ITaxonTreeNode getParentTreeNode() {
return parentTreeNode;
}
}
- private void setOpenInEditor(boolean openInEditor) {
- this.openInEditor = openInEditor;
- }
+// private void setOpenInEditor(boolean openInEditor) {
+// this.openInEditor = openInEditor;
+// }
public String getTaxonName() {
return textNewTaxonName.getText();
private ParseHandler parseHandler;
+
/**
* <p>
* Constructor for TaxonNodeWizardPage.
return detailElement;
}
- /**
- * <p>
- * openInEditor
- * </p>
- *
- * @return a boolean.
- */
- public boolean openInEditor() {
- return ((TaxonNodeDetailElement) getDetailElement()).isOpenInEditor();
- }
- /** {@inheritDoc} */
+
+ /** {@inheritDoc} */
@Override
public void propertyChange(PropertyChangeEvent event) {
checkComplete();