Mercurial > dive4elements > river
comparison flys-client/src/main/java/org/dive4elements/river/client/client/ui/LinkSelection.java @ 5834:f507086aa94b
Repaired internal references.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 25 Apr 2013 12:31:32 +0200 |
parents | flys-client/src/main/java/de/intevation/flys/client/client/ui/LinkSelection.java@b87073a05f9d |
children | 821a02bbfb4e |
comparison
equal
deleted
inserted
replaced
5833:a2bdc0f524e8 | 5834:f507086aa94b |
---|---|
1 package de.intevation.flys.client.client.ui; | |
2 | |
3 import com.google.gwt.core.client.GWT; | |
4 | |
5 import com.smartgwt.client.types.VerticalAlignment; | |
6 import com.smartgwt.client.widgets.Canvas; | |
7 import com.smartgwt.client.widgets.Img; | |
8 import com.smartgwt.client.widgets.Label; | |
9 import com.smartgwt.client.widgets.form.DynamicForm; | |
10 import com.smartgwt.client.widgets.form.fields.LinkItem; | |
11 import com.smartgwt.client.widgets.form.fields.events.ClickEvent; | |
12 import com.smartgwt.client.widgets.form.fields.events.ClickHandler; | |
13 import com.smartgwt.client.widgets.layout.HLayout; | |
14 import com.smartgwt.client.widgets.layout.VLayout; | |
15 | |
16 import de.intevation.flys.client.client.FLYSConstants; | |
17 import de.intevation.flys.client.client.event.StepForwardEvent; | |
18 import de.intevation.flys.client.shared.model.Data; | |
19 import de.intevation.flys.client.shared.model.DataItem; | |
20 import de.intevation.flys.client.shared.model.DataList; | |
21 import de.intevation.flys.client.shared.model.DefaultData; | |
22 import de.intevation.flys.client.shared.model.DefaultDataItem; | |
23 | |
24 | |
25 /** | |
26 * This UIProvider displays the DataItems of the Data object in a list of links. | |
27 * | |
28 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> | |
29 */ | |
30 public class LinkSelection | |
31 extends MapSelection | |
32 { | |
33 | |
34 private static final long serialVersionUID = -7138270638349711024L; | |
35 | |
36 /** The message class that provides i18n strings.*/ | |
37 protected FLYSConstants messages = GWT.create(FLYSConstants.class); | |
38 | |
39 /** The selected river*/ | |
40 protected Data river; | |
41 | |
42 /** | |
43 * This method currently returns a | |
44 * {@link com.smartgwt.client.widgets.form.DynamicForm} that contains all | |
45 * data items in a list of links stored in <i>data</i>. | |
46 * | |
47 * @param data The {@link Data} object. | |
48 * | |
49 * @return a combobox. | |
50 */ | |
51 @Override | |
52 public Canvas create(DataList data) { | |
53 VLayout v = new VLayout(); | |
54 v.setMembersMargin(10); | |
55 v.setAlign(VerticalAlignment.TOP); | |
56 if (data.getState() == null) { | |
57 Canvas module = super.createWidget(data); | |
58 v.addMember(module); | |
59 } | |
60 Canvas content = createWidget(data); | |
61 v.addMember(content); | |
62 | |
63 return v; | |
64 } | |
65 | |
66 | |
67 @Override | |
68 public Canvas createOld(DataList dataList) { | |
69 HLayout layout = new HLayout(); | |
70 VLayout vLayout = new VLayout(); | |
71 layout.setWidth("400px"); | |
72 | |
73 Label label = new Label(dataList.getLabel()); | |
74 label.setWidth("200px"); | |
75 | |
76 int size = dataList.size(); | |
77 for (int i = 0; i < size; i++) { | |
78 Data data = dataList.get(i); | |
79 DataItem[] items = data.getItems(); | |
80 | |
81 for (DataItem item: items) { | |
82 HLayout hLayout = new HLayout(); | |
83 | |
84 hLayout.addMember(label); | |
85 hLayout.addMember(new Label(item.getLabel())); | |
86 | |
87 vLayout.addMember(hLayout); | |
88 vLayout.setWidth("130px"); | |
89 } | |
90 } | |
91 | |
92 Canvas back = getBackButton(dataList.getState()); | |
93 | |
94 layout.addMember(label); | |
95 layout.addMember(vLayout); | |
96 layout.addMember(back); | |
97 | |
98 return layout; | |
99 } | |
100 | |
101 | |
102 /** | |
103 * This method creates the content of the widget. | |
104 * | |
105 * @param data The {@link Data} object. | |
106 * | |
107 * @return a list of links | |
108 */ | |
109 @Override | |
110 protected Canvas createWidget(DataList data) { | |
111 GWT.log("LinkSelection - create()"); | |
112 | |
113 VLayout layout = new VLayout(); | |
114 layout.setAlign(VerticalAlignment.TOP); | |
115 layout.setHeight(25); | |
116 | |
117 VLayout formLayout = new VLayout(); | |
118 | |
119 formLayout.setLayoutLeftMargin(60); | |
120 int size = data.size(); | |
121 | |
122 for (int i = 0; i < size; i++) { | |
123 Data d = data.get(i); | |
124 | |
125 Label label = new Label(d.getDescription()); | |
126 label.setValign(VerticalAlignment.TOP); | |
127 label.setHeight(20); | |
128 | |
129 for (DataItem item: d.getItems()) { | |
130 LinkItem link = new LinkItem("river"); | |
131 link.setLinkTitle(item.getLabel()); | |
132 link.setTarget(item.getStringValue()); | |
133 link.setShowTitle(false); | |
134 DynamicForm f = new DynamicForm(); | |
135 f.setItems(link); | |
136 formLayout.addMember(f); | |
137 link.addClickHandler(new ClickHandler() { | |
138 @Override | |
139 public void onClick(ClickEvent event) { | |
140 DataItem item = new DefaultDataItem( | |
141 ((LinkItem)event.getItem()).getLinkTitle(), | |
142 null, | |
143 ((LinkItem)event.getItem()).getLinkTitle()); | |
144 | |
145 river = new DefaultData( | |
146 "river", | |
147 null, | |
148 null, | |
149 new DataItem [] {item}); | |
150 fireStepForwardEvent (new StepForwardEvent (getData())); | |
151 } | |
152 }); | |
153 | |
154 } | |
155 label.setWidth(50); | |
156 | |
157 layout.addMember(label); | |
158 layout.addMember(formLayout); | |
159 } | |
160 layout.setAlign(VerticalAlignment.TOP); | |
161 | |
162 String baseUrl = GWT.getHostPageBaseURL(); | |
163 Img map = new Img(baseUrl + messages.riverMap(), 494, 582); | |
164 helperContainer.addMember(map); | |
165 | |
166 return layout; | |
167 } | |
168 | |
169 | |
170 @Override | |
171 protected Data[] getData() { | |
172 Data[] module = super.getData(); | |
173 if (module != null) { | |
174 return new Data[] {module[0], river}; | |
175 } | |
176 else { | |
177 return new Data[] {river}; | |
178 } | |
179 } | |
180 } | |
181 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |