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