|
From: Hirzel P. <ph...@us...> - 2008-05-18 15:34:21
|
Update of /cvsroot/tcotool/TCO-Tool/src/org/tcotool/standard/charts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv1530/src/org/tcotool/standard/charts Modified Files: ChartTool.java Log Message: Refactoring: adapt to JFreeChart V1.0.9 Index: ChartTool.java =================================================================== RCS file: /cvsroot/tcotool/TCO-Tool/src/org/tcotool/standard/charts/ChartTool.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** ChartTool.java 13 Jun 2007 20:16:39 -0000 1.5 --- ChartTool.java 18 May 2008 15:34:22 -0000 1.6 *************** *** 54,58 **** --- 54,60 ---- import ch.softenvironment.jomm.mvc.model.DbCodeType; import ch.softenvironment.jomm.mvc.model.DbObject; + import ch.softenvironment.util.AmountFormat; import ch.softenvironment.util.NlsUtils; + import ch.softenvironment.util.UserException; import ch.softenvironment.client.ResourceManager; /** *************** *** 172,176 **** */ public JPanel createTcoBarChart(Class dbCodeType) throws Throwable { ! CategoryDataset categorydataset = createTotalCodeDataset(rootObject.getObjectServer().retrieveCodes(dbCodeType)); JFreeChart jfreechart = createBarChart(categorydataset, NlsUtils.formatMessage(ResourceManager.getResource(ChartTool.class, "CTCostByCodeType"), ModelUtility.getTypeString(dbCodeType)), LauncherView.getInstance().getUtility().getSystemParameter().getDefaultCurrency().getNameString()); ChartPanel chart = new ChartPanel(jfreechart); --- 174,182 ---- */ public JPanel createTcoBarChart(Class dbCodeType) throws Throwable { ! List codes = rootObject.getObjectServer().retrieveCodes(dbCodeType); ! if ((codes == null) || (codes.size() == 0)) { ! throw new UserException(ResourceManager.getResource(ChartTool.class, "CWNoCode_text"), ResourceManager.getResource(ChartTool.class, "CWNoCode_title") + " " + ModelUtility.getTypeString(dbCodeType)); ! } ! CategoryDataset categorydataset = createTotalCodeDataset(codes); JFreeChart jfreechart = createBarChart(categorydataset, NlsUtils.formatMessage(ResourceManager.getResource(ChartTool.class, "CTCostByCodeType"), ModelUtility.getTypeString(dbCodeType)), LauncherView.getInstance().getUtility().getSystemParameter().getDefaultCurrency().getNameString()); ChartPanel chart = new ChartPanel(jfreechart); *************** *** 197,202 **** * @throws Throwable */ ! public JPanel createTcoPieChart(Class dbCodeType) throws Throwable { ! CategoryDataset categorydataset = createTotalCodeDataset(rootObject.getObjectServer().retrieveCodes(dbCodeType)); JFreeChart jfreechart = createPieChart(categorydataset, dbCodeType); ChartPanel chartpanel = new ChartPanel(jfreechart); --- 203,212 ---- * @throws Throwable */ ! public JPanel createTcoPieChart(Class dbCodeType) throws Throwable { ! List codes = rootObject.getObjectServer().retrieveCodes(dbCodeType); ! if ((codes == null) || (codes.size() == 0)) { ! throw new UserException(ResourceManager.getResource(ChartTool.class, "CWNoCode_text"), ResourceManager.getResource(ChartTool.class, "CWNoCode_title") + " " + ModelUtility.getTypeString(dbCodeType)); ! } ! CategoryDataset categorydataset = createTotalCodeDataset(codes); JFreeChart jfreechart = createPieChart(categorydataset, dbCodeType); ChartPanel chartpanel = new ChartPanel(jfreechart); *************** *** 213,232 **** JFreeChart jfreechart = ChartFactory.createMultiplePieChart(NlsUtils.formatMessage(ResourceManager.getResource(ChartTool.class, "CTCostByCodeType"), ModelUtility.getTypeString(dbCodeType)), categorydataset, ! TableOrder.BY_COLUMN, true, ! true, false); MultiplePiePlot multiplepieplot = (MultiplePiePlot)jfreechart.getPlot(); ! multiplepieplot.setBackgroundPaint(Color.white); multiplepieplot.setOutlineStroke(new BasicStroke(1.0F)); ! JFreeChart jfreechart_0_ = multiplepieplot.getPieChart(); ! PiePlot pieplot = (PiePlot)jfreechart_0_.getPlot(); ! pieplot.setBackgroundPaint(null); ! pieplot.setOutlineStroke(null); pieplot.setLabelGenerator(new StandardPieSectionLabelGenerator// StandardPieItemLabelGenerator (in JFreeCharts V0.9.6) ! ("{0} ({2})", ! NumberFormat.getNumberInstance(), ! NumberFormat.getPercentInstance())); ! pieplot.setMaximumLabelWidth(0.35); ! pieplot.setLabelFont(new java.awt.Font("SansSerif", 0, 9)); ! pieplot.setInteriorGap(0.3); return jfreechart; } --- 223,262 ---- JFreeChart jfreechart = ChartFactory.createMultiplePieChart(NlsUtils.formatMessage(ResourceManager.getResource(ChartTool.class, "CTCostByCodeType"), ModelUtility.getTypeString(dbCodeType)), categorydataset, ! TableOrder.BY_COLUMN, ! true, ! true, ! false); MultiplePiePlot multiplepieplot = (MultiplePiePlot)jfreechart.getPlot(); ! //multiplepieplot.setBackgroundPaint(Color.white); multiplepieplot.setOutlineStroke(new BasicStroke(1.0F)); ! JFreeChart pieChart = multiplepieplot.getPieChart(); ! PiePlot pieplot = (PiePlot)pieChart.getPlot(); ! //pieplot.setBackgroundPaint(null); ! //pieplot.setOutlineStroke(null); ! String currency = ""; ! try { ! currency = LauncherView.getInstance().getUtility().getSystemParameter().getDefaultCurrency().getNameString(); ! } catch(Throwable ex) { ! //ignore: don't show currency ! } ! //pieplot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}")); pieplot.setLabelGenerator(new StandardPieSectionLabelGenerator// StandardPieItemLabelGenerator (in JFreeCharts V0.9.6) ! (/*"{0} +*/ " {1}" + currency + " [{2}]", ! AmountFormat.getAmountInstance(LauncherView.getInstance().getSettings().getPlattformLocale()), ! NumberFormat.getPercentInstance())); // {0}=Text corresponding to color; {1}=partial value; {2}=partial % ! pieplot.setLabelFont(new java.awt.Font("SansSerif", 0, 7)); ! ! // only show existing parts ! pieplot.setIgnoreNullValues(true); ! pieplot.setIgnoreZeroValues(true); ! ! // set width of label and circle ! /* ! pieplot.setMaximumLabelWidth(0.25); // ==> buggy in V1.0.9 ! pieplot.setInteriorGap(0.07); // influences circle size ! pieplot.setLabelGap(0.07); ! */ ! pieplot.setSimpleLabels(true); ! return jfreechart; } |