Project

General

Profile

« Previous | Next » 

Revision 86d58314

Added by Niels Hoffmann about 13 years ago

New wizards are not finishable when no data was entered

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeWizardPage.java
1 1
// $Id$
2 2
/**
3
* Copyright (C) 2007 EDIT
4
* European Distributed Institute of Taxonomy 
5
* http://www.e-taxonomy.eu
6
* 
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.
9
*/
3
 * Copyright (C) 2007 EDIT
4
 * European Distributed Institute of Taxonomy 
5
 * http://www.e-taxonomy.eu
6
 * 
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.
9
 */
10 10

  
11 11
package eu.etaxonomy.taxeditor.ui.section.classification;
12 12

  
13

  
14
import org.eclipse.jface.util.IPropertyChangeListener;
15 13
import org.eclipse.jface.util.PropertyChangeEvent;
16 14
import org.eclipse.swt.SWT;
17 15

  
......
24 22
import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
25 23

  
26 24
/**
27
 * <p>TaxonNodeWizardPage class.</p>
28
 *
25
 * <p>
26
 * TaxonNodeWizardPage class.
27
 * </p>
28
 * 
29 29
 * @author n.hoffmann
30 30
 * @created Sep 15, 2009
31 31
 * @version 1.0
32 32
 */
33
public class TaxonNodeWizardPage extends AbstractCdmEntityWizardPage<ITreeNode> implements IPropertyChangeListener{
33
public class TaxonNodeWizardPage extends AbstractCdmEntityWizardPage<ITreeNode> {
34 34

  
35 35
	/**
36
	 * <p>Constructor for TaxonNodeWizardPage.</p>
37
	 *
38
	 * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory} object.
39
	 * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
40
	 * @param entity a {@link eu.etaxonomy.cdm.model.taxon.ITreeNode} object.
36
	 * <p>
37
	 * Constructor for TaxonNodeWizardPage.
38
	 * </p>
39
	 * 
40
	 * @param formFactory
41
	 *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
42
	 *            object.
43
	 * @param conversation
44
	 *            a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
45
	 *            object.
46
	 * @param entity
47
	 *            a {@link eu.etaxonomy.cdm.model.taxon.ITreeNode} object.
41 48
	 */
42 49
	public TaxonNodeWizardPage(CdmFormFactory formFactory,
43 50
			ConversationHolder conversation, ITreeNode entity) {
......
45 52
		setTitle("Create a new Taxon");
46 53
	}
47 54

  
48

  
49
	/* (non-Javadoc)
50
	 * @see eu.etaxonomy.taxeditor.forms.AbstractCdmEntityWizardPage#createElement(eu.etaxonomy.taxeditor.forms.ICdmFormElement)
55
	/*
56
	 * (non-Javadoc)
57
	 * 
58
	 * @see
59
	 * eu.etaxonomy.taxeditor.forms.AbstractCdmEntityWizardPage#createElement
60
	 * (eu.etaxonomy.taxeditor.forms.ICdmFormElement)
51 61
	 */
52 62
	/** {@inheritDoc} */
53 63
	@Override
54 64
	public TaxonNodeDetailElement createElement(ICdmFormElement rootElement) {
55
	
56
		TaxonNodeDetailElement detailElement = (TaxonNodeDetailElement) formFactory.createCdmDetailElement(DetailType.TAXON_NODE, rootElement, SWT.NULL);
65

  
66
		TaxonNodeDetailElement detailElement = (TaxonNodeDetailElement) formFactory
67
				.createCdmDetailElement(DetailType.TAXON_NODE, rootElement,
68
						SWT.NULL);
57 69
		detailElement.setEntity(entity);
58 70
		formFactory.addPropertyChangeListener(this);
59 71
		return detailElement;
60 72
	}
61 73

  
62 74
	/**
63
	 * <p>openInEditor</p>
64
	 *
75
	 * <p>
76
	 * openInEditor
77
	 * </p>
78
	 * 
65 79
	 * @return a boolean.
66 80
	 */
67
	public boolean openInEditor(){
81
	public boolean openInEditor() {
68 82
		return ((TaxonNodeDetailElement) getDetailElement()).isOpenInEditor();
69
	}	
70
	
83
	}
71 84

  
72
	/* (non-Javadoc)
73
	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
85
	/*
86
	 * (non-Javadoc)
87
	 * 
88
	 * @see
89
	 * org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse
90
	 * .jface.util.PropertyChangeEvent)
74 91
	 */
75 92
	/** {@inheritDoc} */
76 93
	@Override
77 94
	public void propertyChange(PropertyChangeEvent event) {
78
		if(event.getSource() == getDetailElement()){
79
			setPageComplete(checkComplete());
95
		if (event.getSource() == getDetailElement()) {
96
			checkComplete();
80 97
		}
81 98
	}
82 99

  
83 100
	/**
84 101
	 * 
85 102
	 */
86
	private boolean checkComplete() {
103
	@Override
104
	protected void checkComplete() {
87 105
		TaxonNodeDetailElement detailElement = (TaxonNodeDetailElement) getDetailElement();
88
		
89
		if(detailElement.getClassification() == null){
106

  
107
		if (detailElement.getClassification() == null) {
90 108
			setMessage("No classification", WARNING);
91
		}else{
109
		} else {
92 110
			setMessage(null);
93
			return true;
111
			setPageComplete(true);
112
			return;
94 113
		}
95
		
96
		return false;
114

  
115
		setPageComplete(false);
97 116
	}
98
	
117

  
99 118
	/**
100
	 * <p>Getter for the field <code>parentTreeNode</code>.</p>
101
	 *
119
	 * <p>
120
	 * Getter for the field <code>parentTreeNode</code>.
121
	 * </p>
122
	 * 
102 123
	 * @return a {@link eu.etaxonomy.cdm.model.taxon.ITreeNode} object.
103 124
	 */
104 125
	public ITreeNode getParentTreeNode() {
105
		return ((TaxonNodeDetailElement) getDetailElement()).getParentTreeNode();
126
		return ((TaxonNodeDetailElement) getDetailElement())
127
				.getParentTreeNode();
106 128
	}
107
	
108
	public Taxon getTaxon(){
129

  
130
	public Taxon getTaxon() {
109 131
		return ((TaxonNodeDetailElement) getDetailElement()).getTaxon();
110 132
	}
111 133

  
112
	/* (non-Javadoc)
134
	/*
135
	 * (non-Javadoc)
136
	 * 
113 137
	 * @see eu.etaxonomy.taxeditor.forms.AbstractCdmEntityWizardPage#dispose()
114 138
	 */
115 139
	/** {@inheritDoc} */

Also available in: Unified diff