diff artifacts/src/main/java/org/dive4elements/river/jfree/StyledAreaSeriesCollection.java @ 9186:eec4df8165a1

Implemented 'ShowLineLabel' for area themes.
author gernotbelger
date Thu, 28 Jun 2018 10:47:04 +0200
parents 77eb4553245b
children d8e753d0fdb9
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/jfree/StyledAreaSeriesCollection.java	Thu Jun 28 10:47:00 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/jfree/StyledAreaSeriesCollection.java	Thu Jun 28 10:47:04 2018 +0200
@@ -77,7 +77,9 @@
         applyOutlineStyle(renderer);
         applyShowLine(renderer);
         applyShowAreaLabel(renderer);
+        applyShowLineLabel(renderer);
         applyPointStyle(renderer);
+        applyShowMinimumMaximum(renderer);
         if (this.mode == FILL_MODE.UNDER) {
             renderer.setAreaCalculationMode(
                     StableXYDifferenceRenderer.CALCULATE_NEGATIVE_AREA);
@@ -96,6 +98,17 @@
         return renderer;
     }
 
+    private void applyShowMinimumMaximum(final StableXYDifferenceRenderer renderer) {
+
+        // TODO: nice to have
+
+        // final boolean minimumVisible = this.theme.parseShowMinimum();
+        // renderer.setIsMinimumShapeVisible(minimumVisible);
+        //
+        // final boolean maximumVisible = this.theme.parseShowMaximum();
+        // renderer.setIsMaximumShapeVisible(maximumVisible);
+    }
+
     private void applyFillColor(final StableXYDifferenceRenderer renderer) {
 
         Paint paint = parseFillPaint();
@@ -169,9 +182,15 @@
         renderer.setOutlinePaint(c);
     }
 
-    /** Inform renderer whether it should draw a label. */
     private void applyShowAreaLabel(final StableXYDifferenceRenderer renderer) {
-        renderer.setLabelArea(this.theme.parseShowAreaLabel());
+        renderer.setShowAreaLabel(this.theme.parseShowAreaLabel());
+    }
+
+    private void applyShowLineLabel(final StableXYDifferenceRenderer renderer) {
+        // REMARK: using 'showlinelabel' to activate labeling the line with the title of the theme. This is the same behaviour
+        // as for line-themes.
+        final boolean showLabelLine = this.theme.parseShowLineLabel();
+        renderer.setShowTitleLabel(showLabelLine);
     }
 
     private void applyOutlineStyle(final StableXYDifferenceRenderer renderer) {

http://dive4elements.wald.intevation.org