Revision 7eda66ff
Added by Niels Hoffmann almost 13 years ago
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
Improved PrintPublisher Wizard; Integrated SpecimenCdmExcel import