KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sourceforge > chart2d > GraphChart2DProperties


1 /**
2  * Chart2D, a java library for drawing two dimensional charts.
3  * Copyright (C) 2001 Jason J. Simas
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * The author of this library may be contacted at:
19  * E-mail: jjsimas@users.sourceforge.net
20  * Street Address: J J Simas, 887 Tico Road, Ojai, CA 93023-3555 USA
21  */

22
23
24 package net.sourceforge.chart2d;
25
26
27 import java.awt.Color JavaDoc;
28 import java.awt.Dimension JavaDoc;
29 import java.awt.Font JavaDoc;
30 import java.util.Vector JavaDoc;
31
32
33 /**
34  * A data structure for holding the properties common to all GraphChart2D objects.
35  * A GraphChart2D objects has axes and one or more overlaid graphs.
36  * Pass this to any number of GraphChart2D objects.
37  */

38  public final class GraphChart2DProperties extends Properties {
39
40
41   /**
42    * Indicates the ticks of an axis should be centered on each label
43    * of the axis. Used by setLabelsAxisTicksAlignment (int).
44    */

45   public static final int CENTERED = 0;
46
47   /**
48    * Indicates the ticks of an axis should be centered between the labels
49    * of the axis. Used by setLabelsAxisTicksAlignment (int).
50    */

51   public static final int BETWEEN = 1;
52
53   /**
54    * The default is false.
55    */

56   public static final boolean CHART_DATASET_CUSTOMIZE_GREATEST_VALUE_DEFAULT = false;
57
58   /**
59    * The default is 0.
60    */

61   public static final float CHART_DATASET_CUSTOM_GREATEST_VALUE_DEFAULT = 0;
62
63   /**
64    * The default is false.
65    */

66   public static final boolean CHART_DATASET_CUSTOMIZE_LEAST_VALUE_DEFAULT = false;
67
68   /**
69    * The default is 0.
70    */

71   public static final float CHART_DATASET_CUSTOM_LEAST_VALUE_DEFAULT = 0;
72
73   /**
74    * The default is .95f.
75    */

76   public static final float CHART_GRAPHABLE_TO_AVAILABLE_RATIO_DEFAULT = 1f;
77
78   /**
79    * The default is 7.
80    */

81   public static final int NUMBERS_AXIS_NUM_LABELS_DEFAULT = 7;
82
83
84   /**
85    * The default is true.
86    */

87   public static final boolean LABELS_AXIS_EXISTENCE_DEFAULT = true;
88
89
90   /**
91    * The default is BETWEEN.
92    */

93   public static final int LABELS_AXIS_TICKS_ALIGNMENT_DEFAULT = BETWEEN;
94
95   /**
96    * The default is String[0].
97    */

98   public static final String JavaDoc[] LABELS_AXIS_LABELS_TEXTS_DEFAULT = new String JavaDoc[0];
99
100   /**
101    * The default is true.
102    */

103   public static final boolean LABELS_AXIS_TITLE_EXISTENCE_DEFAULT = true;
104
105   /**
106    * The default is "".
107    */

108   public static final String JavaDoc LABELS_AXIS_TITLE_TEXT_DEFAULT = "";
109
110   /**
111    * The default is 11.
112    */

113   public static final int LABELS_AXIS_TITLE_FONT_POINT_MODEL_DEFAULT = 11;
114
115   /**
116    * The default is "SansSerif".
117    */

118   public static final String JavaDoc LABELS_AXIS_TITLE_FONT_NAME_DEFAULT = "SansSerif";
119
120   /**
121    * The default is Color.black.
122    */

123   public static final Color JavaDoc LABELS_AXIS_TITLE_FONT_COLOR_DEFAULT = Color.black;
124
125   /**
126    * The default is Font.PLAIN.
127    */

128   public static final int LABELS_AXIS_TITLE_FONT_STYLE_DEFAULT = Font.PLAIN;
129
130   /**
131    * The default is true.
132    */

133   public static final boolean LABELS_AXIS_TITLE_BETWEEN_REST_GAP_EXISTENCE_DEFAULT = true;
134
135   /**
136    * The default is 3.
137    */

138   public static final int LABELS_AXIS_TITLE_BETWEEN_REST_GAP_THICKNESS_MODEL_DEFAULT = 3;
139
140   /**
141    * The default is true.
142    */

143   public static final boolean LABELS_AXIS_TICKS_EXISTENCE_DEFAULT = true;
144
145   /**
146    * The default is Dimension (3, 3).
147    */

148   public static final Dimension JavaDoc LABELS_AXIS_TICKS_SIZE_MODEL_DEFAULT = new Dimension JavaDoc (3, 3);
149
150   /**
151    * The default is Color.black.
152    */

153   public static final Color JavaDoc LABELS_AXIS_TICKS_COLOR_DEFAULT = Color.black;
154
155   /**
156    * The default is false.
157    */

158   public static final boolean LABELS_AXIS_TICKS_OUTLINE_EXISTENCE_DEFAULT = false;
159
160   /**
161    * The default is Color.black.
162    */

163   public static final Color JavaDoc LABELS_AXIS_TICKS_OUTLINE_COLOR_DEFAULT = Color.black;
164
165   /**
166    * The default is 10.
167    */

168   public static final int LABELS_AXIS_LABELS_FONT_POINT_MODEL_DEFAULT = 10;
169
170   /**
171    * The default is "SansSerif".
172    */

173   public static final String JavaDoc LABELS_AXIS_LABELS_FONT_NAME_DEFAULT = "SansSerif";
174
175   /**
176    * The default is Color.black.
177    */

178   public static final Color JavaDoc LABELS_AXIS_LABELS_FONT_COLOR_DEFAULT = Color.black;
179
180   /**
181    * The default is Font.PLAIN.
182    */

183   public static final int LABELS_AXIS_LABELS_FONT_STYLE_DEFAULT = Font.PLAIN;
184
185   /**
186    * The default is true.
187    */

188   public static final boolean LABELS_AXIS_BETWEEN_LABELS_OR_TICKS_GAP_EXISTENCE_DEFAULT = true;
189
190   /**
191    * The default is 3.
192    */

193   public static final int LABELS_AXIS_BETWEEN_LABELS_OR_TICKS_GAP_THICKNESS_MODEL_DEFAULT = 3;
194
195   /**
196    * The default is true.
197    */

198   public static final boolean LABELS_AXIS_BETWEEN_LABELS_AND_TICKS_GAP_EXISTENCE_DEFAULT = true;
199
200   /**
201    * The default is 3.
202    */

203   public static final int LABELS_AXIS_BETWEEN_LABELS_AND_TICKS_GAP_THICKNESS_MODEL_DEFAULT = 3;
204
205   /**
206    * The default is true.
207    */

208   public static final boolean NUMBERS_AXIS_TITLE_EXISTENCE_DEFAULT = true;
209
210   /**
211    * The default is "".
212    */

213   public static final String JavaDoc NUMBERS_AXIS_TITLE_TEXT_DEFAULT = "";
214
215   /**
216    * The default is 11.
217    */

218   public static final int NUMBERS_AXIS_TITLE_FONT_POINT_MODEL_DEFAULT = 11;
219
220   /**
221    * The default is "SansSerif".
222    */

223   public static final String JavaDoc NUMBERS_AXIS_TITLE_FONT_NAME_DEFAULT = "SansSerif";
224
225   /**
226    * The default is Color.black.
227    */

228   public static final Color JavaDoc NUMBERS_AXIS_TITLE_FONT_COLOR_DEFAULT = Color.black;
229
230   /**
231    * The default is Font.PLAIN.
232    */

233   public static final int NUMBERS_AXIS_TITLE_FONT_STYLE_DEFAULT = Font.PLAIN;
234
235   /**
236    * The default is true.
237    */

238   public static final boolean NUMBERS_AXIS_TITLE_BETWEEN_REST_GAP_EXISTENCE_DEFAULT = true;
239
240   /**
241    * The default is 3.
242    */

243   public static final int NUMBERS_AXIS_TITLE_BETWEEN_REST_GAP_THICKNESS_MODEL_DEFAULT = 3;
244
245   /**
246    * The default is true.
247    */

248   public static final boolean NUMBERS_AXIS_TICKS_EXISTENCE_DEFAULT = true;
249
250   /**
251    * The default is Dimension (3, 3).
252    */

253   public static final Dimension JavaDoc NUMBERS_AXIS_TICKS_SIZE_MODEL_DEFAULT = new Dimension JavaDoc (3, 3);
254
255   /**
256    * The default is Color.black.
257    */

258   public static final Color JavaDoc NUMBERS_AXIS_TICKS_COLOR_DEFAULT = Color.black;
259
260   /**
261    * The default is false.
262    */

263   public static final boolean NUMBERS_AXIS_TICKS_OUTLINE_EXISTENCE_DEFAULT = false;
264
265   /**
266    * The default is Color.black.
267    */

268   public static final Color JavaDoc NUMBERS_AXIS_TICKS_OUTLINE_COLOR_DEFAULT = Color.black;
269
270   /**
271    * The default is 10.
272    */

273   public static final int NUMBERS_AXIS_LABELS_FONT_POINT_MODEL_DEFAULT = 10;
274
275   /**
276    * The default is "SansSerif".
277    */

278   public static final String JavaDoc NUMBERS_AXIS_LABELS_FONT_NAME_DEFAULT = "SansSerif";
279
280   /**
281    * The default is Color.black.
282    */

283   public static final Color JavaDoc NUMBERS_AXIS_LABELS_FONT_COLOR_DEFAULT = Color.black;
284
285   /**
286    * The default is Font.PLAIN.
287    */

288   public static final int NUMBERS_AXIS_LABELS_FONT_STYLE_DEFAULT = Font.PLAIN;
289
290   /**
291    * The default is true.
292    */

293   public static final boolean NUMBERS_AXIS_BETWEEN_LABELS_OR_TICKS_GAP_EXISTENCE_DEFAULT = true;
294
295   /**
296    * The default is 3.
297    */

298   public static final int NUMBERS_AXIS_BETWEEN_LABELS_OR_TICKS_GAP_THICKNESS_MODEL_DEFAULT = 3;
299
300   /**
301    * The default is true.
302    */

303   public static final boolean NUMBERS_AXIS_BETWEEN_LABELS_AND_TICKS_GAP_EXISTENCE_DEFAULT = true;
304
305   /**
306    * The default is 3.
307    */

308   public static final int NUMBERS_AXIS_BETWEEN_LABELS_AND_TICKS_GAP_THICKNESS_MODEL_DEFAULT = 3;
309
310   /**
311    * The default is false.
312    */

313   public static final boolean GRAPH_COMPONENTS_COLORING_BY_CAT_DEFAULT = false;
314
315   /**
316    * The default is null.
317    */

318   public static final MultiColorsProperties GRAPH_COMPONENTS_COLORS_BY_CAT_DEFAULT = null;
319
320
321   private boolean chartDatasetCustomizeGreatestValue;
322   private float chartDatasetCustomGreatestValue;
323   private boolean chartDatasetCustomizeLeastValue;
324   private float chartDatasetCustomLeastValue;
325   private float chartGraphableToAvailableRatio;
326
327   private boolean labelsAxisExistence;
328   private int labelsAxisTicksAlignment;
329   private String JavaDoc[] labelsAxisLabelsTexts;
330   private boolean labelsAxisTitleExistence;
331   private String JavaDoc labelsAxisTitleText;
332   private int labelsAxisTitleFontPointModel;
333   private String JavaDoc labelsAxisTitleFontName;
334   private Color JavaDoc labelsAxisTitleFontColor;
335   private int labelsAxisTitleFontStyle;
336   private boolean labelsAxisTitleBetweenRestGapExistence;
337   private int labelsAxisTitleBetweenRestGapThicknessModel;
338   private boolean labelsAxisTicksExistence;
339   private Dimension JavaDoc labelsAxisTicksSizeModel;
340   private Color JavaDoc labelsAxisTicksColor;
341   private boolean labelsAxisTicksOutlineExistence;
342   private Color JavaDoc labelsAxisTicksOutlineColor;
343   private int labelsAxisLabelsFontPointModel;
344   private String JavaDoc labelsAxisLabelsFontName;
345   private Color JavaDoc labelsAxisLabelsFontColor;
346   private int labelsAxisLabelsFontStyle;
347   private boolean labelsAxisBetweenLabelsOrTicksGapExistence;
348   private int labelsAxisBetweenLabelsOrTicksGapThicknessModel;
349   private boolean labelsAxisBetweenLabelsAndTicksGapExistence;
350   private int labelsAxisBetweenLabelsAndTicksGapThicknessModel;
351
352   private int numbersAxisNumLabels;
353   private boolean numbersAxisTitleExistence;
354   private String JavaDoc numbersAxisTitleText;
355   private int numbersAxisTitleFontPointModel;
356   private String JavaDoc numbersAxisTitleFontName;
357   private Color JavaDoc numbersAxisTitleFontColor;
358   private int numbersAxisTitleFontStyle;
359   private boolean numbersAxisTitleBetweenRestGapExistence;
360   private int numbersAxisTitleBetweenRestGapThicknessModel;
361   private boolean numbersAxisTicksExistence;
362   private Dimension JavaDoc numbersAxisTicksSizeModel;
363   private Color JavaDoc numbersAxisTicksColor;
364   private boolean numbersAxisTicksOutlineExistence;
365   private Color JavaDoc numbersAxisTicksOutlineColor;
366   private int numbersAxisLabelsFontPointModel;
367   private String JavaDoc numbersAxisLabelsFontName;
368   private Color JavaDoc numbersAxisLabelsFontColor;
369   private int numbersAxisLabelsFontStyle;
370   private boolean numbersAxisBetweenLabelsOrTicksGapExistence;
371   private int numbersAxisBetweenLabelsOrTicksGapThicknessModel;
372   private boolean numbersAxisBetweenLabelsAndTicksGapExistence;
373   private int numbersAxisBetweenLabelsAndTicksGapThicknessModel;
374
375   private boolean graphComponentsColoringByCat;
376   private MultiColorsProperties graphComponentsColorsByCat;
377
378   private boolean needsUpdate = true;
379   private final Vector JavaDoc needsUpdateVector = new Vector JavaDoc (5, 5);
380   private final Vector JavaDoc graphChart2DVector = new Vector JavaDoc (5, 5);
381
382
383   /**
384    * Creates a GraphChart2DProperties object with the documented default values.
385    */

386   public GraphChart2DProperties() {
387
388     needsUpdate = true;
389     setGraphChart2DPropertiesToDefaults();
390   }
391
392
393   /**
394    * Creates a GraphChart2DProperties object with property values copied from another object.
395    * The copying is a deep copy.
396    * @param graphChart2DProps The properties to copy.
397    */

398   public GraphChart2DProperties (GraphChart2DProperties graphChart2DProps) {
399
400     needsUpdate = true;
401     setGraphChart2DProperties (graphChart2DProps);
402   }
403
404
405   /**
406    * Sets all properties to their default values.
407    */

408   public final void setGraphChart2DPropertiesToDefaults() {
409
410     needsUpdate = true;
411     setChartDatasetCustomizeGreatestValue (CHART_DATASET_CUSTOMIZE_GREATEST_VALUE_DEFAULT);
412     setChartDatasetCustomGreatestValue (CHART_DATASET_CUSTOM_GREATEST_VALUE_DEFAULT);
413     setChartDatasetCustomizeLeastValue (CHART_DATASET_CUSTOMIZE_LEAST_VALUE_DEFAULT);
414     setChartDatasetCustomLeastValue (CHART_DATASET_CUSTOM_LEAST_VALUE_DEFAULT);
415     setChartGraphableToAvailableRatio (CHART_GRAPHABLE_TO_AVAILABLE_RATIO_DEFAULT);
416     setNumbersAxisNumLabels (NUMBERS_AXIS_NUM_LABELS_DEFAULT);
417     setLabelsAxisExistence (LABELS_AXIS_EXISTENCE_DEFAULT);
418     setLabelsAxisTicksAlignment (LABELS_AXIS_TICKS_ALIGNMENT_DEFAULT);
419     setLabelsAxisLabelsTexts (LABELS_AXIS_LABELS_TEXTS_DEFAULT);
420     setLabelsAxisTitleExistence (LABELS_AXIS_TITLE_EXISTENCE_DEFAULT);
421     setLabelsAxisTitleText (LABELS_AXIS_TITLE_TEXT_DEFAULT);
422     setLabelsAxisTitleFontPointModel (LABELS_AXIS_TITLE_FONT_POINT_MODEL_DEFAULT);
423     setLabelsAxisTitleFontName (LABELS_AXIS_TITLE_FONT_NAME_DEFAULT);
424     setLabelsAxisTitleFontColor (LABELS_AXIS_TITLE_FONT_COLOR_DEFAULT);
425     setLabelsAxisTitleFontStyle (LABELS_AXIS_TITLE_FONT_STYLE_DEFAULT);
426     setLabelsAxisTitleBetweenRestGapExistence (
427       LABELS_AXIS_TITLE_BETWEEN_REST_GAP_EXISTENCE_DEFAULT);
428     setLabelsAxisTitleBetweenRestGapThicknessModel (
429       LABELS_AXIS_TITLE_BETWEEN_REST_GAP_THICKNESS_MODEL_DEFAULT);
430     setLabelsAxisTicksExistence (LABELS_AXIS_TICKS_EXISTENCE_DEFAULT);
431     setLabelsAxisTicksSizeModel (LABELS_AXIS_TICKS_SIZE_MODEL_DEFAULT);
432     setLabelsAxisTicksColor (LABELS_AXIS_TICKS_COLOR_DEFAULT);
433     setLabelsAxisTicksOutlineExistence (LABELS_AXIS_TICKS_OUTLINE_EXISTENCE_DEFAULT);
434     setLabelsAxisTicksOutlineColor (LABELS_AXIS_TICKS_COLOR_DEFAULT);
435     setLabelsAxisLabelsFontPointModel (LABELS_AXIS_LABELS_FONT_POINT_MODEL_DEFAULT);
436     setLabelsAxisLabelsFontName (LABELS_AXIS_LABELS_FONT_NAME_DEFAULT);
437     setLabelsAxisLabelsFontColor (LABELS_AXIS_LABELS_FONT_COLOR_DEFAULT);
438     setLabelsAxisLabelsFontStyle (LABELS_AXIS_LABELS_FONT_STYLE_DEFAULT);
439     setLabelsAxisBetweenLabelsOrTicksGapExistence (
440       LABELS_AXIS_BETWEEN_LABELS_OR_TICKS_GAP_EXISTENCE_DEFAULT);
441     setLabelsAxisBetweenLabelsOrTicksGapThicknessModel (
442       LABELS_AXIS_BETWEEN_LABELS_OR_TICKS_GAP_THICKNESS_MODEL_DEFAULT);
443     setLabelsAxisBetweenLabelsAndTicksGapExistence (
444       LABELS_AXIS_BETWEEN_LABELS_AND_TICKS_GAP_EXISTENCE_DEFAULT);
445     setLabelsAxisBetweenLabelsAndTicksGapThicknessModel (
446       LABELS_AXIS_BETWEEN_LABELS_AND_TICKS_GAP_THICKNESS_MODEL_DEFAULT);
447     setNumbersAxisTitleExistence (NUMBERS_AXIS_TITLE_EXISTENCE_DEFAULT);
448     setNumbersAxisTitleText (NUMBERS_AXIS_TITLE_TEXT_DEFAULT);
449     setNumbersAxisTitleFontPointModel (NUMBERS_AXIS_TITLE_FONT_POINT_MODEL_DEFAULT);
450     setNumbersAxisTitleFontName (NUMBERS_AXIS_TITLE_FONT_NAME_DEFAULT);
451     setNumbersAxisTitleFontColor (NUMBERS_AXIS_TITLE_FONT_COLOR_DEFAULT);
452     setNumbersAxisTitleFontStyle (NUMBERS_AXIS_TITLE_FONT_STYLE_DEFAULT);
453     setNumbersAxisTitleBetweenRestGapExistence (
454       NUMBERS_AXIS_TITLE_BETWEEN_REST_GAP_EXISTENCE_DEFAULT);
455     setNumbersAxisTitleBetweenRestGapThicknessModel (
456       NUMBERS_AXIS_TITLE_BETWEEN_REST_GAP_THICKNESS_MODEL_DEFAULT);
457     setNumbersAxisTicksExistence (NUMBERS_AXIS_TICKS_EXISTENCE_DEFAULT);
458     setNumbersAxisTicksSizeModel (NUMBERS_AXIS_TICKS_SIZE_MODEL_DEFAULT);
459     setNumbersAxisTicksColor (NUMBERS_AXIS_TICKS_COLOR_DEFAULT);
460     setNumbersAxisTicksOutlineExistence (NUMBERS_AXIS_TICKS_OUTLINE_EXISTENCE_DEFAULT);
461     setNumbersAxisTicksOutlineColor (NUMBERS_AXIS_TICKS_COLOR_DEFAULT);
462     setNumbersAxisLabelsFontPointModel (NUMBERS_AXIS_LABELS_FONT_POINT_MODEL_DEFAULT);
463     setNumbersAxisLabelsFontName (NUMBERS_AXIS_LABELS_FONT_NAME_DEFAULT);
464     setNumbersAxisLabelsFontColor (NUMBERS_AXIS_LABELS_FONT_COLOR_DEFAULT);
465     setNumbersAxisLabelsFontStyle (NUMBERS_AXIS_LABELS_FONT_STYLE_DEFAULT);
466     setNumbersAxisBetweenLabelsOrTicksGapExistence (
467       NUMBERS_AXIS_BETWEEN_LABELS_OR_TICKS_GAP_EXISTENCE_DEFAULT);
468     setNumbersAxisBetweenLabelsOrTicksGapThicknessModel (
469       NUMBERS_AXIS_BETWEEN_LABELS_OR_TICKS_GAP_THICKNESS_MODEL_DEFAULT);
470     setNumbersAxisBetweenLabelsAndTicksGapExistence (
471       NUMBERS_AXIS_BETWEEN_LABELS_AND_TICKS_GAP_EXISTENCE_DEFAULT);
472     setNumbersAxisBetweenLabelsAndTicksGapThicknessModel (
473       NUMBERS_AXIS_BETWEEN_LABELS_AND_TICKS_GAP_THICKNESS_MODEL_DEFAULT);
474     setGraphComponentsColoringByCat (GRAPH_COMPONENTS_COLORING_BY_CAT_DEFAULT);
475   }
476
477
478   /**
479    * Sets all properties to be the values of another GraphChart2DProperties object.
480    * The copying is a deep copy.
481    * @param graphChart2DProps The GraphChart2DProperties to copy.
482    */

483   public final void setGraphChart2DProperties (GraphChart2DProperties graphChart2DProps) {
484
485     needsUpdate = true;
486     setChartDatasetCustomizeGreatestValue (
487       graphChart2DProps.getChartDatasetCustomizeGreatestValue());
488     setChartDatasetCustomGreatestValue (graphChart2DProps.getChartDatasetCustomGreatestValue());
489     setChartDatasetCustomizeLeastValue (graphChart2DProps.getChartDatasetCustomizeLeastValue());
490     setChartDatasetCustomLeastValue (graphChart2DProps.getChartDatasetCustomLeastValue());
491     setChartGraphableToAvailableRatio (graphChart2DProps.getChartGraphableToAvailableRatio());
492     setNumbersAxisNumLabels (graphChart2DProps.getNumbersAxisNumLabels());
493     setLabelsAxisExistence (graphChart2DProps.getLabelsAxisExistence());
494     setLabelsAxisTicksAlignment (graphChart2DProps.getLabelsAxisTicksAlignment());
495     String JavaDoc[] labelsTexts = graphChart2DProps.getLabelsAxisLabelsTexts();
496     String JavaDoc[] copiedLabelsTexts = new String JavaDoc[labelsTexts.length];
497     for (int i = 0; i < labelsTexts.length; ++i) copiedLabelsTexts[i] = labelsTexts[i];
498     setLabelsAxisLabelsTexts (copiedLabelsTexts);
499     setLabelsAxisTitleExistence (graphChart2DProps.getLabelsAxisTitleExistence());
500     setLabelsAxisTitleText (graphChart2DProps.getLabelsAxisTitleText());
501     setLabelsAxisTitleFontPointModel (graphChart2DProps.getLabelsAxisTitleFontPointModel());
502     setLabelsAxisTitleFontName (graphChart2DProps.getLabelsAxisTitleFontName());
503     setLabelsAxisTitleFontColor (graphChart2DProps.getLabelsAxisTitleFontColor());
504     setLabelsAxisTitleFontStyle (graphChart2DProps.getLabelsAxisTitleFontStyle());
505     setLabelsAxisTitleBetweenRestGapExistence (
506       graphChart2DProps.getLabelsAxisTitleBetweenRestGapExistence());
507     setLabelsAxisTitleBetweenRestGapThicknessModel (
508       graphChart2DProps.getLabelsAxisTitleBetweenRestGapThicknessModel());
509     setLabelsAxisTicksExistence (graphChart2DProps.getLabelsAxisTicksExistence());
510     setLabelsAxisTicksSizeModel (new Dimension JavaDoc (graphChart2DProps.getLabelsAxisTicksSizeModel()));
511     setLabelsAxisTicksColor (graphChart2DProps.getLabelsAxisTicksColor());
512     setLabelsAxisTicksOutlineExistence (graphChart2DProps.getLabelsAxisTicksOutlineExistence());
513     setLabelsAxisTicksOutlineColor (graphChart2DProps.getLabelsAxisTicksOutlineColor());
514     setLabelsAxisLabelsFontPointModel (graphChart2DProps.getLabelsAxisLabelsFontPointModel());
515     setLabelsAxisLabelsFontName (graphChart2DProps.getLabelsAxisLabelsFontName());
516     setLabelsAxisLabelsFontColor (graphChart2DProps.getLabelsAxisLabelsFontColor());
517     setLabelsAxisLabelsFontStyle (graphChart2DProps.getLabelsAxisLabelsFontStyle());
518     setLabelsAxisBetweenLabelsOrTicksGapExistence (
519       graphChart2DProps.getLabelsAxisBetweenLabelsOrTicksGapExistence());
520     setLabelsAxisBetweenLabelsOrTicksGapThicknessModel (
521       graphChart2DProps.getLabelsAxisBetweenLabelsOrTicksGapThicknessModel());
522     setLabelsAxisBetweenLabelsAndTicksGapExistence (
523       graphChart2DProps.getLabelsAxisBetweenLabelsAndTicksGapExistence());
524     setLabelsAxisBetweenLabelsAndTicksGapThicknessModel (
525       graphChart2DProps.getLabelsAxisBetweenLabelsAndTicksGapThicknessModel());
526     setNumbersAxisTitleExistence (graphChart2DProps.getNumbersAxisTitleExistence());
527     setNumbersAxisTitleText (graphChart2DProps.getNumbersAxisTitleText());
528     setNumbersAxisTitleFontPointModel (graphChart2DProps.getNumbersAxisTitleFontPointModel());
529     setNumbersAxisTitleFontName (graphChart2DProps.getNumbersAxisTitleFontName());
530     setNumbersAxisTitleFontColor (graphChart2DProps.getNumbersAxisTitleFontColor());
531     setNumbersAxisTitleFontStyle (graphChart2DProps.getNumbersAxisTitleFontStyle());
532     setNumbersAxisTitleBetweenRestGapExistence (
533       graphChart2DProps.getNumbersAxisTitleBetweenRestGapExistence());
534     setNumbersAxisTitleBetweenRestGapThicknessModel (
535       graphChart2DProps.getNumbersAxisTitleBetweenRestGapThicknessModel());
536     setNumbersAxisTicksExistence (graphChart2DProps.getNumbersAxisTicksExistence());
537     setNumbersAxisTicksSizeModel (new Dimension JavaDoc (graphChart2DProps.getNumbersAxisTicksSizeModel()));
538     setNumbersAxisTicksColor (graphChart2DProps.getNumbersAxisTicksColor());
539     setNumbersAxisTicksOutlineExistence (graphChart2DProps.getNumbersAxisTicksOutlineExistence());
540     setNumbersAxisTicksOutlineColor (graphChart2DProps.getNumbersAxisTicksOutlineColor());
541     setNumbersAxisLabelsFontPointModel (graphChart2DProps.getNumbersAxisLabelsFontPointModel());
542     setNumbersAxisLabelsFontName (graphChart2DProps.getNumbersAxisLabelsFontName());
543     setNumbersAxisLabelsFontColor (graphChart2DProps.getNumbersAxisLabelsFontColor());
544     setNumbersAxisLabelsFontStyle (graphChart2DProps.getNumbersAxisLabelsFontStyle());
545     setNumbersAxisBetweenLabelsOrTicksGapExistence (
546       graphChart2DProps.getNumbersAxisBetweenLabelsOrTicksGapExistence());
547     setNumbersAxisBetweenLabelsOrTicksGapThicknessModel (
548       graphChart2DProps.getNumbersAxisBetweenLabelsOrTicksGapThicknessModel());
549     setNumbersAxisBetweenLabelsAndTicksGapExistence (
550       graphChart2DProps.getNumbersAxisBetweenLabelsAndTicksGapExistence());
551     setNumbersAxisBetweenLabelsAndTicksGapThicknessModel (
552       graphChart2DProps.getNumbersAxisBetweenLabelsAndTicksGapThicknessModel());
553     setGraphComponentsColoringByCat (graphChart2DProps.getGraphComponentsColoringByCat());
554   }
555
556
557   /**
558    * Sets whether the true greatest value in the data sets will be
559    * substituted by the custom value.
560    * This effects the range of the labels of the numbers axis.
561    * @param customize If true, the greatest value of the data will be
562    * customized.
563    */

564   public final void setChartDatasetCustomizeGreatestValue (boolean customize) {
565
566     needsUpdate = true;
567     chartDatasetCustomizeGreatestValue = customize;
568   }
569
570
571   /**
572    * Sets the custom greatest value of the data sets. This value must be
573    * greater than or equal to the true greatest value of the data sets for it
574    * to be used.
575    * This effects the scale of the labels of the numbers axis.
576    * @param value The custom greatest value of the data sets.
577    */

578   public final void setChartDatasetCustomGreatestValue (float value) {
579
580     needsUpdate = true;
581     chartDatasetCustomGreatestValue = value;
582   }
583
584
585   /**
586    * Sets whether the true least value in the data sets will be
587    * substituted by the custom value.
588    * This effects the range of the labels of the numbers axis.
589    * @param customize If true, the least value of the data will be
590    * customized.
591    */

592   public final void setChartDatasetCustomizeLeastValue (boolean customize) {
593
594     needsUpdate = true;
595     chartDatasetCustomizeLeastValue = customize;
596   }
597
598
599   /**
600    * Sets the custom least value of the data sets. This value must be
601    * less than or equal to the true least value of the data sets for it
602    * to be used.
603    * This effects the scale of the labels of the numbers axis.
604    * @param value The custom least value of the data sets.
605    */

606   public final void setChartDatasetCustomLeastValue (float value) {
607
608     needsUpdate = true;
609     chartDatasetCustomLeastValue = value;
610   }
611
612
613   /**
614    * Sets how much of the chart's graph is used by the graph's components.
615    * This value must be: 0f <= value <= 1f.
616    * This effects the scale of the labels of the numbers axis.
617    * @param ratio The ratio of usable to available of the graph.
618    */

619   public final void setChartGraphableToAvailableRatio (float ratio) {
620
621     needsUpdate = true;
622     chartGraphableToAvailableRatio = ratio;
623   }
624
625
626   /**
627    * Sets the existence of the labels axis. If existence is false, then the labels axis won't
628    * be painted and the axis' texts won't need to be set.
629    * @param existence If true, then exists.
630    */

631   public final void setLabelsAxisExistence (boolean existence) {
632
633     needsUpdate = true;
634     labelsAxisExistence = existence;
635   }
636
637
638   /**
639    * Sets the placement of the ticks on the labels axis. The ticks may
640    * be either between the labels axis labels (ie for bar charts) or centered
641    * on each labels axis label (ie for other charts).
642    * The possible values are BETWEEN and CENTERED.
643    * @param alignment The alignment of the labels axis ticks.
644    */

645   public final void setLabelsAxisTicksAlignment (int alignment) {
646
647     needsUpdate = true;
648     labelsAxisTicksAlignment = alignment;
649   }
650
651
652   /**
653    * Sets the text of each labels axis label. This determines how many
654    * categories the data in the data sets are split into.
655    * @param texts The texts of the labels axis labels.
656    */

657   public final void setLabelsAxisLabelsTexts (String JavaDoc[] texts) {
658
659     needsUpdate = true;
660     labelsAxisLabelsTexts = texts;
661   }
662
663
664   /**
665    * Sets whether the title of the labels axis exists.
666    * @param existence If true, the title exists.
667    */

668   public final void setLabelsAxisTitleExistence (boolean existence) {
669
670     needsUpdate = true;
671     labelsAxisTitleExistence = existence;
672   }
673
674
675   /**
676    * Sets the text of the title of the labels axis.
677    * @param text The title of the labels axis.
678    */

679   public final void setLabelsAxisTitleText (String JavaDoc text) {
680
681     needsUpdate = true;
682     labelsAxisTitleText = text;
683   }
684
685
686   /**
687    * Sets the font point of the labels axis title for the chart's model
688    * size.
689    * @param point The model font point of the labels axis title.
690    */

691   public final void setLabelsAxisTitleFontPointModel (int point) {
692
693     needsUpdate = true;
694     labelsAxisTitleFontPointModel = point;
695   }
696
697
698   /**
699    * Sets the name of the font of the labels axis title.
700    * Accepts standard font names.
701    * @param name The name of the font of the labels axis title.
702    */

703   public final void setLabelsAxisTitleFontName (String JavaDoc name) {
704
705     needsUpdate = true;
706     labelsAxisTitleFontName = name;
707   }
708
709
710   /**
711    * Sets the color of the font of the labels axis title.
712    * @param color The color of the font of the labels axis title.
713    */

714   public final void setLabelsAxisTitleFontColor (Color JavaDoc color) {
715
716     needsUpdate = true;
717     labelsAxisTitleFontColor = color;
718   }
719
720
721   /**
722    * Sets the style of teh font of the labels axis title.
723    * Accepts standard values for font styles.
724    * @param style The style of the font of the labels axis title.
725    */

726   public final void setLabelsAxisTitleFontStyle (int style) {
727
728     needsUpdate = true;
729     labelsAxisTitleFontStyle = style;
730   }
731
732
733   /**
734    * Sets whether the gap above the labels axis title exists.
735    * @param existence If true, the gap exists.
736    */

737   public final void setLabelsAxisTitleBetweenRestGapExistence (boolean existence) {
738
739     needsUpdate = true;
740     labelsAxisTitleBetweenRestGapExistence = existence;
741   }
742
743
744   /**
745    * Sets the thickness of the gap above the labels axis title for the
746    * chart's model size.
747    * @param thickness The model thickness of the gap.
748    */

749   public final void setLabelsAxisTitleBetweenRestGapThicknessModel (int thickness) {
750
751     needsUpdate = true;
752     labelsAxisTitleBetweenRestGapThicknessModel = thickness;
753   }
754
755
756   /**
757    * Sets whether there exists ticks along the labels axis.
758    * @param existence If true, then they exist.
759    */

760   public final void setLabelsAxisTicksExistence (boolean existence) {
761
762     needsUpdate = true;
763     labelsAxisTicksExistence = existence;
764   }
765
766
767   /**
768    * Sets the size of the labels axis ticks for the chart's model size.
769    * @param size The model size of the labels axis ticks.
770    */

771   public final void setLabelsAxisTicksSizeModel (Dimension JavaDoc size) {
772
773     needsUpdate = true;
774     labelsAxisTicksSizeModel = size;
775   }
776
777
778   /**
779    * Sets the color of the labels axis ticks.
780    * @param color The color of the labels axis ticks.
781    */

782   public final void setLabelsAxisTicksColor (Color JavaDoc color) {
783
784     needsUpdate = true;
785     labelsAxisTicksColor = color;
786   }
787
788
789   /**
790    * Sets whether a thin line outlines the labels axis ticks.
791    * @param existence If true, then a thin outline exists.
792    */

793   public final void setLabelsAxisTicksOutlineExistence (boolean existence) {
794
795     needsUpdate = true;
796     labelsAxisTicksOutlineExistence = existence;
797   }
798
799
800   /**
801    * Sets the color of the thin line that outlines the labels axis ticks.
802    * @param color The color of the line that outlines the labels axis ticks.
803    */

804   public final void setLabelsAxisTicksOutlineColor (Color JavaDoc color) {
805
806     needsUpdate = true;
807     labelsAxisTicksOutlineColor = color;
808   }
809
810
811   /**
812    * Sets the point of the font of the labels axis labels for the chart's
813    * model size.
814    * @param point The model font point of the labels axis labels.
815    */

816   public final void setLabelsAxisLabelsFontPointModel (int point) {
817
818     needsUpdate = true;
819     labelsAxisLabelsFontPointModel = point;
820   }
821
822
823   /**
824    * Sets the name of the font of the labels of the labels axis.
825    * Accepts standard font names.
826    * @param name The name of the font.
827    */

828   public final void setLabelsAxisLabelsFontName (String JavaDoc name) {
829
830     needsUpdate = true;
831     labelsAxisLabelsFontName = name;
832   }
833
834
835   /**
836    * Sets the color of the font of the labels of the labels axis.
837    * @param color The color of the font.
838    */

839   public final void setLabelsAxisLabelsFontColor (Color JavaDoc color) {
840
841     needsUpdate = true;
842     labelsAxisLabelsFontColor = color;
843   }
844
845
846   /**
847    * Sets the style of the font of the labels axis labels.
848    * Accepts standard font styles.
849    * @param style The style of the font.
850    */

851   public final void setLabelsAxisLabelsFontStyle (int style) {
852
853     needsUpdate = true;
854     labelsAxisLabelsFontStyle = style;
855   }
856
857
858   /**
859    * Sets whether a gap between the labels or ticks exists, across.
860    * The gap will be applied to whichever are naturally closer.
861    * @param existence If true, the gap exists.
862    */

863   public final void setLabelsAxisBetweenLabelsOrTicksGapExistence (boolean existence) {
864
865     needsUpdate = true;
866     labelsAxisBetweenLabelsOrTicksGapExistence = existence;
867   }
868
869
870   /**
871    * Sets the thickness of the gap between the labels or ticks,
872    * across, for the chart's model size. The gap will be applied to
873    * whichever are naturally closer.
874    * @param thicknss The model thickness of the gap.
875    */

876   public final void setLabelsAxisBetweenLabelsOrTicksGapThicknessModel (int thickness) {
877
878     needsUpdate = true;
879     labelsAxisBetweenLabelsOrTicksGapThicknessModel = thickness;
880   }
881
882
883   /**
884    * Sets whether a gap between the labels and ticks exists, between.
885    * @param existence If true, the gap exists.
886    */

887   public final void setLabelsAxisBetweenLabelsAndTicksGapExistence (boolean existence) {
888
889     needsUpdate = true;
890     labelsAxisBetweenLabelsAndTicksGapExistence = existence;
891   }
892
893
894   /**
895    * Sets the thickness of the gap between the labels and ticks,
896    * between, for the chart's model size.
897    * @param thickness The model thickness of the gap.
898    */

899   public final void setLabelsAxisBetweenLabelsAndTicksGapThicknessModel (int thickness) {
900
901     needsUpdate = true;
902     labelsAxisBetweenLabelsAndTicksGapThicknessModel = thickness;
903   }
904
905
906   /**
907    * Sets whether the title of the numbers axis exists.
908    * @param existence If true, the title exists.
909    */

910   public final void setNumbersAxisTitleExistence (boolean existence) {
911
912     needsUpdate = true;
913     numbersAxisTitleExistence = existence;
914   }
915
916
917   /**
918    * Sets the text of the title of the numbers axis.
919    * @param text The title of the numbers axis.
920    */

921   public final void setNumbersAxisTitleText (String JavaDoc text) {
922
923     needsUpdate = true;
924     numbersAxisTitleText = text;
925   }
926
927
928   /**
929    * Sets the font point of the numbers axis title for the chart's model
930    * size.
931    * @param point The model font point of the numbers axis title.
932    */

933   public final void setNumbersAxisTitleFontPointModel (int point) {
934
935     needsUpdate = true;
936     numbersAxisTitleFontPointModel = point;
937   }
938
939
940   /**
941    * Sets the name of the font of the numbers axis title.
942    * Accepts standard font names.
943    * @param name The name of the font of the numbers axis title.
944    */

945   public final void setNumbersAxisTitleFontName (String JavaDoc name) {
946
947     needsUpdate = true;
948     numbersAxisTitleFontName = name;
949   }
950
951
952   /**
953    * Sets the color of the font of the numbers axis title.
954    * @param color The color of the font of the numbers axis title.
955    */

956   public final void setNumbersAxisTitleFontColor (Color JavaDoc color) {
957
958     needsUpdate = true;
959     numbersAxisTitleFontColor = color;
960   }
961
962
963   /**
964    * Sets the style of teh font of the numbers axis title.
965    * Accepts standard values for font styles.
966    * @param style The style of the font of the numbers axis title.
967    */

968   public final void setNumbersAxisTitleFontStyle (int style) {
969
970     needsUpdate = true;
971     numbersAxisTitleFontStyle = style;
972   }
973
974
975   /**
976    * Sets whether the gap right of the numbers axis title exists.
977    * @param existence If true, the gap exists.
978    */

979   public final void setNumbersAxisTitleBetweenRestGapExistence (boolean existence) {
980
981     needsUpdate = true;
982     numbersAxisTitleBetweenRestGapExistence = existence;
983   }
984
985
986   /**
987    * Sets the thickness of the gap right of the numbers axis title for the
988    * chart's model size.
989    * @param thickness The model thickness of the gap.
990    */

991   public final void setNumbersAxisTitleBetweenRestGapThicknessModel (int thickness) {
992
993     needsUpdate = true;
994     numbersAxisTitleBetweenRestGapThicknessModel = thickness;
995   }
996
997
998   /**
999    * Sets whether there exists ticks along the numbers axis.
1000   * @param existence If true, then they exist.
1001   */

1002  public final void setNumbersAxisTicksExistence (boolean existence) {
1003
1004    needsUpdate = true;
1005    numbersAxisTicksExistence = existence;
1006  }
1007
1008
1009  /**
1010   * Sets the size of the numbers axis ticks for the chart's model size.
1011   * @param size The model size of the numbers axis ticks.
1012   */

1013  public final void setNumbersAxisTicksSizeModel (Dimension JavaDoc size) {
1014
1015    needsUpdate = true;
1016    numbersAxisTicksSizeModel = size;
1017  }
1018
1019
1020  /**
1021   * Sets the color of the numbers axis ticks.
1022   * @param color The color of the numbers axis ticks.
1023   */

1024  public final void setNumbersAxisTicksColor (Color JavaDoc color) {
1025
1026    needsUpdate = true;
1027    numbersAxisTicksColor = color;
1028  }
1029
1030
1031  /**
1032   * Sets whether a thin line outlines the numbers axis ticks.
1033   * @param existence If true, then a thin outline exists.
1034   */

1035  public final void setNumbersAxisTicksOutlineExistence (boolean existence) {
1036
1037    needsUpdate = true;
1038    numbersAxisTicksOutlineExistence = existence;
1039  }
1040
1041
1042  /**
1043   * Sets the color of the thin line that outlines the numbers axis ticks.
1044   * @param color The color of the line that outliens the numbers axis ticks.
1045   */

1046  public final void setNumbersAxisTicksOutlineColor (Color JavaDoc color) {
1047
1048    needsUpdate = true;
1049    numbersAxisTicksOutlineColor = color;
1050  }
1051
1052
1053  /**
1054   * Sets the number of labels in the numbers axis.
1055   * @param num The number of labels in the numbers axis.
1056   */

1057  public final void setNumbersAxisNumLabels (int num) {
1058
1059    needsUpdate = true;
1060    numbersAxisNumLabels = num;
1061  }
1062
1063
1064  /**
1065   * Sets the point of the font of the numbers axis labels for the chart's
1066   * model size.
1067   * @param point The model font point of the numbers axis labels.
1068   */

1069  public final void setNumbersAxisLabelsFontPointModel (int point) {
1070
1071    needsUpdate = true;
1072    numbersAxisLabelsFontPointModel = point;
1073  }
1074
1075
1076  /**
1077   * Sets the name of the font of the labels of the numbers axis.
1078   * Accepts standard font names.
1079   * @param name The name of the font.
1080   */

1081  public final void setNumbersAxisLabelsFontName (String JavaDoc name) {
1082
1083    needsUpdate = true;
1084    numbersAxisLabelsFontName = name;
1085  }
1086
1087
1088  /**
1089   * Sets the color of the font of the labels of the numbers axis.
1090   * @param color The color of the font.
1091   */

1092  public final void setNumbersAxisLabelsFontColor (Color JavaDoc color) {
1093
1094    needsUpdate = true;
1095    numbersAxisLabelsFontColor = color;
1096  }
1097
1098
1099  /**
1100   * Sets the style of the font of the numbers axis labels.
1101   * Accepts standard font styles.
1102   * @param style The style of the font.
1103   */

1104  public final void setNumbersAxisLabelsFontStyle (int style) {
1105
1106    needsUpdate = true;
1107    numbersAxisLabelsFontStyle = style;
1108  }
1109
1110
1111  /**
1112   * Sets whether a gap between the labels or ticks exists, vertically.
1113   * The gap will be applied to whichever are naturally closer.
1114   * @param existence If true, the gap exists.
1115   */

1116  public final void setNumbersAxisBetweenLabelsOrTicksGapExistence (boolean existence) {
1117
1118    needsUpdate = true;
1119    numbersAxisBetweenLabelsOrTicksGapExistence = existence;
1120  }
1121
1122
1123  /**
1124   * Sets the thickness of the gap between the labels or ticks,
1125   * vertically, for the chart's model size. The gap will be applied to
1126   * whichever are naturally closer.
1127   * @param thicknss The model thickness of the gap.
1128   */

1129  public final void setNumbersAxisBetweenLabelsOrTicksGapThicknessModel (int thickness) {
1130
1131    needsUpdate = true;
1132    numbersAxisBetweenLabelsOrTicksGapThicknessModel = thickness;
1133  }
1134
1135
1136  /**
1137   * Sets whether a gap between the labels and ticks exists,
1138   * horizontally.
1139   * @param existence If true, the gap exists.
1140   */

1141  public final void setNumbersAxisBetweenLabelsAndTicksGapExistence (boolean existence) {
1142
1143    needsUpdate = true;
1144    numbersAxisBetweenLabelsAndTicksGapExistence = existence;
1145  }
1146
1147
1148  /**
1149   * Sets the thickness of the gap between the labels and ticks,
1150   * horizontally, for the chart's model size.
1151   * @param thickness The model thickness of the gap.
1152   */

1153  public final void setNumbersAxisBetweenLabelsAndTicksGapThicknessModel (int thickness) {
1154
1155    needsUpdate = true;
1156    numbersAxisBetweenLabelsAndTicksGapThicknessModel = thickness;
1157  }
1158
1159
1160  /**
1161   * Sets whether the graph components have different colors across sets (or across cats).
1162   * @param b If true, then colors across sets.
1163   */

1164  public final void setGraphComponentsColoringByCat (boolean b) {
1165
1166    needsUpdate = true;
1167    graphComponentsColoringByCat = b;
1168  }
1169
1170
1171  /**
1172   * Sets the color properties for the colors by cat coloring.
1173   * @param props The properties of the colors by cat coloring.
1174   */

1175  public final void setGraphComponentsColorsByCat (MultiColorsProperties props) {
1176
1177    needsUpdate = true;
1178    for (int i = 0; i < graphChart2DVector.size(); ++i) {
1179
1180      if (graphComponentsColorsByCat != null) {
1181        graphComponentsColorsByCat.removeObject2D ((GraphChart2D)graphChart2DVector.get (i));
1182      }
1183      if (props != null) props.addObject2D ((GraphChart2D)graphChart2DVector.get (i));
1184    }
1185    graphComponentsColorsByCat = props;
1186  }
1187
1188
1189  /**
1190   * Gets whether the true greatest value in the data sets will be
1191   * substituted by the custom value.
1192   * This effects the range of the labels of the numbers axis.
1193   * @return boolean If true, the greatest value of the data will be
1194   * customized.
1195   */

1196  public final boolean getChartDatasetCustomizeGreatestValue() {
1197    return chartDatasetCustomizeGreatestValue;
1198  }
1199
1200
1201  /**
1202   * Gets the custom greatest value of the data sets. This value must be
1203   * greater than or equal to the true greatest value of the data sets for it
1204   * to be used.
1205   * This effects the scale of the labels of the numbers axis.
1206   * @return float The custom greatest value of the data sets.
1207   */

1208  public final float getChartDatasetCustomGreatestValue() {
1209    return chartDatasetCustomGreatestValue;
1210  }
1211
1212
1213  /**
1214   * Gets whether the true least value in the data sets will be
1215   * substituted by the custom value.
1216   * This effects the range of the labels of the numbers axis.
1217   * @return boolean If true, the least value of the data will be
1218   * customized.
1219   */

1220  public final boolean getChartDatasetCustomizeLeastValue() {
1221    return chartDatasetCustomizeLeastValue;
1222  }
1223
1224
1225  /**
1226   * Gets the custom least value of the data sets. This value must be
1227   * less than or equal to the true least value of the data sets for it
1228   * to be used.
1229   * This effects the scale of the labels of the numbers axis.
1230   * @return float The custom least value of the data sets.
1231   */

1232  public final float getChartDatasetCustomLeastValue() {
1233    return chartDatasetCustomLeastValue;
1234  }
1235
1236
1237  /**
1238   * Gets how much of the chart's graph is used by the graph's components.
1239   * This value must be: 0f <= value <= 1f.
1240   * This effects the scale of the labels of the numbers axis.
1241   * @return float The ratio of usable to available of the graph.
1242   */

1243  public float getChartGraphableToAvailableRatio() {
1244    return chartGraphableToAvailableRatio;
1245  }
1246
1247
1248  /**
1249   * Gets the existence of the labels axis. If existence is false, then the labels axis won't
1250   * be painted and the axis' texts won't need to be set.
1251   * @return If true, then exists.
1252   */

1253  public final boolean getLabelsAxisExistence() {
1254    return labelsAxisExistence;
1255  }
1256
1257
1258  /**
1259   * Gets the placement of the ticks on the labels axis. The ticks may
1260   * be either between the labels axis labels (ie for bar charts) or centered
1261   * on each labels axis label (ie for other charts).
1262   * The possible values are BETWEEN and CENTERED.
1263   * @return int The alignment of the labels axis ticks.
1264   */

1265  public final int getLabelsAxisTicksAlignment() {
1266    return labelsAxisTicksAlignment;
1267  }
1268
1269
1270  /**
1271   * Gets the text of each labels axis label. This determines how many
1272   * categories the data in the data sets are split into.
1273   * @return String[] The texts of the labels axis labels.
1274   */

1275  public final String JavaDoc[] getLabelsAxisLabelsTexts() {
1276    return labelsAxisLabelsTexts;
1277  }
1278
1279
1280  /**
1281   * Gets whether the title of the labels axis exists.
1282   * @return boolean If true, the title exists.
1283   */

1284  public final boolean getLabelsAxisTitleExistence() {
1285    return labelsAxisTitleExistence;
1286  }
1287
1288
1289  /**
1290   * Gets the text of the title of the labels axis.
1291   * @return String The title of the labels axis.
1292   */

1293  public final String JavaDoc getLabelsAxisTitleText() {
1294    return labelsAxisTitleText;
1295  }
1296
1297
1298  /**
1299   * Gets the font point of the labels axis title for the chart's model size.
1300   * @return int The model font point of the labels axis title.
1301   */

1302  public final int getLabelsAxisTitleFontPointModel() {
1303    return labelsAxisTitleFontPointModel;
1304  }
1305
1306
1307  /**
1308   * Gets the name of the font of the labels axis title.
1309   * Accepts standard font names.
1310   * @return String The name of the font of the labels axis title.
1311   */

1312  public final String JavaDoc getLabelsAxisTitleFontName() {
1313    return labelsAxisTitleFontName;
1314  }
1315
1316
1317  /**
1318   * Gets the color of the font of the labels axis title.
1319   * @return Color The color of the font of the labels axis title.
1320   */

1321  public final Color JavaDoc getLabelsAxisTitleFontColor() {
1322    return labelsAxisTitleFontColor;
1323  }
1324
1325
1326  /**
1327   * Gets the style of teh font of the labels axis title.
1328   * Accepts standard values for font styles.
1329   * @return int The style of the font of the labels axis title.
1330   */

1331  public final int getLabelsAxisTitleFontStyle() {
1332    return labelsAxisTitleFontStyle;
1333  }
1334
1335
1336  /**
1337   * Gets whether the gap above the labels axis title exists.
1338   * @return boolean If true, the gap exists.
1339   */

1340  public final boolean getLabelsAxisTitleBetweenRestGapExistence() {
1341    return labelsAxisTitleBetweenRestGapExistence;
1342  }
1343
1344
1345  /**
1346   * Gets the thickness of the gap above the labels axis title for the
1347   * chart's model size.
1348   * @return int The model thickness of the gap.
1349   */

1350  public final int getLabelsAxisTitleBetweenRestGapThicknessModel() {
1351    return labelsAxisTitleBetweenRestGapThicknessModel;
1352  }
1353
1354
1355  /**
1356   * Gets whether there exists ticks along the numbers axis.
1357   * @return If true, then they exist.
1358   */

1359  public final boolean getNumbersAxisTicksExistence() {
1360    return numbersAxisTicksExistence;
1361  }
1362
1363
1364  /**
1365   * Gets whether there exists ticks along the labels axis.
1366   * @return If true, then they exist.
1367   */

1368  public final boolean getLabelsAxisTicksExistence() {
1369    return labelsAxisTicksExistence;
1370  }
1371
1372
1373  /**
1374   * Gets the size of the labels axis ticks for the chart's model size.
1375   * @return Dimension The model size of the labels axis ticks.
1376   */

1377  public final Dimension JavaDoc getLabelsAxisTicksSizeModel() {
1378    return labelsAxisTicksSizeModel;
1379  }
1380
1381
1382  /**
1383   * Gets the color of the labels axis ticks.
1384   * @return Color The color of the labels axis ticks.
1385   */

1386  public final Color JavaDoc getLabelsAxisTicksColor() {
1387    return labelsAxisTicksColor;
1388  }
1389
1390
1391  /**
1392   * Gets whether a thin line outlines the labels axis ticks.
1393   * @return boolean If true, then a thin outline exists.
1394   */

1395  public final boolean getLabelsAxisTicksOutlineExistence() {
1396    return labelsAxisTicksOutlineExistence;
1397  }
1398
1399
1400  /**
1401   * Gets the color of the thin line that outlines the labels axis ticks.
1402   * @return Color The color of the line that outliens the labels axis ticks.
1403   */

1404  public final Color JavaDoc getLabelsAxisTicksOutlineColor() {
1405    return labelsAxisTicksOutlineColor;
1406  }
1407
1408
1409  /**
1410   * Gets the point of the font of the labels axis labels for the chart's
1411   * model size.
1412   * @return int The model font point of the labels axis labels.
1413   */

1414  public final int getLabelsAxisLabelsFontPointModel() {
1415    return labelsAxisLabelsFontPointModel;
1416  }
1417
1418
1419  /**
1420   * Gets the name of the font of the labels of the labels axis.
1421   * Accepts standard font names.
1422   * @return String The name of the font.
1423   */

1424  public final String JavaDoc getLabelsAxisLabelsFontName() {
1425    return labelsAxisLabelsFontName;
1426  }
1427
1428
1429  /**
1430   * Gets the color of the font of the labels of the labels axis.
1431   * @return Color The color of the font.
1432   */

1433  public final Color JavaDoc getLabelsAxisLabelsFontColor() {
1434    return labelsAxisLabelsFontColor;
1435  }
1436
1437
1438  /**
1439   * Gets the style of the font of the labels axis labels.
1440   * Accepts standard font styles.
1441   * @return int The style of the font.
1442   */

1443  public final int getLabelsAxisLabelsFontStyle() {
1444    return labelsAxisLabelsFontStyle;
1445  }
1446
1447
1448  /**
1449   * Gets whether a gap between the labels or ticks exists, horizontally.
1450   * The gap will be applied to whichever are naturally closer.
1451   * @return boolean If true, the gap exists.
1452   */

1453  public final boolean getLabelsAxisBetweenLabelsOrTicksGapExistence() {
1454    return labelsAxisBetweenLabelsOrTicksGapExistence;
1455  }
1456
1457
1458  /**
1459   * Gets the thickness of the gap between the labels or ticks,
1460   * horizontally, for the chart's model size. The gap will be applied to
1461   * whichever are naturally closer.
1462   * @return int The model thickness of the gap.
1463   */

1464  public final int getLabelsAxisBetweenLabelsOrTicksGapThicknessModel() {
1465    return labelsAxisBetweenLabelsOrTicksGapThicknessModel;
1466  }
1467
1468
1469  /**
1470   * Gets whether a gap between the labels and ticks exists, vertically.
1471   * @return boolean If true, the gap exists.
1472   */

1473  public final boolean getLabelsAxisBetweenLabelsAndTicksGapExistence() {
1474    return labelsAxisBetweenLabelsAndTicksGapExistence;
1475  }
1476
1477
1478  /**
1479   * Gets the thickness of the gap between the labels and ticks,
1480   * vertically, for the chart's model size.
1481   * @return int The model thickness of the gap.
1482   */

1483  public final int getLabelsAxisBetweenLabelsAndTicksGapThicknessModel() {
1484    return labelsAxisBetweenLabelsAndTicksGapThicknessModel;
1485  }
1486
1487
1488  /**
1489   * Gets whether the title of the numbers axis exists.
1490   * @return boolean If true, the title exists.
1491   */

1492  public final boolean getNumbersAxisTitleExistence() {
1493    return numbersAxisTitleExistence;
1494  }
1495
1496
1497  /**
1498   * Gets the text of the title of the numbers axis.
1499   * @return String The title of the numbers axis.
1500   */

1501  public final String JavaDoc getNumbersAxisTitleText() {
1502    return numbersAxisTitleText;
1503  }
1504
1505
1506  /**
1507   * Gets the font point of the numbers axis title for the chart's model
1508   * size.
1509   * @return int The model font point of the numbers axis title.
1510   */

1511  public final int getNumbersAxisTitleFontPointModel() {
1512    return numbersAxisTitleFontPointModel;
1513  }
1514
1515
1516  /**
1517   * Gets the name of the font of the numbers axis title.
1518   * Accepts standard font names.
1519   * @return String The name of the font of the numbers axis title.
1520   */

1521  public final String JavaDoc getNumbersAxisTitleFontName() {
1522    return numbersAxisTitleFontName;
1523  }
1524
1525
1526  /**
1527   * Gets the color of the font of the numbers axis title.
1528   * @return Color The color of the font of the numbers axis title.
1529   */

1530  public final Color JavaDoc getNumbersAxisTitleFontColor() {
1531    return numbersAxisTitleFontColor;
1532  }
1533
1534
1535  /**
1536   * Gets the style of teh font of the numbers axis title.
1537   * Accepts standard values for font styles.
1538   * @return int The style of the font of the numbers axis title.
1539   */

1540  public final int getNumbersAxisTitleFontStyle() {
1541    return numbersAxisTitleFontStyle;
1542  }
1543
1544
1545  /**
1546   * Gets whether the gap right of the numbers axis title exists.
1547   * @return boolean If true, the gap exists.
1548   */

1549  public final boolean getNumbersAxisTitleBetweenRestGapExistence() {
1550    return numbersAxisTitleBetweenRestGapExistence;
1551  }
1552
1553
1554  /**
1555   * Gets the thickness of the gap right of the numbers axis title for the
1556   * chart's model size.
1557   * @return int The model thickness of the gap.
1558   */

1559  public final int getNumbersAxisTitleBetweenRestGapThicknessModel() {
1560    return numbersAxisTitleBetweenRestGapThicknessModel;
1561  }
1562
1563
1564  /**
1565   * Gets the size of the numbers axis ticks for the chart's model size.
1566   * @return Dimension The model size of the numbers axis ticks.
1567   */

1568  public final Dimension JavaDoc getNumbersAxisTicksSizeModel() {
1569    return numbersAxisTicksSizeModel;
1570  }
1571
1572
1573  /**
1574   * Gets the color of the numbers axis ticks.
1575   * @return Color The color of the numbers axis ticks.
1576   */

1577  public final Color JavaDoc getNumbersAxisTicksColor() {
1578    return numbersAxisTicksColor;
1579  }
1580
1581
1582  /**
1583   * Gets whether a thin line outlines the numbers axis ticks.
1584   * @return boolean If true, then a thin outline exists.
1585   */

1586  public final boolean getNumbersAxisTicksOutlineExistence() {
1587    return numbersAxisTicksOutlineExistence;
1588  }
1589
1590
1591  /**
1592   * Gets the color of the thin line that outlines the numbers axis ticks.
1593   * @return Color The color of the thin line that outliens the numbers axis
1594   * ticks.
1595   */

1596  public final Color JavaDoc getNumbersAxisTicksOutlineColor() {
1597    return numbersAxisTicksOutlineColor;
1598  }
1599
1600
1601  /**
1602   * Gets the number of labels in the numbers axis.
1603   * @return int The number of labels in the numbers axis.
1604   */

1605  public final int getNumbersAxisNumLabels() {
1606    return numbersAxisNumLabels;
1607  }
1608
1609
1610  /**
1611   * Gets the point of the font of the numbers axis labels for the chart's
1612   * model size.
1613   * @return int The model font point of the numbers axis labels.
1614   */

1615  public final int getNumbersAxisLabelsFontPointModel() {
1616    return numbersAxisLabelsFontPointModel;
1617  }
1618
1619
1620  /**
1621   * Gets the name of the font of the labels of the numbers axis.
1622   * Accepts standard font names.
1623   * @return String The name of the font.
1624   */

1625  public final String JavaDoc getNumbersAxisLabelsFontName() {
1626    return numbersAxisLabelsFontName;
1627  }
1628
1629
1630  /**
1631   * Gets the color of the font of the labels of the numbers axis.
1632   * @return Color The color of the font.
1633   */

1634  public final Color JavaDoc getNumbersAxisLabelsFontColor() {
1635    return numbersAxisLabelsFontColor;
1636  }
1637
1638
1639  /**
1640   * Gets the style of the font of the numbers axis labels.
1641   * Accepts standard font styles.
1642   * @return int The style of the font.
1643   */

1644  public final int getNumbersAxisLabelsFontStyle() {
1645    return numbersAxisLabelsFontStyle;
1646  }
1647
1648
1649  /**
1650   * Gets whether a gap between the labels or ticks exists, vertically.
1651   * The gap will be applied to whichever are naturally closer.
1652   * @return boolean If true, the gap exists.
1653   */

1654  public final boolean getNumbersAxisBetweenLabelsOrTicksGapExistence() {
1655    return numbersAxisBetweenLabelsOrTicksGapExistence;
1656  }
1657
1658
1659  /**
1660   * Gets the thickness of the gap between the labels or ticks,
1661   * vertically, for the chart's model size. The gap will be applied to
1662   * whichever are naturally closer.
1663   * @return int The model thickness of the gap.
1664   */

1665  public final int getNumbersAxisBetweenLabelsOrTicksGapThicknessModel() {
1666    return numbersAxisBetweenLabelsOrTicksGapThicknessModel;
1667  }
1668
1669
1670  /**
1671   * Gets whether a gap between the labels and ticks exists,
1672   * horizontally.
1673   * @return boolean If true, the gap exists.
1674   */

1675  public final boolean getNumbersAxisBetweenLabelsAndTicksGapExistence() {
1676    return numbersAxisBetweenLabelsAndTicksGapExistence;
1677  }
1678
1679
1680  /**
1681   * Gets the thickness of the gap between the labels and ticks,
1682   * horizontally, for the chart's model size.
1683   * @return int The model thickness of the gap.
1684   */

1685  public final int getNumbersAxisBetweenLabelsAndTicksGapThicknessModel() {
1686    return numbersAxisBetweenLabelsAndTicksGapThicknessModel;
1687  }
1688
1689
1690  /**
1691   * Gets whether the graph components have different colors across sets (or across cats).
1692   * @return If true, then colors across sets.
1693   */

1694  public final boolean getGraphComponentsColoringByCat() {
1695    return graphComponentsColoringByCat;
1696  }
1697
1698
1699  /**
1700   * Sets the color properties for the colors by cat coloring.
1701   * @return The properties of the colors by cat coloring.
1702   */

1703  public final MultiColorsProperties getGraphComponentsColorsByCat() {
1704    return graphComponentsColorsByCat;
1705  }
1706
1707
1708  /**
1709   * Gets whether this object needs to be updated with new properties.
1710   * @param graphChart2D The object that may need to be updated.
1711   * @return If true then needs update.
1712   */

1713  final boolean getGraphChart2DNeedsUpdate (GraphChart2D graphChart2D) {
1714
1715    if (needsUpdate) return true;
1716
1717    if (graphComponentsColoringByCat &&
1718      graphComponentsColorsByCat.getObject2DNeedsUpdate (graphChart2D)) return true;
1719    int index = -1;
1720
1721    if ((index = graphChart2DVector.indexOf (graphChart2D)) != -1) {
1722      return ((Boolean JavaDoc)needsUpdateVector.get (index)).booleanValue();
1723    }
1724    return false;
1725  }
1726
1727
1728  /**
1729   * Adds a GraphChart2D to the set of objects using these properties.
1730   * @param graphChart2D The object to add.
1731   */

1732  final void addGraphChart2D (GraphChart2D graphChart2D) {
1733
1734    if (!graphChart2DVector.contains (graphChart2D)) {
1735      if (graphComponentsColorsByCat != null) graphComponentsColorsByCat.addObject2D (graphChart2D);
1736      graphChart2DVector.add (graphChart2D);
1737      needsUpdateVector.add (new Boolean JavaDoc (true));
1738    }
1739  }
1740
1741
1742  /**
1743   * Removes a GraphChart2D from the set of objects using these properties.
1744   * @param graphChart2D The object to remove.
1745   */

1746  final void removeGraphChart2D (GraphChart2D graphChart2D) {
1747
1748    int index = -1;
1749    if ((index = graphChart2DVector.indexOf (graphChart2D)) != -1) {
1750      if (graphComponentsColorsByCat != null) {
1751        graphComponentsColorsByCat.removeObject2D (graphChart2D);
1752      }
1753      graphChart2DVector.remove (index);
1754      needsUpdateVector.remove (index);
1755    }
1756  }
1757
1758
1759  /**
1760   * Validates the properties of this object.
1761   * If debug is true then prints a messages indicating whether each property is valid.
1762   * Returns true if all the properties were valid and false otherwise.
1763   * @param debug If true then will print status messages.
1764   * @return If true then valid.
1765   */

1766  final boolean validate (boolean debug) {
1767
1768    if (debug) System.out.println ("Validating GraphChart2DProperties");
1769
1770    boolean valid = true;
1771
1772    if (chartGraphableToAvailableRatio < 0f || chartGraphableToAvailableRatio > 1f) {
1773      valid = false;
1774      if (debug) System.out.println ("Problem with ChartGraphableToAvailableRatio");
1775    }
1776    if (numbersAxisNumLabels < 2) {
1777      valid = false;
1778      if (debug) System.out.println ("NumbersAxisNumLabels < 2");
1779    }
1780    if (labelsAxisTicksAlignment != BETWEEN && labelsAxisTicksAlignment != CENTERED) {
1781      valid = false;
1782      if (debug) System.out.println ("Problem with LabelsAxisTicksAlignment");
1783    }
1784    if (labelsAxisLabelsTexts == null) {
1785      valid = false;
1786      if (debug) System.out.println ("LabelsAxisLabelsTexts == null");
1787    }
1788    if (labelsAxisTitleText == null) {
1789      valid = false;
1790      if (debug) System.out.println ("LabelsAxisTitleText == null");
1791    }
1792    if (labelsAxisTitleFontPointModel < 0) {
1793      valid = false;
1794      if (debug) System.out.println ("LabelsAxisTitleFontPointModel < 0");
1795    }
1796    if (labelsAxisTitleFontName == null || !isFontNameExists (labelsAxisTitleFontName)) {
1797      valid = false;
1798      if (debug) System.out.println ("Problem with LabelsAxisTitleFontName");
1799    }
1800    if (labelsAxisTitleFontColor == null) {
1801      valid = false;
1802      if (debug) System.out.println ("LabelsAxisTitleFontColor == null");
1803    }
1804    if (labelsAxisTitleFontStyle != Font.PLAIN &&
1805      labelsAxisTitleFontStyle != Font.ITALIC &&
1806      labelsAxisTitleFontStyle != Font.BOLD &&
1807      labelsAxisTitleFontStyle != (Font.ITALIC|Font.BOLD)) {
1808      valid = false;
1809      if (debug) System.out.println ("Problem with LabelsAxisTitleFontStyle");
1810    }
1811    if (labelsAxisTitleBetweenRestGapThicknessModel < 0) {
1812      valid = false;
1813      if (debug) System.out.println ("LabelsAxisTitleBetweenRestGapThicknessModel < 0");
1814    }
1815    if (labelsAxisTicksSizeModel == null ||
1816      labelsAxisTicksSizeModel.width < 0 || labelsAxisTicksSizeModel.height < 0) {
1817      valid = false;
1818      if (debug) System.out.println ("Problem with LabelsAxisTicksSizeModel");
1819    }
1820    if (labelsAxisTicksColor == null) {
1821      valid = false;
1822      if (debug) System.out.println ("LabelsAxisTicksColor == null");
1823    }
1824    if (labelsAxisTicksOutlineColor == null) {
1825      valid = false;
1826      if (debug) System.out.println ("LabelsAxisTicksOutlineColor == null");
1827    }
1828    if (labelsAxisLabelsFontPointModel < 0) {
1829      valid = false;
1830      if (debug) System.out.println ("LabelsAxisLabelsFontPointModel < 0");
1831    }
1832    if (labelsAxisLabelsFontName == null || !isFontNameExists (labelsAxisLabelsFontName)) {
1833      valid = false;
1834      if (debug) System.out.println ("Problem with LabelsAxisLabelsFontName");
1835    }
1836    if (labelsAxisLabelsFontColor == null) {
1837      valid = false;
1838      if (debug) System.out.println ("LabelsAxisLabelsFontColor == null");
1839    }
1840    if (labelsAxisLabelsFontStyle != Font.PLAIN &&
1841      labelsAxisLabelsFontStyle != Font.ITALIC &&
1842      labelsAxisLabelsFontStyle != Font.BOLD &&
1843      labelsAxisLabelsFontStyle != (Font.ITALIC|Font.BOLD)) {
1844      valid = false;
1845      if (debug) System.out.println ("Problem with LabelsAxisLabelsFontStyle");
1846    }
1847    if (labelsAxisBetweenLabelsOrTicksGapThicknessModel < 0) {
1848      valid = false;
1849      if (debug) System.out.println ("LabelsAxisBetweenLabelsOrTicksGapThicknessModel < 0");
1850    }
1851    if (labelsAxisBetweenLabelsAndTicksGapThicknessModel < 0) {
1852      valid = false;
1853      if (debug) System.out.println ("LabelsAxisBetweenLabelsAndTicksGapThicknessModel < 0");
1854    }
1855    if (numbersAxisTitleText == null) {
1856      valid = false;
1857      if (debug) System.out.println ("NumbersAxisTitleText == null");
1858    }
1859    if (numbersAxisTitleFontPointModel < 0) {
1860      valid = false;
1861      if (debug) System.out.println ("NumbersAxisTitleFontPointModel < 0");
1862    }
1863    if (numbersAxisTitleFontName == null || !isFontNameExists (numbersAxisTitleFontName)) {
1864      valid = false;
1865      if (debug) System.out.println ("Problem with NumbersAxisTitleFontName");
1866    }
1867    if (numbersAxisTitleFontColor == null) {
1868      valid = false;
1869      if (debug) System.out.println ("NumbersAxisTitleFontColor == null");
1870    }
1871    if (numbersAxisTitleFontStyle != Font.PLAIN &&
1872      numbersAxisTitleFontStyle != Font.ITALIC &&
1873      numbersAxisTitleFontStyle != Font.BOLD &&
1874      numbersAxisTitleFontStyle != (Font.ITALIC|Font.BOLD)) {
1875      valid = false;
1876      if (debug) System.out.println ("Problem with NumbersAxisTitleFontStyle");
1877    }
1878    if (numbersAxisTitleBetweenRestGapThicknessModel < 0) {
1879      valid = false;
1880      if (debug) System.out.println ("NumbersAxisTitleBetweenRestGapThicknessModel < 0");
1881    }
1882    if (numbersAxisTicksSizeModel == null ||
1883      numbersAxisTicksSizeModel.width < 0 || numbersAxisTicksSizeModel.height < 0) {
1884      valid = false;
1885      if (debug) System.out.println ("Problem with NumbersAxisTicksSizeModel");
1886    }
1887    if (numbersAxisTicksColor == null) {
1888      valid = false;
1889      if (debug) System.out.println ("NumbersAxisTicksColor == null");
1890    }
1891    if (numbersAxisTicksOutlineColor == null) {
1892      valid = false;
1893      if (debug) System.out.println ("NumbersAxisTicksOutlineColor == null");
1894    }
1895    if (numbersAxisLabelsFontPointModel < 0) {
1896      valid = false;
1897      if (debug) System.out.println ("NumbersAxisLabelsFontPointModel < 0");
1898    }
1899    if (numbersAxisLabelsFontName == null || !isFontNameExists (numbersAxisLabelsFontName)) {
1900      valid = false;
1901      if (debug) System.out.println ("Problem with NumbersAxisLabelsFontName");
1902    }
1903    if (numbersAxisLabelsFontColor == null) {
1904      valid = false;
1905      if (debug) System.out.println ("NumbersAxisLabelsFontColor == null");
1906    }
1907    if (numbersAxisLabelsFontStyle != Font.PLAIN &&
1908      numbersAxisLabelsFontStyle != Font.ITALIC &&
1909      numbersAxisLabelsFontStyle != Font.BOLD &&
1910      numbersAxisLabelsFontStyle != (Font.ITALIC|Font.BOLD)) {
1911      valid = false;
1912      if (debug) System.out.println ("Problem with NumbersAxisLabelsFontStyle");
1913    }
1914    if (numbersAxisBetweenLabelsOrTicksGapThicknessModel < 0) {
1915      valid = false;
1916      if (debug) System.out.println ("NumbersAxisBetweenLabelsOrTicksGapThicknessModel < 0");
1917    }
1918    if (numbersAxisBetweenLabelsAndTicksGapThicknessModel < 0) {
1919      valid = false;
1920      if (debug) System.out.println ("NumbersAxisBetweenLabelsAndTicksGapThicknessModel < 0");
1921    }
1922    if (numbersAxisBetweenLabelsAndTicksGapThicknessModel < 0) {
1923      valid = false;
1924      if (debug) System.out.println ("NumbersAxisBetweenLabelsAndTicksGapThicknessModel < 0");
1925    }
1926    if (graphComponentsColoringByCat) {
1927
1928      if (graphComponentsColorsByCat == null) {
1929        valid = false;
1930        if (debug) System.out.println ("GraphComponentsColorsByCat == null");
1931      }
1932      else if (!graphComponentsColorsByCat.validate (debug)) valid = false;
1933    }
1934
1935    if (debug) {
1936      if (valid) System.out.println ("GraphChart2DProperties was valid");
1937      else System.out.println ("GraphChart2DProperties was invalid");
1938    }
1939
1940    return valid;
1941  }
1942
1943
1944  /**
1945   * Updates the properties of this GraphChart2D.
1946   * @param graphChart2D The GraphChart2D to update.
1947   */

1948  final void updateGraphChart2D (GraphChart2D graphChart2D) {
1949
1950    if (getGraphChart2DNeedsUpdate (graphChart2D)) {
1951
1952      if (needsUpdate) {
1953        for (int i = 0; i < needsUpdateVector.size(); ++i) {
1954          needsUpdateVector.set (i, new Boolean JavaDoc (true));
1955        }
1956        needsUpdate = false;
1957      }
1958
1959      if (graphComponentsColorsByCat != null) {
1960        graphComponentsColorsByCat.updateObject2D (graphChart2D);
1961      }
1962
1963      int index = -1;
1964      if ((index = graphChart2DVector.indexOf (graphChart2D)) != -1) {
1965        needsUpdateVector.set (index, new Boolean JavaDoc (false));
1966      }
1967    }
1968  }
1969}
Popular Tags