3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
11 package eu
.etaxonomy
.taxeditor
.forms
.selection
;
13 import org
.eclipse
.core
.runtime
.IStatus
;
14 import org
.eclipse
.jface
.wizard
.Wizard
;
15 import org
.eclipse
.jface
.wizard
.WizardDialog
;
16 import org
.eclipse
.swt
.events
.SelectionEvent
;
17 import org
.eclipse
.swt
.events
.SelectionListener
;
19 import eu
.etaxonomy
.cdm
.hibernate
.HibernateProxyHelper
;
20 import eu
.etaxonomy
.cdm
.model
.agent
.Institution
;
21 import eu
.etaxonomy
.cdm
.model
.agent
.Person
;
22 import eu
.etaxonomy
.cdm
.model
.agent
.Team
;
23 import eu
.etaxonomy
.cdm
.model
.common
.IdentifiableEntity
;
24 import eu
.etaxonomy
.cdm
.model
.name
.NonViralName
;
25 import eu
.etaxonomy
.cdm
.model
.occurrence
.Collection
;
26 import eu
.etaxonomy
.cdm
.model
.occurrence
.DerivedUnitBase
;
27 import eu
.etaxonomy
.cdm
.model
.reference
.Reference
;
28 import eu
.etaxonomy
.taxeditor
.editor
.EditorUtil
;
29 import eu
.etaxonomy
.taxeditor
.forms
.AbstractCdmEntityWizardPage
;
30 import eu
.etaxonomy
.taxeditor
.forms
.CdmFormFactory
;
31 import eu
.etaxonomy
.taxeditor
.section
.agent
.InstitutionWizardPage
;
32 import eu
.etaxonomy
.taxeditor
.section
.agent
.PersonWizardPage
;
33 import eu
.etaxonomy
.taxeditor
.section
.agent
.TeamWizardPage
;
34 import eu
.etaxonomy
.taxeditor
.section
.name
.NonViralNameWizardPage
;
35 import eu
.etaxonomy
.taxeditor
.section
.occurrence
.CollectionWizardPage
;
36 import eu
.etaxonomy
.taxeditor
.section
.occurrence
.DerivedUnitFacadeWizardPage
;
37 import eu
.etaxonomy
.taxeditor
.section
.reference
.ReferenceWizardPage
;
40 * <p>EditFromSelectionWizard class.</p>
43 * @created Jun 1, 2010
46 public class EditFromSelectionWizard
extends Wizard
implements SelectionListener
{
48 private AbstractSelectionElement selectionElement
;
51 AbstractCdmEntityWizardPage page
;
54 * <p>Constructor for EditFromSelectionWizard.</p>
56 * @param selectionElement a {@link eu.etaxonomy.taxeditor.forms.selection.AbstractSelectionElement} object.
58 public EditFromSelectionWizard(AbstractSelectionElement selectionElement
){
59 this.selectionElement
= selectionElement
;
60 this.setWindowTitle("Edit Entity");
65 public void addPages() {
67 CdmFormFactory formFactory
= selectionElement
.getFormFactory();
68 IdentifiableEntity entity
= (IdentifiableEntity
) HibernateProxyHelper
.deproxy(selectionElement
.getEntity());
70 if(entity
instanceof Reference
){
71 page
= new ReferenceWizardPage(formFactory
, selectionElement
.getConversationHolder(), (Reference
) entity
);
73 else if(entity
instanceof Team
){
74 page
= new TeamWizardPage(formFactory
, selectionElement
.getConversationHolder(), (Team
) entity
);
76 else if(entity
instanceof Person
){
77 page
= new PersonWizardPage(formFactory
, selectionElement
.getConversationHolder(), (Person
) entity
);
79 else if(entity
instanceof NonViralName
){
80 page
= new NonViralNameWizardPage(formFactory
, selectionElement
.getConversationHolder(), (NonViralName
) entity
);
82 else if (entity
instanceof DerivedUnitBase
){
83 page
= new DerivedUnitFacadeWizardPage(formFactory
, selectionElement
.getConversationHolder(), (DerivedUnitBase
) entity
);
85 else if(entity
instanceof Collection
){
86 page
= new CollectionWizardPage(formFactory
, selectionElement
.getConversationHolder(), (Collection
) entity
);
88 else if(entity
instanceof Institution
){
89 page
= new InstitutionWizardPage(formFactory
, selectionElement
.getConversationHolder(), (Institution
) entity
);
92 EditorUtil
.warningDialog("Missing interface", this, "No detail element for current selection");
99 * @see org.eclipse.jface.wizard.Wizard#performFinish()
103 public boolean performFinish() {
109 public void widgetSelected(SelectionEvent e
) {
110 WizardDialog dialog
= new WizardDialog(selectionElement
.getShell(), this);
111 if(dialog
.open() == IStatus
.OK
){
112 selectionElement
.updateFromWizard();
117 public void widgetDefaultSelected(SelectionEvent e
) {}