annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/LinkSelection.java @ 5966:b2e6a90ba0e6

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

http://dive4elements.wald.intevation.org