Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ChartThemePanel.java @ 1474:0ba23e6fef0c
Refactored, set collectionview in Themepanels constructors.
flys-client/trunk@3519 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Thu, 22 Dec 2011 08:58:33 +0000 |
parents | 31d0557f31a2 |
children | b6af10d5f3da |
rev | line source |
---|---|
523
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.ui.chart; |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
3 import com.google.gwt.core.client.GWT; |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
4 |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
5 import com.google.gwt.user.client.rpc.AsyncCallback; |
523
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
6 |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
7 import com.smartgwt.client.types.ListGridFieldType; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
8 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
9 import com.smartgwt.client.widgets.grid.ListGridField; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
10 import com.smartgwt.client.widgets.grid.ListGridRecord; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
11 import com.smartgwt.client.widgets.layout.VLayout; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
12 import com.smartgwt.client.widgets.menu.events.ClickHandler; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
13 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
14 import com.smartgwt.client.widgets.menu.Menu; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
15 import com.smartgwt.client.widgets.menu.MenuItem; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
16 import com.smartgwt.client.widgets.menu.events.MenuItemClickEvent; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
17 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
18 import com.smartgwt.client.util.SC; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
19 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
20 import de.intevation.flys.client.shared.model.Artifact; |
523
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
21 import de.intevation.flys.client.shared.model.Collection; |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
22 import de.intevation.flys.client.shared.model.Data; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
23 import de.intevation.flys.client.shared.model.DefaultData; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
24 import de.intevation.flys.client.shared.model.DefaultArtifact; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
25 import de.intevation.flys.client.shared.model.FacetRecord; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
26 import de.intevation.flys.client.shared.model.OutputMode; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
27 import de.intevation.flys.client.shared.model.Recommendation; |
524
ba238f917b94
The theme list information stored in the attribute of a collection is read and added in form of Themes and ThemeLists to the Collection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
523
diff
changeset
|
28 import de.intevation.flys.client.shared.model.Theme; |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
29 import de.intevation.flys.client.shared.model.ThemeList; |
523
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
30 |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
31 import de.intevation.flys.client.client.Config; |
523
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
32 import de.intevation.flys.client.client.FLYSConstants; |
1474
0ba23e6fef0c
Refactored, set collectionview in Themepanels constructors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1469
diff
changeset
|
33 import de.intevation.flys.client.client.ui.CollectionView; |
805
f43d06d6a4a2
Refactored code of theme panel and added a MapThemePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
804
diff
changeset
|
34 import de.intevation.flys.client.client.ui.ThemePanel; |
523
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 |
854
67c678903280
Refactored to allow specialized controls within the ChartThemePanel, stubby
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
805
diff
changeset
|
36 import de.intevation.flys.client.client.services.FeedService; |
67c678903280
Refactored to allow specialized controls within the ChartThemePanel, stubby
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
805
diff
changeset
|
37 import de.intevation.flys.client.client.services.FeedServiceAsync; |
523
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
39 import de.intevation.flys.client.client.services.LoadArtifactService; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
40 import de.intevation.flys.client.client.services.LoadArtifactServiceAsync; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
41 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
42 |
523
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
43 /** |
1430
6bb6d43eeb2d
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1309
diff
changeset
|
44 * ThemePanel on the left in CollectionView. |
6bb6d43eeb2d
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1309
diff
changeset
|
45 * Contains control widgets for "themes", which are plotted in a diagram (chart). |
6bb6d43eeb2d
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1309
diff
changeset
|
46 * |
523
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
48 */ |
805
f43d06d6a4a2
Refactored code of theme panel and added a MapThemePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
804
diff
changeset
|
49 public class ChartThemePanel extends ThemePanel { |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
50 /** Artifact Clone/Creation service. */ |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
51 protected LoadArtifactServiceAsync loadService = |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
52 GWT.create(LoadArtifactService.class); |
805
f43d06d6a4a2
Refactored code of theme panel and added a MapThemePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
804
diff
changeset
|
53 |
523
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 /** The interface that provides i18n messages. */ |
858
9f07f67f60a5
Subclassed ChartThemePanel, trigger redraws of Chart when interaction with
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
854
diff
changeset
|
55 protected FLYSConstants MSG = GWT.create(FLYSConstants.class); |
526
96e60e0a4345
Added a service stub to update/modify the attribute of a collection (used in the theme control panel).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
524
diff
changeset
|
56 |
1286
b643622d77fe
Added context menu to themes list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
891
diff
changeset
|
57 /** The collection */ |
b643622d77fe
Added context menu to themes list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
891
diff
changeset
|
58 protected Collection collection; |
b643622d77fe
Added context menu to themes list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
891
diff
changeset
|
59 |
854
67c678903280
Refactored to allow specialized controls within the ChartThemePanel, stubby
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
805
diff
changeset
|
60 public static final String GRID_FIELD_ACTIVE = "active"; |
67c678903280
Refactored to allow specialized controls within the ChartThemePanel, stubby
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
805
diff
changeset
|
61 public static final String GRID_FIELD_NAME = "name"; |
67c678903280
Refactored to allow specialized controls within the ChartThemePanel, stubby
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
805
diff
changeset
|
62 public static final String GRID_FIELD_ACTIONS = "actions"; |
523
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
63 |
854
67c678903280
Refactored to allow specialized controls within the ChartThemePanel, stubby
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
805
diff
changeset
|
64 FeedServiceAsync feedService = GWT.create( |
67c678903280
Refactored to allow specialized controls within the ChartThemePanel, stubby
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
805
diff
changeset
|
65 de.intevation.flys.client.client.services.FeedService.class); |
523
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
66 |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
67 |
1474
0ba23e6fef0c
Refactored, set collectionview in Themepanels constructors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1469
diff
changeset
|
68 public ChartThemePanel( |
0ba23e6fef0c
Refactored, set collectionview in Themepanels constructors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1469
diff
changeset
|
69 Collection collection, |
0ba23e6fef0c
Refactored, set collectionview in Themepanels constructors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1469
diff
changeset
|
70 OutputMode mode, |
0ba23e6fef0c
Refactored, set collectionview in Themepanels constructors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1469
diff
changeset
|
71 CollectionView view |
0ba23e6fef0c
Refactored, set collectionview in Themepanels constructors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1469
diff
changeset
|
72 ) { |
0ba23e6fef0c
Refactored, set collectionview in Themepanels constructors.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1469
diff
changeset
|
73 super(collection, mode, view); |
1286
b643622d77fe
Added context menu to themes list.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
891
diff
changeset
|
74 this.collection = collection; |
523
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
75 |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
76 initGrid(); |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
77 initLayout(); |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
78 |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
79 updateGrid(); |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
80 } |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
81 |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
82 |
1430
6bb6d43eeb2d
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1309
diff
changeset
|
83 protected VLayout createLayout() { |
6bb6d43eeb2d
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1309
diff
changeset
|
84 VLayout layout = new VLayout(); |
6bb6d43eeb2d
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1309
diff
changeset
|
85 layout.setWidth100(); |
6bb6d43eeb2d
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1309
diff
changeset
|
86 layout.setHeight100(); |
6bb6d43eeb2d
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1309
diff
changeset
|
87 |
6bb6d43eeb2d
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1309
diff
changeset
|
88 layout.addMember(list); |
6bb6d43eeb2d
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1309
diff
changeset
|
89 layout.addMember(navigation); |
6bb6d43eeb2d
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1309
diff
changeset
|
90 |
6bb6d43eeb2d
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1309
diff
changeset
|
91 return layout; |
6bb6d43eeb2d
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1309
diff
changeset
|
92 } |
6bb6d43eeb2d
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1309
diff
changeset
|
93 |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
94 |
523
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
95 /** |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
96 * Initializes the layout of this panel. |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
97 */ |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
98 protected void initLayout() { |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
99 setWidth100(); |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
100 setHeight100(); |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
101 |
1430
6bb6d43eeb2d
Cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1309
diff
changeset
|
102 addChild(createLayout()); |
523
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
103 } |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
104 |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
105 |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
106 /** |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
107 * Initializes the components (columns) of the theme grid. |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
108 */ |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
109 protected void initGrid() { |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
110 list.setCanEdit(true); |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
111 list.setCanSort(false); |
858
9f07f67f60a5
Subclassed ChartThemePanel, trigger redraws of Chart when interaction with
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
854
diff
changeset
|
112 list.setShowRecordComponents(false); |
523
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
113 list.setShowRecordComponentsByCell(true); |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
114 list.setShowHeader(true); |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
115 list.setShowHeaderContextMenu(false); |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
116 list.setWidth100(); |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
117 list.setHeight100(); |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
118 |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
119 list.addEditCompleteHandler(this); |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
120 |
1288
17bff7b27052
Bugfix: #357 Removed header title of selection column.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1287
diff
changeset
|
121 ListGridField active = new ListGridField(GRID_FIELD_ACTIVE, " ", 20); |
523
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
122 active.setType(ListGridFieldType.BOOLEAN); |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
123 |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
124 ListGridField name = new ListGridField( |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
125 GRID_FIELD_NAME, MSG.chart_themepanel_header_themes()); |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
126 name.setType(ListGridFieldType.TEXT); |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
127 |
858
9f07f67f60a5
Subclassed ChartThemePanel, trigger redraws of Chart when interaction with
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
854
diff
changeset
|
128 list.setFields(active, name); |
523
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
129 } |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
130 |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
131 |
1460
dfe884cc24a4
Allow other.wkms facets to be created areas with.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1457
diff
changeset
|
132 /** Set theme active/inactive. */ |
805
f43d06d6a4a2
Refactored code of theme panel and added a MapThemePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
804
diff
changeset
|
133 @Override |
f43d06d6a4a2
Refactored code of theme panel and added a MapThemePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
804
diff
changeset
|
134 public void activateTheme(Theme theme, boolean active) { |
f43d06d6a4a2
Refactored code of theme panel and added a MapThemePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
804
diff
changeset
|
135 theme.setActive(active ? 1 : 0); |
527
902609b5cc79
Added a navigation panel to the bottom of the theme control panel to move themes up/down (function not implemented yet).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
526
diff
changeset
|
136 } |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
137 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
138 |
1457
3d9f81c3f00d
Refactored to use existing code.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1456
diff
changeset
|
139 /** Returns name of longitudinal section area facets. */ |
3d9f81c3f00d
Refactored to use existing code.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1456
diff
changeset
|
140 protected String getAreaFacetName() { |
3d9f81c3f00d
Refactored to use existing code.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1456
diff
changeset
|
141 return "longitudinal_section.area"; |
3d9f81c3f00d
Refactored to use existing code.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1456
diff
changeset
|
142 } |
3d9f81c3f00d
Refactored to use existing code.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1456
diff
changeset
|
143 |
3d9f81c3f00d
Refactored to use existing code.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1456
diff
changeset
|
144 |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
145 /** |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
146 * Tell an area artifact where to get the upper and lower curve from. |
1462
a346db45c830
Feed new parameter to area artifact, fix reversed assignment of under/over curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1460
diff
changeset
|
147 * @param artifact UUID of area-artifact. |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
148 */ |
1462
a346db45c830
Feed new parameter to area artifact, fix reversed assignment of under/over curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1460
diff
changeset
|
149 public void feedTellArea( |
a346db45c830
Feed new parameter to area artifact, fix reversed assignment of under/over curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1460
diff
changeset
|
150 final String artifact, |
a346db45c830
Feed new parameter to area artifact, fix reversed assignment of under/over curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1460
diff
changeset
|
151 Theme under, |
a346db45c830
Feed new parameter to area artifact, fix reversed assignment of under/over curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1460
diff
changeset
|
152 Theme over, |
a346db45c830
Feed new parameter to area artifact, fix reversed assignment of under/over curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1460
diff
changeset
|
153 boolean between |
a346db45c830
Feed new parameter to area artifact, fix reversed assignment of under/over curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1460
diff
changeset
|
154 ) { |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
155 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
156 Data[] feedData; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
157 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
158 if (over != null && under != null) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
159 feedData = new Data[] { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
160 DefaultData.createSimpleStringData("area.curve_under", |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
161 under.getArtifact() + under.getIndex()), |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
162 DefaultData.createSimpleStringData("area.curve_over", |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
163 over.getArtifact() + over.getIndex()), |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
164 DefaultData.createSimpleStringData("area.name", |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
165 over.getDescription() + " / " + under.getDescription()), |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
166 DefaultData.createSimpleStringData("area.facet", |
1462
a346db45c830
Feed new parameter to area artifact, fix reversed assignment of under/over curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1460
diff
changeset
|
167 getAreaFacetName()), |
a346db45c830
Feed new parameter to area artifact, fix reversed assignment of under/over curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1460
diff
changeset
|
168 DefaultData.createSimpleStringData("area.between", |
a346db45c830
Feed new parameter to area artifact, fix reversed assignment of under/over curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1460
diff
changeset
|
169 (between)? "true" : "false") |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
170 }; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
171 GWT.log("Have over and under"); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
172 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
173 else if (over == null && under != null) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
174 feedData = new Data[] { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
175 DefaultData.createSimpleStringData("area.curve_under", |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
176 under.getArtifact() + under.getIndex()), |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
177 DefaultData.createSimpleStringData("area.name", |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
178 under.getDescription() + " / " + MSG.getString("x_axis")), |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
179 DefaultData.createSimpleStringData("area.facet", |
1462
a346db45c830
Feed new parameter to area artifact, fix reversed assignment of under/over curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1460
diff
changeset
|
180 getAreaFacetName()), |
a346db45c830
Feed new parameter to area artifact, fix reversed assignment of under/over curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1460
diff
changeset
|
181 DefaultData.createSimpleStringData("area.between", |
a346db45c830
Feed new parameter to area artifact, fix reversed assignment of under/over curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1460
diff
changeset
|
182 (between)? "true" : "false") |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
183 }; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
184 GWT.log("Have under only"); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
185 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
186 else if (over != null && under == null) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
187 feedData = new Data[] { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
188 DefaultData.createSimpleStringData("area.curve_over", |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
189 over.getArtifact() + over.getIndex()), |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
190 DefaultData.createSimpleStringData("area.name", |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
191 MSG.getString("x_axis") + " / " + over.getDescription()), |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
192 DefaultData.createSimpleStringData("area.facet", |
1462
a346db45c830
Feed new parameter to area artifact, fix reversed assignment of under/over curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1460
diff
changeset
|
193 getAreaFacetName()), |
a346db45c830
Feed new parameter to area artifact, fix reversed assignment of under/over curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1460
diff
changeset
|
194 DefaultData.createSimpleStringData("area.between", |
a346db45c830
Feed new parameter to area artifact, fix reversed assignment of under/over curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1460
diff
changeset
|
195 (between)? "true" : "false") |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
196 }; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
197 GWT.log("Have over only"); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
198 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
199 else { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
200 GWT.log("Missing Data for area painting."); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
201 return; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
202 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
203 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
204 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
205 feedService.feed( |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
206 Config.getInstance().getLocale(), |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
207 new DefaultArtifact(artifact, "TODO:hash"), |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
208 feedData, |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
209 new AsyncCallback<Artifact>() { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
210 public void onFailure(Throwable caught) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
211 GWT.log("Could not feed artifact (" + artifact |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
212 + ") with area info: " + caught.getMessage()); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
213 SC.warn(MSG.getString(caught.getMessage())); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
214 enable(); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
215 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
216 public void onSuccess(Artifact artifact) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
217 GWT.log("Successfully set area params to " + artifact); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
218 requestRedraw(); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
219 updateCollection(); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
220 updateGrid(); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
221 enable(); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
222 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
223 }); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
224 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
225 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
226 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
227 /** |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
228 * Create and parameterize a new area artifact. |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
229 * @param under |
1462
a346db45c830
Feed new parameter to area artifact, fix reversed assignment of under/over curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1460
diff
changeset
|
230 * @param over if null, against axis. |
a346db45c830
Feed new parameter to area artifact, fix reversed assignment of under/over curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1460
diff
changeset
|
231 * @param between if true, ignore under/over order. |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
232 */ |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
233 public void createAreaArtifact( |
1462
a346db45c830
Feed new parameter to area artifact, fix reversed assignment of under/over curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1460
diff
changeset
|
234 final Theme over, |
a346db45c830
Feed new parameter to area artifact, fix reversed assignment of under/over curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1460
diff
changeset
|
235 final Theme under, |
a346db45c830
Feed new parameter to area artifact, fix reversed assignment of under/over curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1460
diff
changeset
|
236 final boolean between |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
237 ) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
238 Config config = Config.getInstance(); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
239 String locale = config.getLocale(); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
240 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
241 Recommendation area = new Recommendation( |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
242 "area", |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
243 "", |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
244 "", |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
245 null); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
246 Recommendation[] recommendations = new Recommendation[] {area}; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
247 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
248 loadService.loadMany( |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
249 this.collection, |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
250 recommendations, |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
251 null, //use individual factories. |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
252 locale, |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
253 new AsyncCallback<Artifact[]>() { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
254 public void onFailure(Throwable caught) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
255 GWT.log("Failed, no area artifact: " + caught.getMessage()); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
256 enable(); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
257 // TODO SC.warn |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
258 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
259 public void onSuccess(Artifact[] artifacts) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
260 GWT.log("Success, created area artifact: " |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
261 + artifacts[0].getUuid()); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
262 // Now, feed the artifact with the relevant data. |
1462
a346db45c830
Feed new parameter to area artifact, fix reversed assignment of under/over curves.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1460
diff
changeset
|
263 feedTellArea(artifacts[0].getUuid(), under, over, between); |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
264 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
265 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
266 ); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
267 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
268 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
269 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
270 /** |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
271 * Return true if two themes are canditates for an area being |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
272 * rendered between them. |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
273 * TODO join with canArea, generalize to allow easier modification |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
274 * in subclasses. |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
275 */ |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
276 protected boolean areAreaCompatible(Theme a, Theme b) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
277 if (a.equals(b)) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
278 return false; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
279 } |
1460
dfe884cc24a4
Allow other.wkms facets to be created areas with.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1457
diff
changeset
|
280 if (a.getFacet().equals("longitudinal_section.w") || |
dfe884cc24a4
Allow other.wkms facets to be created areas with.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1457
diff
changeset
|
281 a.getFacet().equals("other.wkms")) { |
dfe884cc24a4
Allow other.wkms facets to be created areas with.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1457
diff
changeset
|
282 return b.getFacet().equals("longitudinal_section.w") |
dfe884cc24a4
Allow other.wkms facets to be created areas with.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1457
diff
changeset
|
283 || b.getFacet().equals("other.wkms"); |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
284 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
285 else if (a.getFacet().equals("longitudinal_section.q")) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
286 return b.getFacet().equals("longitudinal_section.q"); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
287 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
288 return false; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
289 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
290 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
291 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
292 /** |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
293 * True if context menu should contain 'create area' submenu on |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
294 * this theme. |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
295 */ |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
296 protected boolean canArea(Theme a) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
297 return a.getFacet().equals("longitudinal_section.q") |
1460
dfe884cc24a4
Allow other.wkms facets to be created areas with.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1457
diff
changeset
|
298 || a.getFacet().equals("longitudinal_section.w") |
dfe884cc24a4
Allow other.wkms facets to be created areas with.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1457
diff
changeset
|
299 || a.getFacet().equals("other.wkms"); |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
300 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
301 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
302 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
303 /** |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
304 * Include area specific menu items. |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
305 */ |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
306 protected Menu getSingleContextMenu(final ListGridRecord[] records) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
307 Menu menu = super.getSingleContextMenu(records); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
308 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
309 final Theme facetTheme = ((FacetRecord)records[0]).getTheme(); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
310 String thisItem = facetTheme.getDescription(); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
311 if (!canArea(facetTheme)) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
312 return menu; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
313 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
314 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
315 menu.addItem(createSeparator()); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
316 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
317 MenuItem areaMenuItem = new MenuItem(MSG.chart_themepanel_new_area()); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
318 Menu areaMenu = new Menu(); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
319 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
320 ThemeList themes = getThemeList(); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
321 int nThemes = themes.getThemeCount(); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
322 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
323 MenuItem underMenuItem = new MenuItem(MSG.chart_themepanel_area_under()); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
324 Menu underMenu = new Menu(); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
325 for (int i = 0; i < nThemes; i++) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
326 final Theme theme = themes.getThemeAt(i+1); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
327 if (!areAreaCompatible(facetTheme, theme)) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
328 continue; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
329 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
330 MenuItem againster = new MenuItem(theme.getDescription()); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
331 underMenu.addItem(againster); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
332 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
333 againster.addClickHandler(new ClickHandler() { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
334 public void onClick(MenuItemClickEvent evt) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
335 disable(); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
336 createAreaArtifact(theme, facetTheme, false); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
337 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
338 }); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
339 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
340 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
341 MenuItem overMenuItem = new MenuItem(MSG.chart_themepanel_area_over()); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
342 Menu overMenu = new Menu(); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
343 for (int i = 0; i < nThemes; i++) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
344 final Theme theme = themes.getThemeAt(i+1); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
345 if (!areAreaCompatible(facetTheme, theme)) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
346 continue; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
347 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
348 MenuItem againster = new MenuItem(theme.getDescription()); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
349 overMenu.addItem(againster); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
350 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
351 againster.addClickHandler(new ClickHandler() { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
352 public void onClick(MenuItemClickEvent evt) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
353 disable(); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
354 createAreaArtifact(facetTheme, theme, false); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
355 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
356 }); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
357 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
358 overMenu.addItem(createSeparator()); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
359 MenuItem againstAxis = new MenuItem(MSG.getString("x_axis")); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
360 againstAxis.addClickHandler(new ClickHandler() { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
361 public void onClick(MenuItemClickEvent evt) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
362 disable(); |
1469
31d0557f31a2
Fix over axis menu item, added standalone 'over axis' menu item.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1462
diff
changeset
|
363 createAreaArtifact(null, facetTheme, false); |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
364 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
365 }); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
366 overMenu.addItem(againstAxis); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
367 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
368 MenuItem betweenMenuItem = new MenuItem(MSG.chart_themepanel_area_between()); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
369 Menu betweenMenu = new Menu(); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
370 for (int i = 0; i < nThemes; i++) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
371 final Theme theme = themes.getThemeAt(i+1); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
372 if (!areAreaCompatible(facetTheme, theme)) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
373 continue; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
374 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
375 MenuItem againster = new MenuItem(theme.getDescription()); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
376 betweenMenu.addItem(againster); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
377 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
378 againster.addClickHandler(new ClickHandler() { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
379 public void onClick(MenuItemClickEvent evt) { |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
380 disable(); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
381 createAreaArtifact(facetTheme, theme, true); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
382 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
383 }); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
384 } |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
385 betweenMenu.addItem(createSeparator()); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
386 betweenMenu.addItem(againstAxis); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
387 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
388 overMenuItem.setSubmenu(overMenu); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
389 underMenuItem.setSubmenu(underMenu); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
390 betweenMenuItem.setSubmenu(betweenMenu); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
391 |
1469
31d0557f31a2
Fix over axis menu item, added standalone 'over axis' menu item.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1462
diff
changeset
|
392 areaMenu.addItem(betweenMenuItem); |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
393 areaMenu.addItem(overMenuItem); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
394 areaMenu.addItem(underMenuItem); |
1469
31d0557f31a2
Fix over axis menu item, added standalone 'over axis' menu item.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1462
diff
changeset
|
395 areaMenu.addItem(createSeparator()); |
31d0557f31a2
Fix over axis menu item, added standalone 'over axis' menu item.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1462
diff
changeset
|
396 MenuItem standAloneAgainstAxis = new MenuItem(MSG.getString("against_x_axis")); |
31d0557f31a2
Fix over axis menu item, added standalone 'over axis' menu item.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1462
diff
changeset
|
397 standAloneAgainstAxis.addClickHandler(new ClickHandler() { |
31d0557f31a2
Fix over axis menu item, added standalone 'over axis' menu item.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1462
diff
changeset
|
398 public void onClick(MenuItemClickEvent evt) { |
31d0557f31a2
Fix over axis menu item, added standalone 'over axis' menu item.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1462
diff
changeset
|
399 disable(); |
31d0557f31a2
Fix over axis menu item, added standalone 'over axis' menu item.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1462
diff
changeset
|
400 createAreaArtifact(null, facetTheme, false); |
31d0557f31a2
Fix over axis menu item, added standalone 'over axis' menu item.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1462
diff
changeset
|
401 } |
31d0557f31a2
Fix over axis menu item, added standalone 'over axis' menu item.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1462
diff
changeset
|
402 }); |
31d0557f31a2
Fix over axis menu item, added standalone 'over axis' menu item.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1462
diff
changeset
|
403 areaMenu.addItem(standAloneAgainstAxis); |
1456
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
404 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
405 areaMenuItem.setSubmenu(areaMenu); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
406 menu.addItem(areaMenuItem); |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
407 |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
408 return menu; |
1c2cd46d526d
Have 'area' context menu in Longitudinal-Section diagrams themepanels, too.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1430
diff
changeset
|
409 } |
523
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
410 } |
0785a8ba5e6d
Implemented the first step of a theme control panel for charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
411 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |