Project

General

Profile

« Previous | Next » 

Revision 7eda66ff

Added by Niels Hoffmann almost 13 years ago

Improved PrintPublisher Wizard; Integrated SpecimenCdmExcel import

View differences:

eu.etaxonomy.taxeditor.printpublisher/src/main/java/eu/etaxonomy/taxeditor/printpublisher/wizard/SelectFeatureTreeWizardPage.java
21 21
import org.eclipse.jface.viewers.LabelProvider;
22 22
import org.eclipse.jface.viewers.ListViewer;
23 23
import org.eclipse.jface.viewers.SelectionChangedEvent;
24
import org.eclipse.jface.viewers.StructuredSelection;
24 25
import org.eclipse.jface.viewers.Viewer;
25 26
import org.eclipse.jface.wizard.WizardDialog;
26 27
import org.eclipse.swt.SWT;
......
43 44
 * @created Aug 6, 2010
44 45
 * @version 1.0
45 46
 */
46
public class SelectFeatureTreeWizardPage extends AbstractPublishWizardPage implements ISelectionChangedListener{
47
public class SelectFeatureTreeWizardPage extends AbstractPublishWizardPage 
48
	implements ISelectionChangedListener, IHasPersistableSettings{
47 49
	
50
	private static final String DIALOG_SETTING_FEATURE_TREE_UUID = "dialogSettingFeatureTreeUuid";
48 51
	private ListViewer viewer;
49
	private IStructuredSelection selection;
50 52

  
51 53
	/**
52 54
	 * <p>Constructor for SelectFeatureTreeWizardPage.</p>
......
93 95
				}
94 96
			});
95 97
		}
96
		
98
				
97 99
		// when using a local factory we can set the input right here
98 100
		if(getConfigurator() != null && getConfigurator().isLocal()){
99 101
			refresh();
100 102
		}
101 103
		
104
		loadSettings();
105
		
102 106
		setControl(composite);
103 107
	}
104 108

  
109
	@Override
110
	public void loadSettings() {
111
		String featureTreeUuidString = getDialogSettingValue(DIALOG_SETTING_FEATURE_TREE_UUID); 
112
		
113
		if(featureTreeUuidString != null){
114
			setSelectedFeatureTree(featureTreeUuidString);
115
			
116
		}
117
	}
118
	
105 119
	/** {@inheritDoc} */
106 120
	@Override
107 121
	public void selectionChanged(SelectionChangedEvent event) {
108
		selection = (IStructuredSelection) event.getSelection();
122
		IStructuredSelection selection = (IStructuredSelection) event.getSelection();
109 123
		
110 124
		setPageComplete(selection.size() == 1);
111 125
		
112
		if(selection.size() == 1){
113
			Element featureTreeElement = (Element) selection.getFirstElement();
126
		Element featureTreeElement = (Element) selection.getFirstElement();
114 127
			
115
			UUID featureTreeUuid = XMLHelper.getUuid(featureTreeElement);
116
			
117
			getConfigurator().setFeatureTree(featureTreeUuid);
118
			setErrorMessage(null);
119
		}else if(selection.size() > 1){
120
			setErrorMessage("Please select only one feature tree.");
128
		UUID featureTreeUuid = XMLHelper.getUuid(featureTreeElement);
129
		
130
		setFeatureTree(featureTreeUuid.toString());
131
	}
132
	
133
	private void setSelectedFeatureTree(String featureTreeUuid){
134
		List<Element> input = (ArrayList<Element>) viewer.getInput();
135
		
136
		for(Element element : input){
137
			UUID uuid = XMLHelper.getUuid(element);
138
			if(uuid.toString().equals(featureTreeUuid)){
139
				viewer.setSelection(new StructuredSelection(element));
140
				break;
141
			}
121 142
		}
122 143
	}
123 144
	
145
	public void setFeatureTree(String featureTreeUuidString){
146
		putDialogSettingValue(DIALOG_SETTING_FEATURE_TREE_UUID, featureTreeUuidString);
147
		UUID featureTreeUuid = UUID.fromString(featureTreeUuidString);
148
		getConfigurator().setFeatureTree(featureTreeUuid);
149
		setPageComplete(featureTreeUuid != null);
150
	}
151
	
124 152
	/** {@inheritDoc} */
125 153
	@Override
126 154
	public boolean canFlipToNextPage() {
127
		return (isPageComplete() && selection.size() == 1);
155
		return isPageComplete();
128 156
	}
129 157

  
130 158
	/**

Also available in: Unified diff