[jboss-cvs] jboss-seam/src/pdf/org/jboss/seam/pdf/ui ...

Norman Richards norman.richards at jboss.com
Sun May 6 00:53:13 EDT 2007


  User: nrichards
  Date: 07/05/06 00:53:13

  Modified:    src/pdf/org/jboss/seam/pdf/ui    UIBarChart.java
                        UIChartData.java
  Added:       src/pdf/org/jboss/seam/pdf/ui    UIChartSeries.java
  Log:
  series configuration, improved styling for bar charts
  
  Revision  Changes    Path
  1.5       +151 -38   jboss-seam/src/pdf/org/jboss/seam/pdf/ui/UIBarChart.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: UIBarChart.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/pdf/org/jboss/seam/pdf/ui/UIBarChart.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -b -r1.4 -r1.5
  --- UIBarChart.java	3 May 2007 02:33:12 -0000	1.4
  +++ UIBarChart.java	6 May 2007 04:53:13 -0000	1.5
  @@ -1,7 +1,5 @@
   package org.jboss.seam.pdf.ui;
   
  -import java.awt.BasicStroke;
  -import java.awt.Color;
   import javax.faces.context.FacesContext;
   
   import org.jfree.chart.ChartFactory;
  @@ -17,49 +15,116 @@
   public class UIBarChart 
       extends UIChart 
   {
  -    String title;
  -    String categoryAxisLabel;
  -    String domainAxisLabel;
  -    CategoryDataset dataset;
  -    String orientation;
  -    
  -    boolean legend;
  -    boolean tooltips;
  -    boolean urls;
  -    boolean is3D = false;      
  +    private CategoryDataset dataset;
  +    
  +    private String title;
  +    private String categoryAxisLabel;
  +    private String valueAxisLabel;
  +       
  +    private String orientation;
  +    
  +    private boolean legend;
  +    private boolean is3D = false;
  +
  +    private Boolean domainGridlinesVisible;
  +    private String domainGridlinePaint;
  +    private String domainGridlineStroke;
  +    private Boolean rangeGridlinesVisible;
  +    private String rangeGridlinePaint;
  +    private String rangeGridlineStroke;      
       
       public void setTitle(String title) {
           this.title = title;
       }
       
  +    public String getTitle() {
  +        return (String) valueBinding("title", title);
  +    }
  +    
       public void setOrientation(String orientation) {
           this.orientation = orientation;
       }
       
  +    public String getOrientation() {
  +        return (String) valueBinding("orientation", orientation);
  +    }
  +    
       public void setCategoryAxisLabel(String categoryAxisLabel) {
           this.categoryAxisLabel = categoryAxisLabel;
       }
   
  +    public String getCategoryAxisLabel() {
  +        return (String) valueBinding("categoryAxisLabel", categoryAxisLabel);
  +    }
  +
       public void setValueAxisLabel(String valueAxisLabel) {
  -        this.domainAxisLabel = valueAxisLabel;
  +        this.valueAxisLabel = valueAxisLabel;
       }
   
  -    public void setLegend(boolean legend) {
  -        this.legend = legend;
  +    public String getValueAxisLabel() {
  +        return (String) valueBinding("valueAxisLabel", valueAxisLabel);
       }
       
  -    public void setTooltips(boolean tooltips) {
  -        this.tooltips = tooltips;
  +    public void setLegend(boolean legend) {
  +        this.legend = legend;
       }
       
  -    public void setUrls(boolean urls) {
  -        this.urls = urls;
  +    public boolean getLegend() {
  +        return (Boolean) valueBinding("legend", legend);
       }
       
       public void setIs3D(boolean is3D) {
           this.is3D = true;
       }
       
  +    public String getDomainGridlinePaint() {
  +        return (String) valueBinding("domainGridlinePaint", domainGridlinePaint);
  +    }
  +
  +    public void setDomainGridlinePaint(String domainGridlinePaint) {
  +        this.domainGridlinePaint = domainGridlinePaint;
  +    }
  +
  +    public String getDomainGridlineStroke() {
  +        return (String) valueBinding("domainGridlineStroke", domainGridlineStroke);
  +    }
  +
  +    public void setDomainGridlineStroke(String domainGridlineStroke) {
  +        this.domainGridlineStroke = domainGridlineStroke;
  +    }
  +
  +    public Boolean getDomainGridlinesVisible() {
  +        return (Boolean) valueBinding("domainGridlinesVisible", domainGridlinesVisible);
  +    }
  +
  +    public void setDomainGridlinesVisible(Boolean domainGridlinesVisible) {
  +        this.domainGridlinesVisible = domainGridlinesVisible;
  +    }
  +
  +    public String getRangeGridlinePaint() {
  +        return (String) valueBinding("rangeGridlinePaint", rangeGridlinePaint);
  +    }
  +
  +    public void setRangeGridlinePaint(String rangeGridlinePaint) {
  +        this.rangeGridlinePaint = rangeGridlinePaint;
  +    }
  +
  +    public String getRangeGridlineStroke() {
  +        return (String) valueBinding("rangeGridlineStroke", rangeGridlineStroke);
  +    }
  +
  +    public void setRangeGridlineStroke(String rangeGridlineStroke) {
  +        this.rangeGridlineStroke = rangeGridlineStroke;
  +    }
  +
  +    public Boolean getRangeGridlinesVisible() {
  +        return (Boolean) valueBinding("rangeGridlinesVisible", rangeGridlinesVisible);
  +    }
  +
  +    public void setRangeGridlinesVisible(Boolean rangeGridlinesVisible) {
  +        this.rangeGridlinesVisible = rangeGridlinesVisible;
  +    }
  +    
       @Override
       public void createDataset() {
           dataset = new DefaultCategoryDataset();
  @@ -69,42 +134,88 @@
       public void configurePlot(Plot p) {
           super.configurePlot(p);
           CategoryPlot plot = (CategoryPlot) p;
  -        plot.setRangeGridlinePaint(Color.BLUE);
  -        plot.setDomainGridlinePaint(Color.CYAN);
  -        // ...
  +
  +        //plot.setAxisOffset(RectangleInsets)
  +        //plot.setDomainAxisLocation(arg0);
  +        //plot.setRangeAxisLocation(arg0);
  +        
  +        if (domainGridlinesVisible != null) { 
  +            plot.setDomainGridlinesVisible(domainGridlinesVisible);
  +        }
  +        //plot.setDomainGridlinePosition(CategoryAnchor)
  +        if (domainGridlinePaint != null) {
  +            plot.setDomainGridlinePaint(findColor(domainGridlinePaint));
  +        }
  +        if (domainGridlineStroke != null) {
  +            plot.setDomainGridlineStroke(findStroke(domainGridlineStroke));
  +        }
  +        
  +        if (rangeGridlinesVisible != null) {
  +        plot.setRangeGridlinesVisible(rangeGridlinesVisible);
  +        }
  +        //plot.setRangeGridlinePosition(CategoryAnchor)
  +        if (rangeGridlinePaint!=null) {        
  +            plot.setRangeGridlinePaint(findColor(rangeGridlinePaint));
  +        }
  +        if (rangeGridlineStroke!=null) {
  +            plot.setRangeGridlineStroke(findStroke(rangeGridlineStroke));
  +        }
                   
           configureRenderer((BarRenderer) plot.getRenderer());
                 
       }
       
       public void configureRenderer(BarRenderer renderer) {
  -        renderer.setItemMargin(0.0);
  +        //renderer.setItemMargin(0.0);
  +                
  +//        renderer.setBase(arg0);
  +//        renderer.setBaseFillPaint(arg0);
  +//        renderer.setBaseItemLabelFont(arg0);
  +//        renderer.setBaseItemLabelPaint(arg0);
  +//        renderer.setBaseItemLabelsVisible(arg0);
  +//        renderer.setBaseOutlinePaint(arg0);
  +//        renderer.setBaseOutlineStroke(arg0);
  +//        renderer.setBaseSeriesVisible(arg0);
  +//        renderer.setBaseSeriesVisibleInLegend(arg0);
  +//        renderer.setBaseShape(arg0);
  +//        renderer.setBaseStroke();
  +//        renderer.setFillPaint(arg0);
  +//        renderer.setItemLabelFont(arg0);
  +//        renderer.setItemLabelPaint(arg0);
  +//        renderer.setItemLabelsVisible(arg0);
  +//        renderer.setItemMargin(arg0);
  +//        renderer.setOutlinePaint(arg0)
  +//        renderer.setOutlineStroke(arg0)
  +//        renderer.setPaint(arg0);
  +//        renderer.setStroke(arg0);
  +        
                   
  -        renderer.setBaseOutlineStroke(new BasicStroke(2f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, 10f, 
  -                new float[] {10,3}, 0));        
  +        
  +        //renderer.setBaseOutlineStroke(new BasicStroke(2f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, 10f, 
  +                //new float[] {10,3}, 0));        
   
       }
   
       @Override
       public JFreeChart createChart(FacesContext context) {        
           if (!is3D) {
  -            return ChartFactory.createBarChart(title,
  -                    categoryAxisLabel,
  -                    domainAxisLabel,
  +            return ChartFactory.createBarChart(getTitle(),
  +                    getCategoryAxisLabel(),
  +                    getValueAxisLabel(),
                       dataset,
                       plotOrientation(orientation),
  -                    legend,
  -                    tooltips,
  -                    urls);
  +                    getLegend(),
  +                    false,
  +                    false);
           } else {
               return ChartFactory.createBarChart3D(title,
  -                    categoryAxisLabel,
  -                    domainAxisLabel,
  +                    getCategoryAxisLabel(),
  +                    getValueAxisLabel(),
                       dataset,
                       plotOrientation(orientation),
  -                    legend,
  -                    tooltips,
  -                    urls);
  +                    getLegend(),
  +                    false,
  +                    false);
           }
       }
   
  @@ -121,4 +232,6 @@
           }
       }
   
  +
  +
   }
  
  
  
  1.4       +10 -6     jboss-seam/src/pdf/org/jboss/seam/pdf/ui/UIChartData.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: UIChartData.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/pdf/org/jboss/seam/pdf/ui/UIChartData.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -b -r1.3 -r1.4
  --- UIChartData.java	3 May 2007 02:33:12 -0000	1.3
  +++ UIChartData.java	6 May 2007 04:53:13 -0000	1.4
  @@ -107,15 +107,19 @@
                   if (sectionOutlineStroke != null) {
                       plot.setSectionOutlineStroke(key, UIChart.findStroke(getSectionOutlineStroke()));
                   }
  -                
  -                
               } else if (dataset instanceof DefaultCategoryDataset) {
                   DefaultCategoryDataset data = (DefaultCategoryDataset) dataset;
  +                
  +                //CategoryPlot plot = (CategoryPlot) chart.getChart().getPlot();
  +
  +                if (rowKey == null) {
  +                    UIChartSeries series = (UIChartSeries) findITextParent(this, UIChartSeries.class);
  +                    rowKey = series.getKey();
  +                }
                   data.addValue(value, rowKey, columnKey);                
               } else {
                   throw new RuntimeException("Cannot add data to dataset of type " + dataset.getClass());
               }
  -            
           }
       }
       
  
  
  
  1.1      date: 2007/05/06 04:53:13;  author: nrichards;  state: Exp;jboss-seam/src/pdf/org/jboss/seam/pdf/ui/UIChartSeries.java
  
  Index: UIChartSeries.java
  ===================================================================
  package org.jboss.seam.pdf.ui;
  
  import java.io.IOException;
  
  import javax.faces.context.FacesContext;
  
  import org.jfree.chart.plot.CategoryPlot;
  import org.jfree.chart.plot.Plot;
  import org.jfree.chart.renderer.category.BarRenderer;
  import org.jfree.data.category.CategoryDataset;
  import org.jfree.data.general.Dataset;
  
  public class UIChartSeries 
      extends ITextComponent 
  {
      private String key;
      private String seriesPaint;
      private String seriesFillPaint;
      private String seriesOutlinePaint;
      private String seriesOutlineStroke;
      private String seriesStroke;
      private Boolean seriesVisible;
      private Boolean seriesVisibleInLegend;
      
      public String getKey() {
          return (String) valueBinding("key", key);
      }
  
      public void setKey(String key) {
          this.key = key;
      }
      
      public String getSeriesPaint() {
          return (String) valueBinding("seriesPaint", seriesPaint);
      }
  
      public void setSeriesPaint(String seriesPaint) {
          this.seriesPaint = seriesPaint;
      }
  
      public String getSeriesFillPaint() {
          return (String) valueBinding("seriesFillPaint", seriesFillPaint);
      }
  
      public void setSeriesFillPaint(String seriesFillPaint) {
          this.seriesFillPaint = seriesFillPaint;
      }
  
      public String getSeriesOutlinePaint() {
          return (String) valueBinding("seriesOutlinePaint", seriesOutlinePaint);
      }
  
      public void setSeriesOutlinePaint(String seriesOutlinePaint) {
          this.seriesOutlinePaint = seriesOutlinePaint;
      }
  
      public String getSeriesOutlineStroke() {
          return (String) valueBinding("seriesOutlineStroke", seriesOutlineStroke);
      }
  
      public void setSeriesOutlineStroke(String seriesOutlineStroke) {
          this.seriesOutlineStroke = seriesOutlineStroke;
      }
  
      public String getSeriesStroke() {
          return (String) valueBinding("seriesStroke", seriesStroke);
      }
  
      public void setSeriesStroke(String seriesStroke) {
          this.seriesStroke = seriesStroke;
      }
  
      public Boolean getSeriesVisible() {
          return (Boolean) valueBinding("seriesVisible", seriesVisible);
      }
  
      public void setSeriesVisible(Boolean seriesVisible) {
          this.seriesVisible = seriesVisible;
      }
  
      public Boolean getSeriesVisibleInLegend() {
          return (Boolean) valueBinding("seriesVisibleInLegend", seriesVisibleInLegend);   
      }
  
      public void setSeriesVisibleInLegend(Boolean seriesVisibleInLegend) {
          this.seriesVisibleInLegend = seriesVisibleInLegend;
      }
  
      @Override
      public void encodeEnd(FacesContext context) 
          throws IOException
      {
  
          UIChart chart = (UIChart) findITextParent(getParent(), UIChart.class);
          Dataset dataset = chart.getDataset();
          if (chart != null) {            
              Plot p = chart.getChart().getPlot();
              if (p instanceof CategoryPlot) {
                  CategoryPlot plot = (CategoryPlot) p;                
  
                  int seriesIndex = ((CategoryDataset) dataset).getRowIndex(key);
  
                  BarRenderer renderer = (BarRenderer) plot.getRenderer();
                  if (seriesPaint != null) {
                      renderer.setSeriesPaint(seriesIndex, UIChart.findColor(getSeriesPaint()));
                  }
  
                  if (seriesFillPaint != null) {
                      renderer.setSeriesFillPaint(seriesIndex, UIChart.findColor(getSeriesFillPaint()));
                  }
  
                  if (seriesOutlinePaint != null) {
                      renderer.setSeriesOutlinePaint(seriesIndex, UIChart.findColor(getSeriesOutlinePaint()));
                  }
  
                  if (seriesOutlineStroke != null) {
                      renderer.setSeriesOutlineStroke(seriesIndex, UIChart.findStroke(getSeriesOutlineStroke()));
                  }
  
                  if (seriesStroke != null) {
                      renderer.setSeriesStroke(seriesIndex, UIChart.findStroke(getSeriesStroke()));
                  }
                  
                  if (seriesVisible != null) {
                      renderer.setSeriesVisible(seriesIndex, seriesVisible);
                  }
                      
                  if (seriesVisibleInLegend != null) {
                      renderer.setSeriesVisibleInLegend(seriesIndex, getSeriesVisibleInLegend());
                  }
                  
              }
              
                
          }
          
      }
      
      @Override
      public void createITextObject(FacesContext context) {
      }
  
      @Override
      public Object getITextObject() {
          return null;
      }
  
      @Override
      public void removeITextObject() {
      }
      
      @Override
      public void handleAdd(Object other) {
      }
  
  
  
  
      
      
  
  }
  
  
  



More information about the jboss-cvs-commits mailing list