Project

General

Profile

Download (5.68 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.cdm.vaadin.view.dbstatus;
2

    
3
import java.util.List;
4

    
5
import com.vaadin.annotations.AutoGenerated;
6
import com.vaadin.data.Container;
7
import com.vaadin.data.util.IndexedContainer;
8
import com.vaadin.event.ShortcutAction.KeyCode;
9
import com.vaadin.navigator.View;
10
import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent;
11
import com.vaadin.ui.Accordion;
12
import com.vaadin.ui.Alignment;
13
import com.vaadin.ui.Button;
14
import com.vaadin.ui.Button.ClickEvent;
15
import com.vaadin.ui.Button.ClickListener;
16
import com.vaadin.ui.CustomComponent;
17
import com.vaadin.ui.Label;
18
import com.vaadin.ui.OptionGroup;
19
import com.vaadin.ui.Panel;
20
import com.vaadin.ui.VerticalLayout;
21

    
22
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
23
import eu.etaxonomy.cdm.model.common.TermVocabulary;
24
import eu.etaxonomy.cdm.model.taxon.Classification;
25

    
26
public class DistributionSelectionView extends CustomComponent implements IDistributionSelectionComponent, View, ClickListener{
27

    
28
	/*- VaadinEditorProperties={"grid":"RegularGrid,20","showGrid":true,"snapToGrid":true,"snapToObject":true,"movingGuides":false,"snappingDistance":10} */
29

    
30
	/**
31
	 *
32
	 */
33
	private static final long serialVersionUID = 1L;
34
	@AutoGenerated
35
	private VerticalLayout mainLayout;
36
	@AutoGenerated
37
	private Panel panel_1;
38
	@AutoGenerated
39
	private VerticalLayout verticalLayout_2;
40
	@AutoGenerated
41
	private Button button_proceed;
42
	@AutoGenerated
43
	private Accordion accordion;
44
	@AutoGenerated
45
	private OptionGroup distributionSelection;
46

    
47

    
48
    @AutoGenerated
49
	private OptionGroup classificationSelection;
50
	@AutoGenerated
51
	private Label label_1;
52
	private DistributionSelectionComponentListener distListener;
53
	/**
54
	 * The constructor should first build the main layout, set the
55
	 * composition root and then do any custom initialization.
56
	 *
57
	 * The constructor will not be automatically regenerated by the
58
	 * visual editor.
59
	 */
60
	public DistributionSelectionView(){
61
		buildMainLayout();
62
		setCompositionRoot(mainLayout);
63
		setStyleName("login");
64
		button_proceed.addClickListener(this);
65
		button_proceed.setClickShortcut(KeyCode.ENTER, null);
66
	}
67

    
68

    
69
	@Override
70
	public void addListener(DistributionSelectionComponentListener listener) {
71
		distListener = listener;
72
	}
73

    
74
	@Override
75
	public void buttonClick(ClickEvent event) {
76
		if(classificationSelection != null && distributionSelection != null){
77
			Classification classification = (Classification) classificationSelection.getValue();
78
			TermVocabulary<DefinedTermBase> term = (TermVocabulary<DefinedTermBase>)distributionSelection.getValue();
79
			distListener.buttonClick(classification, term);
80
		}
81
	}
82

    
83
	public void dataBinding(){
84
		List<Classification> classificationList = distListener.getClassificationList();
85
		List<TermVocabulary<DefinedTermBase>> namedAreaList = distListener.getNamedAreaList();
86
		Container c = new IndexedContainer(classificationList);
87
		classificationSelection.setContainerDataSource(c);
88
		Container d = new IndexedContainer(namedAreaList);
89
		distributionSelection.setContainerDataSource(d);
90
	}
91

    
92
	@Override
93
	public void enter(ViewChangeEvent event) {
94
	}
95

    
96
	@AutoGenerated
97
	private VerticalLayout buildMainLayout() {
98
		// common part: create layout
99
		mainLayout = new VerticalLayout();
100
		mainLayout.setImmediate(false);
101
		mainLayout.setWidth("100%");
102
		mainLayout.setHeight("100%");
103
		mainLayout.setMargin(false);
104

    
105
		// top-level component properties
106
		setWidth("100.0%");
107
		setHeight("100.0%");
108

    
109
		// panel_1
110
		panel_1 = buildPanel_1();
111
		mainLayout.addComponent(panel_1);
112
		mainLayout.setComponentAlignment(panel_1, new Alignment(48));
113

    
114
		return mainLayout;
115
	}
116

    
117
	@AutoGenerated
118
	private Panel buildPanel_1() {
119
		// common part: create layout
120
		panel_1 = new Panel();
121
		panel_1.setImmediate(false);
122
		panel_1.setWidth("-1px");
123
		panel_1.setHeight("-1px");
124

    
125
		// verticalLayout_2
126
		verticalLayout_2 = buildVerticalLayout_2();
127
		panel_1.setContent(verticalLayout_2);
128

    
129
		return panel_1;
130
	}
131

    
132
	@AutoGenerated
133
	private VerticalLayout buildVerticalLayout_2() {
134
		// common part: create layout
135
		verticalLayout_2 = new VerticalLayout();
136
		verticalLayout_2.setImmediate(false);
137
		verticalLayout_2.setWidth("-1px");
138
		verticalLayout_2.setHeight("-1px");
139
		verticalLayout_2.setMargin(true);
140
		verticalLayout_2.setSpacing(true);
141

    
142
		// label_1
143
		label_1 = new Label();
144
		label_1.setImmediate(false);
145
		label_1.setWidth("213px");
146
		label_1.setHeight("-1px");
147
		label_1.setValue("Please choose a Classification and a distribution area to proceed.");
148
		verticalLayout_2.addComponent(label_1);
149

    
150
		// accordion
151
		accordion = buildAccordion();
152
		verticalLayout_2.addComponent(accordion);
153
		verticalLayout_2.setComponentAlignment(accordion, new Alignment(48));
154

    
155
		// button_1
156
		button_proceed = new Button();
157
		button_proceed.setCaption("Proceed");
158
		button_proceed.setImmediate(true);
159
		button_proceed.setWidth("-1px");
160
		button_proceed.setHeight("-1px");
161
		verticalLayout_2.addComponent(button_proceed);
162
		verticalLayout_2.setComponentAlignment(button_proceed, new Alignment(10));
163

    
164
		return verticalLayout_2;
165
	}
166

    
167
	@AutoGenerated
168
	private Accordion buildAccordion() {
169
		// common part: create layout
170
		accordion = new Accordion();
171
		accordion.setImmediate(true);
172
		accordion.setWidth("-1px");
173
		accordion.setHeight("-1px");
174

    
175
		// classificationSelection
176
		classificationSelection = new OptionGroup();
177
		classificationSelection.setImmediate(false);
178
		classificationSelection.setWidth("-1px");
179
		classificationSelection.setHeight("-1px");
180
		accordion.addTab(classificationSelection, "Classifcation", null);
181

    
182
		// distributionSelection
183
		distributionSelection = new OptionGroup();
184
		distributionSelection.setImmediate(false);
185
		distributionSelection.setWidth("-1px");
186
		distributionSelection.setHeight("-1px");
187
		accordion.addTab(distributionSelection, "Distribution Area", null);
188

    
189
		return accordion;
190
	}
191

    
192
}
(1-1/4)