Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/utils/ThemeUtil.java @ 3743:51f76225823b
Extreme waterlevels: calculate the segments for Q km ranges.
flys-artifacts/trunk@5426 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 10 Sep 2012 15:59:34 +0000 |
parents | 34da25796c21 |
children | 940cd2ef149f |
rev | line source |
---|---|
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.utils; |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
2 |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
3 import java.awt.Color; |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
4 import java.awt.Font; |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
5 |
2616
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
6 import javax.xml.xpath.XPathConstants; |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
7 |
3254
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
3251
diff
changeset
|
8 import org.apache.log4j.Logger; |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
9 import org.w3c.dom.Document; |
2616
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
10 import org.w3c.dom.Element; |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
11 import org.w3c.dom.NodeList; |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
12 |
3738
34da25796c21
Theme transparency attribute support (#840)
Christian Lins <christian.lins@intevation.de>
parents:
3624
diff
changeset
|
13 import de.intevation.artifacts.common.utils.XMLUtils; |
34da25796c21
Theme transparency attribute support (#840)
Christian Lins <christian.lins@intevation.de>
parents:
3624
diff
changeset
|
14 import de.intevation.flys.artifacts.model.MapserverStyle; |
34da25796c21
Theme transparency attribute support (#840)
Christian Lins <christian.lins@intevation.de>
parents:
3624
diff
changeset
|
15 import de.intevation.flys.artifacts.model.MapserverStyle.Clazz; |
34da25796c21
Theme transparency attribute support (#840)
Christian Lins <christian.lins@intevation.de>
parents:
3624
diff
changeset
|
16 import de.intevation.flys.artifacts.model.MapserverStyle.Expression; |
34da25796c21
Theme transparency attribute support (#840)
Christian Lins <christian.lins@intevation.de>
parents:
3624
diff
changeset
|
17 import de.intevation.flys.artifacts.model.MapserverStyle.Label; |
34da25796c21
Theme transparency attribute support (#840)
Christian Lins <christian.lins@intevation.de>
parents:
3624
diff
changeset
|
18 import de.intevation.flys.artifacts.model.MapserverStyle.Style; |
34da25796c21
Theme transparency attribute support (#840)
Christian Lins <christian.lins@intevation.de>
parents:
3624
diff
changeset
|
19 |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
20 |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
21 /** |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
22 * Utility to deal with themes and their representations. |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
23 */ |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
24 public class ThemeUtil { |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
25 |
3624
84a19de5f16a
issue695, fix path to showlevel style property.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3561
diff
changeset
|
26 /** Private logger. */ |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
27 private static Logger logger = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
28 Logger.getLogger(ThemeUtil.class); |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
29 |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
30 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
|
31 "/theme/field[@name='fillcolor']/@default"; |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
32 |
1711
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
33 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
|
34 "/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
|
35 |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
36 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
|
37 "/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
|
38 |
1753
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
39 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
|
40 "/theme/field[@name='linetype']/@default"; |
1753
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
41 |
2076
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
42 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
|
43 "/theme/field[@name='pointsize']/@default"; |
2076
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
44 |
3090
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
45 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
|
46 "/theme/field[@name='pointcolor']/@default"; |
3090
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
47 |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
48 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
|
49 "/theme/field[@name='showborder']/@default"; |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
50 |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
51 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
|
52 "/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
|
53 |
1753
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
54 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
|
55 "/theme/field[@name='showlines']/@default"; |
1753
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
56 |
2996
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
57 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
|
58 "/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
|
59 |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
60 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
|
61 "/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
|
62 |
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
|
63 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
|
64 "/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
|
65 |
3286
f062b5a90e26
Add showpointlabel style attribute
Christian Lins <christian.lins@intevation.de>
parents:
3256
diff
changeset
|
66 public final static String XPATH_SHOW_POINT_LABEL = |
f062b5a90e26
Add showpointlabel style attribute
Christian Lins <christian.lins@intevation.de>
parents:
3256
diff
changeset
|
67 "/theme/field[@name='showpointlabel']/@default"; |
f062b5a90e26
Add showpointlabel style attribute
Christian Lins <christian.lins@intevation.de>
parents:
3256
diff
changeset
|
68 |
2663
33d61e2a49a2
Added and respect two new properties of waterlevels in cross-sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2662
diff
changeset
|
69 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
|
70 "/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
|
71 |
33d61e2a49a2
Added and respect two new properties of waterlevels in cross-sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2662
diff
changeset
|
72 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
|
73 "/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
|
74 |
3738
34da25796c21
Theme transparency attribute support (#840)
Christian Lins <christian.lins@intevation.de>
parents:
3624
diff
changeset
|
75 public final static String XPATH_TRANSPARENT = |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
76 "/theme/field[@name='transparent']/@default"; |
3256
17ca0a43027a
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3254
diff
changeset
|
77 |
3738
34da25796c21
Theme transparency attribute support (#840)
Christian Lins <christian.lins@intevation.de>
parents:
3624
diff
changeset
|
78 public final static String XPATH_TRANSPARENCY = |
34da25796c21
Theme transparency attribute support (#840)
Christian Lins <christian.lins@intevation.de>
parents:
3624
diff
changeset
|
79 "/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
|
80 |
2666
6da7e064ae90
Allow basic and styled area labels, yet on static position within plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2663
diff
changeset
|
81 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
|
82 "/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
|
83 |
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
|
84 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
|
85 "/theme/field[@name='showmiddleheight']/@default"; |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
86 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
87 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
|
88 "/theme/field[@name='labelfontcolor']/@default"; |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
89 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
90 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
|
91 "/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
|
92 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
93 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
|
94 "/theme/field[@name='labelfontface']/@default"; |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
95 |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
96 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
|
97 "/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
|
98 |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
99 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
|
100 "/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
|
101 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
102 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
|
103 "/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
|
104 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
105 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
|
106 "/theme/field[@name='labelshowbg']/@default"; |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
107 |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
108 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
|
109 "/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
|
110 |
1816
5364b86a0880
Improved styles of WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1793
diff
changeset
|
111 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
|
112 "/theme/field[@name='symbol']/@default"; |
1816
5364b86a0880
Improved styles of WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1793
diff
changeset
|
113 |
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
|
114 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
|
115 "/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
|
116 |
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
|
117 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
|
118 "/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
|
119 |
2616
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
120 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
|
121 "/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
|
122 |
3395
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
123 /** XPATH to bandwidth field. */ |
3394
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3286
diff
changeset
|
124 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
|
125 "/theme/field[@name='bandwidth']/@default"; |
3394
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3286
diff
changeset
|
126 |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
127 |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
128 /** 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
|
129 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
|
130 if (value == null || value.length() == 0) { |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
131 return defaultsTo; |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
132 } |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
133 if (value.equals("false")) { |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
134 return false; |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
135 } |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
136 else if (value.equals("true")) { |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
137 return true; |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
138 } |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
139 else { |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
140 return defaultsTo; |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
141 } |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
142 } |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
143 |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
144 |
3399
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
145 /** |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
146 * 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
|
147 * return \param defaultsTo. |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
148 * @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
|
149 * @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
|
150 * @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
|
151 */ |
2076
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
152 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
|
153 if (value == null || value.length() == 0) { |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
154 return defaultsTo; |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
155 } |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
156 |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
157 try { |
3405
b0ba96bbf01d
Use Integer.parseInt() instead of Integer.valueOf() + Autounboxing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3399
diff
changeset
|
158 return Integer.parseInt(value); |
2076
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
159 } |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
160 catch (NumberFormatException nfe) { |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
161 // do nothing |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
162 } |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
163 |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
164 return defaultsTo; |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
165 } |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
166 |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
167 |
1711
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
168 /** |
3399
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
169 * 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
|
170 * return \param defaultsTo. |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
171 * @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
|
172 * @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
|
173 * @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
|
174 */ |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
175 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
|
176 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
|
177 return defaultsTo; |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
178 } |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
179 |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
180 try { |
3561
f7e6b35f0b5c
Partly reverted Double->double change of clins.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3464
diff
changeset
|
181 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
|
182 } |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
183 catch (NumberFormatException nfe) { |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
184 // do nothing |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
185 } |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
186 |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
187 return defaultsTo; |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
188 } |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
189 |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
190 |
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
191 /** |
1711
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
192 * 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
|
193 * @param theme the theme |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
194 */ |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
195 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
|
196 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
|
197 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
|
198 return 0; |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
199 } |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
200 |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
201 try { |
3405
b0ba96bbf01d
Use Integer.parseInt() instead of Integer.valueOf() + Autounboxing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3399
diff
changeset
|
202 return Integer.parseInt(size); |
1711
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
203 } |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
204 catch (NumberFormatException nfe) { |
1753
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
205 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
|
206 } |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
207 return 0; |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
208 } |
f708120cb7bc
Fix flys/issue363 (W-INFO/ Abflusskurve, Extremwert-Rendering).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1090
diff
changeset
|
209 |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
210 |
3395
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
211 /** |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
212 * Parse band width, defaulting to 0. |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
213 * @param theme the theme. |
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
214 */ |
3399
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
215 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
|
216 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
|
217 |
3399
e08a6352fe24
Change bandwidth theme attribute type to double (but bugged).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3395
diff
changeset
|
218 return parseDouble(bandWidth, 0); |
3394
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3286
diff
changeset
|
219 } |
f091f2f55f88
Partial implementation of bandwidths for curves (issue720).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3286
diff
changeset
|
220 |
3395
2a8919e0ed28
Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
3394
diff
changeset
|
221 |
2076
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
222 public static int parsePointWidth(Document theme) { |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
223 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
|
224 |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
225 return parseInteger(width, 3); |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
226 } |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
227 |
41037d51c8b6
Added support for pointsize in chart themes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2072
diff
changeset
|
228 |
3090
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
229 public static Color parsePointColor(Document theme) { |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
230 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
|
231 logger.debug("parsePointColor(): color = " + color); |
3090
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
232 return parseColor(color); |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
233 } |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
234 |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
235 |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
236 /** |
1753
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
237 * Parses the line style, defaulting to '10'. |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
238 * @param theme The theme. |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
239 */ |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
240 public static float[] parseLineStyle(Document theme) { |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
241 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
|
242 |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
243 float[] def = {10}; |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
244 if (dash == null || dash.length() == 0) { |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
245 return def; |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
246 } |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
247 |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
248 String[] pattern = dash.split(","); |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
249 if(pattern.length == 1) { |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
250 return def; |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
251 } |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
252 |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
253 try { |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
254 float[] dashes = new float[pattern.length]; |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
255 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
|
256 dashes[i] = Float.parseFloat(pattern[i]); |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
257 } |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
258 return dashes; |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
259 } |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
260 catch(NumberFormatException nfe) { |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
261 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
|
262 return def; |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
263 } |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
264 } |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
265 |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
266 |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
267 /** |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
268 * Parses text size, defaulting to 10. |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
269 * @param theme The theme. |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
270 */ |
2656
f1dcd5f94ffa
Parse more theme properties for linelabels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2648
diff
changeset
|
271 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
|
272 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
|
273 if (size == null || size.length() == 0) { |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
274 return 10; |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
275 } |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
276 |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
277 try { |
3405
b0ba96bbf01d
Use Integer.parseInt() instead of Integer.valueOf() + Autounboxing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3399
diff
changeset
|
278 return Integer.parseInt(size); |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
279 } |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
280 catch (NumberFormatException nfe) { |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
281 } |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
282 return 10; |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
283 } |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
284 |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
285 |
2656
f1dcd5f94ffa
Parse more theme properties for linelabels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2648
diff
changeset
|
286 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
|
287 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
|
288 } |
f1dcd5f94ffa
Parse more theme properties for linelabels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2648
diff
changeset
|
289 |
f1dcd5f94ffa
Parse more theme properties for linelabels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2648
diff
changeset
|
290 |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
291 /** |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
292 * 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
|
293 * @param theme The theme. |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
294 */ |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
295 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
|
296 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
|
297 return parseBoolean(show, false); |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
298 } |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
299 |
2666
6da7e064ae90
Allow basic and styled area labels, yet on static position within plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2663
diff
changeset
|
300 /** |
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
|
301 * 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
|
302 * @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
|
303 */ |
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
|
304 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
|
305 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
|
306 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
|
307 } |
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
|
308 |
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
|
309 /** |
2666
6da7e064ae90
Allow basic and styled area labels, yet on static position within plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2663
diff
changeset
|
310 * 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
|
311 * @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
|
312 */ |
6da7e064ae90
Allow basic and styled area labels, yet on static position within plot.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2663
diff
changeset
|
313 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
|
314 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
|
315 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
|
316 } |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
317 |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
318 /** |
2996
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
319 * 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
|
320 * @param theme The theme. |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
321 */ |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
322 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
|
323 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
|
324 return parseBoolean(show, true); |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
325 } |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
326 |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
327 /** |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
328 * 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
|
329 * @param theme The theme. |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
330 */ |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
331 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
|
332 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
|
333 return parseBoolean(show, true); |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
334 } |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
335 |
55f91fae8a7b
Respect new theme setting when drawing line to curve.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2674
diff
changeset
|
336 /** |
1753
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
337 * Parses the attribute 'showlines', defaults to true. |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
338 * @param theme The theme. |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
339 */ |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
340 public static boolean parseShowLine(Document theme) { |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
341 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
|
342 return parseBoolean(show, true); |
1753
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
343 } |
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
344 |
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
|
345 /** |
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
|
346 * 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
|
347 * @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
|
348 */ |
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
|
349 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
|
350 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
|
351 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
|
352 } |
1753
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
353 |
3286
f062b5a90e26
Add showpointlabel style attribute
Christian Lins <christian.lins@intevation.de>
parents:
3256
diff
changeset
|
354 public static boolean parseShowPointLabel(Document theme) { |
f062b5a90e26
Add showpointlabel style attribute
Christian Lins <christian.lins@intevation.de>
parents:
3256
diff
changeset
|
355 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
|
356 return parseBoolean(show, false); |
f062b5a90e26
Add showpointlabel style attribute
Christian Lins <christian.lins@intevation.de>
parents:
3256
diff
changeset
|
357 } |
f062b5a90e26
Add showpointlabel style attribute
Christian Lins <christian.lins@intevation.de>
parents:
3256
diff
changeset
|
358 |
1753
741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1750
diff
changeset
|
359 /** |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
360 * Parses text color. |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
361 * @param theme The theme. |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
362 */ |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
363 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
|
364 return parseRGB(getTextColorString(theme)); |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
365 } |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
366 |
3076
5642a83420f2
FLYS artifacts: Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2996
diff
changeset
|
367 |
1738
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
368 /** |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
369 * Parses the font. |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
370 * @param theme The theme. |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
371 */ |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
372 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
|
373 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
|
374 if (font == null || font.length() == 0) { |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
375 return null; |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
376 } |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
377 |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
378 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
|
379 int style = parseTextStyle(theme); |
415ec0223dff
Renamed text background attribute and parse text attributes correctly.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1748
diff
changeset
|
380 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
|
381 return f; |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
382 } |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
383 |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
384 |
6cdc7a77d3d4
Apply theme attributes to axis annotation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1711
diff
changeset
|
385 /** |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
386 * 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
|
387 * @param theme The theme. |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
388 */ |
2656
f1dcd5f94ffa
Parse more theme properties for linelabels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2648
diff
changeset
|
389 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
|
390 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
|
391 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
|
392 return Font.PLAIN; |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
393 } |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
394 |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
395 if (style.equals("italic")) { |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
396 return Font.ITALIC; |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
397 } |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
398 else if (style.equals("bold")) { |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
399 return Font.BOLD; |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
400 } |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
401 else { |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
402 return Font.PLAIN; |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
403 } |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
404 } |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
405 |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
406 |
2656
f1dcd5f94ffa
Parse more theme properties for linelabels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2648
diff
changeset
|
407 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
|
408 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
|
409 } |
f1dcd5f94ffa
Parse more theme properties for linelabels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2648
diff
changeset
|
410 |
f1dcd5f94ffa
Parse more theme properties for linelabels.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2648
diff
changeset
|
411 |
2663
33d61e2a49a2
Added and respect two new properties of waterlevels in cross-sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2662
diff
changeset
|
412 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
|
413 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
|
414 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
|
415 } |
33d61e2a49a2
Added and respect two new properties of waterlevels in cross-sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2662
diff
changeset
|
416 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
417 |
2663
33d61e2a49a2
Added and respect two new properties of waterlevels in cross-sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2662
diff
changeset
|
418 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
|
419 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
|
420 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
|
421 } |
33d61e2a49a2
Added and respect two new properties of waterlevels in cross-sections.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2662
diff
changeset
|
422 |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
423 /** |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
424 * 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
|
425 * @param theme The theme. |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
426 */ |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
427 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
|
428 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
|
429 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
|
430 return "horizontal"; |
415ec0223dff
Renamed text background attribute and parse text attributes correctly.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1748
diff
changeset
|
431 } |
415ec0223dff
Renamed text background attribute and parse text attributes correctly.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1748
diff
changeset
|
432 else { |
415ec0223dff
Renamed text background attribute and parse text attributes correctly.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1748
diff
changeset
|
433 return "vertical"; |
415ec0223dff
Renamed text background attribute and parse text attributes correctly.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1748
diff
changeset
|
434 } |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
435 } |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
436 |
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 /** |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
439 * 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
|
440 * @param theme The theme. |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
441 */ |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
442 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
|
443 String color = getLabelBackgroundColorString(theme); |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
444 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
|
445 return Color.WHITE; |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
446 } |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
447 return parseRGB(color); |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
448 } |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
449 |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
450 |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
451 /** |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
452 * 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
|
453 * false. |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
454 * @param theme The theme. |
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
455 */ |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
456 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
|
457 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
|
458 return parseBoolean(show, false); |
bdc86e61428c
Respect show line label bg setting.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2660
diff
changeset
|
459 } |
bdc86e61428c
Respect show line label bg setting.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2660
diff
changeset
|
460 |
3090
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
461 |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
462 public static Color parseColor(String colorString) { |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
463 if (colorString == null || colorString.length() == 0) { |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
464 return null; |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
465 } |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
466 else if (colorString.indexOf("#") == 0) { |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
467 return parseHexColor(colorString); |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
468 } |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
469 else if (colorString.indexOf(",") >= 0) { |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
470 return parseRGB(colorString); |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
471 } |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
472 |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
473 return null; |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
474 } |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
475 |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
476 |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
477 /** |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
478 * 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
|
479 * |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
480 * @param hex The hex color value. |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
481 * |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
482 * @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
|
483 */ |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
484 public static Color parseHexColor(String hex) { |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
485 if (hex == null) { |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
486 return null; |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
487 } |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
488 |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
489 return Color.decode(hex); |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
490 } |
22def36d37b7
Apply point color in XYStyle.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3076
diff
changeset
|
491 |
2662
bdc86e61428c
Respect show line label bg setting.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2660
diff
changeset
|
492 /** |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
493 * 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
|
494 * @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
|
495 * @return Color, null in case of issues. |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
496 */ |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
497 public static Color parseRGB(String rgbtext) { |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
498 if (rgbtext == null) { |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
499 return null; |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
500 } |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
501 String rgb[] = rgbtext.split(","); |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
502 Color c = null; |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
503 try { |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
504 c = new Color( |
3405
b0ba96bbf01d
Use Integer.parseInt() instead of Integer.valueOf() + Autounboxing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3399
diff
changeset
|
505 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
|
506 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
|
507 Integer.parseInt(rgb[2].trim())); |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
508 } |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
509 catch (NumberFormatException nfe) { |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
510 c = null; |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
511 } |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
512 return c; |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
513 } |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
514 |
1748
d56b94325bec
Added methods to extract further attributes from theme.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1738
diff
changeset
|
515 |
1793
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
516 public static String getLineColorString(Document theme) { |
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
517 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
|
518 } |
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
519 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
520 |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
521 /** Get show border as string. */ |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
522 public static String getShowBorderString(Document theme) { |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
523 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
|
524 } |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
525 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
526 |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
527 /** Get fill color as string. */ |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
528 public static String getFillColorString(Document theme) { |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
529 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
|
530 } |
1793
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
531 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
532 |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
533 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
|
534 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
|
535 } |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
536 |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
537 |
1878
84cf67a2a19e
Added support for fillcolors of polygons in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1876
diff
changeset
|
538 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
|
539 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
|
540 } |
84cf67a2a19e
Added support for fillcolors of polygons in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1876
diff
changeset
|
541 |
84cf67a2a19e
Added support for fillcolors of polygons in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1876
diff
changeset
|
542 |
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
|
543 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
|
544 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
|
545 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
|
546 } |
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
547 |
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
548 |
1816
5364b86a0880
Improved styles of WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1793
diff
changeset
|
549 public static String getSymbol(Document theme) { |
5364b86a0880
Improved styles of WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1793
diff
changeset
|
550 return XMLUtils.xpathString(theme, XPATH_SYMBOL, null); |
5364b86a0880
Improved styles of WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1793
diff
changeset
|
551 } |
5364b86a0880
Improved styles of WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1793
diff
changeset
|
552 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
553 |
2032
5746c74c69cf
Added a transparency setting to area theme style.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2016
diff
changeset
|
554 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
|
555 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
|
556 } |
3256
17ca0a43027a
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3254
diff
changeset
|
557 |
17ca0a43027a
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3254
diff
changeset
|
558 |
3738
34da25796c21
Theme transparency attribute support (#840)
Christian Lins <christian.lins@intevation.de>
parents:
3624
diff
changeset
|
559 public static String getTransparency(Document theme) { |
34da25796c21
Theme transparency attribute support (#840)
Christian Lins <christian.lins@intevation.de>
parents:
3624
diff
changeset
|
560 return XMLUtils.xpathString(theme, XPATH_TRANSPARENCY, null); |
3254
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
3251
diff
changeset
|
561 } |
2032
5746c74c69cf
Added a transparency setting to area theme style.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2016
diff
changeset
|
562 |
1816
5364b86a0880
Improved styles of WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1793
diff
changeset
|
563 |
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
|
564 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
|
565 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
|
566 } |
3256
17ca0a43027a
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3254
diff
changeset
|
567 |
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
|
568 |
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
|
569 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
|
570 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
|
571 } |
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
|
572 |
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
|
573 |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
574 /** |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
575 * Gets color from color field. |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
576 * @param theme the theme document. |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
577 * @return color. |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
578 */ |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
579 public static Color parseFillColorField(Document theme) { |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
580 return parseRGB(getFillColorString(theme)); |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
581 } |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
582 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
583 |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
584 public static boolean parseShowBorder(Document theme) { |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
585 return parseBoolean(getShowBorderString(theme), false); |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
586 } |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
587 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
588 |
2032
5746c74c69cf
Added a transparency setting to area theme style.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2016
diff
changeset
|
589 public static boolean parseTransparency(Document theme) { |
5746c74c69cf
Added a transparency setting to area theme style.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2016
diff
changeset
|
590 return parseBoolean(getTransparencyString(theme), false); |
5746c74c69cf
Added a transparency setting to area theme style.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
2016
diff
changeset
|
591 } |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
592 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
593 |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
594 /** |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
595 * Gets color from color field. |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
596 * @param theme the theme document. |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
597 * @return color. |
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
598 */ |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
599 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
|
600 String lineColorStr = getLineColorString(theme); |
3160
8c78c707aa2d
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3155
diff
changeset
|
601 logger.debug("parseLineColorField: lineColorStr = " + |
3155
74c974b10c75
Output code to trackdown the linecolor problem
Christian Lins <christian.lins@intevation.de>
parents:
3098
diff
changeset
|
602 (lineColorStr == null ? "null" : lineColorStr)); |
74c974b10c75
Output code to trackdown the linecolor problem
Christian Lins <christian.lins@intevation.de>
parents:
3098
diff
changeset
|
603 return parseRGB(lineColorStr); |
1793
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
604 } |
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
605 |
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
606 |
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
|
607 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
|
608 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
|
609 } |
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 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
611 |
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
|
612 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
|
613 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
|
614 } |
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
|
615 |
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
|
616 |
2616
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
617 public static String createWSPLGENStyle(Document theme) { |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
618 NodeList categories = (NodeList) XMLUtils.xpath( |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
619 theme, |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
620 XPATH_WSPLGEN_FIELDS, |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
621 XPathConstants.NODESET); |
2616
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
622 |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
623 return createWSPLGENStyle(categories).toString(); |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
624 } |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
625 |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
626 protected static MapserverStyle createWSPLGENStyle(NodeList categories) { |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
627 MapserverStyle ms = new MapserverStyle(); |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
628 |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
629 for (int i = 0, n = categories.getLength(); i < n; i++) { |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
630 Element cat = (Element) categories.item(i); |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
631 String color = cat.getAttribute("default"); |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
632 String name = cat.getAttribute("name"); |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
633 |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
634 String expr; |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
635 |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
636 try { |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
637 int length = name.length(); |
3405
b0ba96bbf01d
Use Integer.parseInt() instead of Integer.valueOf() + Autounboxing.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3399
diff
changeset
|
638 int idx = Integer.parseInt(name.substring(length-1, length)); |
2616
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
639 |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
640 expr = createWSPLGENExpression(idx); |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
641 } |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
642 catch (NumberFormatException nfe) { |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
643 logger.warn("Error while parsing WSPLGEN category.", nfe); |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
644 continue; |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
645 } |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
646 |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
647 Clazz c = new Clazz(expr); |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
648 Style s = new Style(); |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
649 s.setColor(color.replace(",", "")); |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
650 s.setSize(5); |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
651 |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
652 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
|
653 c.addItem(s); |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
654 |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
655 ms.addClazz(c); |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
656 } |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
657 |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
658 return ms; |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
659 } |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
660 |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
661 |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
662 protected static String createWSPLGENExpression(int idx) { |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
663 if (idx < 5) { |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
664 int lower = idx - 1; |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
665 return "[DIFF] >= " + lower + " AND [DIFF] < " + idx; |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
666 } |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
667 else { |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
668 return "[DIFF] >= 4"; |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
669 } |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
670 } |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
671 |
27cc95e65f18
Defined a style for WSPLGEN layers which are now modifiable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
2076
diff
changeset
|
672 |
1793
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
673 public static String createMapserverStyle(Document theme) { |
1816
5364b86a0880
Improved styles of WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1793
diff
changeset
|
674 String symbol = getSymbol(theme); |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3405
diff
changeset
|
675 String backcolor = getLabelBackgroundColorString(theme); |
1793
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
676 String linecolor = getLineColorString(theme); |
1816
5364b86a0880
Improved styles of WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1793
diff
changeset
|
677 |
5364b86a0880
Improved styles of WMS layers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1793
diff
changeset
|
678 int linewidth = parseLineWidth(theme); |
1793
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
679 |
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
680 MapserverStyle ms = new MapserverStyle(); |
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
681 |
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
682 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
|
683 |
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
684 Style s = new Style(); |
1878
84cf67a2a19e
Added support for fillcolors of polygons in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1876
diff
changeset
|
685 s.setOutlineColor(linecolor.replace(",", "")); |
84cf67a2a19e
Added support for fillcolors of polygons in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1876
diff
changeset
|
686 |
84cf67a2a19e
Added support for fillcolors of polygons in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1876
diff
changeset
|
687 if (backcolor != null && backcolor.length() > 0) { |
84cf67a2a19e
Added support for fillcolors of polygons in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1876
diff
changeset
|
688 s.setColor(backcolor.replace(",", "")); |
84cf67a2a19e
Added support for fillcolors of polygons in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1876
diff
changeset
|
689 } |
84cf67a2a19e
Added support for fillcolors of polygons in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1876
diff
changeset
|
690 |
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
|
691 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
|
692 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
|
693 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
|
694 |
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
695 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
|
696 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
|
697 |
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
698 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
|
699 Label l = new Label(); |
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
700 l.setColor(textcolor.replace(",", "")); |
dd467951335c
Added support for labels in Mapserver layers and options to modify its style.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1816
diff
changeset
|
701 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
|
702 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
|
703 } |
1793
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
704 |
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
705 ms.addClazz(c); |
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
706 |
1636686070f7
Initial commit to support styles in maps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1753
diff
changeset
|
707 return ms.toString(); |
1090
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
708 } |
9324839684a4
New theme-related utilities.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
709 } |
2016
796dfe96b6b2
Refactoring, added Style accessors for area styles.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
1878
diff
changeset
|
710 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |