Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/utils/ThemeUtil.java @ 6332:f5bb53106ae8
Remove createBarriersLayer and createBarriers
The generated mapfiles did not work and were just confusing. This
looks like historical cruft that was never deleted. The real barrier
mapfiles are created in the Floodmap state
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Thu, 13 Jun 2013 17:24:56 +0200 |
parents | 8b03a7589101 |
children | 7a9cbb3a3d5a |
rev | line source |
---|---|
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5994
af13ceeba52a
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5994
af13ceeba52a
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5863
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5863
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
4897a58c8746
River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5655
diff
changeset
|
9 package org.dive4elements.river.utils; |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
10 |
6170
194a99865d73
createWSPLGENClassName() now respects user locale (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6158
diff
changeset
|
11 import org.dive4elements.artifacts.CallMeta; |
5831
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5655
diff
changeset
|
12 import org.dive4elements.artifacts.common.utils.XMLUtils; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5655
diff
changeset
|
13 import org.dive4elements.river.artifacts.model.MapserverStyle; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5655
diff
changeset
|
14 import org.dive4elements.river.artifacts.model.MapserverStyle.Clazz; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5655
diff
changeset
|
15 import org.dive4elements.river.artifacts.model.MapserverStyle.Expression; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5655
diff
changeset
|
16 import org.dive4elements.river.artifacts.model.MapserverStyle.Label; |
bd047b71ab37
Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5655
diff
changeset
|
17 import org.dive4elements.river.artifacts.model.MapserverStyle.Style; |
6170
194a99865d73
createWSPLGENClassName() now respects user locale (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6158
diff
changeset
|
18 import org.dive4elements.river.artifacts.resources.Resources; |
4573
b87073a05f9d
flys-client: Patch to render combobox options as clickable links.
Christian Lins <christian.lins@intevation.de>
parents:
4389
diff
changeset
|
19 |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
20 import java.awt.Color; |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
21 import java.awt.Font; |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
22 |
3254
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
3251
diff
changeset
|
23 import org.apache.log4j.Logger; |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
24 import org.w3c.dom.Document; |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
25 |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
26 |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
27 /** |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
28 * Utility to deal with themes and their representations. |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
29 */ |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
30 public class ThemeUtil { |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
31 |
3624
84a19de5f16a
issue695, fix path to showlevel style property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3561
diff
changeset
|
32 /** Private logger. */ |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
33 private static Logger logger = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
34 Logger.getLogger(ThemeUtil.class); |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
35 |
6244
8b03a7589101
Enhance WSPLGEN legend's class names (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6170
diff
changeset
|
36 private static final String MSG_ISOBATH_CLASS = "floodmap.isobath.class"; |
8b03a7589101
Enhance WSPLGEN legend's class names (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6170
diff
changeset
|
37 |
8b03a7589101
Enhance WSPLGEN legend's class names (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6170
diff
changeset
|
38 private static final String MSG_ISOBATH_LASTCLASS = "floodmap.isobath.lastclass"; |
8b03a7589101
Enhance WSPLGEN legend's class names (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6170
diff
changeset
|
39 |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
40 public final static String XPATH_FILL_COLOR = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
41 "/theme/field[@name='fillcolor']/@default"; |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
42 |
1711
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
43 public final static String XPATH_LINE_COLOR = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
44 "/theme/field[@name='linecolor']/@default"; |
1711
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
45 |
4686
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
46 public final static String XPATH_AREA_LINE_COLOR = |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
47 "/theme/field[@name='areabordercolor']/@default"; |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
48 |
1711
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
49 public static final String XPATH_LINE_SIZE = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
50 "/theme/field[@name='linesize']/@default"; |
1711
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
51 |
1753
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
52 public static final String XPATH_LINE_STYLE = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
53 "/theme/field[@name='linetype']/@default"; |
1753
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
54 |
2076
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
55 public static final String XPATH_POINT_SIZE = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
56 "/theme/field[@name='pointsize']/@default"; |
2076
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
57 |
3090
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
58 public static final String XPATH_POINT_COLOR = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
59 "/theme/field[@name='pointcolor']/@default"; |
3090
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
60 |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
61 public final static String XPATH_SHOW_BORDER = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
62 "/theme/field[@name='showborder']/@default"; |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
63 |
4686
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
64 public final static String XPATH_AREA_SHOW_BORDER = |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
65 "/theme/field[@name='showborder']/@default"; |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
66 |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
67 public final static String XPATH_SHOW_POINTS = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
68 "/theme/field[@name='showpoints']/@default"; |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
69 |
1753
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
70 public final static String XPATH_SHOW_LINE = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
71 "/theme/field[@name='showlines']/@default"; |
1753
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
72 |
2996
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
73 public final static String XPATH_SHOW_VERTICAL_LINE = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
74 "/theme/field[@name='showverticalline']/@default"; |
2996
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
75 |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
76 public final static String XPATH_SHOW_HORIZONTAL_LINE = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
77 "/theme/field[@name='showhorizontalline']/@default"; |
2996
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
78 |
2648
8aaa7f4ce06a
Let theme define whether or not to display a (yet static) label for line).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2616
diff
changeset
|
79 public final static String XPATH_SHOW_LINE_LABEL = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
80 "/theme/field[@name='showlinelabel']/@default"; |
2648
8aaa7f4ce06a
Let theme define whether or not to display a (yet static) label for line).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2616
diff
changeset
|
81 |
3286
f062b5a90e26
Add showpointlabel style attribute
Christian Lins <christian.lins@intevation.de>
parents:
3256
diff
changeset
|
82 public final static String XPATH_SHOW_POINT_LABEL = |
f062b5a90e26
Add showpointlabel style attribute
Christian Lins <christian.lins@intevation.de>
parents:
3256
diff
changeset
|
83 "/theme/field[@name='showpointlabel']/@default"; |
f062b5a90e26
Add showpointlabel style attribute
Christian Lins <christian.lins@intevation.de>
parents:
3256
diff
changeset
|
84 |
2663
33d61e2a49a2
Added and respect two new properties of waterlevels in cross-sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2662
diff
changeset
|
85 public final static String XPATH_SHOW_WIDTH = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
86 "/theme/field[@name='showwidth']/@default"; |
2663
33d61e2a49a2
Added and respect two new properties of waterlevels in cross-sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2662
diff
changeset
|
87 |
33d61e2a49a2
Added and respect two new properties of waterlevels in cross-sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2662
diff
changeset
|
88 public final static String XPATH_SHOW_LEVEL = |
3624
84a19de5f16a
issue695, fix path to showlevel style property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3561
diff
changeset
|
89 "/theme/field[@name='showlevel']/@default"; |
2663
33d61e2a49a2
Added and respect two new properties of waterlevels in cross-sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2662
diff
changeset
|
90 |
3738
34da25796c21
Theme transparency attribute support (#840)
Christian Lins <christian.lins@intevation.de>
parents:
3624
diff
changeset
|
91 public final static String XPATH_TRANSPARENCY = |
34da25796c21
Theme transparency attribute support (#840)
Christian Lins <christian.lins@intevation.de>
parents:
3624
diff
changeset
|
92 "/theme/field[@name='transparency']/@default"; |
2032
5746c74c69cf
Added a transparency setting to area theme style.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2016
diff
changeset
|
93 |
4686
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
94 public final static String XPATH_AREA_TRANSPARENCY = |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
95 "/theme/field[@name='areatransparency']/@default"; |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
96 |
2666
6da7e064ae90
Allow basic and styled area labels, yet on static position within plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2663
diff
changeset
|
97 public final static String XPATH_SHOW_AREA = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
98 "/theme/field[@name='showarea']/@default"; |
2666
6da7e064ae90
Allow basic and styled area labels, yet on static position within plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2663
diff
changeset
|
99 |
2674
2be59d5b342c
Added and respect theme prop whether or not to display (not yet calculated) middle height.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2666
diff
changeset
|
100 public final static String XPATH_SHOW_MIDDLE_HEIGHT = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
101 "/theme/field[@name='showmiddleheight']/@default"; |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
102 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
103 public final static String XPATH_LABEL_FONT_COLOR = |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
104 "/theme/field[@name='labelfontcolor']/@default"; |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
105 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
106 public final static String XPATH_LABEL_FONT_SIZE = |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
107 "/theme/field[@name='labelfontsize']/@default"; |
1711
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
108 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
109 public final static String XPATH_LABEL_FONT_FACE = |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
110 "/theme/field[@name='labelfontface']/@default"; |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
111 |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
112 public final static String XPATH_LABEL_FONT_STYLE = |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
113 "/theme/field[@name='labelfontstyle']/@default"; |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
114 |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
115 public final static String XPATH_TEXT_ORIENTATION = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
116 "/theme/field[@name='textorientation']/@default"; |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
117 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
118 public final static String XPATH_LABEL_BGCOLOR = |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
119 "/theme/field[@name='labelbgcolor']/@default"; |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
120 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
121 public final static String XPATH_LABEL_SHOW_BACKGROUND = |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
122 "/theme/field[@name='labelshowbg']/@default"; |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
123 |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
124 public final static String XPATH_BACKGROUND_COLOR = |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
125 "/theme/field[@name='backgroundcolor']/@default"; |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
126 |
4686
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
127 public final static String XPATH_AREA_BACKGROUND_COLOR = |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
128 "/theme/field[@name='areabgcolor']/@default"; |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
129 |
1816
5364b86a0880
Improved styles of WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1793
diff
changeset
|
130 public final static String XPATH_SYMBOL = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
131 "/theme/field[@name='symbol']/@default"; |
1816
5364b86a0880
Improved styles of WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1793
diff
changeset
|
132 |
2072
4cdd9c4896f6
#393 Added a new Renderer and Options in Themes that allow displaying minimum and maximum of a chart series.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2032
diff
changeset
|
133 public final static String XPATH_SHOW_MINIMUM = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
134 "/theme/field[@name='showminimum']/@default"; |
2072
4cdd9c4896f6
#393 Added a new Renderer and Options in Themes that allow displaying minimum and maximum of a chart series.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2032
diff
changeset
|
135 |
4cdd9c4896f6
#393 Added a new Renderer and Options in Themes that allow displaying minimum and maximum of a chart series.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2032
diff
changeset
|
136 public final static String XPATH_SHOW_MAXIMUM = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
137 "/theme/field[@name='showmaximum']/@default"; |
2072
4cdd9c4896f6
#393 Added a new Renderer and Options in Themes that allow displaying minimum and maximum of a chart series.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2032
diff
changeset
|
138 |
2616
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
139 public final static String XPATH_WSPLGEN_FIELDS = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
140 "/theme[@name='WSPLGEN']/field"; |
2616
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
141 |
4577
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4573
diff
changeset
|
142 public final static String XPATH_WSPLGEN_STARTCOLOR = |
4592
11545c3b9111
Floodmap can now be classified in the range 5 to 20 (incl.).
Christian Lins <christian.lins@intevation.de>
parents:
4577
diff
changeset
|
143 "/theme/field[@name='startcolor']/@default"; |
4577
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4573
diff
changeset
|
144 |
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4573
diff
changeset
|
145 public final static String XPATH_WSPLGEN_ENDCOLOR = |
4592
11545c3b9111
Floodmap can now be classified in the range 5 to 20 (incl.).
Christian Lins <christian.lins@intevation.de>
parents:
4577
diff
changeset
|
146 "/theme/field[@name='endcolor']/@default"; |
4577
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4573
diff
changeset
|
147 |
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4573
diff
changeset
|
148 public final static String XPATH_WSPLGEN_NUMCLASSES = |
4592
11545c3b9111
Floodmap can now be classified in the range 5 to 20 (incl.).
Christian Lins <christian.lins@intevation.de>
parents:
4577
diff
changeset
|
149 "/theme/field[@name='numclasses']/@default"; |
4577
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4573
diff
changeset
|
150 |
3395
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
151 /** XPATH to bandwidth field. */ |
3394
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3286
diff
changeset
|
152 public final static String XPATH_BANDWIDTH = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
153 "/theme/field[@name='bandwidth']/@default"; |
3394
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3286
diff
changeset
|
154 |
4389
ecd237428af6
ThemeUtil: Method to parse/access showextramark theme prop.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4283
diff
changeset
|
155 /** XPATH to find showextramark field. */ |
ecd237428af6
ThemeUtil: Method to parse/access showextramark theme prop.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4283
diff
changeset
|
156 public final static String XPATH_SHOWEXTRAMARK = |
ecd237428af6
ThemeUtil: Method to parse/access showextramark theme prop.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4283
diff
changeset
|
157 "/theme/field[@name='showextramark']/@default"; |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
158 |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
159 /** Parse string to be boolean with default if empty or unrecognized. */ |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
160 public static boolean parseBoolean(String value, boolean defaultsTo) { |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
161 if (value == null || value.length() == 0) { |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
162 return defaultsTo; |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
163 } |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
164 if (value.equals("false")) { |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
165 return false; |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
166 } |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
167 else if (value.equals("true")) { |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
168 return true; |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
169 } |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
170 else { |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
171 return defaultsTo; |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
172 } |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
173 } |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
174 |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
175 |
3399
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
176 /** |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
177 * Attempt converting \param value to an integer, in failing cases, |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
178 * return \param defaultsTo. |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
179 * @param value String to be converted to integer. |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
180 * @param defaultsTo Default to return if conversion failed. |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
181 * @return \param value as integer or defaultsto if conversion failed. |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
182 */ |
2076
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
183 public static int parseInteger(String value, int defaultsTo) { |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
184 if (value == null || value.length() == 0) { |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
185 return defaultsTo; |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
186 } |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
187 |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
188 try { |
3405
b0ba96bbf01d
Use Integer.parseInt() instead of Integer.valueOf() + Autounboxing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3399
diff
changeset
|
189 return Integer.parseInt(value); |
2076
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
190 } |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
191 catch (NumberFormatException nfe) { |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
192 // do nothing |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
193 } |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
194 |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
195 return defaultsTo; |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
196 } |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
197 |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
198 |
1711
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
199 /** |
3399
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
200 * Attempt converting \param value to a double, in failing cases, |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
201 * return \param defaultsTo. |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
202 * @param value String to be converted to double. |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
203 * @param defaultsTo Default to return if conversion failed. |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
204 * @return \param value as integer or defaultsto if conversion failed. |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
205 */ |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
206 public static double parseDouble(String value, double defaultsTo) { |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
207 if (value == null || value.length() == 0) { |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
208 return defaultsTo; |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
209 } |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
210 |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
211 try { |
3561
f7e6b35f0b5c
Partly reverted Double->double change of clins.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3464
diff
changeset
|
212 return Double.parseDouble(value); |
3399
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
213 } |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
214 catch (NumberFormatException nfe) { |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
215 // do nothing |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
216 } |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
217 |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
218 return defaultsTo; |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
219 } |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
220 |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
221 |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
222 /** |
1711
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
223 * Parses line width, defaulting to 0. |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
224 * @param theme the theme |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
225 */ |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
226 public static int parseLineWidth(Document theme) { |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
227 String size = XMLUtils.xpathString(theme, XPATH_LINE_SIZE, null); |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
228 if (size == null || size.length() == 0) { |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
229 return 0; |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
230 } |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
231 |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
232 try { |
3405
b0ba96bbf01d
Use Integer.parseInt() instead of Integer.valueOf() + Autounboxing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3399
diff
changeset
|
233 return Integer.parseInt(size); |
1711
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
234 } |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
235 catch (NumberFormatException nfe) { |
1753
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
236 logger.warn("Unable to set line size from string: '" + size + "'"); |
1711
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
237 } |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
238 return 0; |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
239 } |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
240 |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
241 |
3395
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
242 /** |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
243 * Parse band width, defaulting to 0. |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
244 * @param theme the theme. |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
245 */ |
3399
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
246 public static double parseBandWidth(Document theme) { |
3394
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3286
diff
changeset
|
247 String bandWidth = XMLUtils.xpathString(theme, XPATH_BANDWIDTH, null); |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3286
diff
changeset
|
248 |
3399
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
249 return parseDouble(bandWidth, 0); |
3394
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3286
diff
changeset
|
250 } |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3286
diff
changeset
|
251 |
3395
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
252 |
2076
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
253 public static int parsePointWidth(Document theme) { |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
254 String width = XMLUtils.xpathString(theme, XPATH_POINT_SIZE, null); |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
255 |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
256 return parseInteger(width, 3); |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
257 } |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
258 |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
259 |
3090
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
260 public static Color parsePointColor(Document theme) { |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
261 String color = XMLUtils.xpathString(theme, XPATH_POINT_COLOR, null); |
3155
74c974b10c75
Output code to trackdown the linecolor problem
Christian Lins <christian.lins@intevation.de>
parents:
3098
diff
changeset
|
262 logger.debug("parsePointColor(): color = " + color); |
3090
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
263 return parseColor(color); |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
264 } |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
265 |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
266 |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
267 /** |
1753
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
268 * Parses the line style, defaulting to '10'. |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
269 * @param theme The theme. |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
270 */ |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
271 public static float[] parseLineStyle(Document theme) { |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
272 String dash = XMLUtils.xpathString(theme, XPATH_LINE_STYLE, null); |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
273 |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
274 float[] def = {10}; |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
275 if (dash == null || dash.length() == 0) { |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
276 return def; |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
277 } |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
278 |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
279 String[] pattern = dash.split(","); |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
280 if(pattern.length == 1) { |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
281 return def; |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
282 } |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
283 |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
284 try { |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
285 float[] dashes = new float[pattern.length]; |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
286 for (int i = 0; i < pattern.length; i++) { |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
287 dashes[i] = Float.parseFloat(pattern[i]); |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
288 } |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
289 return dashes; |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
290 } |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
291 catch(NumberFormatException nfe) { |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
292 logger.warn("Unable to set dash from string: '" + dash + "'"); |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
293 return def; |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
294 } |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
295 } |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
296 |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
297 |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
298 /** |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
299 * Parses text size, defaulting to 10. |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
300 * @param theme The theme. |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
301 */ |
2656
f1dcd5f94ffa
Parse more theme properties for linelabels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2648
diff
changeset
|
302 public static int parseTextSize(Document theme, String path) { |
f1dcd5f94ffa
Parse more theme properties for linelabels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2648
diff
changeset
|
303 String size = XMLUtils.xpathString(theme, path, null); |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
304 if (size == null || size.length() == 0) { |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
305 return 10; |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
306 } |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
307 |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
308 try { |
3405
b0ba96bbf01d
Use Integer.parseInt() instead of Integer.valueOf() + Autounboxing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3399
diff
changeset
|
309 return Integer.parseInt(size); |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
310 } |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
311 catch (NumberFormatException nfe) { |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
312 } |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
313 return 10; |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
314 } |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
315 |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
316 |
2656
f1dcd5f94ffa
Parse more theme properties for linelabels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2648
diff
changeset
|
317 public static int parseTextSize(Document theme) { |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
318 return parseTextSize(theme, XPATH_LABEL_FONT_SIZE); |
2656
f1dcd5f94ffa
Parse more theme properties for linelabels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2648
diff
changeset
|
319 } |
f1dcd5f94ffa
Parse more theme properties for linelabels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2648
diff
changeset
|
320 |
f1dcd5f94ffa
Parse more theme properties for linelabels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2648
diff
changeset
|
321 |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
322 /** |
4389
ecd237428af6
ThemeUtil: Method to parse/access showextramark theme prop.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4283
diff
changeset
|
323 * Parses the attribute 'showextramark', defaults to false. |
ecd237428af6
ThemeUtil: Method to parse/access showextramark theme prop.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4283
diff
changeset
|
324 * @param theme The theme. |
ecd237428af6
ThemeUtil: Method to parse/access showextramark theme prop.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4283
diff
changeset
|
325 */ |
ecd237428af6
ThemeUtil: Method to parse/access showextramark theme prop.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4283
diff
changeset
|
326 public static boolean parseShowExtraMark(Document theme) { |
ecd237428af6
ThemeUtil: Method to parse/access showextramark theme prop.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4283
diff
changeset
|
327 String show = XMLUtils.xpathString(theme, XPATH_SHOWEXTRAMARK, null); |
ecd237428af6
ThemeUtil: Method to parse/access showextramark theme prop.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4283
diff
changeset
|
328 return parseBoolean(show, false); |
ecd237428af6
ThemeUtil: Method to parse/access showextramark theme prop.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4283
diff
changeset
|
329 } |
ecd237428af6
ThemeUtil: Method to parse/access showextramark theme prop.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4283
diff
changeset
|
330 |
ecd237428af6
ThemeUtil: Method to parse/access showextramark theme prop.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4283
diff
changeset
|
331 /** |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
332 * Parses the attribute 'showpoints', defaults to false. |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
333 * @param theme The theme. |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
334 */ |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
335 public static boolean parseShowPoints(Document theme) { |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
336 String show = XMLUtils.xpathString(theme, XPATH_SHOW_POINTS, null); |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
337 return parseBoolean(show, false); |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
338 } |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
339 |
2666
6da7e064ae90
Allow basic and styled area labels, yet on static position within plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2663
diff
changeset
|
340 /** |
2674
2be59d5b342c
Added and respect theme prop whether or not to display (not yet calculated) middle height.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2666
diff
changeset
|
341 * Parses the attribute 'showmiddleheight', defaults to false. |
2be59d5b342c
Added and respect theme prop whether or not to display (not yet calculated) middle height.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2666
diff
changeset
|
342 * @param theme The theme. |
2be59d5b342c
Added and respect theme prop whether or not to display (not yet calculated) middle height.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2666
diff
changeset
|
343 */ |
2be59d5b342c
Added and respect theme prop whether or not to display (not yet calculated) middle height.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2666
diff
changeset
|
344 public static boolean parseShowMiddleHeight(Document theme) { |
2be59d5b342c
Added and respect theme prop whether or not to display (not yet calculated) middle height.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2666
diff
changeset
|
345 String show = XMLUtils.xpathString(theme, XPATH_SHOW_MIDDLE_HEIGHT, null); |
2be59d5b342c
Added and respect theme prop whether or not to display (not yet calculated) middle height.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2666
diff
changeset
|
346 return parseBoolean(show, false); |
2be59d5b342c
Added and respect theme prop whether or not to display (not yet calculated) middle height.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2666
diff
changeset
|
347 } |
2be59d5b342c
Added and respect theme prop whether or not to display (not yet calculated) middle height.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2666
diff
changeset
|
348 |
2be59d5b342c
Added and respect theme prop whether or not to display (not yet calculated) middle height.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2666
diff
changeset
|
349 /** |
2666
6da7e064ae90
Allow basic and styled area labels, yet on static position within plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2663
diff
changeset
|
350 * Parses the attribute 'showarea', defaults to false. |
6da7e064ae90
Allow basic and styled area labels, yet on static position within plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2663
diff
changeset
|
351 * @param theme The theme. |
6da7e064ae90
Allow basic and styled area labels, yet on static position within plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2663
diff
changeset
|
352 */ |
6da7e064ae90
Allow basic and styled area labels, yet on static position within plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2663
diff
changeset
|
353 public static boolean parseShowArea(Document theme) { |
6da7e064ae90
Allow basic and styled area labels, yet on static position within plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2663
diff
changeset
|
354 String show = XMLUtils.xpathString(theme, XPATH_SHOW_AREA, null); |
6da7e064ae90
Allow basic and styled area labels, yet on static position within plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2663
diff
changeset
|
355 return parseBoolean(show, false); |
6da7e064ae90
Allow basic and styled area labels, yet on static position within plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2663
diff
changeset
|
356 } |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
357 |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
358 /** |
2996
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
359 * Parses the attribute 'showverticalline', defaults to true. |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
360 * @param theme The theme. |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
361 */ |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
362 public static boolean parseShowVerticalLine(Document theme) { |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
363 String show = XMLUtils.xpathString(theme, XPATH_SHOW_VERTICAL_LINE, null); |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
364 return parseBoolean(show, true); |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
365 } |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
366 |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
367 /** |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
368 * Parses the attribute 'showhorizontalline', defaults to true. |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
369 * @param theme The theme. |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
370 */ |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
371 public static boolean parseShowHorizontalLine(Document theme) { |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
372 String show = XMLUtils.xpathString(theme, XPATH_SHOW_HORIZONTAL_LINE, null); |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
373 return parseBoolean(show, true); |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
374 } |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
375 |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
376 /** |
1753
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
377 * Parses the attribute 'showlines', defaults to true. |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
378 * @param theme The theme. |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
379 */ |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
380 public static boolean parseShowLine(Document theme) { |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
381 String show = XMLUtils.xpathString(theme, XPATH_SHOW_LINE, null); |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
382 return parseBoolean(show, true); |
1753
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
383 } |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
384 |
2648
8aaa7f4ce06a
Let theme define whether or not to display a (yet static) label for line).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2616
diff
changeset
|
385 /** |
8aaa7f4ce06a
Let theme define whether or not to display a (yet static) label for line).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2616
diff
changeset
|
386 * Parses the attribute 'showlinelabel', defaults to true. |
8aaa7f4ce06a
Let theme define whether or not to display a (yet static) label for line).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2616
diff
changeset
|
387 * @param theme The theme. |
8aaa7f4ce06a
Let theme define whether or not to display a (yet static) label for line).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2616
diff
changeset
|
388 */ |
8aaa7f4ce06a
Let theme define whether or not to display a (yet static) label for line).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2616
diff
changeset
|
389 public static boolean parseShowLineLabel(Document theme) { |
8aaa7f4ce06a
Let theme define whether or not to display a (yet static) label for line).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2616
diff
changeset
|
390 String show = XMLUtils.xpathString(theme, XPATH_SHOW_LINE_LABEL, null); |
3098
1d79c85bd8c2
Line labels are not visible until the option is set by the user (or configured in a theme).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3090
diff
changeset
|
391 return parseBoolean(show, false); |
2648
8aaa7f4ce06a
Let theme define whether or not to display a (yet static) label for line).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2616
diff
changeset
|
392 } |
1753
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
393 |
3286
f062b5a90e26
Add showpointlabel style attribute
Christian Lins <christian.lins@intevation.de>
parents:
3256
diff
changeset
|
394 public static boolean parseShowPointLabel(Document theme) { |
f062b5a90e26
Add showpointlabel style attribute
Christian Lins <christian.lins@intevation.de>
parents:
3256
diff
changeset
|
395 String show = XMLUtils.xpathString(theme, XPATH_SHOW_POINT_LABEL, null); |
f062b5a90e26
Add showpointlabel style attribute
Christian Lins <christian.lins@intevation.de>
parents:
3256
diff
changeset
|
396 return parseBoolean(show, false); |
f062b5a90e26
Add showpointlabel style attribute
Christian Lins <christian.lins@intevation.de>
parents:
3256
diff
changeset
|
397 } |
f062b5a90e26
Add showpointlabel style attribute
Christian Lins <christian.lins@intevation.de>
parents:
3256
diff
changeset
|
398 |
1753
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
399 /** |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
400 * Parses text color. |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
401 * @param theme The theme. |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
402 */ |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
403 public static Color parseTextColor(Document theme) { |
1876
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
404 return parseRGB(getTextColorString(theme)); |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
405 } |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
406 |
3076
5642a83420f2
FLYS artifacts: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2996
diff
changeset
|
407 |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
408 /** |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
409 * Parses the font. |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
410 * @param theme The theme. |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
411 */ |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
412 public static Font parseTextFont(Document theme) { |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
413 String font = XMLUtils.xpathString(theme, XPATH_LABEL_FONT_FACE, null); |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
414 if (font == null || font.length() == 0) { |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
415 return null; |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
416 } |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
417 |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
418 int size = parseTextSize(theme); |
1750
415ec0223dff
Renamed text background attribute and parse text attributes correctly.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1748
diff
changeset
|
419 int style = parseTextStyle(theme); |
415ec0223dff
Renamed text background attribute and parse text attributes correctly.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1748
diff
changeset
|
420 Font f = new Font (font, style, size); |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
421 return f; |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
422 } |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
423 |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
424 |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
425 /** |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
426 * Parses the text style, defaults to 'Font.PLAIN'. |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
427 * @param theme The theme. |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
428 */ |
2656
f1dcd5f94ffa
Parse more theme properties for linelabels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2648
diff
changeset
|
429 public static int parseTextStyle(Document theme, String path) { |
f1dcd5f94ffa
Parse more theme properties for linelabels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2648
diff
changeset
|
430 String style = XMLUtils.xpathString(theme, path, null); |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
431 if (style == null || style.length() == 0) { |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
432 return Font.PLAIN; |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
433 } |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
434 |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
435 if (style.equals("italic")) { |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
436 return Font.ITALIC; |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
437 } |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
438 else if (style.equals("bold")) { |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
439 return Font.BOLD; |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
440 } |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
441 else { |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
442 return Font.PLAIN; |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
443 } |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
444 } |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
445 |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
446 |
2656
f1dcd5f94ffa
Parse more theme properties for linelabels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2648
diff
changeset
|
447 public static int parseTextStyle(Document theme) { |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
448 return parseTextStyle(theme, XPATH_LABEL_FONT_STYLE); |
2656
f1dcd5f94ffa
Parse more theme properties for linelabels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2648
diff
changeset
|
449 } |
f1dcd5f94ffa
Parse more theme properties for linelabels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2648
diff
changeset
|
450 |
f1dcd5f94ffa
Parse more theme properties for linelabels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2648
diff
changeset
|
451 |
2663
33d61e2a49a2
Added and respect two new properties of waterlevels in cross-sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2662
diff
changeset
|
452 public static boolean parseShowWidth(Document theme) { |
33d61e2a49a2
Added and respect two new properties of waterlevels in cross-sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2662
diff
changeset
|
453 String show = XMLUtils.xpathString(theme, XPATH_SHOW_WIDTH, null); |
33d61e2a49a2
Added and respect two new properties of waterlevels in cross-sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2662
diff
changeset
|
454 return parseBoolean(show, false); |
33d61e2a49a2
Added and respect two new properties of waterlevels in cross-sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2662
diff
changeset
|
455 } |
33d61e2a49a2
Added and respect two new properties of waterlevels in cross-sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2662
diff
changeset
|
456 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
457 |
2663
33d61e2a49a2
Added and respect two new properties of waterlevels in cross-sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2662
diff
changeset
|
458 public static boolean parseShowLevel(Document theme) { |
33d61e2a49a2
Added and respect two new properties of waterlevels in cross-sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2662
diff
changeset
|
459 String show = XMLUtils.xpathString(theme, XPATH_SHOW_LEVEL, null); |
33d61e2a49a2
Added and respect two new properties of waterlevels in cross-sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2662
diff
changeset
|
460 return parseBoolean(show, false); |
33d61e2a49a2
Added and respect two new properties of waterlevels in cross-sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2662
diff
changeset
|
461 } |
33d61e2a49a2
Added and respect two new properties of waterlevels in cross-sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2662
diff
changeset
|
462 |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
463 /** |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
464 * Parses the textorientation, defaults to 'vertical'. |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
465 * @param theme The theme. |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
466 */ |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
467 public static String parseTextOrientation(Document theme) { |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
468 String o = XMLUtils.xpathString(theme, XPATH_TEXT_ORIENTATION, null); |
3205
bbb488b145ce
Set text orientation to horizontal for points in Fixation W/Q curve
Christian Lins <christian.lins@intevation.de>
parents:
3160
diff
changeset
|
469 if ("true".equals(o)) { |
1750
415ec0223dff
Renamed text background attribute and parse text attributes correctly.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1748
diff
changeset
|
470 return "horizontal"; |
415ec0223dff
Renamed text background attribute and parse text attributes correctly.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1748
diff
changeset
|
471 } |
415ec0223dff
Renamed text background attribute and parse text attributes correctly.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1748
diff
changeset
|
472 else { |
415ec0223dff
Renamed text background attribute and parse text attributes correctly.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1748
diff
changeset
|
473 return "vertical"; |
415ec0223dff
Renamed text background attribute and parse text attributes correctly.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1748
diff
changeset
|
474 } |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
475 } |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
476 |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
477 |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
478 /** |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
479 * Parses the text background color, defaults to white. |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
480 * @param theme The theme. |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
481 */ |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
482 public static Color parseTextBackground(Document theme) { |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
483 String color = getLabelBackgroundColorString(theme); |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
484 if (color == null || color.length() == 0) { |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
485 return Color.WHITE; |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
486 } |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
487 return parseRGB(color); |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
488 } |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
489 |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
490 |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
491 /** |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
492 * Parses the attribute whether to show background or not, defaults to |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
493 * false. |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
494 * @param theme The theme. |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
495 */ |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
496 public static boolean parseLabelShowBackground(Document theme) { |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
497 String show = XMLUtils.xpathString(theme, XPATH_LABEL_SHOW_BACKGROUND, null); |
2662
bdc86e61428c
Respect show line label bg setting.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2660
diff
changeset
|
498 return parseBoolean(show, false); |
bdc86e61428c
Respect show line label bg setting.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2660
diff
changeset
|
499 } |
bdc86e61428c
Respect show line label bg setting.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2660
diff
changeset
|
500 |
3090
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
501 |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
502 public static Color parseColor(String colorString) { |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
503 if (colorString == null || colorString.length() == 0) { |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
504 return null; |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
505 } |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
506 else if (colorString.indexOf("#") == 0) { |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
507 return parseHexColor(colorString); |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
508 } |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
509 else if (colorString.indexOf(",") >= 0) { |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
510 return parseRGB(colorString); |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
511 } |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
512 |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
513 return null; |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
514 } |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
515 |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
516 |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
517 /** |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
518 * Parse a string like "#00CC22" and return the corresponding color. |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
519 * |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
520 * @param hex The hex color value. |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
521 * |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
522 * @return a Color or null, if <i>hex</i> is empty. |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
523 */ |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
524 public static Color parseHexColor(String hex) { |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
525 if (hex == null) { |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
526 return null; |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
527 } |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
528 |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
529 return Color.decode(hex); |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
530 } |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
531 |
2662
bdc86e61428c
Respect show line label bg setting.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2660
diff
changeset
|
532 /** |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
533 * Parse a string like "103, 100, 0" and return a corresping color. |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
534 * @param rgbtext Color as string representation, e.g. "255,0,20". |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
535 * @return Color, null in case of issues. |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
536 */ |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
537 public static Color parseRGB(String rgbtext) { |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
538 if (rgbtext == null) { |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
539 return null; |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
540 } |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
541 String rgb[] = rgbtext.split(","); |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
542 Color c = null; |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
543 try { |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
544 c = new Color( |
3405
b0ba96bbf01d
Use Integer.parseInt() instead of Integer.valueOf() + Autounboxing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3399
diff
changeset
|
545 Integer.parseInt(rgb[0].trim()), |
b0ba96bbf01d
Use Integer.parseInt() instead of Integer.valueOf() + Autounboxing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3399
diff
changeset
|
546 Integer.parseInt(rgb[1].trim()), |
b0ba96bbf01d
Use Integer.parseInt() instead of Integer.valueOf() + Autounboxing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3399
diff
changeset
|
547 Integer.parseInt(rgb[2].trim())); |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
548 } |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
549 catch (NumberFormatException nfe) { |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
550 c = null; |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
551 } |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
552 return c; |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
553 } |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
554 |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
555 |
1793
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
556 public static String getLineColorString(Document theme) { |
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
557 return XMLUtils.xpathString(theme, XPATH_LINE_COLOR, null); |
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
558 } |
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
559 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
560 |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
561 /** Get show border as string. */ |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
562 public static String getShowBorderString(Document theme) { |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
563 return XMLUtils.xpathString(theme, XPATH_SHOW_BORDER, null); |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
564 } |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
565 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
566 |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
567 /** Get fill color as string. */ |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
568 public static String getFillColorString(Document theme) { |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
569 return XMLUtils.xpathString(theme, XPATH_FILL_COLOR, null); |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
570 } |
1793
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
571 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
572 |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
573 public static String getLabelBackgroundColorString(Document theme) { |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
574 return XMLUtils.xpathString(theme, XPATH_LABEL_BGCOLOR, null); |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
575 } |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
576 |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
577 |
1878
84cf67a2a19e
Added support for fillcolors of polygons in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1876
diff
changeset
|
578 public static String getBackgroundColorString(Document theme) { |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
579 return XMLUtils.xpathString(theme, XPATH_BACKGROUND_COLOR, null); |
1878
84cf67a2a19e
Added support for fillcolors of polygons in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1876
diff
changeset
|
580 } |
84cf67a2a19e
Added support for fillcolors of polygons in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1876
diff
changeset
|
581 |
84cf67a2a19e
Added support for fillcolors of polygons in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1876
diff
changeset
|
582 |
1876
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
583 public static String getTextColorString(Document theme) { |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
584 String textColor = XMLUtils.xpathString(theme, XPATH_LABEL_FONT_COLOR, null); |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
585 return textColor; |
1876
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
586 } |
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
587 |
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
588 |
1816
5364b86a0880
Improved styles of WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1793
diff
changeset
|
589 public static String getSymbol(Document theme) { |
5364b86a0880
Improved styles of WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1793
diff
changeset
|
590 return XMLUtils.xpathString(theme, XPATH_SYMBOL, null); |
5364b86a0880
Improved styles of WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1793
diff
changeset
|
591 } |
5364b86a0880
Improved styles of WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1793
diff
changeset
|
592 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
593 |
2032
5746c74c69cf
Added a transparency setting to area theme style.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2016
diff
changeset
|
594 public static String getTransparencyString(Document theme) { |
5746c74c69cf
Added a transparency setting to area theme style.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2016
diff
changeset
|
595 return XMLUtils.xpathString(theme, XPATH_TRANSPARENCY, null); |
5746c74c69cf
Added a transparency setting to area theme style.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2016
diff
changeset
|
596 } |
3256
17ca0a43027a
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3254
diff
changeset
|
597 |
17ca0a43027a
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3254
diff
changeset
|
598 |
4686
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
599 public static String getAreaTransparencyString(Document theme) { |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
600 return XMLUtils.xpathString(theme, XPATH_AREA_TRANSPARENCY, null); |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
601 } |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
602 |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
603 |
2072
4cdd9c4896f6
#393 Added a new Renderer and Options in Themes that allow displaying minimum and maximum of a chart series.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2032
diff
changeset
|
604 public static String getShowMinimum(Document theme) { |
4cdd9c4896f6
#393 Added a new Renderer and Options in Themes that allow displaying minimum and maximum of a chart series.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2032
diff
changeset
|
605 return XMLUtils.xpathString(theme, XPATH_SHOW_MINIMUM, null); |
4cdd9c4896f6
#393 Added a new Renderer and Options in Themes that allow displaying minimum and maximum of a chart series.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2032
diff
changeset
|
606 } |
3256
17ca0a43027a
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3254
diff
changeset
|
607 |
2072
4cdd9c4896f6
#393 Added a new Renderer and Options in Themes that allow displaying minimum and maximum of a chart series.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2032
diff
changeset
|
608 |
4cdd9c4896f6
#393 Added a new Renderer and Options in Themes that allow displaying minimum and maximum of a chart series.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2032
diff
changeset
|
609 public static String getShowMaximum(Document theme) { |
4cdd9c4896f6
#393 Added a new Renderer and Options in Themes that allow displaying minimum and maximum of a chart series.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2032
diff
changeset
|
610 return XMLUtils.xpathString(theme, XPATH_SHOW_MAXIMUM, null); |
4cdd9c4896f6
#393 Added a new Renderer and Options in Themes that allow displaying minimum and maximum of a chart series.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2032
diff
changeset
|
611 } |
4cdd9c4896f6
#393 Added a new Renderer and Options in Themes that allow displaying minimum and maximum of a chart series.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2032
diff
changeset
|
612 |
4cdd9c4896f6
#393 Added a new Renderer and Options in Themes that allow displaying minimum and maximum of a chart series.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2032
diff
changeset
|
613 |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
614 /** |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
615 * Gets color from color field. |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
616 * @param theme the theme document. |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
617 * @return color. |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
618 */ |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
619 public static Color parseFillColorField(Document theme) { |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
620 return parseRGB(getFillColorString(theme)); |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
621 } |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
622 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
623 |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
624 public static boolean parseShowBorder(Document theme) { |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
625 return parseBoolean(getShowBorderString(theme), false); |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
626 } |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
627 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
628 |
3889
940cd2ef149f
Area transparency fix
Christian Lins <christian.lins@intevation.de>
parents:
3738
diff
changeset
|
629 public static int parseTransparency(Document theme) { |
940cd2ef149f
Area transparency fix
Christian Lins <christian.lins@intevation.de>
parents:
3738
diff
changeset
|
630 return parseInteger(getTransparencyString(theme), 50); |
2032
5746c74c69cf
Added a transparency setting to area theme style.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2016
diff
changeset
|
631 } |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
632 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
633 |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
634 /** |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
635 * Gets color from color field. |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
636 * @param theme the theme document. |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
637 * @return color. |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
638 */ |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
639 public static Color parseLineColorField(Document theme) { |
3155
74c974b10c75
Output code to trackdown the linecolor problem
Christian Lins <christian.lins@intevation.de>
parents:
3098
diff
changeset
|
640 String lineColorStr = getLineColorString(theme); |
3160
8c78c707aa2d
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3155
diff
changeset
|
641 logger.debug("parseLineColorField: lineColorStr = " + |
3155
74c974b10c75
Output code to trackdown the linecolor problem
Christian Lins <christian.lins@intevation.de>
parents:
3098
diff
changeset
|
642 (lineColorStr == null ? "null" : lineColorStr)); |
4283
7140bb0f92b0
Added new themes for W and Q markers in Historical Discharge WQ charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3889
diff
changeset
|
643 return parseColor(lineColorStr); |
1793
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
644 } |
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
645 |
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
646 |
4686
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
647 public static Color parseAreaLineColorField(Document theme) { |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
648 String lineColorStr = getAreaLineColorString(theme); |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
649 logger.debug("parseLineColorField: lineColorStr = " + |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
650 (lineColorStr == null ? "null" : lineColorStr)); |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
651 return parseColor(lineColorStr); |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
652 } |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
653 |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
654 |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
655 private static String getAreaLineColorString(Document theme) { |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
656 return XMLUtils.xpathString(theme, XPATH_AREA_LINE_COLOR, null); |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
657 } |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
658 |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
659 |
2072
4cdd9c4896f6
#393 Added a new Renderer and Options in Themes that allow displaying minimum and maximum of a chart series.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2032
diff
changeset
|
660 public static boolean parseShowMinimum(Document theme) { |
4cdd9c4896f6
#393 Added a new Renderer and Options in Themes that allow displaying minimum and maximum of a chart series.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2032
diff
changeset
|
661 return parseBoolean(getShowMinimum(theme), false); |
4cdd9c4896f6
#393 Added a new Renderer and Options in Themes that allow displaying minimum and maximum of a chart series.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2032
diff
changeset
|
662 } |
4cdd9c4896f6
#393 Added a new Renderer and Options in Themes that allow displaying minimum and maximum of a chart series.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2032
diff
changeset
|
663 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
664 |
2072
4cdd9c4896f6
#393 Added a new Renderer and Options in Themes that allow displaying minimum and maximum of a chart series.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2032
diff
changeset
|
665 public static boolean parseShowMaximum(Document theme) { |
4cdd9c4896f6
#393 Added a new Renderer and Options in Themes that allow displaying minimum and maximum of a chart series.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2032
diff
changeset
|
666 return parseBoolean(getShowMaximum(theme), false); |
4cdd9c4896f6
#393 Added a new Renderer and Options in Themes that allow displaying minimum and maximum of a chart series.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2032
diff
changeset
|
667 } |
4cdd9c4896f6
#393 Added a new Renderer and Options in Themes that allow displaying minimum and maximum of a chart series.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2032
diff
changeset
|
668 |
4cdd9c4896f6
#393 Added a new Renderer and Options in Themes that allow displaying minimum and maximum of a chart series.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2032
diff
changeset
|
669 |
4633
fc52ee878412
Preparations for autogenerated riveraxis WMSs.
Christian Lins <christian.lins@intevation.de>
parents:
4593
diff
changeset
|
670 /** |
fc52ee878412
Preparations for autogenerated riveraxis WMSs.
Christian Lins <christian.lins@intevation.de>
parents:
4593
diff
changeset
|
671 * Creates a MapserverStyle from the given XML theme. |
fc52ee878412
Preparations for autogenerated riveraxis WMSs.
Christian Lins <christian.lins@intevation.de>
parents:
4593
diff
changeset
|
672 * This method uses a start- and endcolor to interpolate a |
fc52ee878412
Preparations for autogenerated riveraxis WMSs.
Christian Lins <christian.lins@intevation.de>
parents:
4593
diff
changeset
|
673 * given number of color classes for the MapserverStyle. |
fc52ee878412
Preparations for autogenerated riveraxis WMSs.
Christian Lins <christian.lins@intevation.de>
parents:
4593
diff
changeset
|
674 * @param theme |
fc52ee878412
Preparations for autogenerated riveraxis WMSs.
Christian Lins <christian.lins@intevation.de>
parents:
4593
diff
changeset
|
675 * @return String representation of the MapserverStyle |
fc52ee878412
Preparations for autogenerated riveraxis WMSs.
Christian Lins <christian.lins@intevation.de>
parents:
4593
diff
changeset
|
676 */ |
5655
53a2ceeae9a3
Create floodmap colorrange dynamically from artifact parameters. Theme setting for colorrange classes is currently not functioning (wasn't before either).
Christian Lins <christian.lins@intevation.de>
parents:
4864
diff
changeset
|
677 public static String createDynamicMapserverStyle(Document theme, |
6170
194a99865d73
createWSPLGENClassName() now respects user locale (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6158
diff
changeset
|
678 float from, float to, float step, CallMeta meta) |
5655
53a2ceeae9a3
Create floodmap colorrange dynamically from artifact parameters. Theme setting for colorrange classes is currently not functioning (wasn't before either).
Christian Lins <christian.lins@intevation.de>
parents:
4864
diff
changeset
|
679 { |
4577
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4573
diff
changeset
|
680 MapserverStyle ms = new MapserverStyle(); |
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4573
diff
changeset
|
681 |
4592
11545c3b9111
Floodmap can now be classified in the range 5 to 20 (incl.).
Christian Lins <christian.lins@intevation.de>
parents:
4577
diff
changeset
|
682 String strStartColor = XMLUtils.xpathString(theme, XPATH_WSPLGEN_STARTCOLOR, null); |
11545c3b9111
Floodmap can now be classified in the range 5 to 20 (incl.).
Christian Lins <christian.lins@intevation.de>
parents:
4577
diff
changeset
|
683 Color startColor = strStartColor != null ? parseColor(strStartColor) : new Color(178, 201, 215); |
11545c3b9111
Floodmap can now be classified in the range 5 to 20 (incl.).
Christian Lins <christian.lins@intevation.de>
parents:
4577
diff
changeset
|
684 String strEndColor = XMLUtils.xpathString(theme, XPATH_WSPLGEN_ENDCOLOR, null); |
11545c3b9111
Floodmap can now be classified in the range 5 to 20 (incl.).
Christian Lins <christian.lins@intevation.de>
parents:
4577
diff
changeset
|
685 Color endColor = strEndColor != null? parseColor(strEndColor) : new Color(2, 27, 42); |
4577
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4573
diff
changeset
|
686 |
6048
caf9d989bd84
Fix waterlevel classes and change defaults for them.
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
687 to = to != 0 ? to : 9999; |
caf9d989bd84
Fix waterlevel classes and change defaults for them.
Andre Heinecke <aheinecke@intevation.de>
parents:
5994
diff
changeset
|
688 step = step != 0 ? step : to; |
5655
53a2ceeae9a3
Create floodmap colorrange dynamically from artifact parameters. Theme setting for colorrange classes is currently not functioning (wasn't before either).
Christian Lins <christian.lins@intevation.de>
parents:
4864
diff
changeset
|
689 |
53a2ceeae9a3
Create floodmap colorrange dynamically from artifact parameters. Theme setting for colorrange classes is currently not functioning (wasn't before either).
Christian Lins <christian.lins@intevation.de>
parents:
4864
diff
changeset
|
690 int numClasses = (int)((to - from) / step); |
4577
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4573
diff
changeset
|
691 |
4593
047c965ea542
Use floating point calculation for floodmap colors.
Christian Lins <christian.lins@intevation.de>
parents:
4592
diff
changeset
|
692 float rd = (endColor.getRed() - startColor.getRed()) / (float)numClasses; |
047c965ea542
Use floating point calculation for floodmap colors.
Christian Lins <christian.lins@intevation.de>
parents:
4592
diff
changeset
|
693 float gd = (endColor.getGreen() - startColor.getGreen()) / (float)numClasses; |
047c965ea542
Use floating point calculation for floodmap colors.
Christian Lins <christian.lins@intevation.de>
parents:
4592
diff
changeset
|
694 float bd = (endColor.getBlue() - startColor.getBlue()) / (float)numClasses; |
4577
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4573
diff
changeset
|
695 |
6049
2f50591aacc7
Add an extra class for values >= the largest class
Andre Heinecke <aheinecke@intevation.de>
parents:
6048
diff
changeset
|
696 if (numClasses > 1) { |
2f50591aacc7
Add an extra class for values >= the largest class
Andre Heinecke <aheinecke@intevation.de>
parents:
6048
diff
changeset
|
697 // Desktop Flys always added a last "and larger class" |
2f50591aacc7
Add an extra class for values >= the largest class
Andre Heinecke <aheinecke@intevation.de>
parents:
6048
diff
changeset
|
698 numClasses += 1; |
2f50591aacc7
Add an extra class for values >= the largest class
Andre Heinecke <aheinecke@intevation.de>
parents:
6048
diff
changeset
|
699 } |
2f50591aacc7
Add an extra class for values >= the largest class
Andre Heinecke <aheinecke@intevation.de>
parents:
6048
diff
changeset
|
700 |
4577
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4573
diff
changeset
|
701 for (int n = 0; n < numClasses; n++) { |
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4573
diff
changeset
|
702 StringBuilder newColor = new StringBuilder(); |
4593
047c965ea542
Use floating point calculation for floodmap colors.
Christian Lins <christian.lins@intevation.de>
parents:
4592
diff
changeset
|
703 newColor.append(startColor.getRed() + Math.round(n * rd)); |
4577
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4573
diff
changeset
|
704 newColor.append(' '); |
4593
047c965ea542
Use floating point calculation for floodmap colors.
Christian Lins <christian.lins@intevation.de>
parents:
4592
diff
changeset
|
705 newColor.append(startColor.getGreen() + Math.round(n * gd)); |
4577
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4573
diff
changeset
|
706 newColor.append(' '); |
4593
047c965ea542
Use floating point calculation for floodmap colors.
Christian Lins <christian.lins@intevation.de>
parents:
4592
diff
changeset
|
707 newColor.append(startColor.getBlue() + Math.round(n * bd)); |
4577
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4573
diff
changeset
|
708 |
6158
ebfc161cc5c4
Make legend entries of WSPLGEN map more verbose and add units (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6049
diff
changeset
|
709 String expr = createWSPLGENClassExpression(from + n * step, step, n + 1, numClasses); |
6170
194a99865d73
createWSPLGENClassName() now respects user locale (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6158
diff
changeset
|
710 String name = createWSPLGENClassName(from + n * step, step, n + 1, numClasses, meta); |
4592
11545c3b9111
Floodmap can now be classified in the range 5 to 20 (incl.).
Christian Lins <christian.lins@intevation.de>
parents:
4577
diff
changeset
|
711 |
6158
ebfc161cc5c4
Make legend entries of WSPLGEN map more verbose and add units (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6049
diff
changeset
|
712 Clazz c = new Clazz(name); |
4577
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4573
diff
changeset
|
713 Style s = new Style(); |
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4573
diff
changeset
|
714 s.setColor(newColor.toString()); |
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4573
diff
changeset
|
715 s.setSize(5); |
1c6c2ddac3d6
Work on dynamic color classes for floodmap (work in progress, not yet functional).
Christian Lins <christian.lins@intevation.de>
parents:
4573
diff
changeset
|
716 |
2616
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
717 c.addItem(new Expression("(" + expr + ")")); |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
718 c.addItem(s); |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
719 |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
720 ms.addClazz(c); |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
721 } |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
722 |
4592
11545c3b9111
Floodmap can now be classified in the range 5 to 20 (incl.).
Christian Lins <christian.lins@intevation.de>
parents:
4577
diff
changeset
|
723 return ms.toString(); |
2616
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
724 } |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
725 |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
726 |
6158
ebfc161cc5c4
Make legend entries of WSPLGEN map more verbose and add units (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6049
diff
changeset
|
727 protected static String createWSPLGENClassExpression(float val, float step, int idx, int maxIdx) { |
4592
11545c3b9111
Floodmap can now be classified in the range 5 to 20 (incl.).
Christian Lins <christian.lins@intevation.de>
parents:
4577
diff
changeset
|
728 if (idx < maxIdx) { |
5655
53a2ceeae9a3
Create floodmap colorrange dynamically from artifact parameters. Theme setting for colorrange classes is currently not functioning (wasn't before either).
Christian Lins <christian.lins@intevation.de>
parents:
4864
diff
changeset
|
729 return "[DIFF] >= " + val + " AND [DIFF] < " + (val + step); |
2616
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
730 } |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
731 else { |
5655
53a2ceeae9a3
Create floodmap colorrange dynamically from artifact parameters. Theme setting for colorrange classes is currently not functioning (wasn't before either).
Christian Lins <christian.lins@intevation.de>
parents:
4864
diff
changeset
|
732 return "[DIFF] >= " + val; |
2616
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
733 } |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
734 } |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
735 |
6244
8b03a7589101
Enhance WSPLGEN legend's class names (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6170
diff
changeset
|
736 /** |
8b03a7589101
Enhance WSPLGEN legend's class names (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6170
diff
changeset
|
737 * Creates a class name for the mapfile style that visualizes a floodmap. |
8b03a7589101
Enhance WSPLGEN legend's class names (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6170
diff
changeset
|
738 * The class names are used in the map's legend. |
8b03a7589101
Enhance WSPLGEN legend's class names (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6170
diff
changeset
|
739 * |
8b03a7589101
Enhance WSPLGEN legend's class names (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6170
diff
changeset
|
740 * @param val Current isobath value. |
8b03a7589101
Enhance WSPLGEN legend's class names (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6170
diff
changeset
|
741 * @param step Difference between to class values. |
8b03a7589101
Enhance WSPLGEN legend's class names (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6170
diff
changeset
|
742 * @param idx Current class index that is being processed. |
8b03a7589101
Enhance WSPLGEN legend's class names (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6170
diff
changeset
|
743 * @param maxIdx Highest class index. |
8b03a7589101
Enhance WSPLGEN legend's class names (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6170
diff
changeset
|
744 * @param meta Caller meta object used to determine locale. |
8b03a7589101
Enhance WSPLGEN legend's class names (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6170
diff
changeset
|
745 * @return |
8b03a7589101
Enhance WSPLGEN legend's class names (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6170
diff
changeset
|
746 */ |
6170
194a99865d73
createWSPLGENClassName() now respects user locale (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6158
diff
changeset
|
747 protected static String createWSPLGENClassName(float val, float step, int idx, int maxIdx, CallMeta meta) { |
6244
8b03a7589101
Enhance WSPLGEN legend's class names (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6170
diff
changeset
|
748 assert meta != null : "CallMeta instance is null"; |
8b03a7589101
Enhance WSPLGEN legend's class names (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6170
diff
changeset
|
749 |
6158
ebfc161cc5c4
Make legend entries of WSPLGEN map more verbose and add units (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6049
diff
changeset
|
750 if (idx < maxIdx) { |
6244
8b03a7589101
Enhance WSPLGEN legend's class names (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6170
diff
changeset
|
751 return Resources.getMsg(meta, MSG_ISOBATH_CLASS, |
8b03a7589101
Enhance WSPLGEN legend's class names (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6170
diff
changeset
|
752 new Object[] {val, val + step}); |
6158
ebfc161cc5c4
Make legend entries of WSPLGEN map more verbose and add units (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6049
diff
changeset
|
753 } |
ebfc161cc5c4
Make legend entries of WSPLGEN map more verbose and add units (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6049
diff
changeset
|
754 else { |
6244
8b03a7589101
Enhance WSPLGEN legend's class names (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6170
diff
changeset
|
755 return Resources.getMsg(meta, MSG_ISOBATH_LASTCLASS, |
8b03a7589101
Enhance WSPLGEN legend's class names (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6170
diff
changeset
|
756 new Object[] {val}); |
6158
ebfc161cc5c4
Make legend entries of WSPLGEN map more verbose and add units (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6049
diff
changeset
|
757 } |
ebfc161cc5c4
Make legend entries of WSPLGEN map more verbose and add units (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6049
diff
changeset
|
758 } |
ebfc161cc5c4
Make legend entries of WSPLGEN map more verbose and add units (#767).
Christian Lins <christian.lins@intevation.de>
parents:
6049
diff
changeset
|
759 |
2616
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
760 |
1793
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
761 public static String createMapserverStyle(Document theme) { |
1816
5364b86a0880
Improved styles of WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1793
diff
changeset
|
762 String symbol = getSymbol(theme); |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
763 String backcolor = getLabelBackgroundColorString(theme); |
1793
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
764 String linecolor = getLineColorString(theme); |
4864
dc0d37715e16
Floodmap uses the static River-WMS instead of User-WMS via RiverAxisArtifact.
Christian Lins <christian.lins@intevation.de>
parents:
4686
diff
changeset
|
765 if (linecolor == null || "".equals(linecolor)) { |
dc0d37715e16
Floodmap uses the static River-WMS instead of User-WMS via RiverAxisArtifact.
Christian Lins <christian.lins@intevation.de>
parents:
4686
diff
changeset
|
766 logger.warn("createMapserverStyle: linecolor String is empty"); |
dc0d37715e16
Floodmap uses the static River-WMS instead of User-WMS via RiverAxisArtifact.
Christian Lins <christian.lins@intevation.de>
parents:
4686
diff
changeset
|
767 linecolor = "0,128,255"; |
dc0d37715e16
Floodmap uses the static River-WMS instead of User-WMS via RiverAxisArtifact.
Christian Lins <christian.lins@intevation.de>
parents:
4686
diff
changeset
|
768 } |
1816
5364b86a0880
Improved styles of WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1793
diff
changeset
|
769 |
5364b86a0880
Improved styles of WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1793
diff
changeset
|
770 int linewidth = parseLineWidth(theme); |
1793
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
771 |
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
772 MapserverStyle ms = new MapserverStyle(); |
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
773 |
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
774 Clazz c = new Clazz(" "); |
1876
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
775 |
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
776 Style s = new Style(); |
4864
dc0d37715e16
Floodmap uses the static River-WMS instead of User-WMS via RiverAxisArtifact.
Christian Lins <christian.lins@intevation.de>
parents:
4686
diff
changeset
|
777 s.setOutlineColor(linecolor.replace(",", " ")); |
1878
84cf67a2a19e
Added support for fillcolors of polygons in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1876
diff
changeset
|
778 |
84cf67a2a19e
Added support for fillcolors of polygons in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1876
diff
changeset
|
779 if (backcolor != null && backcolor.length() > 0) { |
4864
dc0d37715e16
Floodmap uses the static River-WMS instead of User-WMS via RiverAxisArtifact.
Christian Lins <christian.lins@intevation.de>
parents:
4686
diff
changeset
|
780 s.setColor(backcolor.replace(",", " ")); |
1878
84cf67a2a19e
Added support for fillcolors of polygons in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1876
diff
changeset
|
781 } |
84cf67a2a19e
Added support for fillcolors of polygons in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1876
diff
changeset
|
782 |
1876
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
783 s.setSize(linewidth); |
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
784 s.setSymbol(symbol); |
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
785 c.addItem(s); |
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
786 |
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
787 String textcolor = getTextColorString(theme); |
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
788 int textsize = parseTextSize(theme); |
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
789 |
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
790 if (textcolor != null && textcolor.length() > 0 && textsize > 0) { |
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
791 Label l = new Label(); |
4864
dc0d37715e16
Floodmap uses the static River-WMS instead of User-WMS via RiverAxisArtifact.
Christian Lins <christian.lins@intevation.de>
parents:
4686
diff
changeset
|
792 l.setColor(textcolor.replace(",", " ")); |
1876
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
793 l.setSize(textsize); |
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
794 c.addItem(l); |
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
795 } |
1793
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
796 |
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
797 ms.addClazz(c); |
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
798 |
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
799 return ms.toString(); |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
800 } |
4686
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
801 |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
802 |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
803 public static String getAreaBackgroundColorString(Document theme) { |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
804 return XMLUtils.xpathString(theme, XPATH_AREA_BACKGROUND_COLOR, null); |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
805 } |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
806 |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
807 |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
808 public static Color parseAreaBackgroundColor(Document theme) { |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
809 return parseColor(getAreaBackgroundColorString(theme)); |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
810 } |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
811 |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
812 |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
813 public static int parseAreaTransparency(Document theme) { |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
814 return parseInteger(getAreaTransparencyString(theme), 50); |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
815 } |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
816 |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
817 |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
818 public static boolean parseAreaShowBorder(Document theme) { |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
819 return parseBoolean(getAreaShowBorderString(theme), false); |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
820 } |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
821 |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
822 |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
823 private static String getAreaShowBorderString(Document theme) { |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
824 return XMLUtils.xpathString(theme, XPATH_AREA_SHOW_BORDER, null); |
85876e3a5346
Fixed and improved theme handling for areas.
Raimund Renkert <rrenkert@intevation.de>
parents:
4633
diff
changeset
|
825 } |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
826 } |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
827 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |