Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/LinkSelection.java @ 5815:2aabd9752d5e interaktive-karte
Initial interaction model for riverselection on image map.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 24 Apr 2013 15:14:56 +0200 |
parents | b87073a05f9d |
children |
rev | line source |
---|---|
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.ui; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
2 |
5815
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
3 import java.util.HashMap; |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
4 import java.util.LinkedHashMap; |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
5 import java.util.Map; |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
6 |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
7 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
|
8 import com.smartgwt.client.types.VerticalAlignment; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
9 import com.smartgwt.client.widgets.Canvas; |
5815
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
10 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
|
11 import com.smartgwt.client.widgets.Label; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
12 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
|
13 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
|
14 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
|
15 import com.smartgwt.client.widgets.form.fields.events.ClickHandler; |
5815
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
16 import com.smartgwt.client.widgets.form.fields.events.ItemHoverEvent; |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
17 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
|
18 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
|
19 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
|
20 |
4064
61020a61ed38
Show river map only once.
Christian Lins <christian.lins@intevation.de>
parents:
3546
diff
changeset
|
21 import de.intevation.flys.client.client.FLYSConstants; |
61020a61ed38
Show river map only once.
Christian Lins <christian.lins@intevation.de>
parents:
3546
diff
changeset
|
22 import de.intevation.flys.client.client.event.StepForwardEvent; |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
23 import de.intevation.flys.client.shared.model.Data; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
24 import de.intevation.flys.client.shared.model.DataItem; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
25 import de.intevation.flys.client.shared.model.DataList; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
26 import de.intevation.flys.client.shared.model.DefaultData; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
27 import de.intevation.flys.client.shared.model.DefaultDataItem; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
28 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
29 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
30 /** |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
31 * 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
|
32 * |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 * @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
|
34 */ |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 public class LinkSelection |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 extends MapSelection |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 { |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
4064
diff
changeset
|
38 |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
4064
diff
changeset
|
39 private static final long serialVersionUID = -7138270638349711024L; |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
4064
diff
changeset
|
40 |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
41 /** 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
|
42 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
|
43 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
44 /** The selected river*/ |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 protected Data river; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 |
5815
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
47 private static Map<String, LinkItem> rivers; |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
48 |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
49 private static Trigger trigger; |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
50 |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
51 private Canvas module; |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
52 |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
53 private class Trigger { |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
54 |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
55 private LinkSelection ls; |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
56 |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
57 public Trigger(LinkSelection ls) { |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
58 this.ls = ls; |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
59 // TODO Auto-generated constructor stub |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
60 } |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
61 |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
62 public void trigger(String name) { |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
63 DataItem item = new DefaultDataItem( |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
64 name, |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
65 null, |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
66 name); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
67 |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
68 river = new DefaultData( |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
69 "river", |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
70 null, |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
71 null, |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
72 new DataItem [] {item}); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
73 this.ls.fireStepForwardEvent (new StepForwardEvent (getData())); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
74 } |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
75 } |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
76 /** |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
77 * This method currently returns a |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
78 * {@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
|
79 * 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
|
80 * |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 * @param data The {@link Data} object. |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 * |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
83 * @return a combobox. |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
84 */ |
4064
61020a61ed38
Show river map only once.
Christian Lins <christian.lins@intevation.de>
parents:
3546
diff
changeset
|
85 @Override |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
86 public Canvas create(DataList data) { |
5815
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
87 trigger = new Trigger(this); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
88 createCallback(); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
89 rivers = new HashMap<String, LinkItem>(); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
90 VLayout v = new VLayout(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
91 v.setMembersMargin(10); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
92 v.setAlign(VerticalAlignment.TOP); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
93 if (data.getState() == null) { |
5815
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
94 module = super.createWidget(data); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
95 v.addMember(module); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
96 } |
5815
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
97 else { |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
98 module = null; |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
99 } |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
100 Canvas content = createWidget(data); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
101 v.addMember(content); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
102 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
103 return v; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
104 } |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
105 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
106 |
4064
61020a61ed38
Show river map only once.
Christian Lins <christian.lins@intevation.de>
parents:
3546
diff
changeset
|
107 @Override |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
108 public Canvas createOld(DataList dataList) { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
109 HLayout layout = new HLayout(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
110 VLayout vLayout = new VLayout(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
111 layout.setWidth("400px"); |
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 Label label = new Label(dataList.getLabel()); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
114 label.setWidth("200px"); |
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 int size = dataList.size(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
117 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
|
118 Data data = dataList.get(i); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
119 DataItem[] items = data.getItems(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
120 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
121 for (DataItem item: items) { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
122 HLayout hLayout = new HLayout(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
123 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
124 hLayout.addMember(label); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
125 hLayout.addMember(new Label(item.getLabel())); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
126 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
127 vLayout.addMember(hLayout); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
128 vLayout.setWidth("130px"); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
129 } |
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 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
132 Canvas back = getBackButton(dataList.getState()); |
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 layout.addMember(label); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
135 layout.addMember(vLayout); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
136 layout.addMember(back); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
137 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
138 return layout; |
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 /** |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
143 * 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
|
144 * |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
145 * @param data The {@link Data} object. |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
146 * |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
147 * @return a list of links |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
148 */ |
4064
61020a61ed38
Show river map only once.
Christian Lins <christian.lins@intevation.de>
parents:
3546
diff
changeset
|
149 @Override |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
150 protected Canvas createWidget(DataList data) { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
151 GWT.log("LinkSelection - create()"); |
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 VLayout layout = new VLayout(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
154 layout.setAlign(VerticalAlignment.TOP); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
155 layout.setHeight(25); |
5815
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
156 HLayout colums = new HLayout(); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
157 VLayout formLayout1 = new VLayout(); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
158 VLayout formLayout2 = new VLayout(); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
159 |
5815
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
160 formLayout1.setLayoutLeftMargin(60); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
161 |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
162 int size = data.size(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
163 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
|
164 Data d = data.get(i); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
165 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
166 Label label = new Label(d.getDescription()); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
167 label.setValign(VerticalAlignment.TOP); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
168 label.setHeight(20); |
5815
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
169 label.setWidth(400); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
170 |
5815
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
171 LinkedHashMap<String, String> it = new LinkedHashMap<String, String>(); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
172 |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
173 boolean defaultSet = false; |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
174 boolean first = true; |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
175 |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
176 DataItem def = d.getDefault(); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
177 String defValue = def != null ? def.getStringValue() : null; |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
178 |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
179 if (defValue != null && defValue.length() > 0) { |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
180 defaultSet = true; |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
181 } |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
182 |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
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(); |
5815
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
190 rivers.put(item.getStringValue(), link); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
191 f.setItems(link); |
5815
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
192 if (counter < d.getItems().length/2) { |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
193 formLayout1.addMember(f); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
194 } |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
195 else { |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
196 formLayout2.addMember(f); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
197 } |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
198 counter++; |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
199 link.addClickHandler(new ClickHandler() { |
4064
61020a61ed38
Show river map only once.
Christian Lins <christian.lins@intevation.de>
parents:
3546
diff
changeset
|
200 @Override |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
201 public void onClick(ClickEvent event) { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
202 DataItem item = new DefaultDataItem( |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
203 ((LinkItem)event.getItem()).getLinkTitle(), |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
204 null, |
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 river = new DefaultData( |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
207 "river", |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
208 null, |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
209 null, |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
210 new DataItem [] {item}); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
211 fireStepForwardEvent (new StepForwardEvent (getData())); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
212 } |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
213 }); |
5815
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
214 link.addItemHoverHandler(new ItemHoverHandler() { |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
215 @Override |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
216 public void onItemHover(ItemHoverEvent event) { |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
217 GWT.log(((LinkItem)event.getItem()).getLinkTitle()); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
218 String river = ((LinkItem)event.getItem()).getLinkTitle(); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
219 for (String s : rivers.keySet()) { |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
220 LinkItem item = rivers.get(s); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
221 if (item.getLinkTitle().equals(s)) { |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
222 item.setCellStyle("riverLinkHighlight"); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
223 } |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
224 else { |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
225 item.setCellStyle("formCell"); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
226 } |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
227 } |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
228 callHighlightRiver(river); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
229 } |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
230 }); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
231 } |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
232 |
5815
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
233 if (module != null) { |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
234 getModuleSelection().setRivers(rivers); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
235 } |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
236 label.setWidth(50); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
237 layout.addMember(label); |
5815
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
238 colums.addMember(formLayout1); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
239 colums.addMember(formLayout2); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
240 layout.addMember(colums); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
241 } |
5815
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
242 layout.addMember(getNextButton()); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
243 HTMLPane map = new HTMLPane(); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
244 map.setContentsURL("images/FLYS_Karte_interactive.html"); |
3546
12245d1386bb
fix issue63
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
284
diff
changeset
|
245 helperContainer.addMember(map); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
246 return layout; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
247 } |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
248 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
249 |
4064
61020a61ed38
Show river map only once.
Christian Lins <christian.lins@intevation.de>
parents:
3546
diff
changeset
|
250 @Override |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
251 protected Data[] getData() { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
252 Data[] module = super.getData(); |
5815
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
253 |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
254 if (module != null) { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
255 return new Data[] {module[0], river}; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
256 } |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
257 else { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
258 return new Data[] {river}; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
259 } |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
260 } |
5815
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
261 |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
262 private native void createCallback() /*-{ |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
263 $wnd.highlightRiver = @de.intevation.flys.client.client.ui.LinkSelection::highlightCallback(Ljava/lang/String;); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
264 $wnd.selectRiver = @de.intevation.flys.client.client.ui.LinkSelection::selectCallback(Ljava/lang/String;); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
265 }-*/; |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
266 |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
267 private static void highlightCallback(String name) { |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
268 for (String s : rivers.keySet()) { |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
269 if (s.equals(name)) { |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
270 LinkItem item = rivers.get(name); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
271 item.setCellStyle("riverLinkHighlight"); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
272 item.redraw(); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
273 } |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
274 else { |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
275 LinkItem item = rivers.get(s); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
276 item.setCellStyle("formCell"); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
277 item.redraw(); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
278 } |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
279 } |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
280 } |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
281 |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
282 private static void selectCallback(String name) { |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
283 trigger.trigger(name); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
284 } |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
285 |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
286 private native void callHighlightRiver(String name) /*-{ |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
287 $wnd.highlight(name); |
2aabd9752d5e
Initial interaction model for riverselection on image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
4573
diff
changeset
|
288 }-*/; |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
289 } |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
290 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |