r2787 - in isis-fish/trunk: . src/main/java/fr/ifremer/isisfish/ui/result src/main/resources/i18n
Author: chatellier Date: 2009-12-01 17:41:51 +0000 (Tue, 01 Dec 2009) New Revision: 2787 Modified: isis-fish/trunk/changelog.txt isis-fish/trunk/pom.xml isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBean.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBeanModel.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBeanUIJAXX.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphComboRenderer.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphMatrixNDDataset.java isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties Log: Update to jfreechart 1.0.12 Modified: isis-fish/trunk/changelog.txt =================================================================== --- isis-fish/trunk/changelog.txt 2009-11-30 10:48:26 UTC (rev 2786) +++ isis-fish/trunk/changelog.txt 2009-12-01 17:41:51 UTC (rev 2787) @@ -1,5 +1,6 @@ isis-fish (3.3.0.0) stable; urgency=low + * Update to jfreechart 1.0.13 (major version) * #1585 : Analyze plans are now reloaded before each simulation * Editing sensitivity factors after simulation reload now works * Add confirmation message before launching groups creation wizard Modified: isis-fish/trunk/pom.xml =================================================================== --- isis-fish/trunk/pom.xml 2009-11-30 10:48:26 UTC (rev 2786) +++ isis-fish/trunk/pom.xml 2009-12-01 17:41:51 UTC (rev 2787) @@ -100,7 +100,7 @@ <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> - <version>1.8.1</version> + <version>1.8.2</version> <scope>compile</scope> </dependency> @@ -139,21 +139,12 @@ <scope>compile</scope> </dependency> - <!--Other--> <dependency> - <groupId>jfreechart</groupId> - <artifactId>jfreechart</artifactId> - <version>0.9.3</version> - <scope>compile</scope> + <groupId>jfree</groupId> + <artifactId>jfreechart</artifactId> + <version>1.0.12</version> </dependency> - <dependency> - <groupId>jcommon</groupId> - <artifactId>jcommon</artifactId> - <version>0.7.0</version> - <scope>compile</scope> - </dependency> - <!-- XML-RPC Client and server --> <dependency> <groupId>org.apache.xmlrpc</groupId> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBean.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBean.java 2009-11-30 10:48:26 UTC (rev 2786) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBean.java 2009-12-01 17:41:51 UTC (rev 2787) @@ -3,19 +3,25 @@ import java.awt.event.ItemEvent; import javax.swing.DefaultComboBoxModel; +import javax.swing.JPanel; -import com.jrefinery.chart.AreaCategoryItemRenderer; -import com.jrefinery.chart.CategoryItemRenderer; -import com.jrefinery.chart.ChartPanel; -import com.jrefinery.chart.HorizontalBarRenderer; -import com.jrefinery.chart.JFreeChart; -import com.jrefinery.chart.LineAndShapeRenderer; -import com.jrefinery.chart.MinMaxCategoryRenderer; -import com.jrefinery.chart.StackedHorizontalBarRenderer; -import com.jrefinery.chart.StackedVerticalBarRenderer; -import com.jrefinery.chart.VerticalBarRenderer; -import com.jrefinery.chart.VerticalBarRenderer3D; -import com.jrefinery.chart.ui.ChartPropertyEditPanel; +import org.jfree.chart.ChartPanel; +import org.jfree.chart.JFreeChart; +import org.jfree.chart.editor.ChartEditor; +import org.jfree.chart.editor.ChartEditorManager; +import org.jfree.chart.labels.StandardCategoryToolTipGenerator; +import org.jfree.chart.renderer.category.AreaRenderer; +import org.jfree.chart.renderer.category.BarRenderer; +import org.jfree.chart.renderer.category.BarRenderer3D; +import org.jfree.chart.renderer.category.CategoryItemRenderer; +import org.jfree.chart.renderer.category.IntervalBarRenderer; +import org.jfree.chart.renderer.category.LayeredBarRenderer; +import org.jfree.chart.renderer.category.LineAndShapeRenderer; +import org.jfree.chart.renderer.category.LineRenderer3D; +import org.jfree.chart.renderer.category.MinMaxCategoryRenderer; +import org.jfree.chart.renderer.category.StackedAreaRenderer; +import org.jfree.chart.renderer.category.StackedBarRenderer; +import org.jfree.chart.renderer.category.StackedBarRenderer3D; /** * GraphBean. @@ -25,155 +31,178 @@ * @author <a href="mailto:seb.regnier at free.fr"></a> * @version $Revision$ */ -public class GraphBean extends GraphBeanUI implements GraphBeanUICallback,GraphListener { +public class GraphBean extends GraphBeanUI implements GraphBeanUICallback, + GraphListener { /** serialVersionUID */ private static final long serialVersionUID = -4474836708965453250L; - + protected GraphBeanModel model; - protected ChartPropertyEditPanel graphPalette; + protected JPanel graphPalette; protected ChartPanel chartPanel; protected JFreeChart chart; - public GraphBean (){ - super(); - init(); - getGraphRendererCombo().setEditable(false); - getGraphRendererCombo().setRenderer(new GraphComboRenderer()); - loadGraphRendererCombo(); - //getGraphSplitPane().setDividerLocation(1.0); + public GraphBean() { + super(); + init(); + getGraphRendererCombo().setEditable(false); + getGraphRendererCombo().setRenderer(new GraphComboRenderer()); + loadGraphRendererCombo(); } - protected void loadGraphRendererCombo(){ - DefaultComboBoxModel model = new DefaultComboBoxModel(); - model.addElement(new VerticalBarRenderer()); - model.addElement(new VerticalBarRenderer3D()); - model.addElement(new StackedVerticalBarRenderer()); - // model.addElement(new VerticalIntervalBarRenderer()); - //model.addElement(new VerticalStatisticalBarRenderer()); - model.addElement(new HorizontalBarRenderer()); - // model.addElement(new HorizontalBarRenderer3D()); - model.addElement(new StackedHorizontalBarRenderer()); - // model.addElement(new HorizontalIntervalBarRenderer()); - //model.addElement(new HorizontalShapeRenderer()); - model.addElement(new AreaCategoryItemRenderer()); - model.addElement(new LineAndShapeRenderer()); - model.addElement(new MinMaxCategoryRenderer()); - model.setSelectedItem(null); - getGraphRendererCombo().setModel(model); + protected void loadGraphRendererCombo() { + DefaultComboBoxModel model = new DefaultComboBoxModel(); + + // rendu : vertical bar + BarRenderer barRenderer = new BarRenderer(); + barRenderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator()); + model.addElement(barRenderer); + + // rendu : vertical bar 3d + BarRenderer3D barRenderer3D = new BarRenderer3D(); + barRenderer3D.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator()); + model.addElement(barRenderer3D); + + // rendu stacked bar + StackedBarRenderer stackedBarRenderer = new StackedBarRenderer(); + stackedBarRenderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator()); + model.addElement(stackedBarRenderer); + + // rendu aire + AreaRenderer areaRenderer = new AreaRenderer(); + areaRenderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator()); + model.addElement(areaRenderer); + + // rendu aire empilée + StackedAreaRenderer stackedAreaRenderer = new StackedAreaRenderer(); + stackedAreaRenderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator()); + model.addElement(stackedAreaRenderer); + + // rendu line aire + LineAndShapeRenderer lineAndShapeRenderer = new LineAndShapeRenderer(); + lineAndShapeRenderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator()); + model.addElement(lineAndShapeRenderer); + + // rendu ligne 3d + LineRenderer3D lineRenderer3D = new LineRenderer3D(); + lineRenderer3D.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator()); + model.addElement(lineRenderer3D); + + // rendu mix/max + MinMaxCategoryRenderer minMaxCategoryRenderer = new MinMaxCategoryRenderer(); + minMaxCategoryRenderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator()); + model.addElement(minMaxCategoryRenderer); + + model.setSelectedItem(null); + getGraphRendererCombo().setModel(model); } - + /** * Get the value of model. * @return value of model. */ public GraphBeanModel getModel() { - return model; + return model; } - + /** * Set the value of model. * @param v Value to assign to model. */ - public void setModel(GraphBeanModel v) { - this.model = v; - model.addGraphListener(this); - //getGraphSplitPane().setDividerLocation(1.0); - // displayGraph(); + public void setModel(GraphBeanModel v) { + this.model = v; + model.addGraphListener(this); + // displayGraph(); } - public void graphChanged(GraphEvent e){ - displayGraph(); + public void graphChanged(GraphEvent e) { + displayGraph(); } - + /** * Get the value of chartPanel. * @return value of chartPanel. */ public ChartPanel getChartPanel() { - return chartPanel; + return chartPanel; } - + /** * Set the value of chartPanel. * @param v Value to assign to chartPanel. */ - public void setChartPanel(ChartPanel v) { - this.chartPanel = v; + public void setChartPanel(ChartPanel v) { + this.chartPanel = v; } - + /** * Get the value of graphPalette. * @return value of graphPalette. */ - public ChartPropertyEditPanel getGraphPalette() { - return graphPalette; + public JPanel getGraphPalette() { + return graphPalette; } - + /** * Set the value of graphPalette. * @param v Value to assign to graphPalette. */ - public void setGraphPalette(ChartPropertyEditPanel v) { - this.graphPalette = v; + public void setGraphPalette(JPanel v) { + this.graphPalette = v; } - + /** * Get the value of chart. * @return value of chart. */ public JFreeChart getChart() { - return chart; + return chart; } - + /** * Set the value of chart. * @param v Value to assign to chart. */ - public void setChart(JFreeChart v) { - this.chart = v; + public void setChart(JFreeChart v) { + this.chart = v; } - - public void displayGraph(){ + public void displayGraph() { -// JFreeChart chart = new JFreeChart(getModel().getCategoryDataset(), -// getModel().getCategoryPlot(), -// getModel().getTitle(), -// JFreeChart.DEFAULT_TITLE_FONT, -// true); - JFreeChart chart = new JFreeChart(getModel().getTitle(), - JFreeChart.DEFAULT_TITLE_FONT, - getModel().getCategoryPlot(), - true); - + JFreeChart chart = new JFreeChart(getModel().getTitle(), + JFreeChart.DEFAULT_TITLE_FONT, getModel().getCategoryPlot(), true); - setChart(chart); - setChartPanel(new ChartPanel(chart,true,true,true,true,true)); - setGraphPalette(new ChartPropertyEditPanel(chart)); - - //getGraphSplitPane().setDividerLocation(1.0); + setChart(chart); + setChartPanel(new ChartPanel(chart)); - getGraphPanel().removeAll(); - getPalettePanel().removeAll(); - getGraphPanel().add(getChartPanel()); - getPalettePanel().add(getGraphPalette()); - getGraphPanel().invalidate(); - getPalettePanel().invalidate(); - getGraphPanel().validate(); - getPalettePanel().validate(); - getGraphPanel().repaint(); - getPalettePanel().repaint(); + // C'est un DefaultChartEditor (mais en visibilite package) + // qui etend JPanel et ChartEditor (en version 1.0.13 du moins) + setGraphPalette((JPanel) ChartEditorManager.getChartEditor(this.chart)); + + //getGraphSplitPane().setDividerLocation(1.0); + + getGraphPanel().removeAll(); + getPalettePanel().removeAll(); + getGraphPanel().add(getChartPanel()); + getPalettePanel().add(getGraphPalette()); + getGraphPanel().invalidate(); + getPalettePanel().invalidate(); + getGraphPanel().validate(); + getPalettePanel().validate(); + getGraphPanel().repaint(); + getPalettePanel().repaint(); } - public void on_appliquer_clicked(){ - getGraphPalette().updateChartProperties(getChart()); + public void on_appliquer_clicked() { + ((ChartEditor) getGraphPalette()).updateChart(getChart()); } - public void on_graphRendererCombo_selectionChanged(ItemEvent e){ - if (e.getStateChange() == ItemEvent.SELECTED){ - getModel().setRenderer((CategoryItemRenderer)getGraphRendererCombo().getSelectedItem()); - } + public void on_graphRendererCombo_selectionChanged(ItemEvent e) { + if (e.getStateChange() == ItemEvent.SELECTED) { + getModel().setRenderer( + (CategoryItemRenderer) getGraphRendererCombo() + .getSelectedItem()); + } } }// GraphBean Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBeanModel.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBeanModel.java 2009-11-30 10:48:26 UTC (rev 2786) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBeanModel.java 2009-12-01 17:41:51 UTC (rev 2787) @@ -3,17 +3,17 @@ import java.util.HashSet; import java.util.Iterator; +import org.jfree.chart.axis.CategoryAxis; +import org.jfree.chart.axis.CategoryLabelPositions; +import org.jfree.chart.axis.NumberAxis3D; +import org.jfree.chart.axis.ValueAxis; +import org.jfree.chart.labels.StandardCategoryToolTipGenerator; +import org.jfree.chart.plot.CategoryPlot; +import org.jfree.chart.renderer.category.BarRenderer3D; +import org.jfree.chart.renderer.category.CategoryItemRenderer; +import org.jfree.data.category.CategoryDataset; import org.nuiton.math.matrix.MatrixND; -import com.jrefinery.chart.CategoryItemRenderer; -import com.jrefinery.chart.CategoryPlot; -import com.jrefinery.chart.HorizontalCategoryAxis; -import com.jrefinery.chart.ValueAxis; -import com.jrefinery.chart.VerticalBarRenderer3D; -import com.jrefinery.chart.VerticalCategoryPlot; -import com.jrefinery.chart.VerticalNumberAxis3D; -import com.jrefinery.data.CategoryDataset; - /** * GraphBeanModel. * @@ -24,9 +24,9 @@ */ public class GraphBeanModel { - // protected VerticalCategoryPlot verticalCategoryPlot; + // protected VerticalCategoryPlot verticalCategoryPlot; protected CategoryDataset categoryDataset; - protected HorizontalCategoryAxis horizontalAxis; + protected CategoryAxis horizontalAxis; protected ValueAxis verticalAxis; protected CategoryItemRenderer renderer; protected MatrixND matrix; @@ -34,28 +34,27 @@ // table de toutes les vues du modèle private HashSet listeners = new HashSet(); - - public GraphBeanModel (){ - horizontalAxis = new HorizontalCategoryAxis(); - horizontalAxis.setVerticalCategoryLabels(true); - renderer = new VerticalBarRenderer3D(); - verticalAxis = new VerticalNumberAxis3D(); + public GraphBeanModel() { + horizontalAxis = new CategoryAxis(); + horizontalAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_90); + renderer = new BarRenderer3D(); + renderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator()); + verticalAxis = new NumberAxis3D(); } /** * Méthode qui permet d'ajouter une vue au modèle * @param view la nouvelle vue */ - public void addGraphListener(GraphListener view){ + public void addGraphListener(GraphListener view) { listeners.add(view); } - /** * Méthode qui retire une vue du modèle * @param view la vue à retirer */ - public void removeGraphListener(GraphListener view){ + public void removeGraphListener(GraphListener view) { listeners.remove(view); } @@ -63,7 +62,7 @@ * Accesseur sur la table des listeners du modèle * @return la collection des listeners */ - public HashSet getGraphListeners(){ + public HashSet getGraphListeners() { return listeners; } @@ -71,7 +70,7 @@ * Accesseur en écriture sur la table des listeners du modèle * @param obs la collection des listeners */ - public void setGraphListeners(HashSet obs){ + public void setGraphListeners(HashSet obs) { listeners = obs; } @@ -79,12 +78,12 @@ * Previent les vues que le model a change * */ - protected void fireGraphChanged(){ + protected void fireGraphChanged() { // Iterateur pour parcourir les vues Iterator listenersIterator = listeners.iterator(); GraphEvent ge = new GraphEvent(this); - while(listenersIterator.hasNext()){ + while (listenersIterator.hasNext()) { GraphListener listener = ((GraphListener) listenersIterator.next()); listener.graphChanged(ge); } @@ -110,25 +109,26 @@ * Set the value of categoryDataset. * @param v Value to assign to categoryDataset. */ - public void setCategoryDataset(CategoryDataset v) { + public void setCategoryDataset(CategoryDataset v) { this.categoryDataset = v; fireGraphChanged(); } - public void setMatrix(MatrixND mi){ + public void setMatrix(MatrixND mi) { matrix = mi; setCategoryDataset(new GraphMatrixNDDataset(mi)); } public CategoryPlot getCategoryPlot() { - return new VerticalCategoryPlot(getCategoryDataset(),getHorizontalAxis(),getVerticalAxis(),getRenderer()); + return new CategoryPlot(getCategoryDataset(), getHorizontalAxis(), + getVerticalAxis(), getRenderer()); } /** * Get the value of horizontalAxis. * @return value of horizontalAxis. */ - public HorizontalCategoryAxis getHorizontalAxis() { + public CategoryAxis getHorizontalAxis() { horizontalAxis.setLabel(matrix.getDimensionName(0)); return horizontalAxis; } @@ -145,7 +145,7 @@ * Set the value of renderer. * @param v Value to assign to renderer. */ - public void setRenderer(CategoryItemRenderer v) { + public void setRenderer(CategoryItemRenderer v) { this.renderer = v; fireGraphChanged(); } @@ -162,7 +162,7 @@ * Set the value of verticalAxis. * @param v Value to assign to verticalAxis. */ - public void setVerticalAxis(ValueAxis v) { + public void setVerticalAxis(ValueAxis v) { this.verticalAxis = v; fireGraphChanged(); } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBeanUIJAXX.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBeanUIJAXX.jaxx 2009-11-30 10:48:26 UTC (rev 2786) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphBeanUIJAXX.jaxx 2009-12-01 17:41:51 UTC (rev 2787) @@ -33,12 +33,12 @@ <Table> <script> <![CDATA[ - import com.jrefinery.chart.*; - import com.jrefinery.chart.ui.ChartPropertyEditPanel; + import org.jfree.chart.*; + import org.jfree.chart.PolarChartPanel; protected GraphBeanModel model; protected JFreeChart chart; - protected ChartPropertyEditPanel graphPalette; + protected PolarChartPanel graphPalette; protected ChartPanel chartPanel; init(); @@ -52,7 +52,7 @@ JFreeChart.DEFAULT_TITLE_FONT, model.getCategoryPlot(), true); - graphPalette = new ChartPropertyEditPanel(chart); + graphPalette = new PolarChartPanel(chart); jpanel1.add(graphPalette); chartPanel = new ChartPanel(chart,true,true,true,true,true); jpanel2.add(chartPanel); @@ -64,7 +64,7 @@ } public void on_graphRendererCombo_selectionChanged(ItemEvent e){ if (e.getStateChange() == ItemEvent.SELECTED){ - model.setRenderer((CategoryItemRenderer)graphRenderer.getSelectedItem()); + //compile pas model.setRenderer((CategoryItemRenderer)graphRenderer.getSelectedItem()); } } @@ -72,29 +72,29 @@ } protected DefaultComboBoxModel loadGraphRendererCombo(){ DefaultComboBoxModel model = new DefaultComboBoxModel(); - model.addElement(new VerticalBarRenderer()); - model.addElement(new VerticalBarRenderer3D()); - model.addElement(new StackedVerticalBarRenderer()); - // model.addElement(new VerticalIntervalBarRenderer()); + //model.addElement(new VerticalBarRenderer()); + //model.addElement(new VerticalBarRenderer3D()); + //model.addElement(new StackedVerticalBarRenderer()); + //model.addElement(new VerticalIntervalBarRenderer()); //model.addElement(new VerticalStatisticalBarRenderer()); - model.addElement(new HorizontalBarRenderer()); - // model.addElement(new HorizontalBarRenderer3D()); - model.addElement(new StackedHorizontalBarRenderer()); - // model.addElement(new HorizontalIntervalBarRenderer()); + //model.addElement(new HorizontalBarRenderer()); + //model.addElement(new HorizontalBarRenderer3D()); + //model.addElement(new StackedHorizontalBarRenderer()); + //model.addElement(new HorizontalIntervalBarRenderer()); //model.addElement(new HorizontalShapeRenderer()); - model.addElement(new AreaCategoryItemRenderer()); - model.addElement(new LineAndShapeRenderer()); - model.addElement(new MinMaxCategoryRenderer()); - model.setSelectedItem(null); + //model.addElement(new AreaCategoryItemRenderer()); + //model.addElement(new LineAndShapeRenderer()); + //model.addElement(new MinMaxCategoryRenderer()); + //model.setSelectedItem(null); return model; } protected void displayGraph(){ - jaxx.runtime.SwingUtil.assignment(chart = new JFreeChart(model.getTitle(), JFreeChart.DEFAULT_TITLE_FONT, model.getCategoryPlot(), true), "chart", fr.ifremer.isisfish.ui.result.GraphBeanUIJAXX.this); + //compile pas jaxx.runtime.SwingUtil.assignment(chart = new JFreeChart(model.getTitle(), JFreeChart.DEFAULT_TITLE_FONT, model.getCategoryPlot(), true), "chart", fr.ifremer.isisfish.ui.result.GraphBeanUIJAXX.this); - jaxx.runtime.SwingUtil.assignment(chartPanel = new ChartPanel(chart,true,true,true,true,true), "chartPanel", fr.ifremer.isisfish.ui.result.GraphBeanUIJAXX.this); - jaxx.runtime.SwingUtil.assignment(graphPalette = new ChartPropertyEditPanel(chart), "graphPalette", fr.ifremer.isisfish.ui.result.GraphBeanUIJAXX.this); + //compile pas jaxx.runtime.SwingUtil.assignment(chartPanel = new ChartPanel(chart,true,true,true,true,true), "chartPanel", fr.ifremer.isisfish.ui.result.GraphBeanUIJAXX.this); + //compile pas jaxx.runtime.SwingUtil.assignment(graphPalette = new ChartPropertyEditPanel(chart), "graphPalette", fr.ifremer.isisfish.ui.result.GraphBeanUIJAXX.this); //getGraphSplitPane().setDividerLocation(1.0); @@ -110,11 +110,11 @@ palettePanel.repaint(); } protected void graphRenderChanged(){ - model.setRenderer((CategoryItemRenderer)graphRenderer.getSelectedItem()); - displayGraph(); + //compile pas model.setRenderer((CategoryItemRenderer)graphRenderer.getSelectedItem()); + displayGraph(); } public void appliquer(){ - graphPalette.updateChartProperties(chart); + //compile pas graphPalette.updateChartProperties(chart); } ]]> </script> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphComboRenderer.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphComboRenderer.java 2009-11-30 10:48:26 UTC (rev 2786) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphComboRenderer.java 2009-12-01 17:41:51 UTC (rev 2787) @@ -7,14 +7,16 @@ import javax.swing.DefaultListCellRenderer; import javax.swing.JList; -import com.jrefinery.chart.AreaCategoryItemRenderer; -import com.jrefinery.chart.HorizontalBarRenderer; -import com.jrefinery.chart.LineAndShapeRenderer; -import com.jrefinery.chart.MinMaxCategoryRenderer; -import com.jrefinery.chart.StackedHorizontalBarRenderer; -import com.jrefinery.chart.StackedVerticalBarRenderer; -import com.jrefinery.chart.VerticalBarRenderer; -import com.jrefinery.chart.VerticalBarRenderer3D; +import org.jfree.chart.renderer.category.AreaRenderer; +import org.jfree.chart.renderer.category.BarRenderer; +import org.jfree.chart.renderer.category.BarRenderer3D; +import org.jfree.chart.renderer.category.IntervalBarRenderer; +import org.jfree.chart.renderer.category.LayeredBarRenderer; +import org.jfree.chart.renderer.category.LineAndShapeRenderer; +import org.jfree.chart.renderer.category.LineRenderer3D; +import org.jfree.chart.renderer.category.MinMaxCategoryRenderer; +import org.jfree.chart.renderer.category.StackedAreaRenderer; +import org.jfree.chart.renderer.category.StackedBarRenderer; /** * GraphComboRenderer. @@ -29,32 +31,33 @@ /** serialVersionUID */ private static final long serialVersionUID = 5439698068065934760L; - public GraphComboRenderer (){ + public GraphComboRenderer() { super(); } - public Component getListCellRendererComponent(JList liste,Object o, - int attributeIndex,boolean isSelected,boolean hasFocus){ + public Component getListCellRendererComponent(JList liste, Object o, + int attributeIndex, boolean isSelected, boolean hasFocus) { super.getListCellRendererComponent(liste, o, attributeIndex, isSelected, hasFocus); - if (o instanceof StackedVerticalBarRenderer) - setText(_("isisfish.graphCombo.render.bar.vertical.stacked")); - else if (o instanceof VerticalBarRenderer3D) - setText(_("isisfish.graphCombo.render.bar.vertical.3d")); - else if (o instanceof VerticalBarRenderer) - setText(_("isisfish.graphCombo.render.bar.vertical")); - else if (o instanceof StackedHorizontalBarRenderer) - setText(_("isisfish.graphCombo.render.bar.horizontal.stacked")); - else if (o instanceof HorizontalBarRenderer) - setText(_("isisfish.graphCombo.render.bar.horizontal")); - else if (o instanceof AreaCategoryItemRenderer) + if (o instanceof StackedBarRenderer) { + setText(_("isisfish.graphCombo.render.bar.stacked")); + } else if (o instanceof BarRenderer3D) { + setText(_("isisfish.graphCombo.render.bar.3d")); + } else if (o instanceof BarRenderer) { + setText(_("isisfish.graphCombo.render.bar")); + } else if (o instanceof StackedAreaRenderer) { + setText(_("isisfish.graphCombo.render.surface.stacked")); + } else if (o instanceof AreaRenderer) { setText(_("isisfish.graphCombo.render.surface")); - else if (o instanceof LineAndShapeRenderer) + } else if (o instanceof LineRenderer3D) { + setText(_("isisfish.graphCombo.render.line.3d")); + } else if (o instanceof LineAndShapeRenderer) { setText(_("isisfish.graphCombo.render.line")); - else if (o instanceof MinMaxCategoryRenderer) + } else if (o instanceof MinMaxCategoryRenderer) { setText(_("isisfish.graphCombo.render.min.max")); - else + } else { setText((o == null) ? "" : o.toString()); - return this; + } + return this; } }// GraphComboRenderer Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphMatrixNDDataset.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphMatrixNDDataset.java 2009-11-30 10:48:26 UTC (rev 2786) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/result/GraphMatrixNDDataset.java 2009-12-01 17:41:51 UTC (rev 2787) @@ -5,11 +5,11 @@ import java.util.List; import java.util.ResourceBundle; +import org.jfree.data.category.CategoryDataset; +import org.jfree.data.general.AbstractSeriesDataset; +import org.jfree.data.resources.DataPackageResources; import org.nuiton.math.matrix.MatrixND; -import com.jrefinery.data.AbstractSeriesDataset; -import com.jrefinery.data.CategoryDataset; - /** * GraphMatrixNDDataset. * @@ -18,282 +18,214 @@ * @author <a href="mailto:seb.regnier at free.fr"></a> * @version $Revision$ */ -public class GraphMatrixNDDataset extends AbstractSeriesDataset implements CategoryDataset {//,XYDataset { +public class GraphMatrixNDDataset extends AbstractSeriesDataset implements + CategoryDataset { //XYDataset { - /** The series names. */ - protected List seriesNames; + /** serialVersionUID. */ + private static final long serialVersionUID = -891382923646394164L; - /** The categories. */ - protected List categories; + /** The series names. */ + protected List seriesNames; - /** Storage for the data. */ - protected MatrixND mat; + /** The categories. */ + protected List categories; - public GraphMatrixNDDataset(MatrixND mat){ - this(mat.getSemantics(1), mat.getSemantics(0), mat); - } + /** Storage for the data. */ + protected MatrixND mat; + public GraphMatrixNDDataset(MatrixND mat) { + this(mat.getSemantic(1), mat.getSemantic(0), mat); + } - /** - * Constructs a GraphMatrixNDDataset, populates it with data from the matrice, and uses the - * supplied names for the series. - * <p> - * Category names are generated automatically ("Category 1", "Category 2", etc). - * - * @param seriesNames The series names. - * @param mat The matrice. - */ - public GraphMatrixNDDataset(List seriesNames, MatrixND mat) { - this(seriesNames, mat.getSemantics(0), mat); - } + /** + * Constructs a GraphMatrixNDDataset, populates it with the matrix, and uses the + * supplied names for the series and the supplied objects for the categories. + * + * @param seriesNames The series names. + * @param categories The categories. + * @param mat The matrix. + */ + public GraphMatrixNDDataset(List seriesNames, List categories, MatrixND mat) { - /** - * Constructs a GraphMatrixNDDataset, populates it with the matrice, and uses the - * supplied names for the series and the supplied objects for the categories. - * - * @param seriesNames The series names. - * @param categories The categories. - * @param mat The matrice. - */ - public GraphMatrixNDDataset(List seriesNames, List categories, MatrixND mat) { + this.mat = mat; - this.mat = mat; + if (mat != null && mat.getDimCount() > 1) { - if ( mat!=null && mat.getNbDim() > 1) { + String baseName = DataPackageResources.class.getCanonicalName(); + ResourceBundle resources = ResourceBundle.getBundle(baseName); - String baseName = "com.jrefinery.data.resources.DataPackageResources"; - ResourceBundle resources = ResourceBundle.getBundle(baseName); + int series_count = mat.getDim(1); + if (series_count > 0) { - int series_count = mat.getDim(1); - if (series_count>0) { + // set up the series names... + if (seriesNames != null) { - // set up the series names... - if (seriesNames!=null) { - - if (seriesNames.size()!=series_count) { - throw new IllegalArgumentException("DefaultCategoryDataset: the number of " - +"series names does not match the number of series in the data."); - } - - this.seriesNames=seriesNames; + if (seriesNames.size() != series_count) { + throw new IllegalArgumentException( + "DefaultCategoryDataset: the number of " + + "series names does not match the number of series in the data."); } - else { - String prefix = resources.getString("series.default-prefix")+" "; - this.seriesNames = this.generateNames(series_count, prefix); - } - if (mat.getNbDim() > 1) { - // set up the category names... - int category_count = mat.getDim(0); - if (categories!=null) { - if (categories.size()!=category_count) { - throw new IllegalArgumentException("DefaultCategoryDataset: the number of " - +"categories does not match the number of categories in the data."); - } - this.categories = categories; + this.seriesNames = seriesNames; + } else { + String prefix = resources + .getString("series.default-prefix") + + " "; + this.seriesNames = this.generateNames(series_count, prefix); + } + + if (mat.getDimCount() > 1) { + // set up the category names... + int categoryCount = mat.getDim(0); + if (categories != null) { + if (categories.size() != categoryCount) { + throw new IllegalArgumentException( + "DefaultCategoryDataset: the number of " + + "categories does not match the number of categories in the data."); } - else { - String prefix = resources.getString("categories.default-prefix")+" "; - this.categories = this.generateNames(category_count, prefix); - } + this.categories = categories; + } else { + String prefix = resources + .getString("categories.default-prefix") + + " "; + this.categories = this.generateNames(categoryCount, + prefix); } - else { - this.categories = null; - } - } - else { - this.seriesNames = null; + } else { this.categories = null; } - } - else { + } else { this.seriesNames = null; this.categories = null; } + } else { + this.seriesNames = null; + this.categories = null; } + } - /** - * Returns the number of series in the dataset (possibly zero). - * - * @return The number of series in the dataset. - */ - public int getSeriesCount() { - int result = 0; - if ( mat != null && mat.getNbDim() > 1) { - result = mat.getDim(1); - } - return result; - } + /** + * Generates an array of names, by appending a space plus an integer (starting with 1) + * to the supplied prefix string. + * @param count The number of names required. + * @param prefix The name prefix. + */ + private List generateNames(int count, String prefix) { - /** - * Returns the name of the specified series. - * - * @param series The index of the required series (zero-based). - */ - public String getSeriesName(int series) { - - // check argument... - if ((series>=this.getSeriesCount()) || (series<0)) { - - throw new IllegalArgumentException("DefaultCategoryDataset.getSeriesName(int): no such series."); - } - - // return the value... - return seriesNames.get(series).toString(); - + List result = new ArrayList(); + String name; + for (int i = 0; i < count; i++) { + name = prefix + (i + 1); + result.add(name); } + return result; + } - /** - * Sets the names of the series in the dataset. - * @param seriesNames The names of the series in the dataset. - */ - public void setSeriesNames(List seriesNames) { - - // check argument... - if (seriesNames==null) { - throw new IllegalArgumentException("DefaultCategoryDataset.setSeriesNames(): null not " - +"permitted."); - } - - if (seriesNames.size() != this.getSeriesCount()) { - throw new IllegalArgumentException("DefaultCategoryDataset.setSeriesNames(): the " - +"number of series names does not match the data."); - } - - // make the change... - this.seriesNames = seriesNames; - fireDatasetChanged(); - + /* + * @see org.jfree.data.general.AbstractSeriesDataset#getSeriesCount() + */ + @Override + public int getSeriesCount() { + int result = 0; + if (mat != null && mat.getNbDim() > 1) { + result = mat.getDim(1); } + return result; + } - /** - * Returns the number of categories in the dataset. - * <P> - * This method is part of the CategoryDataset interface. - * @return The number of categories in the dataset. - */ - public int getCategoryCount() { - int result = 0; - if (mat != null && mat.getNbDim() > 1) { - if (this.getSeriesCount()>0) { - result = mat.getDim(0); - } - } - return result; - } + /* + * @see org.jfree.data.general.AbstractSeriesDataset#getSeriesKey(int) + */ + @Override + public Comparable getSeriesKey(int series) { + return seriesNames.get(series).toString(); + } - /** - * Returns a list of the categories in the dataset. - * <P> - * Supports the CategoryDataset interface. - * @return A list of the categories in the dataset. - */ - public List getCategories() { + /* + * @see org.jfree.data.KeyedValues2D#getColumnIndex(java.lang.Comparable) + */ + @Override + public int getColumnIndex(Comparable key) { + return categories.indexOf(key); + } - // the CategoryDataset interface expects a list of categories, but we've stored them in - // an array... - if (categories==null) { - return new ArrayList(); - } - else { - return Collections.unmodifiableList(categories); - } + /* + * @see org.jfree.data.KeyedValues2D#getColumnKey(int) + */ + @Override + public Comparable getColumnKey(int column) { + return categories.get(column).toString(); + } - } + /* + * @see org.jfree.data.KeyedValues2D#getColumnKeys() + */ + @Override + public List getColumnKeys() { - /** - * Sets the categories for the dataset. - * @param categories An array of objects representing the categories in the dataset. - */ - public void setCategories(List categories) { - - // check arguments... - if (categories==null) { - throw new IllegalArgumentException("DefaultCategoryDataset.setCategories(...): " - +"null not permitted."); - } - - if (categories.size() != getCategoryCount()) { - throw new IllegalArgumentException("DefaultCategoryDataset.setCategories(...): " - +"the number of categories does not match the data."); - } - - for (int i=0; i<categories.size(); i++) { - if (categories.get(i)==null) { - throw new IllegalArgumentException("DefaultCategoryDataset.setCategories(...): " - +"null category not permitted."); - } - } - - // make the change... - this.categories = categories; - fireDatasetChanged(); - + // the CategoryDataset interface expects a list of categories, but we've stored them in + // an array... + if (categories == null) { + return new ArrayList(); + } else { + return Collections.unmodifiableList(categories); } + } - /** - * Returns the data value for one category in a series. - * <P> - * This method is part of the CategoryDataset interface. - * @param series The required series (zero based index). - * @param category The required category. - * @return The data value for one category in a series (null possible). - */ - public Number getValue(int series, Object category) { + /* + * @see org.jfree.data.KeyedValues2D#getRowIndex(java.lang.Comparable) + */ + @Override + public int getRowIndex(Comparable key) { + return seriesNames.indexOf(key); + } - // check arguments... - if ((series<0) || (series>=this.getSeriesCount())) { - throw new IllegalArgumentException("DefaultCategoryDataset.getValue(...): " - +"series index out of range."); - } + /* + * @see org.jfree.data.KeyedValues2D#getRowKey(int) + */ + @Override + public Comparable getRowKey(int row) { + return seriesNames.get(row).toString(); + } - if (category==null) { - throw new IllegalArgumentException("DefaultCategoryDataset.getValue(...): " - +"null category not allowed."); - } + /* + * @see org.jfree.data.KeyedValues2D#getRowKeys() + */ + @Override + public List getRowKeys() { + return seriesNames; + } - int categoryIndex = this.getCategoryIndex(category); + /* + * @see org.jfree.data.KeyedValues2D#getValue(java.lang.Comparable, java.lang.Comparable) + */ + @Override + public Number getValue(Comparable rowKey, Comparable columnKey) { + return new Double(mat.getValue(columnKey, rowKey)); + } - if (categoryIndex<0) { - throw new IllegalArgumentException("DefaultCategoryDataset.getValue(...): " - +"unknown category."); - } + /* + * @see org.jfree.data.Values2D#getColumnCount() + */ + @Override + public int getColumnCount() { + return categories.size(); + } - // fetch the value... - // return new Double(mat.getValue(series,categoryIndex)); - return new Double(mat.getValue(categoryIndex,series)); - } + /* + * @see org.jfree.data.Values2D#getRowCount() + */ + @Override + public int getRowCount() { + return seriesNames.size(); + } - /** - * Cette methode ne fait rien. - * @param series The series (zero-based index). - * @param category The category. - * @param value The value. - */ - public void setValue(int series, Object category, Number value) { - // on ne doit pas changer des valeurs dans la matrice(Read Only) - } - - private int getCategoryIndex(Object category) { - return categories.indexOf(category); - } - - /** - * Generates an array of names, by appending a space plus an integer (starting with 1) - * to the supplied prefix string. - * @param count The number of names required. - * @param prefix The name prefix. - */ - private List generateNames(int count, String prefix) { - - List result = new ArrayList(); - String name; - for (int i=0; i<count; i++) { - name = prefix+(i+1); - result.add(name); - } - return result; - - } -}// GraphMatrixNDDataset + /* + * @see org.jfree.data.Values2D#getValue(int, int) + */ + @Override + public Number getValue(int row, int column) { + return new Double(mat.getValue(column, row)); + } +} // GraphMatrixNDDataset Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties =================================================================== --- isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-11-30 10:48:26 UTC (rev 2786) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-12-01 17:41:51 UTC (rev 2787) @@ -1,4 +1,3 @@ -Add\ to\ %s\ queue= Add\ to\ default\ queue= Analyse\ plan\ error,\ too\ many\ simulation\ for\ %s\ \:\ %s= Can't\ add\ result\ '%1$s'\ at\ date\ %2$s=Can't add result '%1$s' at date %2$s @@ -307,7 +306,6 @@ isisfish.error.load.class=Can't load class\: %1$s isisfish.error.load.classloader=Can't create ClassLoader for script, bad directory\: %1$s for reason %2$s isisfish.error.load.file=could not load file %1$s -isisfish.error.load.map=Can't load map file\: %1$s isisfish.error.log.closeAppender=could not close appender %1$s for category %2$s isisfish.error.log.console.dispose=Une erreur est survenue pendant la fermeture de la console %1$s de log, raison %2$s isisfish.error.log.createAppender=could not create appender [%1$s] \: %2$s for reason %3$s @@ -483,14 +481,14 @@ isisfish.graphBean.scrolledwindow=defaultToolTip-fr.ifremer.graph.GraphBean.scrolledwindow1 isisfish.graphBean.table=defaultToolTip-fr.ifremer.graph.GraphBean.table2 isisfish.graphBean.table3=defaultToolTip-fr.ifremer.graph.GraphBean.table3 -isisfish.graphCombo.render.bar.horizontal=Rendu en barre horizontale -isisfish.graphCombo.render.bar.horizontal.stacked=Rendu en barre horizontale empilee -isisfish.graphCombo.render.bar.vertical=Rendu en barre verticale -isisfish.graphCombo.render.bar.vertical.3d=Rendu en barre verticale 3D -isisfish.graphCombo.render.bar.vertical.stacked=Rendu en barre verticale empilee -isisfish.graphCombo.render.line=Rendu en ligne -isisfish.graphCombo.render.min.max=Rendu en MinMax -isisfish.graphCombo.render.surface=Rendu en Aire +isisfish.graphCombo.render.bar=Verticals bar rendering +isisfish.graphCombo.render.bar.3d=3D verticals bars rendering +isisfish.graphCombo.render.bar.stacked=Stacked verticals bars rendering +isisfish.graphCombo.render.line=Line rendering +isisfish.graphCombo.render.line.3d=3D line rendering +isisfish.graphCombo.render.min.max=Min/max rendering +isisfish.graphCombo.render.surface=Area rendering +isisfish.graphCombo.render.surface.stacked=Stacked area rendering isisfish.infoItem..table=defaultToolTip-fr.ifremer.resultat.InfoItem.table29 isisfish.infoItem.label=defaultToolTip-fr.ifremer.resultat.InfoItem.label isisfish.infoItem.list=defaultToolTip-fr.ifremer.resultat.InfoItem.list Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties =================================================================== --- isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-11-30 10:48:26 UTC (rev 2786) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-12-01 17:41:51 UTC (rev 2787) @@ -1,4 +1,3 @@ -Add\ to\ %s\ queue= Add\ to\ default\ queue= Analyse\ plan\ error,\ too\ many\ simulation\ for\ %s\ \:\ %s= Can't\ add\ result\ '%1$s'\ at\ date\ %2$s=Can't add result '%1$s' at date %2$s @@ -307,7 +306,6 @@ isisfish.error.load.class=Can't load class\: %1$s isisfish.error.load.classloader=Can't create ClassLoader for script, bad directory\: %1$s for reason %2$s isisfish.error.load.file=could not load file %1$s -isisfish.error.load.map=Can't load map file\: %1$s isisfish.error.log.closeAppender=n'a pas pu ferme l'appender %1$s et la categorie %2$s isisfish.error.log.console.dispose=Une erreur est survenue pendant la fermeture de la console %1$s de log, raison %2$s isisfish.error.log.createAppender=n'a pas pu creer l'appender [%1$s] \: %2$s pour la raison %3$s @@ -483,14 +481,14 @@ isisfish.graphBean.scrolledwindow=defaultToolTip-fr.ifremer.graph.GraphBean.scrolledwindow1 isisfish.graphBean.table=defaultToolTip-fr.ifremer.graph.GraphBean.table2 isisfish.graphBean.table3=defaultToolTip-fr.ifremer.graph.GraphBean.table3 -isisfish.graphCombo.render.bar.horizontal=Rendu en barre horizontale -isisfish.graphCombo.render.bar.horizontal.stacked=Rendu en barre horizontale empil\u00E9e -isisfish.graphCombo.render.bar.vertical=Rendu en barre verticale -isisfish.graphCombo.render.bar.vertical.3d=Rendu en barre verticale 3D -isisfish.graphCombo.render.bar.vertical.stacked=Rendu en barre verticale empil\u00E9e +isisfish.graphCombo.render.bar=Rendu en barres verticales +isisfish.graphCombo.render.bar.3d=Rendu en barres verticales 3D +isisfish.graphCombo.render.bar.stacked=Rendu en barres verticales empil\u00E9es isisfish.graphCombo.render.line=Rendu en ligne +isisfish.graphCombo.render.line.3d=Rendu en ligne 3D isisfish.graphCombo.render.min.max=Rendu en MinMax -isisfish.graphCombo.render.surface=Rendu en Aire +isisfish.graphCombo.render.surface=Rendu en aire +isisfish.graphCombo.render.surface.stacked=Rendu en aires empil\u00E9es isisfish.infoItem..table=defaultToolTip-fr.ifremer.resultat.InfoItem.table29 isisfish.infoItem.label=defaultToolTip-fr.ifremer.resultat.InfoItem.label isisfish.infoItem.list=defaultToolTip-fr.ifremer.resultat.InfoItem.list
participants (1)
-
chatellier@users.labs.libre-entreprise.org