Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/LinkSelection.java @ 6066:0eab06d5144f
Removed obsolete import
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 23 May 2013 05:49:13 +0200 |
parents | 078677c684af |
children | 0b9f0d37fe6e |
rev | line source |
---|---|
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5966
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5966
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
9 package org.dive4elements.river.client.client.ui; |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
11 import java.util.HashMap; |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
12 import java.util.Map; |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
13 |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 import com.google.gwt.core.client.GWT; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
15 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
16 import com.smartgwt.client.types.VerticalAlignment; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
17 import com.smartgwt.client.widgets.Canvas; |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
18 import com.smartgwt.client.widgets.HTMLPane; |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 import com.smartgwt.client.widgets.Label; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
20 import com.smartgwt.client.widgets.form.DynamicForm; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
21 import com.smartgwt.client.widgets.form.fields.LinkItem; |
4064
61020a61ed38
Show river map only once.
Christian Lins <christian.lins@intevation.de>
parents:
3546
diff
changeset
|
22 import com.smartgwt.client.widgets.form.fields.events.ClickEvent; |
61020a61ed38
Show river map only once.
Christian Lins <christian.lins@intevation.de>
parents:
3546
diff
changeset
|
23 import com.smartgwt.client.widgets.form.fields.events.ClickHandler; |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
24 import com.smartgwt.client.widgets.form.fields.events.ItemHoverEvent; |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
25 import com.smartgwt.client.widgets.form.fields.events.ItemHoverHandler; |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
26 import com.smartgwt.client.widgets.layout.HLayout; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
27 import com.smartgwt.client.widgets.layout.VLayout; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
28 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
29 import org.dive4elements.river.client.client.FLYSConstants; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
30 import org.dive4elements.river.client.client.event.StepForwardEvent; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
31 import org.dive4elements.river.client.shared.model.Data; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
32 import org.dive4elements.river.client.shared.model.DataItem; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
33 import org.dive4elements.river.client.shared.model.DataList; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
34 import org.dive4elements.river.client.shared.model.DefaultData; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
35 import org.dive4elements.river.client.shared.model.DefaultDataItem; |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
38 /** |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
39 * This UIProvider displays the DataItems of the Data object in a list of links. |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
40 * |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
41 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
42 */ |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
43 public class LinkSelection |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
44 extends MapSelection |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 { |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
4064
diff
changeset
|
46 |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
4064
diff
changeset
|
47 private static final long serialVersionUID = -7138270638349711024L; |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
4064
diff
changeset
|
48 |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
49 /** The message class that provides i18n strings.*/ |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
50 protected FLYSConstants messages = GWT.create(FLYSConstants.class); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
51 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 /** The selected river*/ |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
53 protected Data river; |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
54 private static Map<String, LinkItem> rivers; |
6019
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
55 private static HLayout columns; |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
56 |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
57 private static Trigger trigger; |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
58 |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
59 private Canvas module; |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
60 |
6019
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
61 |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
62 private class Trigger { |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
63 |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
64 private LinkSelection ls; |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
65 |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
66 public Trigger(LinkSelection ls) { |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
67 this.ls = ls; |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
68 } |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
69 |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
70 public void trigger(String name) { |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
71 DataItem item = new DefaultDataItem( |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
72 name, |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
73 null, |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
74 name); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
75 |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
76 river = new DefaultData( |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
77 "river", |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
78 null, |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
79 null, |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
80 new DataItem [] {item}); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
81 this.ls.fireStepForwardEvent (new StepForwardEvent (getData())); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
82 } |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
83 } |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
84 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
85 /** |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
86 * This method currently returns a |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
87 * {@link com.smartgwt.client.widgets.form.DynamicForm} that contains all |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
88 * data items in a list of links stored in <i>data</i>. |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
89 * |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
90 * @param data The {@link Data} object. |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
91 * |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
92 * @return a combobox. |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
93 */ |
4064
61020a61ed38
Show river map only once.
Christian Lins <christian.lins@intevation.de>
parents:
3546
diff
changeset
|
94 @Override |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
95 public Canvas create(DataList data) { |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
96 trigger = new Trigger(this); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
97 createCallback(); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
98 rivers = new HashMap<String, LinkItem>(); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
99 |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
100 VLayout v = new VLayout(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
101 v.setMembersMargin(10); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
102 v.setAlign(VerticalAlignment.TOP); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
103 if (data.getState() == null) { |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
104 module = super.createWidget(data); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
105 v.addMember(module); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
106 } |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
107 else { |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
108 module = null; |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
109 } |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
110 Canvas content = createWidget(data); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
111 v.addMember(content); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
112 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
113 return v; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
114 } |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
115 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
116 |
4064
61020a61ed38
Show river map only once.
Christian Lins <christian.lins@intevation.de>
parents:
3546
diff
changeset
|
117 @Override |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
118 public Canvas createOld(DataList dataList) { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
119 HLayout layout = new HLayout(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
120 VLayout vLayout = new VLayout(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
121 layout.setWidth("400px"); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
122 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
123 Label label = new Label(dataList.getLabel()); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
124 label.setWidth("200px"); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
125 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
126 int size = dataList.size(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
127 for (int i = 0; i < size; i++) { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
128 Data data = dataList.get(i); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
129 DataItem[] items = data.getItems(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
130 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
131 for (DataItem item: items) { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
132 HLayout hLayout = new HLayout(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
133 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
134 hLayout.addMember(label); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
135 hLayout.addMember(new Label(item.getLabel())); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
136 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
137 vLayout.addMember(hLayout); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
138 vLayout.setWidth("130px"); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
139 } |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
140 } |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
141 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
142 Canvas back = getBackButton(dataList.getState()); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
143 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
144 layout.addMember(label); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
145 layout.addMember(vLayout); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
146 layout.addMember(back); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
147 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
148 return layout; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
149 } |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
150 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
151 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
152 /** |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
153 * This method creates the content of the widget. |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
154 * |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
155 * @param data The {@link Data} object. |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
156 * |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
157 * @return a list of links |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
158 */ |
4064
61020a61ed38
Show river map only once.
Christian Lins <christian.lins@intevation.de>
parents:
3546
diff
changeset
|
159 @Override |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
160 protected Canvas createWidget(DataList data) { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
161 GWT.log("LinkSelection - create()"); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
162 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
163 VLayout layout = new VLayout(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
164 layout.setAlign(VerticalAlignment.TOP); |
6019
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
165 // XXX: This an evil hack because of misuse of static vars! |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
166 layout.setHeight(25); |
6019
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
167 columns = new HLayout(); |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
168 VLayout formLayout1 = new VLayout(); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
169 VLayout formLayout2 = new VLayout(); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
170 |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
171 formLayout1.setLayoutLeftMargin(60); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
172 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
173 int size = data.size(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
174 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
175 for (int i = 0; i < size; i++) { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
176 Data d = data.get(i); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
177 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
178 Label label = new Label(d.getDescription()); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
179 label.setValign(VerticalAlignment.TOP); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
180 label.setHeight(20); |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
181 label.setWidth(400); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
182 |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
183 int counter = 0; |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
184 for (DataItem item: d.getItems()) { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
185 LinkItem link = new LinkItem("river"); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
186 link.setLinkTitle(item.getLabel()); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
187 link.setTarget(item.getStringValue()); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
188 link.setShowTitle(false); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
189 DynamicForm f = new DynamicForm(); |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
190 rivers.put(item.getStringValue(), link); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
191 |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
192 f.setItems(link); |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
193 if (counter < d.getItems().length/2) { |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
194 formLayout1.addMember(f); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
195 } |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
196 else { |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
197 formLayout2.addMember(f); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
198 } |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
199 counter++; |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
200 |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
201 link.addClickHandler(new ClickHandler() { |
4064
61020a61ed38
Show river map only once.
Christian Lins <christian.lins@intevation.de>
parents:
3546
diff
changeset
|
202 @Override |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
203 public void onClick(ClickEvent event) { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
204 DataItem item = new DefaultDataItem( |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
205 ((LinkItem)event.getItem()).getLinkTitle(), |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
206 null, |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
207 ((LinkItem)event.getItem()).getLinkTitle()); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
208 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
209 river = new DefaultData( |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
210 "river", |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
211 null, |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
212 null, |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
213 new DataItem [] {item}); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
214 fireStepForwardEvent (new StepForwardEvent (getData())); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
215 } |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
216 }); |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
217 link.addItemHoverHandler(new ItemHoverHandler() { |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
218 @Override |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
219 public void onItemHover(ItemHoverEvent event) { |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
220 String river = ((LinkItem)event.getItem()).getLinkTitle(); |
6019
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
221 for (Map.Entry<String, LinkItem> entry: rivers.entrySet()) { |
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
222 String s = entry.getKey(); |
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
223 LinkItem item = entry.getValue(); |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
224 if (item.getLinkTitle().equals(river)) { |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
225 item.setCellStyle("riverLinkHighlight"); |
6019
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
226 callHighlightRiver(river); |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
227 } |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
228 else { |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
229 item.setCellStyle("formCell"); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
230 callUnHighlightRiver(s); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
231 } |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
232 } |
6019
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
233 if (columns != null) { |
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
234 columns.redraw(); |
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
235 } |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
236 } |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
237 }); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
238 } |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
239 |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
240 if (module != null) { |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
241 getModuleSelection().setRivers(rivers); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
242 } |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
243 label.setWidth(50); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
244 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
245 layout.addMember(label); |
6019
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
246 columns.addMember(formLayout1); |
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
247 columns.addMember(formLayout2); |
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
248 layout.addMember(columns); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
249 |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
250 } |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
251 layout.addMember(getNextButton()); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
252 HTMLPane map = new HTMLPane(); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
253 map.setContentsURL("images/FLYS_Karte_interactive.html"); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
254 |
3546
12245d1386bb
fix issue63
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
284
diff
changeset
|
255 helperContainer.addMember(map); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
256 return layout; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
257 } |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
258 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
259 |
4064
61020a61ed38
Show river map only once.
Christian Lins <christian.lins@intevation.de>
parents:
3546
diff
changeset
|
260 @Override |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
261 protected Data[] getData() { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
262 Data[] module = super.getData(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
263 if (module != null) { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
264 return new Data[] {module[0], river}; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
265 } |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
266 else { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
267 return new Data[] {river}; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
268 } |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
269 } |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
270 |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
271 private native void createCallback() /*-{ |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
272 $wnd.highlightRiver = @org.dive4elements.river.client.client.ui.LinkSelection::highlightCallback(Ljava/lang/String;); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
273 $wnd.selectRiver = @org.dive4elements.river.client.client.ui.LinkSelection::selectCallback(Ljava/lang/String;); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
274 $wnd.availableRiver = @org.dive4elements.river.client.client.ui.LinkSelection::availableRiver(Ljava/lang/String;); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
275 }-*/; |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
276 |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
277 private static void highlightCallback(String name) { |
6019
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
278 for (Map.Entry<String, LinkItem> entry: rivers.entrySet()) { |
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
279 String s = entry.getKey(); |
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
280 LinkItem item = entry.getValue(); |
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
281 item.setCellStyle(s.equals(name) ? "riverLinkHighlight" : "formCell"); |
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
282 } |
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
283 if (columns != null) { |
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
284 columns.redraw(); |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
285 } |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
286 } |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
287 |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
288 private static boolean availableRiver(String river) { |
6019
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
289 LinkItem ri = rivers.get(river); |
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
290 return ri != null && ri.isVisible(); |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
291 } |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
292 |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
293 private static void selectCallback(String name) { |
6019
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
294 if (availableRiver(name)) { |
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
295 trigger.trigger(name); |
5966
b2e6a90ba0e6
Only select available rivers in interactive image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
5931
diff
changeset
|
296 } |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
297 } |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
298 |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
299 private native void callHighlightRiver(String name) /*-{ |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
300 $wnd.highlight(name); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
301 }-*/; |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
302 |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
303 private native void callUnHighlightRiver(String name) /*-{ |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
304 $wnd.unHighlight(name); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
305 }-*/; |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
306 } |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
307 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |