Révision 2326

tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/JFCChartsEngine.java (revision 2326)
20 20
import org.jfree.chart.plot.XYPlot;
21 21
import org.jfree.data.category.CategoryDataset;
22 22
import org.jfree.data.category.DefaultCategoryDataset;
23
import org.jfree.data.general.DatasetUtilities;
23
import org.jfree.data.general.DatasetUtils;
24 24
import org.jfree.data.general.PieDataset;
25 25
import org.jfree.data.xy.IntervalXYDataset;
26 26
import org.jfree.data.xy.XYSeriesCollection;
......
42 42

  
43 43
/**
44 44
 * Charts engine providing methods to create charts using the JFreeChart library.
45
 * 
45 46
 * @author sjacquot
46 47
 *
47 48
 */
......
61 62
	/**
62 63
	 * The charts engine description.
63 64
	 */
64
	public final static String DESCRIPTION = "JFreeChart/Java2D";
65
	public final static String DESCRIPTION = "JFreeChart";
65 66

  
66 67
	/**
67 68
	 * The rendering theme.
......
111 112
		}
112 113

  
113 114
        // Custom range axis for ticks drawing options
114
		plot.setRangeAxis(new ExtendedNumberAxis((NumberAxis) plot.getRangeAxis(), true, true, DatasetUtilities.findMinimumRangeValue(plot.getDataset()).doubleValue(), DatasetUtilities.findMaximumRangeValue(plot.getDataset()).doubleValue()));
115
		plot.setRangeAxis(new ExtendedNumberAxis((NumberAxis) plot.getRangeAxis(), true, true, DatasetUtils.findMinimumRangeValue(plot.getDataset()).doubleValue(), DatasetUtils.findMaximumRangeValue(plot.getDataset()).doubleValue()));
115 116

  
116 117

  
117 118
		// Domain axis integer tick units, X
......
754 755

  
755 756
			// FIXME: recursive addition of subdirectories of root font paths
756 757
//			  static protected void traverseDir(File folder, DefaultFontMapper mapper) {
757
//				    File[] files = folder.listFiles(IOUtils.HIDDENFILE_FILTER);
758
//				    File[] files = folder.listFiles(IOUtils.FILTER_HIDDEN);
758 759
//				    for (int i = 0; i < files.length; i++) {
759 760
//				      if (files[i].isDirectory()) {
760 761
//				        mapper.insertDirectory(files[i].getPath());
......
769 770
			String fontName = null;
770 771
			// Category plots
771 772
			if(chart.getPlot() instanceof CategoryPlot)	{
772
				fontName = chart.getCategoryPlot().getRenderer().getBaseItemLabelFont().getFontName();
773
				fontName = chart.getCategoryPlot().getRenderer().getDefaultItemLabelFont().getFontName();
773 774
			}
774 775
			// XY plots
775 776
			else if(chart.getPlot() instanceof XYPlot)	{
776
				fontName = chart.getXYPlot().getRenderer().getBaseItemLabelFont().getFontName();
777
				fontName = chart.getXYPlot().getRenderer().getDefaultItemLabelFont().getFontName();
777 778
			}
778 779
			// other plots that have no renderer, eg. SpiderWebPlot
779 780
			else	{
tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/JFCChartCreator.java (revision 2326)
5 5
import java.util.ArrayList;
6 6

  
7 7
import org.jfree.chart.JFreeChart;
8
import org.jfree.chart.axis.SymbolAxis;
8 9
import org.jfree.chart.plot.CategoryPlot;
9 10
import org.jfree.chart.plot.XYPlot;
10 11
import org.txm.chartsengine.core.ChartCreator;
......
27 28
public abstract class JFCChartCreator extends ChartCreator {
28 29

  
29 30
	
30
	
31 31
	@Override
32 32
	public void updateChart(ChartResult result) {
33 33
		this.updateChart(result, true);
......
78 78
			if(chart.getPlot() instanceof CategoryPlot)	{
79 79
				CategoryPlot plot = (CategoryPlot) chart.getPlot();
80 80
				// grid visibility
81
				plot.setDomainGridlinesVisible(result.isGridVisible());
81
				plot.setDomainGridlinesVisible(result.isGridVisible() && result.isDomainGridLinesVisible());
82 82
				plot.setRangeGridlinesVisible(result.isGridVisible());
83 83
				
84 84
				// force the renderer initialization to override theme settings
......
90 90
			else if(chart.getPlot() instanceof XYPlot)	{
91 91
				XYPlot plot = (XYPlot) chart.getPlot();
92 92
				// grid visibility
93
    			plot.setDomainGridlinesVisible(result.isGridVisible() && result.isDomainGridLinesVisible());
93 94
				plot.setRangeGridlinesVisible(result.isGridVisible());
94
				plot.setDomainGridlinesVisible(result.isGridVisible());
95 95
				
96 96
				// force the renderer initialization to override theme settings
97 97
				if(plot.getRenderer() instanceof IRendererWithItemSelection)	{
tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/themes/highcharts/defaulttheme/renderers/ItemSelectionCategoryLineAndShapeRenderer.java (revision 2326)
75 75
	 * Initializes the tool tip generator.
76 76
	 */
77 77
	public void initToolTipGenerator(final IRendererWithItemSelection renderer)	{
78
		this.setBaseToolTipGenerator(new CategoryToolTipGenerator() {
78
		this.setDefaultToolTipGenerator(new CategoryToolTipGenerator() {
79 79

  
80 80
			@Override
81 81
			public String generateToolTip(CategoryDataset dataset, int row, int column) {
tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/themes/highcharts/defaulttheme/renderers/ItemSelectionCategoryStepRenderer.java (revision 2326)
1 1
package org.txm.chartsengine.jfreechart.core.themes.highcharts.defaulttheme.renderers;
2 2

  
3
import java.awt.AlphaComposite;
4 3
import java.awt.BasicStroke;
5 4
import java.awt.Color;
6
import java.awt.Composite;
7 5
import java.awt.Font;
8
import java.awt.GradientPaint;
9
import java.awt.Graphics2D;
10 6
import java.awt.Paint;
11 7
import java.awt.Stroke;
12
import java.awt.geom.Line2D;
13
import java.awt.geom.Point2D;
14
import java.awt.geom.Rectangle2D;
15 8
import java.text.DecimalFormat;
16 9

  
17
import org.jfree.chart.axis.CategoryAxis;
18
import org.jfree.chart.axis.ValueAxis;
19 10
import org.jfree.chart.labels.CategoryToolTipGenerator;
20
import org.jfree.chart.plot.CategoryMarker;
21
import org.jfree.chart.plot.CategoryPlot;
22
import org.jfree.chart.plot.IntervalMarker;
23
import org.jfree.chart.plot.Marker;
24
import org.jfree.chart.plot.PlotOrientation;
25
import org.jfree.chart.plot.ValueMarker;
26 11
import org.jfree.chart.renderer.category.CategoryStepRenderer;
27
import org.jfree.data.Range;
28 12
import org.jfree.data.category.CategoryDataset;
29 13
import org.jfree.data.category.DefaultCategoryDataset;
30
import org.jfree.text.TextUtilities;
31
import org.jfree.ui.GradientPaintTransformer;
32
import org.jfree.ui.LengthAdjustmentType;
33
import org.jfree.ui.RectangleAnchor;
34 14
import org.txm.chartsengine.core.messages.ChartsEngineCoreMessages;
35 15
import org.txm.chartsengine.jfreechart.core.renderers.MouseOverItemSelector;
36 16
import org.txm.chartsengine.jfreechart.core.renderers.interfaces.IRendererWithItemSelection;
......
82 62
	 * Initializes the tool tip generator.
83 63
	 */
84 64
	public void initToolTipGenerator(final IRendererWithItemSelection renderer)	{
85
		this.setBaseToolTipGenerator(new CategoryToolTipGenerator() {
65
		this.setDefaultToolTipGenerator(new CategoryToolTipGenerator() {
86 66

  
87 67
			@Override
88 68
			public String generateToolTip(CategoryDataset dataset, int row, int column) {
tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/themes/highcharts/defaulttheme/renderers/ItemSelectionXYCardinalSplineRenderer.java (revision 2326)
22 22
import org.jfree.chart.plot.PlotOrientation;
23 23
import org.jfree.chart.plot.ValueMarker;
24 24
import org.jfree.chart.plot.XYPlot;
25
import org.jfree.chart.text.TextUtils;
26
import org.jfree.chart.ui.GradientPaintTransformer;
27
import org.jfree.chart.ui.LengthAdjustmentType;
28
import org.jfree.chart.ui.RectangleAnchor;
25 29
import org.jfree.data.Range;
26 30
import org.jfree.data.xy.XYDataset;
27 31
import org.jfree.data.xy.XYSeriesCollection;
28
import org.jfree.text.TextUtilities;
29
import org.jfree.ui.GradientPaintTransformer;
30
import org.jfree.ui.LengthAdjustmentType;
31
import org.jfree.ui.RectangleAnchor;
32 32
import org.txm.chartsengine.core.messages.ChartsEngineCoreMessages;
33 33
import org.txm.chartsengine.jfreechart.core.renderers.MouseOverItemSelector;
34 34
import org.txm.chartsengine.jfreechart.core.renderers.XYCardinalSplineRenderer;
......
87 87
	 * Initializes the tool tip generator.
88 88
	 */
89 89
	public void initToolTipGenerator(final IRendererWithItemSelection renderer)	{
90
		this.setBaseToolTipGenerator(new XYToolTipGenerator() {
90
		this.setDefaultToolTipGenerator(new XYToolTipGenerator() {
91 91

  
92 92
			@Override
93 93
			public String generateToolTip(XYDataset dataset, int series, int item) {
......
155 155
                        LengthAdjustmentType.EXPAND, anchor);
156 156
                //TextUtilities.drawAlignedString(label, g2, (float) coordinates.getX(), (float) coordinates.getY(), marker.getLabelTextAnchor());
157 157
                // Draw rotated marker label
158
                TextUtilities.drawRotatedString(label, g2, Math.toRadians(90), (float) coordinates.getX(), (float) coordinates.getY());
158
                TextUtils.drawRotatedString(label, g2, Math.toRadians(90), (float) coordinates.getX(), (float) coordinates.getY());
159 159
            }
160 160
            g2.setComposite(originalComposite);
161 161
        }
......
257 257
                        anchor);
258 258
                //TextUtilities.drawAlignedString(label, g2, (float) coordinates.getX(), (float) coordinates.getY(), marker.getLabelTextAnchor());
259 259
                // Draw rotated marker label
260
                TextUtilities.drawRotatedString(label, g2, Math.toRadians(90), (float) coordinates.getX(), (float) coordinates.getY());
260
                TextUtils.drawRotatedString(label, g2, Math.toRadians(90), (float) coordinates.getX(), (float) coordinates.getY());
261 261
            }
262 262
            g2.setComposite(originalComposite);
263 263

  
tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/themes/highcharts/defaulttheme/renderers/ItemSelectionXYSplineRenderer.java (revision 2326)
23 23
import org.jfree.chart.plot.ValueMarker;
24 24
import org.jfree.chart.plot.XYPlot;
25 25
import org.jfree.chart.renderer.xy.XYSplineRenderer;
26
import org.jfree.chart.text.TextUtils;
27
import org.jfree.chart.ui.GradientPaintTransformer;
28
import org.jfree.chart.ui.LengthAdjustmentType;
29
import org.jfree.chart.ui.RectangleAnchor;
26 30
import org.jfree.data.Range;
27 31
import org.jfree.data.xy.XYDataset;
28 32
import org.jfree.data.xy.XYSeriesCollection;
29
import org.jfree.text.TextUtilities;
30
import org.jfree.ui.GradientPaintTransformer;
31
import org.jfree.ui.LengthAdjustmentType;
32
import org.jfree.ui.RectangleAnchor;
33 33
import org.txm.chartsengine.core.messages.ChartsEngineCoreMessages;
34 34
import org.txm.chartsengine.jfreechart.core.renderers.MouseOverItemSelector;
35 35
import org.txm.chartsengine.jfreechart.core.renderers.interfaces.IRendererWithItemSelection;
......
71 71
	 */
72 72
	public ItemSelectionXYSplineRenderer(int precision, boolean linesVisible, boolean shapesVisible) {
73 73
		super(precision);
74
		this.setBaseLinesVisible(linesVisible);
75
		this.setBaseShapesVisible(shapesVisible);
74
		this.setDefaultLinesVisible(linesVisible);
75
		this.setDefaultShapesVisible(shapesVisible);
76 76
		this.mouseOverItemSelector = new MouseOverItemSelector(this);
77 77
		this.markerLabelRotationAngle = 0;
78 78

  
......
106 106
	 * Initializes the tool tip generator.
107 107
	 */
108 108
	public void initToolTipGenerator(final IRendererWithItemSelection renderer)	{
109
		this.setBaseToolTipGenerator(new XYToolTipGenerator() {
109
		this.setDefaultToolTipGenerator(new XYToolTipGenerator() {
110 110

  
111 111
			@Override
112 112
			public String generateToolTip(XYDataset dataset, int series, int item) {
......
174 174
                        LengthAdjustmentType.EXPAND, anchor);
175 175
                //TextUtilities.drawAlignedString(label, g2, (float) coordinates.getX(), (float) coordinates.getY(), marker.getLabelTextAnchor());
176 176
                // Draw rotated marker label
177
                TextUtilities.drawRotatedString(label, g2, Math.toRadians(90), (float) coordinates.getX(), (float) coordinates.getY());
177
                TextUtils.drawRotatedString(label, g2, Math.toRadians(90), (float) coordinates.getX(), (float) coordinates.getY());
178 178
            }
179 179
            g2.setComposite(originalComposite);
180 180
        }
......
276 276
                        anchor);
277 277
                //TextUtilities.drawAlignedString(label, g2, (float) coordinates.getX(), (float) coordinates.getY(), marker.getLabelTextAnchor());
278 278
                // Draw rotated marker label
279
                TextUtilities.drawRotatedString(label, g2, Math.toRadians(90), (float) coordinates.getX(), (float) coordinates.getY());
279
                TextUtils.drawRotatedString(label, g2, Math.toRadians(90), (float) coordinates.getX(), (float) coordinates.getY());
280 280
            }
281 281
            g2.setComposite(originalComposite);
282 282

  
tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/themes/highcharts/defaulttheme/renderers/ItemSelectionXYLineAndShapeRenderer.java (revision 2326)
120 120
	 * Initializes the tool tip generator.
121 121
	 */
122 122
	public void initToolTipGenerator(final IRendererWithItemSelection renderer)	{
123
		this.setBaseToolTipGenerator(new XYToolTipGenerator() {
123
		this.setDefaultToolTipGenerator(new XYToolTipGenerator() {
124 124

  
125 125
			@Override
126 126
			public String generateToolTip(XYDataset dataset, int series, int item) {
tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/themes/highcharts/defaulttheme/renderers/ItemSelectionXYStepRenderer.java (revision 2326)
26 26
import org.jfree.chart.plot.XYPlot;
27 27
import org.jfree.chart.renderer.xy.XYItemRendererState;
28 28
import org.jfree.chart.renderer.xy.XYStepRenderer;
29
import org.jfree.chart.text.TextUtils;
30
import org.jfree.chart.ui.GradientPaintTransformer;
31
import org.jfree.chart.ui.LengthAdjustmentType;
32
import org.jfree.chart.ui.RectangleAnchor;
33
import org.jfree.chart.ui.RectangleEdge;
29 34
import org.jfree.data.Range;
30 35
import org.jfree.data.xy.XYDataset;
31 36
import org.jfree.data.xy.XYSeriesCollection;
32
import org.jfree.text.TextUtilities;
33
import org.jfree.ui.GradientPaintTransformer;
34
import org.jfree.ui.LengthAdjustmentType;
35
import org.jfree.ui.RectangleAnchor;
36
import org.jfree.ui.RectangleEdge;
37 37
import org.txm.chartsengine.core.messages.ChartsEngineCoreMessages;
38 38
import org.txm.chartsengine.jfreechart.core.renderers.MouseOverItemSelector;
39 39
import org.txm.chartsengine.jfreechart.core.renderers.MultipleItemsSelector;
......
76 76
	 * @param shapesVisible
77 77
	 */
78 78
	public ItemSelectionXYStepRenderer(boolean linesVisible, boolean shapesVisible) {
79
		this.setBaseLinesVisible(linesVisible);
80
		this.setBaseShapesVisible(shapesVisible);
81
		this.setShapesVisible(true);
79
		this.setDefaultLinesVisible(linesVisible);
80
		this.setDefaultShapesVisible(shapesVisible);
81
		//this.setShapesVisible(true); // FIXME: SJ: code for old jfreechart library, to remove after checking all works well
82 82

  
83 83
		// Multiple items selector
84 84
		this.multipleItemsSelector = new MultipleItemsSelector(this);
......
101 101
	 * Initializes the tool tip generator.
102 102
	 */
103 103
	public void initToolTipGenerator(final IRendererWithItemSelection renderer)	{
104
		this.setBaseToolTipGenerator(new XYToolTipGenerator() {
104
		this.setDefaultToolTipGenerator(new XYToolTipGenerator() {
105 105

  
106 106
			@Override
107 107
			public String generateToolTip(XYDataset dataset, int series, int item) {
......
244 244
                        LengthAdjustmentType.EXPAND, anchor);
245 245

  
246 246
                // Draw rotated marker labels rather than horizontal
247
                TextUtilities.drawRotatedString(label, g2,
247
                TextUtils.drawRotatedString(label, g2,
248 248
             	       (float) coordinates.getX(), (float) coordinates.getY() - 3,
249 249
             	       marker.getLabelTextAnchor(), 3.14 / 2, (float) coordinates.getX(), (float) coordinates.getY());
250 250

  
......
350 350
                        anchor);
351 351

  
352 352
                // Draw rotated marker labels rather than horizontal
353
                TextUtilities.drawRotatedString(label, g2,
353
                TextUtils.drawRotatedString(label, g2,
354 354
             	       (float) coordinates.getX(), (float) coordinates.getY() - 3,
355 355
             	       marker.getLabelTextAnchor(), 3.14 / 2, (float) coordinates.getX(), (float) coordinates.getY());
356 356
            }
......
452 452
 		   super.drawItem(g2, state, dataArea, info, plot, domainAxis, rangeAxis, dataset, series, item, crosshairState, pass);
453 453
 		   
454 454
 		  // force shape rendering because the XYStepRenderer doesn't manage it by default
455
 		  EntityCollection entities = null;
456
          if(info != null) {
457
          	entities = info.getOwner().getEntityCollection();
458
          }
459
          drawSecondaryPass(g2, plot, dataset, pass, series, item, domainAxis, dataArea, rangeAxis, crosshairState, entities);
455
//  		  EntityCollection entities = null;
456
//           if(info != null) {
457
//           	entities = info.getOwner().getEntityCollection();
458
//           }
459
//
460
//           drawSecondaryPass(g2, plot, dataset, pass, series, item, domainAxis, dataArea, rangeAxis, crosshairState, entities);
460 461
 	   }
461 462
    }
462 463

  
......
499 500
	      g2.setStroke(new BasicStroke(1));
500 501

  
501 502
	      
502
	      Font font = getBaseItemLabelFont();
503
	      Font font = getDefaultItemLabelFont();
503 504
	      
504 505
	      // compute the multi line label bounds
505 506
	      String[] lines = label.split("\n");
......
507 508
	      double height = 0;
508 509
	      for(int i = 0; i < lines.length; i++) {
509 510
	    	  if(i == 0)	{
510
	    		  font = getBaseItemLabelFont().deriveFont(Font.BOLD);
511
	    		  font = getDefaultItemLabelFont().deriveFont(Font.BOLD);
511 512
	    	  }
512 513
	    	  else	{
513
	    	      font = getBaseItemLabelFont();
514
	    	      font = getDefaultItemLabelFont();
514 515
	    	  }
515 516
	    	  
516 517
	    	  Rectangle2D lineBounds = font.getStringBounds(lines[i], g2.getFontRenderContext());
......
551 552
	      // label
552 553
	      for(int i = 0; i < lines.length; i++) {
553 554
	    	  if(i == 0)	{
554
	    		  font = getBaseItemLabelFont().deriveFont(Font.BOLD);
555
	    		  font = getDefaultItemLabelFont().deriveFont(Font.BOLD);
555 556
	    	  }
556 557
	    	  else	{
557
	    	      font = getBaseItemLabelFont();
558
	    	      font = getDefaultItemLabelFont();
558 559
	    	  }
559 560
		      g2.setFont(font);
560 561
	    	  g2.drawString(lines[i], labelScreenX, labelScreenY += g2.getFontMetrics().getHeight());
tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/themes/highcharts/defaulttheme/renderers/ItemSelectionCategoryBarRenderer.java (revision 2326)
136 136
	 * Initializes the tool tip generator.
137 137
	 */
138 138
	public void initToolTipGenerator(final IRendererWithItemSelection renderer)	{
139
		this.setBaseToolTipGenerator(new CategoryToolTipGenerator() {
139
		this.setDefaultToolTipGenerator(new CategoryToolTipGenerator() {
140 140

  
141 141
			@Override
142 142
			public String generateToolTip(CategoryDataset dataset, int row, int column) {
tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/themes/highcharts/defaulttheme/renderers/ItemSelectionXYBarRenderer.java (revision 2326)
58 58
	 * Initializes the tool tip generator.
59 59
	 */
60 60
	public void initToolTipGenerator(final IRendererWithItemSelection renderer)	{
61
		this.setBaseToolTipGenerator(new XYToolTipGenerator() {
61
		this.setDefaultToolTipGenerator(new XYToolTipGenerator() {
62 62

  
63 63
			@Override
64 64
			public String generateToolTip(XYDataset dataset, int series, int item) {
tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/themes/highcharts/defaulttheme/HighchartsDefaultTheme.java (revision 2326)
28 28
import org.jfree.chart.renderer.xy.XYSplineRenderer;
29 29
import org.jfree.chart.renderer.xy.XYStepRenderer;
30 30
import org.jfree.chart.title.LegendTitle;
31
import org.jfree.ui.RectangleEdge;
32
import org.jfree.ui.RectangleInsets;
33
import org.jfree.util.ShapeUtilities;
34
import org.txm.chartsengine.core.ChartsEngine;
31
import org.jfree.chart.ui.RectangleEdge;
32
import org.jfree.chart.ui.RectangleInsets;
33
import org.jfree.chart.util.ShapeUtils;
35 34
import org.txm.chartsengine.core.results.ChartResult;
36 35
import org.txm.chartsengine.jfreechart.core.JFCChartsEngine;
37 36
import org.txm.chartsengine.jfreechart.core.renderers.XYCardinalSplineRenderer;
38
import org.txm.chartsengine.jfreechart.core.renderers.interfaces.IRendererWithItemSelection;
39 37
import org.txm.chartsengine.jfreechart.core.themes.base.BlockRoundBorder;
40 38
import org.txm.chartsengine.jfreechart.core.themes.base.CategoryAxisBetweenTicks;
41 39
import org.txm.chartsengine.jfreechart.core.themes.base.JFCTheme;
......
68 66

  
69 67
    	// Title
70 68
	    this.setTitlePaint(Color.decode("#4B4B6D"));
71

  
69
	    this.setSubtitlePaint(Color.decode("#4B4B6D"));
70
	    
72 71
	    // Axis
73 72
	    this.setAxisLabelPaint(Color.decode("#4D759E"));
74 73
	    this.setAxisOffset(new RectangleInsets(0, 0, 0, 0));
......
93 92
	    // TODO : useless for this theme ?
94 93
	    //this.setBaselinePaint(Color.decode("#C0D0E0"));
95 94
	    //this.setSmallFont(regularFont.deriveFont(Font.BOLD));
96
	    //this.setSubtitlePaint(Color.decode("#C0D0E0"));
97 95

  
98 96

  
99 97
	    // Series paints (Highchart color codes)
100
	    // FIXME: this should be moved to a preference as discussed
98
	    // FIXME: SJ: this should be moved to a preference as discussed
101 99
	    this.seriesPaints = new ArrayList<Color>();
102 100
	    this.seriesPaints.add(0, Color.decode("#2F7ED8")); // Blue
103 101
	    this.seriesPaints.add(1, Color.decode("#0D233A")); // Dark blue
......
111 109
	    // Series shape (Highchart shapes)
112 110
	    this.seriesShapes = new HashMap<Integer, Shape>();
113 111
        // Diamond
114
        this.seriesShapes.put(1, ShapeUtilities.createDiamond(itemShapesScalingFactor * 3.4f));
112
        this.seriesShapes.put(1, ShapeUtils.createDiamond(itemShapesScalingFactor * 3.4f));
115 113
        // Ellipse
116 114
        float size = 6.4f * itemShapesScalingFactor;
117 115
        this.seriesShapes.put(0, new Ellipse2D.Float(-size / 2, -size / 2, size, size));
118 116
        // Triangle
119
        this.seriesShapes.put(3, ShapeUtilities.createUpTriangle(itemShapesScalingFactor * 3.2f));
117
        this.seriesShapes.put(3, ShapeUtils.createUpTriangle(itemShapesScalingFactor * 3.2f));
120 118

  
121 119

  
122 120
        // Series stroke
......
222 220
        	// Items colors
223 221
        	//ArrayList<Color> palette = this.applySeriesPaint(result);
224 222

  
225
        	renderer.setBaseOutlinePaint(Color.WHITE);
223
        	renderer.setDefaultOutlinePaint(Color.WHITE);
226 224

  
227 225
        	// Grid
228
	    	//plot.setRangeGridlineStroke(new BasicStroke());
229
	    	//plot.setDomainGridlinesVisible(false);
226
    		// use plain stroke for charts using string symbol axis
227
    		if(plot.getDomainAxis() instanceof SymbolAxis)	{
228
    			plot.setRangeGridlineStroke(new BasicStroke());
229
    		}
230
    		//plot.setDomainGridlinesVisible(false);
230 231

  
231 232
	        // Legends
232 233
	    	if(legendTitle != null)	{
......
247 248

  
248 249
	    		// Do not trace the grid bands for symbol axes
249 250
	    		if(plot.getDomainAxis() instanceof SymbolAxis)	{
250
	    			//((SymbolAxis)plot.getDomainAxis()).setGridBandsVisible(false);
251
	    			((SymbolAxis)plot.getDomainAxis()).setGridBandsVisible(false);
251 252
	    		}
252 253

  
253
	    		((ItemSelectionXYBarRenderer)renderer).setBaseOutlinePaint(Color.RED);
254
	    		((ItemSelectionXYBarRenderer)renderer).setDefaultOutlinePaint(Color.RED);
254 255
	    		((ItemSelectionXYBarRenderer)renderer).setDrawBarOutline(true);
255 256
	    		
256 257
	    	}
......
446 447
//		        renderer.setSeriesShape(3, shape);
447 448

  
448 449
		        // Used for item selection mouse over
449
	        	renderer.setBaseOutlinePaint(Color.WHITE);
450
	        	renderer.setDefaultOutlinePaint(Color.WHITE);
450 451

  
451 452
	    	}
452 453

  
tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/themes/base/SymbolAxisBetweenTicks.java (revision 2326)
9 9
import java.util.List;
10 10

  
11 11
import org.jfree.chart.axis.AxisState;
12
import org.jfree.chart.axis.CategoryLabelPosition;
13
import org.jfree.chart.axis.CategoryLabelWidthType;
14 12
import org.jfree.chart.axis.NumberTick;
15 13
import org.jfree.chart.axis.SymbolAxis;
16 14
import org.jfree.chart.axis.Tick;
......
18 16
import org.jfree.chart.axis.ValueAxis;
19 17
import org.jfree.chart.axis.ValueTick;
20 18
import org.jfree.chart.plot.XYPlot;
21
import org.jfree.data.general.DatasetUtilities;
22
import org.jfree.text.G2TextMeasurer;
23
import org.jfree.text.TextBlock;
24
import org.jfree.text.TextLine;
25
import org.jfree.text.TextUtilities;
26
import org.jfree.ui.RectangleEdge;
27
import org.jfree.ui.TextAnchor;
19
import org.jfree.chart.text.G2TextMeasurer;
20
import org.jfree.chart.text.TextBlock;
21
import org.jfree.chart.text.TextLine;
22
import org.jfree.chart.text.TextUtils;
23
import org.jfree.chart.ui.RectangleEdge;
24
import org.jfree.chart.ui.TextAnchor;
25
import org.jfree.data.general.DatasetUtils;
28 26

  
29 27
/**
30 28
 * Class providing a way to draw tick marks of series axis between the series items rather than on theirs middle.
......
91 89
            ValueTick tick = (ValueTick) iterator.next();
92 90

  
93 91
        	// Skip the ticks out of range
94
        	if(tick.getValue() < DatasetUtilities.findMinimumDomainValue(((XYPlot)this.getPlot()).getDataset()).doubleValue()
95
        		|| tick.getValue() > DatasetUtilities.findMaximumDomainValue(((XYPlot)this.getPlot()).getDataset()).doubleValue()
92
        	if(tick.getValue() < DatasetUtils.findMinimumDomainValue(((XYPlot)this.getPlot()).getDataset()).doubleValue()
93
        		|| tick.getValue() > DatasetUtils.findMaximumDomainValue(((XYPlot)this.getPlot()).getDataset()).doubleValue()
96 94
        			)	{
97 95
        		continue;
98 96
        	}
......
102 100
                g2.setPaint(getTickLabelPaint());
103 101
                float[] anchorPoint = calculateAnchorPoint(tick, cursor,
104 102
                        dataArea, edge);
105
                TextUtilities.drawRotatedString(tick.getText(), g2,
103
                TextUtils.drawRotatedString(tick.getText(), g2,
106 104
                        anchorPoint[0], anchorPoint[1], tick.getTextAnchor(),
107 105
                        tick.getAngle(), tick.getRotationAnchor());
108 106
            }
......
222 220
                }
223 221

  
224 222
                // avoid to draw overlapping tick labels
225
                Rectangle2D bounds = TextUtilities.getTextBounds(tickLabel, g2,
223
                Rectangle2D bounds = TextUtils.getTextBounds(tickLabel, g2,
226 224
                        g2.getFontMetrics());
227 225
                double tickLabelLength = isVerticalTickLabels()
228 226
                        ? bounds.getHeight() : bounds.getWidth();
......
281 279
                	
282 280
                 	float ratio = 0.1f;
283 281
                	
284
	                TextBlock label = TextUtilities.createTextBlock(tickLabel, getTickLabelFont(), getTickLabelPaint(), l * ratio, 1, new G2TextMeasurer(g2));
282
	                TextBlock label = TextUtils.createTextBlock(tickLabel, getTickLabelFont(), getTickLabelPaint(), l * ratio, 1, new G2TextMeasurer(g2));
285 283
	                
286 284
	                Tick tick = new NumberTick(new Double(currentTickValue), ((TextLine)label.getLines().get(0)).getLastTextFragment().getText(), anchor, rotationAnchor, angle);
287 285
	                ticks.add(tick);
tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/themes/base/JFCTheme.java (revision 2326)
137 137

  
138 138

  
139 139
	/**
140
	 * Creates fonts from the charts engine preferences current font.
140
	 * Creates fonts from the result font parameter or charts engine preferences current font.
141 141
	 */
142 142
	public void createFonts(ChartResult result)	{
143 143

  
......
273 273
	 */
274 274
	public XYStepRenderer createXYStepRenderer(boolean linesVisible, boolean shapesVisible)	{
275 275
		XYStepRenderer renderer = new XYStepRenderer();
276
		renderer.setBaseLinesVisible(linesVisible);
277
		renderer.setBaseShapesVisible(shapesVisible);
276
		renderer.setDefaultLinesVisible(linesVisible);
277
		renderer.setDefaultShapesVisible(shapesVisible);
278 278
		return renderer;
279 279
	}
280 280

  
......
302 302
	 */
303 303
	public XYSplineRenderer createXYSplineRenderer(boolean linesVisible, boolean shapesVisible)	{
304 304
		XYSplineRenderer renderer = new XYSplineRenderer(this.splineRendererPrecision);
305
		renderer.setBaseLinesVisible(linesVisible);
306
		renderer.setBaseShapesVisible(shapesVisible);
305
		renderer.setDefaultLinesVisible(linesVisible);
306
		renderer.setDefaultShapesVisible(shapesVisible);
307 307
		return renderer;
308 308
	}
309 309

  
tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/themes/base/CategoryAxisBetweenTicks.java (revision 2326)
10 10
import org.jfree.chart.axis.CategoryAxis;
11 11
import org.jfree.chart.plot.CategoryPlot;
12 12
import org.jfree.chart.plot.Plot;
13
import org.jfree.ui.RectangleEdge;
13
import org.jfree.chart.ui.RectangleEdge;
14 14

  
15 15
/**
16 16
 * Class providing a way to draw tick marks of category axis between the category items rather than on theirs middle.
tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/themes/base/ExtendedNumberAxis.java (revision 2326)
9 9
import org.jfree.chart.axis.NumberAxis;
10 10
import org.jfree.chart.axis.NumberTick;
11 11
import org.jfree.chart.axis.TickType;
12
import org.jfree.ui.RectangleEdge;
12
import org.jfree.chart.ui.RectangleEdge;
13 13

  
14 14
/**
15 15
 * An axis with extended drawing options as drawing only positive/negative ticks values or not drawing values greater/lower than a specified value.
tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/renderers/XYCardinalSplineRenderer.java (revision 2326)
11 11
import org.jfree.chart.plot.XYPlot;
12 12
import org.jfree.chart.renderer.xy.XYItemRendererState;
13 13
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
14
import org.jfree.chart.ui.RectangleEdge;
14 15
import org.jfree.data.xy.XYDataset;
15
import org.jfree.ui.RectangleEdge;
16 16

  
17 17
/**
18 18
 * A renderer using cardinal curves for drawing more precisely than the XYSplineRenderer.
tmp/org.txm.chartsengine.jfreechart.core/plugin.xml (revision 2326)
6 6
         point="org.txm.chartsengine.chartsengine">
7 7
      <ChartsEngine
8 8
            class="org.txm.chartsengine.jfreechart.core.JFCChartsEngine"
9
            description="Java"
9
            description="JFreeChart"
10 10
            name="jfreechart_charts_engine">
11 11
      </ChartsEngine>
12 12
   </extension>
tmp/org.txm.chartsengine.jfreechart.core/META-INF/MANIFEST.MF (revision 2326)
10 10
 rue
11 11
Bundle-Version: 1.0.0.qualifier
12 12
Bundle-Name: JFreeChart Charts Engine Core
13
Require-Bundle: org.txm.chartsengine.core;bundle-version="1.0.0";visib
14
 ility:=reexport,org.txm.libs.jfreechart;bundle-version="1.0.17";visib
15
 ility:=reexport,org.txm.libs.itext;visibility:=reexport,org.txm.libs.
16
 jfreesvg;bundle-version="1.7.0";visibility:=reexport
13
Require-Bundle: org.txm.chartsengine.core;bundle-version="1.0.0";visibility:=reexport,
14
 org.txm.libs.jfreechart;bundle-version="1.5.0";visibility:=reexport,
15
 org.txm.libs.itext;visibility:=reexport,
16
 org.txm.libs.jfreesvg;bundle-version="1.7.0";visibility:=reexport
17 17
Bundle-ManifestVersion: 2
18 18
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
19 19
Bundle-Vendor: Textometrie.org
tmp/org.txm.specificities.core/src/org/txm/specificities/core/functions/SpecificitiesSelection.java (revision 2326)
11 11
import org.txm.chartsengine.core.results.ChartResult;
12 12
import org.txm.core.results.Parameter;
13 13
import org.txm.core.results.TXMParameters;
14
import org.txm.searchengine.cqp.corpus.Partition;
14 15
import org.txm.specificities.core.messages.SpecificitiesCoreMessages;
15 16
import org.txm.specificities.core.preferences.SpecificitiesPreferences;
16 17
import org.txm.statsengine.core.StatException;
......
62 63
	
63 64
	
64 65
	/**
65
	 * Creates an empty SpecificitiesSelection.
66
	 * Creates an not computed specificities selection chart.
66 67
	 * @param parent
67 68
	 */
68 69
	public SpecificitiesSelection(Specificities parent) {
69
		super(parent);
70
		this(null, parent);
70 71
	}
71 72

  
72 73
	/**
73
	 * 
74
	 * Creates an not computed specificities selection chart.
74 75
	 * @param parametersNodePath
75 76
	 */
76 77
	public SpecificitiesSelection(String parametersNodePath)	{
77
		super(parametersNodePath);
78
		this(parametersNodePath, null);
78 79
	}
79 80

  
80 81
	
81 82
	/**
83
	 * Creates an not computed specificities selection chart.
84
	 * @param parametersNodePath
85
	 * @param parent
86
	 */
87
	public SpecificitiesSelection(String parametersNodePath, Specificities parent) {
88
		super(parametersNodePath, parent);
89
		
90
		this.domainGridLinesVisible = false;
91
	}
92
	
93
	/**
82 94
	 * @return true if selection is found in the specificities table
83 95
	 */
84 96
	@Override
......
96 108
			selectedSpecificitiesIndex[i] = zeros;
97 109
		}
98 110
		
99
		//find words in the specif table
111
		// find words in the specif table
100 112
		int n = 0;
101 113
		for (int i = 0; i < rowNames.length; i++) {
102 114
			double[] line = tableLines[i];
......
117 129

  
118 130
	@Override
119 131
	public void clean() {
120
		//does nothing
132
		// nothing to do
121 133
	}
122 134

  
123 135
	/**
tmp/org.txm.specificities.core/src/org/txm/specificities/core/chartsengine/jfreechart/JFCSpecificitiesBarChartCreator.java (revision 2326)
7 7
import org.jfree.chart.axis.NumberAxis;
8 8
import org.jfree.chart.plot.Marker;
9 9
import org.jfree.chart.plot.ValueMarker;
10
import org.jfree.data.general.DatasetUtilities;
10
import org.jfree.chart.ui.RectangleAnchor;
11
import org.jfree.chart.ui.TextAnchor;
12
import org.jfree.data.general.DatasetUtils;
11 13
import org.jfree.data.xy.XYSeries;
12 14
import org.jfree.data.xy.XYSeriesCollection;
13
import org.jfree.ui.RectangleAnchor;
14
import org.jfree.ui.TextAnchor;
15
import org.txm.chartsengine.core.ChartsEngine;
16 15
import org.txm.chartsengine.core.results.ChartResult;
17 16
import org.txm.chartsengine.jfreechart.core.JFCChartCreator;
18
import org.txm.chartsengine.jfreechart.core.renderers.interfaces.IRendererWithItemSelection;
19 17
import org.txm.chartsengine.jfreechart.core.themes.base.ExtendedNumberAxis;
20 18
import org.txm.chartsengine.jfreechart.core.themes.base.SymbolAxisBetweenTicks;
21 19
import org.txm.specificities.core.functions.SpecificitiesSelection;
......
136 134
	
137 135
	        
138 136
	        // Custom range axis for ticks drawing options
139
	        double minimumValue = DatasetUtilities.findMinimumRangeValue(chart.getXYPlot().getDataset()).doubleValue();
140
	        double maximumValue = DatasetUtilities.findMaximumRangeValue(chart.getXYPlot().getDataset()).doubleValue();
137
	        double minimumValue = DatasetUtils.findMinimumRangeValue(chart.getXYPlot().getDataset()).doubleValue();
138
	        double maximumValue = DatasetUtils.findMaximumRangeValue(chart.getXYPlot().getDataset()).doubleValue();
141 139
	        // Adjust ticks values according to data set contains only positives values or only negatives values
142 140
	        if(minimumValue > 0)	{
143 141
	        	minimumValue = 0;
tmp/org.txm.chartsengine.r.feature/feature.xml (revision 2326)
57 57
         version="0.0.0"
58 58
         unpack="false"/>
59 59

  
60
   <plugin
61
         id="org.txm.chartsengine.raster.rcp"
62
         download-size="0"
63
         install-size="0"
64
         version="0.0.0"/>
65

  
66
   <plugin
67
         id="org.txm.chartsengine.rcp"
68
         download-size="0"
69
         install-size="0"
70
         version="0.0.0"/>
71

  
72
   <plugin
73
         id="org.txm.chartsengine.svgbatik.rcp"
74
         download-size="0"
75
         install-size="0"
76
         version="0.0.0"/>
77

  
60 78
</feature>
tmp/org.txm.chartsengine.jfreechart.feature/feature.xml (revision 2326)
37 37
   </license>
38 38

  
39 39
   <requires>
40
      <import plugin="org.txm.libs.jfreechart" version="1.0.17" match="greaterOrEqual"/>
40
      <import plugin="org.txm.chartsengine.core" version="1.0.0" match="greaterOrEqual"/>
41
      <import plugin="org.txm.libs.jfreechart" version="1.5.0" match="greaterOrEqual"/>
41 42
      <import plugin="org.txm.libs.itext"/>
42 43
      <import plugin="org.txm.libs.jfreesvg" version="1.7.0" match="greaterOrEqual"/>
43
      <import plugin="org.txm.chartsengine.core" version="1.0.0" match="greaterOrEqual"/>
44 44
      <import plugin="org.txm.chartsengine.rcp" version="1.0.0" match="greaterOrEqual"/>
45 45
      <import plugin="org.txm.chartsengine.jfreechart.core" version="1.0.0" match="greaterOrEqual"/>
46
      <import plugin="org.txm.rcp" version="0.8.0" match="greaterOrEqual"/>
46 47
   </requires>
47 48

  
48 49
   <plugin
......
59 60
         version="0.0.0"
60 61
         unpack="false"/>
61 62

  
63
   <plugin
64
         id="org.txm.chartsengine.raster.rcp"
65
         download-size="0"
66
         install-size="0"
67
         version="0.0.0"/>
68

  
69
   <plugin
70
         id="org.txm.chartsengine.rcp"
71
         download-size="0"
72
         install-size="0"
73
         version="0.0.0"/>
74

  
75
   <plugin
76
         id="org.txm.chartsengine.svgbatik.rcp"
77
         download-size="0"
78
         install-size="0"
79
         version="0.0.0"/>
80

  
62 81
</feature>
tmp/org.txm.chartsengine.jfreechart.rcp/src/org/txm/chartsengine/jfreechart/rcp/events/JFCDefaultChartMouseListener.java (revision 2326)
221 221
//		System.err.println("DefaultChartMouseListener.chartMouseClicked(): ");
222 222
//    	System.out.println("DefaultChartMouseListener.chartMouseClicked(): call backs count: " + eventCallBacks.size());
223 223
//        System.err.println("DefaultChartMouseListener.chartMouseClicked(): click count: " + event.getTrigger().getClickCount());
224
		Log.finest("DefaultChartMouseListener.chartMouseClicked(): entity type: " + entity);
225
		Log.finest("DefaultChartMouseListener.chartMouseClicked(): eventArea: " + eventArea);
224
		Log.finest("JFCDefaultChartMouseListener.chartMouseClicked(): entity type: " + entity);
225
		Log.finest("JFCDefaultChartMouseListener.chartMouseClicked(): eventArea: " + eventArea);
226 226

  
227 227
		
228 228
		// Set the composite current menu
......
236 236
				if(!t.isEmpty() && chartComponent.getChartEditor().getComposite().getMenu() != null && chartComponent.getChartEditor().getComposite().getMenu().getItemCount() > 0)	{
237 237

  
238 238
					// FIXME: Debug
239
					Log.finest("DefaultChartMouseListener.chartMouseClicked(...).new Runnable() {...}.run(): menu = " + chartComponent.getChartEditor().getComposite().getMenu());
239
					Log.finest("JFCDefaultChartMouseListener.chartMouseClicked(...).new Runnable() {...}.run(): menu = " + chartComponent.getChartEditor().getComposite().getMenu());
240 240
					
241 241
					chartComponent.getChartEditor().getComposite().getMenu().getItem(0).setText(t);
242 242
				}
tmp/org.txm.textsbalance.core/src/org/txm/textsbalance/core/chartsengine/jfreechart/MultipleSpiderWebPlot.java (revision 2326)
86 86
import org.jfree.chart.plot.PlotState;
87 87
import org.jfree.chart.plot.SpiderWebPlot;
88 88
import org.jfree.chart.title.TextTitle;
89
import org.jfree.chart.util.ParamChecks;
89
import org.jfree.chart.ui.RectangleEdge;
90
import org.jfree.chart.ui.RectangleInsets;
91
import org.jfree.chart.util.Args;
92
import org.jfree.chart.util.ObjectUtils;
93
import org.jfree.chart.util.PaintUtils;
94
import org.jfree.chart.util.SerialUtils;
95
import org.jfree.chart.util.ShapeUtils;
96
import org.jfree.chart.util.TableOrder;
90 97
import org.jfree.data.category.CategoryDataset;
91
import org.jfree.data.category.CategoryToPieDataset;
92 98
import org.jfree.data.category.DefaultCategoryDataset;
93 99
import org.jfree.data.general.DatasetChangeEvent;
94
import org.jfree.data.general.DatasetUtilities;
95
import org.jfree.data.general.PieDataset;
96
import org.jfree.io.SerialUtilities;
97
import org.jfree.ui.RectangleEdge;
98
import org.jfree.ui.RectangleInsets;
99
import org.jfree.util.ObjectUtilities;
100
import org.jfree.util.PaintUtilities;
101
import org.jfree.util.ShapeUtilities;
102
import org.jfree.util.TableOrder;
100
import org.jfree.data.general.DatasetUtils;
103 101

  
104 102
/**
105 103
 * A plot that displays multiple pie plots using data from a
......
232 230
     * @see #getPieChart()
233 231
     */
234 232
    public void setPieChart(JFreeChart pieChart) {
235
        ParamChecks.nullNotPermitted(pieChart, "pieChart");
233
        Args.nullNotPermitted(pieChart, "pieChart");
236 234
        if (!(pieChart.getPlot() instanceof SpiderWebPlot)) {
237 235
            throw new IllegalArgumentException("The 'pieChart' argument must "
238 236
                    + "be a chart based on a SpiderWebPlot.");
......
257 255
     * @param order  the order (<code>null</code> not permitted).
258 256
     */
259 257
    public void setDataExtractOrder(TableOrder order) {
260
        ParamChecks.nullNotPermitted(order, "order");
258
        Args.nullNotPermitted(order, "order");
261 259
        this.dataExtractOrder = order;
262 260
        fireChangeEvent();
263 261
    }
......
304 302
     * @since 1.0.2
305 303
     */
306 304
    public void setAggregatedItemsKey(Comparable key) {
307
        ParamChecks.nullNotPermitted(key, "key");
305
        Args.nullNotPermitted(key, "key");
308 306
        this.aggregatedItemsKey = key;
309 307
        fireChangeEvent();
310 308
    }
......
330 328
     * @since 1.0.2
331 329
     */
332 330
    public void setAggregatedItemsPaint(Paint paint) {
333
        ParamChecks.nullNotPermitted(paint, "paint");
331
        Args.nullNotPermitted(paint, "paint");
334 332
        this.aggregatedItemsPaint = paint;
335 333
        fireChangeEvent();
336 334
    }
......
370 368
     * @since 1.0.12
371 369
     */
372 370
    public void setLegendItemShape(Shape shape) {
373
        ParamChecks.nullNotPermitted(shape, "shape");
371
        Args.nullNotPermitted(shape, "shape");
374 372
        this.legendItemShape = shape;
375 373
        fireChangeEvent();
376 374
    }
......
396 394
        drawOutline(g2, area);
397 395

  
398 396
        // check that there is some data to display...
399
        if (DatasetUtilities.isEmptyOrNull(this.dataset)) {
397
        if (DatasetUtils.isEmptyOrNull(this.dataset)) {
400 398
            drawNoDataMessage(g2, area);
401 399
            return;
402 400
        }
......
602 600
        if (!this.aggregatedItemsKey.equals(that.aggregatedItemsKey)) {
603 601
            return false;
604 602
        }
605
        if (!PaintUtilities.equal(this.aggregatedItemsPaint,
603
        if (!PaintUtils.equal(this.aggregatedItemsPaint,
606 604
                that.aggregatedItemsPaint)) {
607 605
            return false;
608 606
        }
609
        if (!ObjectUtilities.equal(this.spiderChart, that.spiderChart)) {
607
        if (!ObjectUtils.equal(this.spiderChart, that.spiderChart)) {
610 608
            return false;
611 609
        }
612
        if (!ShapeUtilities.equal(this.legendItemShape, that.legendItemShape)) {
610
        if (!ShapeUtils.equal(this.legendItemShape, that.legendItemShape)) {
613 611
            return false;
614 612
        }
615 613
        if (!super.equals(obj)) {
......
631 629
        MultipleSpiderWebPlot clone = (MultipleSpiderWebPlot) super.clone();
632 630
        clone.spiderChart = (JFreeChart) this.spiderChart.clone();
633 631
        clone.sectionPaints = new HashMap(this.sectionPaints);
634
        clone.legendItemShape = ShapeUtilities.clone(this.legendItemShape);
632
        clone.legendItemShape = ShapeUtils.clone(this.legendItemShape);
635 633
        return clone;
636 634
    }
637 635

  
......
644 642
     */
645 643
    private void writeObject(ObjectOutputStream stream) throws IOException {
646 644
        stream.defaultWriteObject();
647
        SerialUtilities.writePaint(this.aggregatedItemsPaint, stream);
648
        SerialUtilities.writeShape(this.legendItemShape, stream);
645
        SerialUtils.writePaint(this.aggregatedItemsPaint, stream);
646
        SerialUtils.writeShape(this.legendItemShape, stream);
649 647
    }
650 648

  
651 649
    /**
......
659 657
    private void readObject(ObjectInputStream stream)
660 658
        throws IOException, ClassNotFoundException {
661 659
        stream.defaultReadObject();
662
        this.aggregatedItemsPaint = SerialUtilities.readPaint(stream);
663
        this.legendItemShape = SerialUtilities.readShape(stream);
660
        this.aggregatedItemsPaint = SerialUtils.readPaint(stream);
661
        this.legendItemShape = SerialUtils.readShape(stream);
664 662
        this.sectionPaints = new HashMap();
665 663
    }
666 664

  
tmp/org.txm.textsbalance.core/src/org/txm/textsbalance/core/chartsengine/jfreechart/JFCTextsBalanceSpiderChartCreator.java (revision 2326)
9 9
import org.jfree.chart.plot.SpiderWebPlot;
10 10
import org.jfree.data.category.CategoryDataset;
11 11
import org.jfree.data.category.DefaultCategoryDataset;
12
import org.jfree.util.Log;
13 12
import org.txm.chartsengine.core.results.ChartResult;
14 13
import org.txm.chartsengine.jfreechart.core.JFCChartCreator;
15 14
import org.txm.textsbalance.core.functions.TextsBalance;
tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/results/ChartResult.java (revision 2326)
49 49
	 */
50 50
	protected boolean needsToSquareOff;
51 51

  
52
	
53
	/**
54
	 * To show/hide domain grid lines.
55
	 */
56
	protected boolean domainGridLinesVisible;
57
	
52 58

  
53

  
54 59
	/**
55 60
	 * The chart type;
56 61
	 */
......
128 133
		this.needsToResetView = false;
129 134
		this.needsToClearItemsSelection = false;
130 135
		this.needsToSquareOff = false;
136
		this.domainGridLinesVisible = true;
131 137
	}
132 138

  
133 139

  
......
449 455
	}
450 456

  
451 457
	/**
452
	 * @return the needsToSquareOff
458
	 * Gets the square off constraint state.
459
	 * @return the square off constraint state
453 460
	 */
454 461
	public boolean needsToSquareOff() {
455 462
		return needsToSquareOff;
......
457 464

  
458 465

  
459 466
	/**
460
	 * @param needsToSquareOff the needsToSquareOff to set
467
	 * Sets the square off constraint state.
468
	 * @param needsToSquareOff the square off constraint state to set
461 469
	 */
462 470
	public void setNeedsToSquareOff(boolean needsToSquareOff) {
463 471
		this.needsToSquareOff = needsToSquareOff;
......
465 473

  
466 474
	
467 475
	/**
476
	 * Gets the title visibility state.
468 477
	 * @return the titleVisible
469 478
	 */
470 479
	public boolean isTitleVisible() {
......
472 481
	}
473 482

  
474 483
	/**
484
	 * Sets the title visibility state.
475 485
	 * @param titleVisible the titleVisible to set
476 486
	 */
477 487
	public void setTitleVisible(boolean titleVisible) {
......
479 489
	}
480 490

  
481 491
	/**
492
	 * Gets the legend visibility state.
482 493
	 * @return the legendVisible
483 494
	 */
484 495
	public boolean isLegendVisible() {
......
486 497
	}
487 498

  
488 499
	/**
500
	 * Sets the legend visibility state.
489 501
	 * @param legendVisible the legendVisible to set
490 502
	 */
491 503
	public void setLegendVisible(boolean legendVisible) {
......
493 505
	}
494 506

  
495 507
	/**
508
	 * Gets the grid visibility state.
496 509
	 * @return the gridVisible
497 510
	 */
498 511
	public boolean isGridVisible() {
......
500 513
	}
501 514

  
502 515
	/**
516
	 * Gets the domain grid lines visibility state.
517
	 * @return the domainGridLinesVisible
518
	 */
519
	public boolean isDomainGridLinesVisible() {
520
		return domainGridLinesVisible;
521
	}
522

  
523
	
524
	/**
525
	 * Sets the visiiblity visibility state.
503 526
	 * @param gridVisible the gridVisible to set
504 527
	 */
505 528
	public void setGridVisible(boolean gridVisible) {
......
508 531

  
509 532

  
510 533
	/**
534
	 * Gets the rendering color mode as integer.
511 535
	 * @return the renderingColorsMode
512 536
	 */
513 537
	public int getRenderingColorsMode() {
......
516 540

  
517 541

  
518 542
	/**
543
	 * Gets the rendering color mode.
519 544
	 * @param renderingColorsMode the renderingColorsMode to set
520 545
	 */
521 546
	public void setRenderingColorsMode(int renderingColorsMode) {
......
524 549

  
525 550

  
526 551
	/**
552
	 * Gets the font.
527 553
	 * @return the font
528 554
	 */
529 555
	public String getFont() {
......
532 558

  
533 559

  
534 560
	/**
561
	 * Sets the font.
535 562
	 * @param font the font to set
536 563
	 */
537 564
	public void setFont(String font) {
......
541 568

  
542 569

  
543 570
	/**
544
	 * @return the monoStyle
571
	 * Gets the multiple line strokes state.
572
	 * @return the multipleLineStrokes
545 573
	 */
546 574
	public boolean isMultipleLineStrokes() {
547 575
		return multipleLineStrokes;
......
550 578

  
551 579

  
552 580
	/**
553
	 * @param multipleStrokes the monoStyle to set
581
	 * Sets the multiple line strokes state.
582
	 * @param multipleStrokes the multiple line strokes state to set
554 583
	 */
555 584
	public void setMultipleLineStrokes(boolean multipleStrokes) {
556 585
		this.multipleLineStrokes = multipleStrokes;
......
576 605

  
577 606

  
578 607
	/**
608
	 * Sets the chart object.
579 609
	 * @param chart the chart to set
580 610
	 */
581 611
	public void setChart(Object chart) {
582 612
		this.chart = chart;
583 613
	}
584 614

  
615

  
616

  
585 617
}
tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/Theme.java (revision 2326)
5 5

  
6 6
import java.awt.Color;
7 7
import java.util.ArrayList;
8
import java.util.Collections;
8 9

  
9 10
import org.txm.chartsengine.core.preferences.ChartsEnginePreferences;
10 11

  
......
193 194
	 */
194 195
	public ArrayList<Color> getGrayScalePaletteFor(int itemsCount)	{
195 196
		ArrayList<Color> palette = new ArrayList<Color>(itemsCount);
196
    	
197
		for(int i = 0; i < itemsCount; i++) {
198
			int c;
199
    		if(i == 0)	{
200
    			c = 1;
201
    		}
202
    		else	{
203
    			c = (int)((double)255 / itemsCount * i);
204
    		}
205
    		palette.add(new Color(c, c, c));
197

  
198
		// special case of 1 items count palette, better to use gray rather than black
199
		if(itemsCount == 1)	{
200
			palette.add(new Color(128, 128, 128));
206 201
		}
202
		else	{
203
			for(int i = 0; i < itemsCount; i++) {
204
				int c;
205
	    		if(i == 0)	{
206
	    			c = 1;
207
	    		}
208
	    		else	{
209
	    			c = (int)((double)255 / itemsCount * i);
210
	    		}
211
	    		palette.add(new Color(c, c, c));
212
			}
213
		}
214
		
207 215
    	return palette;
208 216
	}
209 217
	
tmp/org.txm.ca.core/src/org/txm/ca/core/functions/Eigenvalues.java (revision 2326)
39 39
	public Eigenvalues(String parametersNodePath, TXMResult parent) {
40 40
		super(parametersNodePath, parent);
41 41
		this.setVisible(false);
42
		this.domainGridLinesVisible = false;
42 43
	}
43 44

  
44 45
	/**
tmp/org.txm.ca.core/src/org/txm/ca/core/chartsengine/jfreechart/themes/highcharts/chartcreators/JFCEigenvaluesChartCreator.java (revision 2326)
4 4
import org.jfree.chart.JFreeChart;
5 5
import org.jfree.chart.axis.NumberAxis;
6 6
import org.jfree.data.category.DefaultCategoryDataset;
7
import org.jfree.data.general.DatasetUtilities;
8
import org.jfree.data.xy.XYSeriesCollection;
7
import org.jfree.data.general.DatasetUtils;
9 8
import org.txm.ca.core.chartsengine.jfreechart.themes.highcharts.renderers.CAEigenvaluesItemSelectionRenderer;
10 9
import org.txm.ca.core.functions.CA;
11 10
import org.txm.ca.core.functions.Eigenvalues;
......
72 71
		}
73 72

  
74 73
        // Custom range axis for ticks drawing options
75
        chart.getCategoryPlot().setRangeAxis(new ExtendedNumberAxis((NumberAxis) chart.getCategoryPlot().getRangeAxis(), false, true, 0, DatasetUtilities.findMaximumRangeValue(chart.getCategoryPlot().getDataset()).doubleValue()));
74
        chart.getCategoryPlot().setRangeAxis(new ExtendedNumberAxis((NumberAxis) chart.getCategoryPlot().getRangeAxis(), false, true, 0, DatasetUtils.findMaximumRangeValue(chart.getCategoryPlot().getDataset()).doubleValue()));
76 75
		
77 76
		super.updateChart(result);
77
		
78
		// force the hide of the domain axis lines 
79
		chart.getCategoryPlot().setDomainGridlinesVisible(false);
80

  
78 81
	}
79 82
	
80 83
	
tmp/org.txm.ca.core/src/org/txm/ca/core/chartsengine/jfreechart/themes/highcharts/chartcreators/JFCCAChartCreator.java (revision 2326)
14 14
import org.jfree.chart.labels.ItemLabelPosition;
15 15
import org.jfree.chart.plot.PlotOrientation;
16 16
import org.jfree.chart.plot.XYPlot;
17
import org.jfree.ui.TextAnchor;
17
import org.jfree.chart.ui.TextAnchor;
18 18
import org.txm.ca.core.chartsengine.base.CAChartCreator;
19 19
import org.txm.ca.core.chartsengine.base.Utils;
20 20
import org.txm.ca.core.chartsengine.jfreechart.datasets.CAXYDataset;
......
85 85
		
86 86
		renderer.setSeriesVisible(0, ca.isShowVariables());
87 87
		renderer.setSeriesVisible(1, ca.isShowIndividuals());
88
		chart.setTitle(Utils.createCAFactorialMapChartTitle(ca)); 
89 88
		
89
		// Create chart title
90
		chart.setTitle(Utils.createCAFactorialMapChartTitle(ca));
91
		
90 92
		// Create the limits border
91 93
		this.createCAFactorialMapChartLimitsBorder(chart);
92 94

  
......
96 98
        // Draw the point shapes and the item labels
97 99
        if(ca.isShowPointShapes())	{
98 100
            
99
        	renderer.setSeriesItemLabelPaint(0, renderer.getBaseItemLabelPaint());
100
            renderer.setSeriesItemLabelPaint(1, renderer.getBaseItemLabelPaint());
101
        	renderer.setSeriesItemLabelPaint(0, renderer.getDefaultItemLabelPaint());
102
            renderer.setSeriesItemLabelPaint(1, renderer.getDefaultItemLabelPaint());
101 103
            
102 104
        	// Labels position
103 105
        	ItemLabelPosition position = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BOTTOM_CENTER, TextAnchor.BOTTOM_CENTER, 0.0);
104
        	renderer.setBasePositiveItemLabelPosition(position);
105
        	renderer.setBaseNegativeItemLabelPosition(position);
106
        	renderer.setDefaultPositiveItemLabelPosition(position);
107
        	renderer.setDefaultNegativeItemLabelPosition(position);
106 108

  
107 109
        	renderer.setItemLabelAnchorOffset(1);
108 110
            
......
120 122
            
121 123
        	// Labels position
122 124
        	ItemLabelPosition position = new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER, TextAnchor.CENTER, 0.0);
123
        	renderer.setBasePositiveItemLabelPosition(position);
124
        	renderer.setBaseNegativeItemLabelPosition(position);
125
        	renderer.setDefaultPositiveItemLabelPosition(position);
126
        	renderer.setDefaultNegativeItemLabelPosition(position);
125 127
            
126 128
            renderer.setItemLabelAnchorOffset(0);
127 129
        }
tmp/org.txm.ca.core/src/org/txm/ca/core/chartsengine/jfreechart/themes/highcharts/renderers/CAItemSelectionRenderer.java (revision 2326)
47 47

  
48 48
	@Override
49 49
	public void init()	{
50
    	this.setBaseLinesVisible(false);
51
    	this.setBaseOutlinePaint(Color.decode("#666666"));
50
    	this.setDefaultLinesVisible(false);
51
    	this.setDefaultOutlinePaint(Color.decode("#666666"));
52 52

  
53 53
		
54 54
      	// Items colors (Highcharts color codes)
......
154 154
			}
155 155
		};
156 156

  
157
		this.setBaseItemLabelGenerator(generator);
158
		this.setBaseItemLabelsVisible(true);
157
		this.setDefaultItemLabelGenerator(generator);
158
		this.setDefaultItemLabelsVisible(true);
159 159
	}
160 160

  
161 161
	@Override
tmp/org.txm.ca.core/src/org/txm/ca/core/chartsengine/jfreechart/themes/highcharts/renderers/CAEigenvaluesItemSelectionRenderer.java (revision 2326)
43 43

  
44 44
	@Override
45 45
	public void initToolTipGenerator(final IRendererWithItemSelection renderer)	{
46
		this.setBaseToolTipGenerator(new CategoryToolTipGenerator() {
46
		this.setDefaultToolTipGenerator(new CategoryToolTipGenerator() {
47 47

  
48 48
			@Override
49 49
			public String generateToolTip(CategoryDataset dataset, int row, int column) {
tmp/org.txm.partition.rcp/src/org/txm/partition/rcp/adapters/PartitionDimensionsAdapterFactory.java (revision 2326)
24 24
					"platform:/plugin/"+ FrameworkUtil.getBundle(PartitionDimensionsAdapterFactory.class).getSymbolicName() + "/icons/dimensions.png"); //$NON-NLS-1$ //$NON-NLS-2$
25 25
	
26 26

  
27
	@SuppressWarnings({ "rawtypes", "unchecked" })
27 28
	@Override
28 29
	public Object getAdapter(Object adaptableObject, Class adapterType) {
29 30
		if(this.canAdapt(adapterType) && adaptableObject instanceof PartitionDimensions)	{
tmp/org.txm.partition.core/src/org/txm/partition/core/functions/PartitionDimensions.java (revision 2326)
12 12
import org.txm.chartsengine.core.results.ChartResult;
13 13
import org.txm.core.results.Parameter;
14 14
import org.txm.core.results.TXMParameters;
15
import org.txm.lexicaltable.core.functions.LexicalTable;
15 16
import org.txm.partition.core.messages.PartitionCoreMessages;
16 17
import org.txm.partition.core.preferences.PartitionDimensionsPreferences;
17 18
import org.txm.searchengine.cqp.clientExceptions.CqiClientException;
......
61 62
	 * @param partition
62 63
	 */
63 64
	public PartitionDimensions(Partition partition) {
64
		super(partition);
65
		this(null, partition);
65 66
	}
66 67

  
67 68
	/**
......
69 70
	 * @param parametersNodePath
70 71
	 */
71 72
	public PartitionDimensions(String parametersNodePath) {
72
		super(parametersNodePath);
73
		super(parametersNodePath, null);
73 74
	}
74 75
	
76
	/**
77
	 * Creates a not computed partition dimensions.
78
	 * @param parametersNodePath
79
	 * @param partition
80
	 */
81
	public PartitionDimensions(String parametersNodePath, Partition partition) {
82
		super(parametersNodePath, partition);
83
		
84
		this.domainGridLinesVisible = false;
85
	}
86
	
75 87

  
76 88
	@Override
77 89
	public boolean loadParameters() {
tmp/org.txm.partition.core/src/org/txm/partition/core/chartsengine/jfreechart/JFCPartitionDimensionsBarChartCreator.java (revision 2326)
7 7
import org.jfree.chart.axis.NumberAxis;
8 8
import org.jfree.chart.title.TextTitle;
9 9
import org.jfree.chart.title.Title;
10
import org.jfree.data.general.DatasetUtilities;
10
import org.jfree.data.general.DatasetUtils;
11 11
import org.jfree.data.xy.XYSeries;
12 12
import org.jfree.data.xy.XYSeriesCollection;
13 13
import org.txm.chartsengine.core.preferences.ChartsEnginePreferences;
......
41 41
		// Create the chart
42 42
        chart = this.getChartsEngine().createXYBarChart(dataset, null, PartitionCoreMessages.part, PartitionCoreMessages.numberOfWords, false, true);
43 43
        // Custom range axis for ticks drawing options
44
        chart.getXYPlot().setRangeAxis(new ExtendedNumberAxis((NumberAxis) chart.getXYPlot().getRangeAxis(), false, true, 0, DatasetUtilities.findMaximumRangeValue(chart.getXYPlot().getDataset()).doubleValue()));
44
        chart.getXYPlot().setRangeAxis(new ExtendedNumberAxis((NumberAxis) chart.getXYPlot().getRangeAxis(), false, true, 0, DatasetUtils.findMaximumRangeValue(chart.getXYPlot().getDataset()).doubleValue()));
45 45

  
46 46
		return chart;
47 47
		
......
96 96
		// Create chart title
97 97
		chart.setTitle(Utils.createPartitionDimensionsChartTitle(partitionDimensions));
98 98
		
99
		
100
		
101
		super.updateChart(result);
102

  
103
		
104 99
		// Subtitle
105 100
		if(chart.getSubtitleCount() > 0)	{
106 101
			chart.removeSubtitle(chart.getSubtitle(0));	
......
109 104
				((Color)this.getChartsEngine().getJFCTheme().getAxisLabelPaint()), Title.DEFAULT_POSITION,
110 105
                Title.DEFAULT_HORIZONTAL_ALIGNMENT,
111 106
                Title.DEFAULT_VERTICAL_ALIGNMENT, Title.DEFAULT_PADDING));
107
		
108
		
109
		super.updateChart(result);
... Ce différentiel a été tronqué car il excède la taille maximale pouvant être affichée.

Formats disponibles : Unified diff