Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/jfree/StyledDomainMarker.java @ 4283:7140bb0f92b0
Added new themes for W and Q markers in Historical Discharge WQ charts.
ThemeUtil.parseLineColorField() will now use parseColor() to parse the color string.
This enables using hex colors in theme configs.
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 29 Oct 2012 06:54:48 +0100 |
parents | 940cd2ef149f |
children | 85876e3a5346 |
rev | line source |
---|---|
3254
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.jfree; |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
2 |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
3 import java.awt.Color; |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
4 |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
5 import org.jfree.chart.plot.IntervalMarker; |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
6 import org.w3c.dom.Document; |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
7 |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3259
diff
changeset
|
8 import de.intevation.flys.utils.ThemeUtil; |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3259
diff
changeset
|
9 |
3254
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
10 /** |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
11 * Marker that represents a highlighted interval. |
3889
940cd2ef149f
Area transparency fix
Christian Lins <christian.lins@intevation.de>
parents:
3738
diff
changeset
|
12 * |
3254
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
13 * @author <a href="mailto:christian.lins@intevation.de">Christian Lins</a> |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
14 */ |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
15 public class StyledDomainMarker extends IntervalMarker { |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
16 |
3738
34da25796c21
Theme transparency attribute support (#840)
Christian Lins <christian.lins@intevation.de>
parents:
3464
diff
changeset
|
17 private static final long serialVersionUID = -4369417661339512342L; |
3256
17ca0a43027a
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3254
diff
changeset
|
18 |
3254
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
19 private final Color fillColor, backgroundColor; |
3256
17ca0a43027a
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3254
diff
changeset
|
20 |
3254
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
21 public StyledDomainMarker(double start, double end, Document theme) { |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
22 super(start, end); |
3256
17ca0a43027a
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3254
diff
changeset
|
23 |
3254
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
24 backgroundColor = ThemeUtil.parseColor( |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
25 ThemeUtil.getBackgroundColorString(theme)); |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
26 fillColor = ThemeUtil.parseColor( |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
27 ThemeUtil.getFillColorString(theme)); |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
28 useSecondColor(false); |
3256
17ca0a43027a
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3254
diff
changeset
|
29 |
3889
940cd2ef149f
Area transparency fix
Christian Lins <christian.lins@intevation.de>
parents:
3738
diff
changeset
|
30 int alpha = 100 - ThemeUtil.parseInteger( |
940cd2ef149f
Area transparency fix
Christian Lins <christian.lins@intevation.de>
parents:
3738
diff
changeset
|
31 ThemeUtil.getTransparencyString(theme), 50); |
3738
34da25796c21
Theme transparency attribute support (#840)
Christian Lins <christian.lins@intevation.de>
parents:
3464
diff
changeset
|
32 setAlpha(alpha / 100.0f); |
3254
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
33 } |
3256
17ca0a43027a
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3254
diff
changeset
|
34 |
3254
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
35 /** |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
36 * To properly differentiate several styled domain markers side by side, |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
37 * we can use this switch to toggle between two colors. |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
38 * @param secondColor |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
39 */ |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
40 public void useSecondColor(boolean secondColor) { |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
41 if(secondColor) { |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3259
diff
changeset
|
42 if(backgroundColor != null) |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3259
diff
changeset
|
43 setPaint(backgroundColor); |
3254
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
44 } |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
45 else { |
3464
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3259
diff
changeset
|
46 if(fillColor != null) |
0b9b2a0c4e64
Point labels can have a background color now.
Christian Lins <christian.lins@intevation.de>
parents:
3259
diff
changeset
|
47 setPaint(fillColor); |
3254
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
48 } |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
49 } |
9a4707ec7800
Add styles for W(t) chart domain markers
Christian Lins <christian.lins@intevation.de>
parents:
diff
changeset
|
50 } |
3259
9422b559b2d5
Added vim lines.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3256
diff
changeset
|
51 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |