Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/utils/ThemeUtil.java @ 4686:85876e3a5346
Fixed and improved theme handling for areas.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Mon, 17 Dec 2012 15:32:53 +0100 |
parents | fc52ee878412 |
children | dc0d37715e16 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/utils/ThemeUtil.java Mon Dec 17 15:31:07 2012 +0100 +++ b/flys-artifacts/src/main/java/de/intevation/flys/utils/ThemeUtil.java Mon Dec 17 15:32:53 2012 +0100 @@ -29,6 +29,9 @@ public final static String XPATH_LINE_COLOR = "/theme/field[@name='linecolor']/@default"; + public final static String XPATH_AREA_LINE_COLOR = + "/theme/field[@name='areabordercolor']/@default"; + public static final String XPATH_LINE_SIZE = "/theme/field[@name='linesize']/@default"; @@ -44,6 +47,9 @@ public final static String XPATH_SHOW_BORDER = "/theme/field[@name='showborder']/@default"; + public final static String XPATH_AREA_SHOW_BORDER = + "/theme/field[@name='showborder']/@default"; + public final static String XPATH_SHOW_POINTS = "/theme/field[@name='showpoints']/@default"; @@ -71,6 +77,9 @@ public final static String XPATH_TRANSPARENCY = "/theme/field[@name='transparency']/@default"; + public final static String XPATH_AREA_TRANSPARENCY = + "/theme/field[@name='areatransparency']/@default"; + public final static String XPATH_SHOW_AREA = "/theme/field[@name='showarea']/@default"; @@ -101,6 +110,9 @@ public final static String XPATH_BACKGROUND_COLOR = "/theme/field[@name='backgroundcolor']/@default"; + public final static String XPATH_AREA_BACKGROUND_COLOR = + "/theme/field[@name='areabgcolor']/@default"; + public final static String XPATH_SYMBOL = "/theme/field[@name='symbol']/@default"; @@ -570,6 +582,11 @@ } + public static String getAreaTransparencyString(Document theme) { + return XMLUtils.xpathString(theme, XPATH_AREA_TRANSPARENCY, null); + } + + public static String getShowMinimum(Document theme) { return XMLUtils.xpathString(theme, XPATH_SHOW_MINIMUM, null); } @@ -613,6 +630,19 @@ } + public static Color parseAreaLineColorField(Document theme) { + String lineColorStr = getAreaLineColorString(theme); + logger.debug("parseLineColorField: lineColorStr = " + + (lineColorStr == null ? "null" : lineColorStr)); + return parseColor(lineColorStr); + } + + + private static String getAreaLineColorString(Document theme) { + return XMLUtils.xpathString(theme, XPATH_AREA_LINE_COLOR, null); + } + + public static boolean parseShowMinimum(Document theme) { return parseBoolean(getShowMinimum(theme), false); } @@ -723,5 +753,30 @@ return ms.toString(); } + + + public static String getAreaBackgroundColorString(Document theme) { + return XMLUtils.xpathString(theme, XPATH_AREA_BACKGROUND_COLOR, null); + } + + + public static Color parseAreaBackgroundColor(Document theme) { + return parseColor(getAreaBackgroundColorString(theme)); + } + + + public static int parseAreaTransparency(Document theme) { + return parseInteger(getAreaTransparencyString(theme), 50); + } + + + public static boolean parseAreaShowBorder(Document theme) { + return parseBoolean(getAreaShowBorderString(theme), false); + } + + + private static String getAreaShowBorderString(Document theme) { + return XMLUtils.xpathString(theme, XPATH_AREA_SHOW_BORDER, null); + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :