Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/LinkSelection.java @ 8644:c15cebcf60da
Remove JavaScript greeting exception.
This fixes the Error "$wnd.unHighlight" is not a function
exception at startup. This apperantly did not do anything
(as the function does not exist) and was not necessary
(as everything works as expected) So just throw it away.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Fri, 27 Mar 2015 19:10:02 +0100 |
parents | 8e320b5933de |
children |
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 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
11 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
|
12 import com.smartgwt.client.types.VerticalAlignment; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 import com.smartgwt.client.widgets.Canvas; |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
14 import com.smartgwt.client.widgets.HTMLPane; |
6119
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
15 import com.smartgwt.client.widgets.Img; |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
16 import com.smartgwt.client.widgets.Label; |
6119
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
17 import com.smartgwt.client.widgets.events.VisibilityChangedEvent; |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
18 import com.smartgwt.client.widgets.events.VisibilityChangedHandler; |
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.form.DynamicForm; |
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.fields.LinkItem; |
4064
61020a61ed38
Show river map only once.
Christian Lins <christian.lins@intevation.de>
parents:
3546
diff
changeset
|
21 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
|
22 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
|
23 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
|
24 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
|
25 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
|
26 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
|
27 |
6349
0b3193d268b6
Fix the "Saale-Thüringen" hover effect in the interactive JS map.
Christian Lins <christian.lins@intevation.de>
parents:
6146
diff
changeset
|
28 import java.util.HashMap; |
0b3193d268b6
Fix the "Saale-Thüringen" hover effect in the interactive JS map.
Christian Lins <christian.lins@intevation.de>
parents:
6146
diff
changeset
|
29 import java.util.Map; |
0b3193d268b6
Fix the "Saale-Thüringen" hover effect in the interactive JS map.
Christian Lins <christian.lins@intevation.de>
parents:
6146
diff
changeset
|
30 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
31 import org.dive4elements.river.client.client.FLYSConstants; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
32 import org.dive4elements.river.client.client.event.StepForwardEvent; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
33 import org.dive4elements.river.client.shared.model.Data; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
34 import org.dive4elements.river.client.shared.model.DataItem; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
35 import org.dive4elements.river.client.shared.model.DataList; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
36 import org.dive4elements.river.client.shared.model.DefaultData; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
37 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
|
38 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
39 |
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 * 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
|
42 * |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
43 * @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
|
44 */ |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 public class LinkSelection |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 extends MapSelection |
6119
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
47 implements VisibilityChangedHandler |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 { |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
4064
diff
changeset
|
49 |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
4064
diff
changeset
|
50 private static final long serialVersionUID = -7138270638349711024L; |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
4064
diff
changeset
|
51 |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 /** 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
|
53 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
|
54 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
55 /** The selected river*/ |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
56 protected Data river; |
6119
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
57 private static Map<String, Img> riverHighlight; |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
58 private static Map<String, HLayout> riverList; |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
59 private static String selected; |
6019
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
60 private static HLayout columns; |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
61 |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
62 private static Trigger 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 Canvas module; |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
65 |
6019
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
66 |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
67 private class Trigger { |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
68 |
6349
0b3193d268b6
Fix the "Saale-Thüringen" hover effect in the interactive JS map.
Christian Lins <christian.lins@intevation.de>
parents:
6146
diff
changeset
|
69 private final LinkSelection ls; |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
70 |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
71 public Trigger(LinkSelection ls) { |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
72 this.ls = ls; |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
73 } |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
74 |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
75 public void trigger(String name) { |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
76 DataItem item = new DefaultDataItem( |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
77 name, |
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 name); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
80 |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
81 river = new DefaultData( |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
82 "river", |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
83 null, |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
84 null, |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
85 new DataItem [] {item}); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
86 this.ls.fireStepForwardEvent (new StepForwardEvent (getData())); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
87 } |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
88 } |
282
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 /** |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
91 * This method currently returns a |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
92 * {@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
|
93 * 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
|
94 * |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
95 * @param data The {@link Data} object. |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
96 * |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
97 * @return a combobox. |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
98 */ |
4064
61020a61ed38
Show river map only once.
Christian Lins <christian.lins@intevation.de>
parents:
3546
diff
changeset
|
99 @Override |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
100 public Canvas create(DataList data) { |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
101 trigger = new Trigger(this); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
102 createCallback(); |
6119
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
103 riverHighlight = new HashMap<String, Img>(); |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
104 riverList = new HashMap<String, HLayout>(); |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
105 |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
106 VLayout v = new VLayout(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
107 v.setMembersMargin(10); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
108 v.setAlign(VerticalAlignment.TOP); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
109 if (data.getState() == null) { |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
110 module = super.createWidget(data); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
111 v.addMember(module); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
112 } |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
113 else { |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
114 module = null; |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
115 } |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
116 Canvas content = createWidget(data); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
117 v.addMember(content); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
118 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
119 return v; |
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 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
122 |
4064
61020a61ed38
Show river map only once.
Christian Lins <christian.lins@intevation.de>
parents:
3546
diff
changeset
|
123 @Override |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
124 public Canvas createOld(DataList dataList) { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
125 HLayout layout = new HLayout(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
126 VLayout vLayout = new VLayout(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
127 layout.setWidth("400px"); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
128 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
129 Label label = new Label(dataList.getLabel()); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
130 label.setWidth("200px"); |
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 int size = dataList.size(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
133 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
|
134 Data data = dataList.get(i); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
135 DataItem[] items = data.getItems(); |
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 for (DataItem item: items) { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
138 HLayout hLayout = new HLayout(); |
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 hLayout.addMember(label); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
141 hLayout.addMember(new Label(item.getLabel())); |
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 vLayout.addMember(hLayout); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
144 vLayout.setWidth("130px"); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
145 } |
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 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
148 layout.addMember(label); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
149 layout.addMember(vLayout); |
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 return layout; |
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 |
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 /** |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
156 * 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
|
157 * |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
158 * @param data The {@link Data} object. |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
159 * |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
160 * @return a list of links |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
161 */ |
4064
61020a61ed38
Show river map only once.
Christian Lins <christian.lins@intevation.de>
parents:
3546
diff
changeset
|
162 @Override |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
163 protected Canvas createWidget(DataList data) { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
164 GWT.log("LinkSelection - create()"); |
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 VLayout layout = new VLayout(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
167 layout.setAlign(VerticalAlignment.TOP); |
6019
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
168 // 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
|
169 layout.setHeight(25); |
6019
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
170 columns = new HLayout(); |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
171 VLayout formLayout1 = new VLayout(); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
172 VLayout formLayout2 = new VLayout(); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
173 |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
174 formLayout1.setLayoutLeftMargin(60); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
175 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
176 int size = data.size(); |
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 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
|
179 Data d = data.get(i); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
180 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
181 Label label = new Label(d.getDescription()); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
182 label.setValign(VerticalAlignment.TOP); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
183 label.setHeight(20); |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
184 label.setWidth(400); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
185 |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
186 int counter = 0; |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
187 for (DataItem item: d.getItems()) { |
6119
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
188 HLayout row = new HLayout(); |
7959
8e320b5933de
Fixed river selection for interactive map.
Raimund Renkert <rrenkert@intevation.de>
parents:
7867
diff
changeset
|
189 row.setTitle(item.getLabel()); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
190 LinkItem link = new LinkItem("river"); |
6119
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
191 link.setHoverDelay(0); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
192 link.setLinkTitle(item.getLabel()); |
7764
5d17e0012020
Use river model_uuid to identify rivers.
Raimund Renkert <rrenkert@intevation.de>
parents:
6354
diff
changeset
|
193 link.setValue(item.getStringValue()); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
194 link.setShowTitle(false); |
6119
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
195 Img img = new Img(); |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
196 img.setShowTitle(false); |
6130
2033f86a1863
Use new icon in rver link list.
Raimund Renkert <rrenkert@intevation.de>
parents:
6119
diff
changeset
|
197 img.setSrc("symbol_selected.png"); |
2033f86a1863
Use new icon in rver link list.
Raimund Renkert <rrenkert@intevation.de>
parents:
6119
diff
changeset
|
198 img.setWidth(18); |
2033f86a1863
Use new icon in rver link list.
Raimund Renkert <rrenkert@intevation.de>
parents:
6119
diff
changeset
|
199 img.setHeight(18); |
6119
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
200 img.setVisible(false); |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
201 Canvas container = new Canvas(); |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
202 container.addChild(img); |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
203 container.setHeight(20); |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
204 container.setWidth(20); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
205 DynamicForm f = new DynamicForm(); |
6119
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
206 riverList.put(item.getStringValue(), row); |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
207 riverHighlight.put(item.getStringValue(), img); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
208 f.setItems(link); |
6119
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
209 row.addMember(container); |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
210 row.addMember(f); |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
211 row.addVisibilityChangedHandler(this); |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
212 link.setColSpan(20); |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
213 if (counter < d.getItems().length/2) { |
6119
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
214 formLayout1.addMember(row); |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
215 } |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
216 else { |
6119
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
217 formLayout2.addMember(row); |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
218 } |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
219 counter++; |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
220 link.addClickHandler(new ClickHandler() { |
4064
61020a61ed38
Show river map only once.
Christian Lins <christian.lins@intevation.de>
parents:
3546
diff
changeset
|
221 @Override |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
222 public void onClick(ClickEvent event) { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
223 DataItem item = new DefaultDataItem( |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
224 ((LinkItem)event.getItem()).getLinkTitle(), |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
225 null, |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
226 ((LinkItem)event.getItem()).getLinkTitle()); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
227 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
228 river = new DefaultData( |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
229 "river", |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
230 null, |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
231 null, |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
232 new DataItem [] {item}); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
233 fireStepForwardEvent (new StepForwardEvent (getData())); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
234 } |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
235 }); |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
236 link.addItemHoverHandler(new ItemHoverHandler() { |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
237 @Override |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
238 public void onItemHover(ItemHoverEvent event) { |
7764
5d17e0012020
Use river model_uuid to identify rivers.
Raimund Renkert <rrenkert@intevation.de>
parents:
6354
diff
changeset
|
239 String river = |
5d17e0012020
Use river model_uuid to identify rivers.
Raimund Renkert <rrenkert@intevation.de>
parents:
6354
diff
changeset
|
240 ((LinkItem)event.getItem()).getValue().toString(); |
6146
04dd1f598ef9
Removed unnecessary call of map.containsKey(x).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6131
diff
changeset
|
241 Img item = riverHighlight.get(river); |
04dd1f598ef9
Removed unnecessary call of map.containsKey(x).
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6131
diff
changeset
|
242 if (item != null) { |
6119
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
243 item.setVisible(true); |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
244 if (selected != null && !selected.equals(river)) { |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
245 riverHighlight.get(selected).setVisible(false); |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
246 } |
6119
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
247 callHighlightRiver(river); |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
248 selected = river; |
6019
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
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 }); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
252 } |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
253 |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
254 if (module != null) { |
6119
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
255 getModuleSelection().setRivers(riverList); |
282
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 label.setWidth(50); |
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 layout.addMember(label); |
6019
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
260 columns.addMember(formLayout1); |
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
261 columns.addMember(formLayout2); |
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
262 layout.addMember(columns); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
263 |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
264 } |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
265 HTMLPane map = new HTMLPane(); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
266 map.setContentsURL("images/FLYS_Karte_interactive.html"); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
267 |
3546
12245d1386bb
fix issue63
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
284
diff
changeset
|
268 helperContainer.addMember(map); |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
269 return layout; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
270 } |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
271 |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
272 |
4064
61020a61ed38
Show river map only once.
Christian Lins <christian.lins@intevation.de>
parents:
3546
diff
changeset
|
273 @Override |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
274 protected Data[] getData() { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
275 Data[] module = super.getData(); |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
276 if (module != null) { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
277 return new Data[] {module[0], river}; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
278 } |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
279 else { |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
280 return new Data[] {river}; |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
281 } |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
282 } |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
283 |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
284 private native void createCallback() /*-{ |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
285 $wnd.highlightRiver = @org.dive4elements.river.client.client.ui.LinkSelection::highlightCallback(Ljava/lang/String;); |
6119
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
286 $wnd.unHighlightRiver = @org.dive4elements.river.client.client.ui.LinkSelection::unHighlightCallback(Ljava/lang/String;); |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
287 $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
|
288 $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
|
289 }-*/; |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
290 |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
291 private static void highlightCallback(String name) { |
6119
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
292 if (riverHighlight.containsKey(name)) { |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
293 riverHighlight.get(name).setVisible(true); |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
294 if(selected != null && !selected.equals(name)) { |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
295 riverHighlight.get(selected).setVisible(false); |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
296 } |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
297 selected = name; |
6019
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
298 } |
6119
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
299 } |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
300 |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
301 private static void unHighlightCallback(String name) { |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
302 if (riverHighlight.containsKey(name)) { |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
303 riverHighlight.get(name).setVisible(false); |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
304 selected = null; |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
305 } |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
306 } |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
307 |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
308 private static boolean availableRiver(String river) { |
6119
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
309 HLayout row = riverList.get(river); |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
310 return row != null && row.isVisible(); |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
311 } |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
312 |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
313 private static void selectCallback(String name) { |
6019
078677c684af
Commit performance improvement written by Sascha Teichmann
Andre Heinecke <aheinecke@intevation.de>
parents:
5993
diff
changeset
|
314 if (availableRiver(name)) { |
7959
8e320b5933de
Fixed river selection for interactive map.
Raimund Renkert <rrenkert@intevation.de>
parents:
7867
diff
changeset
|
315 String river = riverList.get(name).getTitle(); |
8e320b5933de
Fixed river selection for interactive map.
Raimund Renkert <rrenkert@intevation.de>
parents:
7867
diff
changeset
|
316 trigger.trigger(river); |
5966
b2e6a90ba0e6
Only select available rivers in interactive image map.
Raimund Renkert <rrenkert@intevation.de>
parents:
5931
diff
changeset
|
317 } |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
318 } |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
319 |
6354
626af4af74a5
Removed umlaut stripping for image map and renamed 'Saale Thüringen'.
Raimund Renkert <rrenkert@intevation.de>
parents:
6349
diff
changeset
|
320 private native void callHighlightRiver(String name) /*-{ |
5928
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
321 $wnd.highlight(name); |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
322 }-*/; |
34392dc16546
Implemented interaction design in project startup page.
Raimund Renkert <rrenkert@intevation.de>
parents:
5861
diff
changeset
|
323 |
6119
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
324 |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
325 @Override |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
326 public void onVisibilityChanged(VisibilityChangedEvent event) { |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
327 for (Map.Entry<String, Img> entry: riverHighlight.entrySet()) { |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
328 entry.getValue().setVisible(false); |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
329 } |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
330 selected = null; |
0b9f0d37fe6e
We have a much faster interactive image map!
Raimund Renkert <rrenkert@intevation.de>
parents:
6066
diff
changeset
|
331 } |
282
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
332 } |
e92f7ef455d6
Show rivers as links instead of a combobox.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
333 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |