Revision 9f8c87ee
Added by Patrick Plitzner over 7 years ago
src/main/java/eu/etaxonomy/cdm/vaadin/view/dbstatus/SettingsConfigWindow.java | ||
---|---|---|
9 | 9 |
*/ |
10 | 10 |
package eu.etaxonomy.cdm.vaadin.view.dbstatus; |
11 | 11 |
|
12 |
import java.sql.SQLException; |
|
13 |
|
|
12 | 14 |
import com.vaadin.data.Container; |
15 |
import com.vaadin.data.Property.ValueChangeEvent; |
|
16 |
import com.vaadin.data.Property.ValueChangeListener; |
|
17 |
import com.vaadin.server.VaadinSession; |
|
13 | 18 |
import com.vaadin.ui.AbstractLayout; |
14 | 19 |
import com.vaadin.ui.Alignment; |
15 | 20 |
import com.vaadin.ui.Button; |
21 |
import com.vaadin.ui.Button.ClickEvent; |
|
22 |
import com.vaadin.ui.Button.ClickListener; |
|
16 | 23 |
import com.vaadin.ui.ComboBox; |
17 | 24 |
import com.vaadin.ui.CustomComponent; |
18 | 25 |
import com.vaadin.ui.HorizontalLayout; |
26 |
import com.vaadin.ui.Notification; |
|
19 | 27 |
import com.vaadin.ui.Tree; |
20 | 28 |
import com.vaadin.ui.TwinColSelect; |
29 |
import com.vaadin.ui.UI; |
|
21 | 30 |
import com.vaadin.ui.VerticalLayout; |
22 | 31 |
import com.vaadin.ui.Window; |
23 | 32 |
|
33 |
import eu.etaxonomy.cdm.model.common.DefinedTermBase; |
|
24 | 34 |
import eu.etaxonomy.cdm.model.common.TermVocabulary; |
35 |
import eu.etaxonomy.cdm.model.taxon.TaxonNode; |
|
25 | 36 |
import eu.etaxonomy.cdm.vaadin.container.TaxonNodeContainer; |
37 |
import eu.etaxonomy.cdm.vaadin.presenter.dbstatus.DistributionTablePresenter; |
|
26 | 38 |
import eu.etaxonomy.cdm.vaadin.presenter.dbstatus.settings.SettingsPresenter; |
27 | 39 |
|
28 | 40 |
/** |
... | ... | |
41 | 53 |
private Button okButton; |
42 | 54 |
private Button cancelButton; |
43 | 55 |
private final SettingsPresenter presenter; |
56 |
private Window window; |
|
44 | 57 |
|
45 | 58 |
/** |
46 | 59 |
* The constructor should first build the main layout, set the |
... | ... | |
51 | 64 |
*/ |
52 | 65 |
public SettingsConfigWindow() { |
53 | 66 |
buildMainLayout(); |
54 |
// setCompositionRoot(mainLayout); |
|
55 | 67 |
presenter = new SettingsPresenter(); |
56 | 68 |
init(); |
57 | 69 |
} |
... | ... | |
63 | 75 |
classificationBox.setItemCaptionPropertyId(TaxonNodeContainer.LABEL); |
64 | 76 |
classificationBox.setContainerDataSource(taxonNodeContainer); |
65 | 77 |
classificationBox.setValue(presenter.getChosenTaxonNode().getClassification().getRootNode()); |
78 |
classificationBox.addValueChangeListener(new ValueChangeListener() { |
|
79 |
@Override |
|
80 |
public void valueChange(ValueChangeEvent event) { |
|
81 |
TaxonNode parentNode = (TaxonNode) event.getProperty().getValue(); |
|
82 |
taxonTree.setContainerDataSource(new TaxonNodeContainer(parentNode)); |
|
83 |
} |
|
84 |
}); |
|
85 |
taxonTree.setContainerDataSource(new TaxonNodeContainer((TaxonNode) classificationBox.getValue())); |
|
66 | 86 |
taxonTree.setItemCaptionPropertyId(TaxonNodeContainer.LABEL); |
67 |
taxonTree.setContainerDataSource(taxonNodeContainer); |
|
68 | 87 |
taxonTree.setValue(presenter.getChosenTaxonNode()); |
69 | 88 |
distAreaBox.setContainerDataSource(distributionContainer); |
70 | 89 |
distAreaBox.setValue(chosenArea); |
71 | 90 |
distStatusSelect.setContainerDataSource(presenter.getDistributionStatusContainer()); |
91 |
|
|
92 |
okButton.addClickListener(new ClickListener() { |
|
93 |
|
|
94 |
@Override |
|
95 |
public void buttonClick(ClickEvent event) { |
|
96 |
TaxonNode taxonNode; |
|
97 |
TermVocabulary<DefinedTermBase> term = null; |
|
98 |
taxonNode = (TaxonNode) taxonTree.getValue(); |
|
99 |
if(taxonNode==null){ |
|
100 |
taxonNode = (TaxonNode) classificationBox.getValue(); |
|
101 |
} |
|
102 |
term = (TermVocabulary<DefinedTermBase>) distAreaBox.getValue(); |
|
103 |
if(taxonNode==null){ |
|
104 |
Notification.show("Please choose a classification and/or taxon", Notification.Type.HUMANIZED_MESSAGE); |
|
105 |
return; |
|
106 |
} |
|
107 |
if(term==null){ |
|
108 |
Notification.show("Please choose a distribution area", Notification.Type.HUMANIZED_MESSAGE); |
|
109 |
return; |
|
110 |
} |
|
111 |
|
|
112 |
VaadinSession.getCurrent().setAttribute("taxonNodeUUID", taxonNode.getUuid()); |
|
113 |
VaadinSession.getCurrent().setAttribute("selectedTerm", term.getUuid()); |
|
114 |
|
|
115 |
DistributionTableView dtv = new DistributionTableView(); |
|
116 |
try { |
|
117 |
new DistributionTablePresenter(dtv); |
|
118 |
} catch (SQLException e) { |
|
119 |
e.printStackTrace(); |
|
120 |
} |
|
121 |
UI.getCurrent().getNavigator().addView("table", dtv); |
|
122 |
//navigate to table view |
|
123 |
window.close(); |
|
124 |
UI.getCurrent().getNavigator().navigateTo("table"); |
|
125 |
} |
|
126 |
}); |
|
127 |
cancelButton.addClickListener(new ClickListener() { |
|
128 |
|
|
129 |
@Override |
|
130 |
public void buttonClick(ClickEvent event) { |
|
131 |
window.close(); |
|
132 |
} |
|
133 |
}); |
|
72 | 134 |
} |
73 | 135 |
|
74 | 136 |
public Window createWindow(){ |
75 |
Window window = new Window();
|
|
137 |
window = new Window(); |
|
76 | 138 |
window.setModal(true); |
77 | 139 |
window.setWidth("60%"); |
78 | 140 |
window.setHeight("80%"); |
Also available in: Unified diff
ref #5458 Implement update of distribution editor via settings window