home *** CD-ROM | disk | FTP | other *** search
- package jclass.chart;
-
- import java.awt.Graphics;
- import java.awt.Point;
- import java.awt.Rectangle;
- import java.io.IOException;
- import java.io.ObjectInputStream;
- import java.util.Observable;
- import java.util.Observer;
- import java.util.Vector;
- import jclass.bwt.JCSerializable;
- import jclass.util.JCVector;
-
- public class ChartDataView implements Observer, Changeable, JCSerializable {
- protected JCVector series = new JCVector();
- public static final int PICK_FOCUS_LOCAL = -1;
- public static final int PICK_FOCUS_XY = 0;
- public static final int PICK_FOCUS_X = 1;
- public static final int PICK_FOCUS_Y = 2;
- private double[] xvalues;
- boolean isBatched = false;
- double holeValue = Double.MAX_VALUE;
- int chartType = 0;
- String name;
- int drawingOrder = -1;
- Chartable dataSource;
- DataInterpretation dataInterpretation;
- JCAxis xaxis;
- JCAxis yaxis;
- JCVector pointLabels = new JCVector();
- JCBarChartFormat barChartFormat;
- JCPieChartFormat pieChartFormat;
- private transient Object transientData;
- boolean isInverted = false;
- int pickFocus = 0;
- boolean isShowingInLegend = true;
- int previousXAxisAnnotationMethod;
- private JCVector styles = new JCVector();
- boolean changed = true;
- boolean allowPick = true;
- JCChart chart;
- MinMax xLimits;
- MinMax yLimits;
- static int dataViewNum;
-
- ChartDataView(JCChart var1) {
- this.setChartType(0);
- this.setParent(var1);
- this.name = "DataView #" + ++dataViewNum;
- }
-
- public ChartDataView() {
- this.setChartType(0);
- this.name = "DataView #" + ++dataViewNum;
- }
-
- void setParent(JCChart var1) {
- this.chart = var1;
- if (this.chart != null && this.chart.chartArea != null) {
- if (this.xaxis == null || !this.chart.chartArea.xaxes.contains(this.xaxis)) {
- this.xaxis = this.chart.chartArea.getXAxis(0);
- }
-
- if (this.yaxis == null || !this.chart.chartArea.yaxes.contains(this.yaxis)) {
- this.yaxis = this.chart.chartArea.getYAxis(0);
- }
- }
-
- this.setChanged(true, false);
- }
-
- void draw(Graphics var1) {
- }
-
- boolean editPoint(ChartDataViewSeries var1, int var2, double var3) {
- if (this.dataSource == null) {
- return true;
- } else if (!(this.dataSource instanceof EditableChartable)) {
- return false;
- } else {
- int var5 = -1;
- var5 = this.series.indexOf(var1);
- if (var5 == -1) {
- throw new RuntimeException("Bad row in editPoint!");
- } else {
- return this.dataInterpretation.editPoint(var5, var2, var3);
- }
- }
- }
-
- public void update(Observable var1, Object var2) {
- if (var2 instanceof ChartDataModelUpdate) {
- ChartDataModelUpdate var3 = (ChartDataModelUpdate)var2;
- switch (var3.message) {
- case 0:
- this.dataInterpretation.changeValue(var3.row, var3.column);
- break;
- case 1:
- this.dataInterpretation.addValue(var3.row, var3.column);
- break;
- case 2:
- this.dataInterpretation.removeValue(var3.row, var3.column);
- break;
- case 3:
- this.dataInterpretation.changeRow(var3.row, var3.column);
- break;
- case 4:
- this.dataInterpretation.addRow(var3.row, var3.column);
- break;
- case 5:
- this.dataInterpretation.removeRow(var3.row, var3.column);
- break;
- case 6:
- this.dataInterpretation.changeColumn(var3.row, var3.column);
- break;
- case 7:
- this.dataInterpretation.addColumn(var3.row, var3.column);
- break;
- case 8:
- this.dataInterpretation.removeColumn(var3.row, var3.column);
- break;
- case 9:
- this.dataInterpretation.changePointLabel(var3.row, var3.column);
- break;
- case 10:
- this.dataInterpretation.changeSeriesName(var3.row, var3.column);
- break;
- case 11:
- this.dataInterpretation.changeSeriesLabel(var3.row, var3.column);
- break;
- case 12:
- boolean var4 = this.getIsBatched();
- this.setIsBatched(true);
- this.dataInterpretation.reset(var3.row, var3.column);
- this.setIsBatched(var4);
- return;
- }
-
- this.setChanged(true);
- }
- }
-
- public double getHoleValue() {
- return this.holeValue;
- }
-
- public synchronized void setHoleValue(double var1) {
- this.holeValue = var1;
- }
-
- public boolean getIsBatched() {
- return this.isBatched;
- }
-
- public synchronized void setIsBatched(boolean var1) {
- if (this.isBatched != var1) {
- this.isBatched = var1;
- if (!this.isBatched) {
- this.propagateChange();
- }
-
- }
- }
-
- public int getChartType() {
- return this.chartType;
- }
-
- public synchronized void setChartType(int var1) {
- if (this.chartType != var1) {
- if (this.xaxis != null) {
- this.xaxis.annotationMethod = this.previousXAxisAnnotationMethod;
- }
-
- switch (var1) {
- case 0:
- case 1:
- case 9:
- case 10:
- case 11:
- switch (this.chartType) {
- case 9:
- case 10:
- if (this.xaxis != null) {
- this.previousXAxisAnnotationMethod = this.xaxis.annotationMethod;
- this.xaxis.annotationMethod = 0;
- this.xaxis.setChanged(true, false);
- }
- break;
- case 11:
- if (this.yaxis != null) {
- this.yaxis.isShowing = true;
- this.yaxis.setChanged(true, false);
- }
-
- if (this.xaxis != null) {
- this.xaxis.isShowing = true;
- this.xaxis.setChanged(true, false);
- }
- }
-
- this.chartType = var1;
- if (this.chartType == 11 && this.pieChartFormat == null) {
- this.pieChartFormat = new JCPieChartFormat(this);
- }
-
- if ((this.chartType == 9 || this.chartType == 10) && this.barChartFormat == null) {
- this.barChartFormat = new JCBarChartFormat(this);
- }
-
- switch (this.chartType) {
- case 0:
- case 1:
- default:
- break;
- case 8:
- if (this.yaxis != null && this.xaxis != null) {
- if (this.yaxis.getOriginPlacementIsDefault()) {
- this.yaxis.originPlacement.value = 3;
- this.yaxis.setChanged(true, false);
- }
-
- if (this.xaxis.getPlacementIsDefault()) {
- this.xaxis.placement.value = 5;
- }
-
- this.xaxis.placementAxis = this.yaxis;
- this.xaxis.setChanged(true, false);
- }
- break;
- case 9:
- case 10:
- if (this.yaxis != null && this.xaxis != null) {
- this.previousXAxisAnnotationMethod = this.xaxis.annotationMethod;
- this.xaxis.placementAxis = this.yaxis;
- this.xaxis.annotationMethod = 3;
- if (this.xaxis.getPlacementIsDefault()) {
- this.xaxis.setPlacement(5);
- } else {
- this.xaxis.setChanged(true, false);
- }
-
- if (this.yaxis.getOriginPlacementIsDefault()) {
- this.yaxis.setOriginPlacement(3);
- }
- }
- break;
- case 11:
- if (this.yaxis != null) {
- this.yaxis.isShowing = false;
- this.yaxis.setChanged(true, false);
- }
-
- if (this.xaxis != null) {
- this.xaxis.isShowing = false;
- this.xaxis.setChanged(true, false);
- }
- }
-
- if (this.chart != null) {
- this.chart.chartArea.removeDrawable(this);
- }
-
- this.setChanged(true);
- return;
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- case 8:
- throw new IllegalArgumentException("Currently unsupported chart type");
- default:
- throw new IllegalArgumentException("Invalid chart type");
- }
- }
- }
-
- public String getName() {
- return this.name;
- }
-
- public synchronized void setName(String var1) {
- if (this.name == null || !this.name.equals(var1)) {
- this.name = var1;
- this.setChanged(true);
- }
- }
-
- public int getDrawingOrder() {
- return this.drawingOrder;
- }
-
- public synchronized void setDrawingOrder(int var1) {
- if (var1 >= 0 && (this.chart == null || var1 < this.chart.data.size())) {
- this.drawingOrder = var1;
- this.setChanged(true);
- } else {
- throw new IllegalArgumentException("DrawingOrder property for ChartDataView is out of range");
- }
- }
-
- public Chartable getDataSource() {
- return this.dataSource;
- }
-
- public synchronized void setDataSource(Chartable var1) {
- this.dataSource = var1;
- if (this.dataSource != null) {
- this.dataInterpretation = DataInterpretation.getData(this, var1);
- String[] var2 = var1.getPointLabels();
- if (var2 != null) {
- for(int var3 = 0; var3 < var2.length; ++var3) {
- this.pointLabels.addElement(var2[var3]);
- }
- }
-
- for(int var5 = 0; var5 < this.series.size(); ++var5) {
- ChartDataViewSeries var4 = (ChartDataViewSeries)this.series.elementAt(var5);
- var4.name = var1.getSeriesName(var5);
- var4.label = var1.getSeriesLabel(var5);
- }
-
- this.name = var1.getName();
- if (var1 instanceof Observable) {
- ((Observable)var1).addObserver(this);
- }
-
- if (!(this.dataSource instanceof EditableChartable) && !(this.dataSource instanceof Observable)) {
- this.dataSource = null;
- }
-
- this.setChanged(true);
- }
- }
-
- public String getPointLabel(int var1) {
- if (var1 >= 0 && var1 < this.pointLabels.size()) {
- return (String)this.pointLabels.elementAt(var1);
- } else {
- throw new IllegalArgumentException("Invalid point label index");
- }
- }
-
- public synchronized void setPointLabel(int var1, String var2) {
- if (var1 >= 0 && var1 < this.pointLabels.size()) {
- this.pointLabels.setElementAt(var1, var2);
- this.setChanged(true);
- } else {
- throw new IllegalArgumentException("Invalid point label index");
- }
- }
-
- public String[] getPointLabels() {
- if (this.pointLabels != null && this.pointLabels.size() != 0) {
- String[] var1 = new String[this.pointLabels.size()];
-
- for(int var2 = 0; var2 < var1.length; ++var2) {
- var1[var2] = (String)this.pointLabels.elementAt(var2);
- }
-
- return var1;
- } else {
- return null;
- }
- }
-
- public int getNumPointLabels() {
- return this.pointLabels.size();
- }
-
- public synchronized void setPointLabels(String[] var1) {
- this.pointLabels = new JCVector(var1);
- this.setChanged(true);
- }
-
- public ChartDataViewSeries[] getSeries() {
- ChartDataViewSeries[] var1 = new ChartDataViewSeries[this.series.size()];
-
- for(int var2 = 0; var2 < this.series.size(); ++var2) {
- var1[var2] = (ChartDataViewSeries)this.series.elementAt(var2);
- }
-
- return var1;
- }
-
- public ChartDataViewSeries getSeries(int var1) {
- if (var1 >= 0 && var1 < this.series.size()) {
- return (ChartDataViewSeries)this.series.elementAt(var1);
- } else {
- throw new IllegalArgumentException("Invalid ChartDataViewSeries index.");
- }
- }
-
- public synchronized void setSeries(ChartDataViewSeries[] var1) {
- this.series = new JCVector(var1);
- this.setChanged(true);
- }
-
- public synchronized void setSeries(int var1, ChartDataViewSeries var2) {
- if (var1 >= 0 && var1 < this.series.size()) {
- this.series.setElementAt(var1, var2);
- this.setChanged(true);
- } else {
- throw new IllegalArgumentException("Invalid ChartDataViewSeries index.");
- }
- }
-
- public ChartDataViewSeries addSeries(int var1) {
- Object var2 = null;
- if (var1 < 0) {
- var1 = 0;
- }
-
- if (var1 > this.series.size()) {
- var1 = this.series.size();
- }
-
- ChartDataViewSeries var3 = new ChartDataViewSeries();
- var3.init((double[])null, (double[])null, this);
- var3.setDrawingOrder(var1);
- this.series.insertElementAt(var3, var1);
- this.setChanged(true);
- return var3;
- }
-
- public synchronized void addSeries(ChartDataViewSeries var1) {
- var1.setDrawingOrder(this.series.size());
- this.series.addElement(var1);
- this.setChanged(true);
- }
-
- public synchronized void removeSeries(int var1) {
- if (var1 >= 0 && var1 < this.series.size()) {
- this.series.removeElementAt(var1);
- this.setChanged(true);
- } else {
- throw new IllegalArgumentException("Invalid ChartDataViewSeries index");
- }
- }
-
- public int getSeriesIndex(String var1) {
- try {
- for(int var2 = 0; var2 < this.series.size(); ++var2) {
- ChartDataViewSeries var3 = (ChartDataViewSeries)this.series.elementAt(var2);
- if (var1.equals(var3.getName())) {
- return var2;
- }
- }
- } catch (Exception var4) {
- }
-
- return -1;
- }
-
- public int getSeriesIndex(ChartDataViewSeries var1) {
- return this.series.indexOf(var1);
- }
-
- public JCPieChartFormat getPieChartFormat() {
- if (this.pieChartFormat == null) {
- this.pieChartFormat = new JCPieChartFormat(this);
- }
-
- return this.pieChartFormat;
- }
-
- public JCBarChartFormat getBarChartFormat() {
- if (this.barChartFormat == null) {
- this.barChartFormat = new JCBarChartFormat(this);
- }
-
- return this.barChartFormat;
- }
-
- public JCAxis getXAxis() {
- return this.xaxis;
- }
-
- public synchronized void setXAxis(JCAxis var1) {
- this.xaxis = var1;
- }
-
- public JCAxis getYAxis() {
- return this.yaxis;
- }
-
- public synchronized void setYAxis(JCAxis var1) {
- this.yaxis = var1;
- }
-
- public JCDataCoord map(int var1, int var2) {
- Point var3 = this.chart.chartArea.location();
- Rectangle var4 = this.chart.chartArea.getDrawingArea();
- var1 = var1 - var3.x - var4.x;
- var2 = var2 - var3.y - var4.y;
- JCDataCoord var5 = new JCDataCoord(this.holeValue, this.holeValue);
- if (this.xaxis != null) {
- var5.x = this.xaxis.toData(var1);
- }
-
- if (this.yaxis != null) {
- var5.y = this.yaxis.toData(var2);
- }
-
- return var5;
- }
-
- public Point unmap(double var1, double var3) {
- Point var5 = this.chart.chartArea.location();
- Rectangle var6 = this.chart.chartArea.getDrawingArea();
- Point var7 = new Point(var5.x + var6.x, var5.y + var6.y);
- if (this.xaxis != null) {
- var7.x += this.xaxis.toPixel(var1);
- }
-
- if (this.yaxis != null) {
- var7.y += this.yaxis.toPixel(var3);
- }
-
- return var7;
- }
-
- public JCDataCoord coordToDataCoord(int var1, int var2) {
- return this.map(var1, var2);
- }
-
- public Point dataCoordToCoord(double var1, double var3) {
- return this.unmap(var1, var3);
- }
-
- public Point dataIndexToCoord(JCDataIndex var1) {
- Point var2 = this.chart.unpick(this, var1.point, var1.seriesIndex);
- if (var2 != null) {
- Point var3 = this.chart.chartArea.location();
- var2.x += var3.x;
- var2.y += var3.y;
- }
-
- return var2;
- }
-
- public JCDataIndex coordToDataIndex(int var1, int var2, int var3) {
- Point var4 = this.chart.chartArea.location();
- return this.chart.chartArea.pick(new Point(var1 - var4.x, var2 - var4.y), this, var3);
- }
-
- public int getNumSeries() {
- return this.series == null ? 0 : this.series.size();
- }
-
- double[] toDoubleArray(Vector var1) {
- if (var1 != null && var1.size() > 0) {
- double[] var2 = new double[var1.size()];
-
- for(int var3 = 0; var3 < var2.length; ++var3) {
- Object var4 = var1.elementAt(var3);
- if (var4 == null) {
- var2[var3] = this.holeValue;
- } else if (var4 instanceof Number) {
- var2[var3] = ((Number)var4).doubleValue();
- } else if (var4 instanceof String) {
- var2[var3] = Double.valueOf((String)var4);
- } else {
- var2[var3] = this.holeValue;
- }
- }
-
- return var2;
- } else {
- return null;
- }
- }
-
- public String toString() {
- String var1 = this.getName();
- return var1 == null ? "Unnamed DataView" : var1;
- }
-
- void calcXMinMax(MinMax var1) {
- double var2 = this.xaxis.step;
- this.xaxis.step = Double.MAX_VALUE;
-
- for(int var4 = 0; var4 < this.series.size(); ++var4) {
- ChartDataViewSeries var5 = (ChartDataViewSeries)this.series.elementAt(var4);
- if (var5.isIncluded) {
- var5.getXMinMax(var1);
- var5.calcStep(this.xaxis);
- }
- }
-
- if (this.xaxis.step == Double.MAX_VALUE) {
- this.xaxis.step = var2;
- }
-
- }
-
- void calcYMinMax(MinMax var1) {
- for(int var2 = 0; var2 < this.series.size(); ++var2) {
- ChartDataViewSeries var3 = (ChartDataViewSeries)this.series.elementAt(var2);
- if (var3.isIncluded) {
- var3.getYMinMax(var1);
- }
- }
-
- }
-
- private void calcYMinMaxOfTotals(MinMax var1) {
- Point var2 = this.getFirstLast();
- if (var2 != null) {
- int var3 = this.series.size();
- MinMax var4 = new MinMax();
-
- for(int var5 = var2.x; var5 <= var2.y; ++var5) {
- MinMax var6 = new MinMax((double)0.0F, (double)0.0F);
-
- for(int var7 = 0; var7 < var3; ++var7) {
- ChartDataViewSeries var8 = (ChartDataViewSeries)this.series.elementAt(var7);
- if (var8.isIncluded) {
- double var9 = var8.getY(var5);
- if (var9 != this.holeValue) {
- if (var9 >= (double)0.0F) {
- var6.max += var9;
- } else {
- var6.min += var9;
- }
- }
- }
- }
-
- var4.union(var6);
- }
-
- var1.union(var4);
- }
- }
-
- void getDataBounds(MinMax var1, MinMax var2) {
- boolean var3 = this.chartType == 2;
- boolean var4 = this.chartType == 3 || this.chartType == 4;
- boolean var5 = var3 || var4;
- this.calcXMinMax(var1);
- this.calcYMinMax(var2);
- if (!this.xaxis.min.isDefault && this.xaxis.min.value > var1.min || var5) {
- var1.min = this.xaxis.min.value;
- }
-
- if (!this.xaxis.max.isDefault && this.xaxis.max.value < var1.max || var5) {
- var1.max = this.xaxis.max.value;
- }
-
- if (!this.yaxis.min.isDefault && this.yaxis.min.value > var2.min || var5) {
- var2.min = this.yaxis.min.value;
- }
-
- if (var3 && var2.min < (double)0.0F) {
- double var6 = var2.min;
- if ((var6 > (double)0.0F ? var6 : -var6) > var2.max) {
- var6 = var2.min;
- var2.max = var6 > (double)0.0F ? var6 : -var6;
- }
-
- var2.min = (double)0.0F;
- }
-
- if (!this.yaxis.max.isDefault && this.yaxis.max.value < var2.max || var5) {
- var2.max = this.yaxis.max.value;
- }
-
- }
-
- DoubleCoord getOrigin(MinMax var1, MinMax var2, boolean var3) {
- DoubleCoord var4 = new DoubleCoord(var1.min, var2.min);
- if (!var3) {
- return var4;
- } else {
- int var5 = this.chart.getChartArea().angleUnit;
- if (this.xaxis.origin.isDefault) {
- if (this.chartType != 2 && this.chartType != 3 && this.chartType != 4) {
- switch (this.xaxis.originPlacement.value) {
- case 0:
- if (var1.min <= (double)0.0F && var1.max >= (double)0.0F) {
- var4.x = (double)0.0F;
- } else {
- var4.x = var1.min;
- }
- break;
- case 1:
- var4.x = var1.min;
- break;
- case 2:
- var4.x = var1.max;
- break;
- case 3:
- var4.x = (double)0.0F;
- }
- } else {
- switch (var5) {
- case 1:
- var4.x = (double)90.0F;
- break;
- case 2:
- var4.x = (Math.PI / 2D);
- break;
- case 3:
- var4.x = (double)100.0F;
- }
- }
- } else {
- var4.x = JCChartUtil.boundAngle(var5, this.xaxis.origin.value);
- }
-
- if (this.chartType == 10) {
- if (this.yaxis.isLogarithmic) {
- double var6 = var2.min;
- var4.y = var6 > (double)0.0F ? var6 : (double)0.0F;
- } else {
- var4.y = (double)0.0F;
- }
- } else if (this.chartType != 2 && this.chartType != 3 && this.chartType != 4) {
- if (this.yaxis.origin.isDefault) {
- switch (this.yaxis.originPlacement.value) {
- case 0:
- if ((this.chartType == 9 || this.chartType == 8) && !this.yaxis.isLogarithmic) {
- var4.y = (double)0.0F;
- } else if (var2.min <= (double)0.0F && var2.max >= (double)0.0F) {
- var4.y = (double)0.0F;
- } else {
- var4.y = var2.min;
- }
- break;
- case 1:
- var4.y = var2.min;
- break;
- case 2:
- var4.y = var2.max;
- break;
- case 3:
- var4.y = (double)0.0F;
- }
- } else {
- var4.y = this.yaxis.origin.value;
- }
- } else if (this.yaxis.isReversed) {
- var4.y = var2.min;
- } else {
- var4.y = var2.max;
- }
-
- return var4;
- }
- }
-
- void clearLimits() {
- if (this.xaxis != null) {
- this.xaxis.clearLimits();
- }
-
- if (this.yaxis != null) {
- this.yaxis.clearLimits();
- }
-
- this.xLimits = null;
- this.yLimits = null;
- }
-
- void calcLimits() {
- if (this.xaxis != null) {
- this.xLimits = new MinMax();
- this.calcXMinMax(this.xLimits);
- this.xaxis.setLimits(this.xLimits);
- }
-
- if (this.yaxis != null) {
- this.yLimits = new MinMax();
- if (this.chartType == 10) {
- if (this.barChartFormat.get100Percent()) {
- this.yLimits.max = (double)100.0F;
- this.yLimits.min = (double)-100.0F;
- } else {
- this.calcYMinMaxOfTotals(this.yLimits);
- }
- } else {
- this.calcYMinMax(this.yLimits);
- }
-
- this.yaxis.setLimits(this.yLimits);
- }
-
- }
-
- public MinMax getXLimits() {
- return this.xLimits;
- }
-
- public MinMax getYLimits() {
- return this.yLimits;
- }
-
- void getDataBoundValues(MinMax var1, MinMax var2) {
- if (this.xLimits != null) {
- var1.reset(this.xLimits);
- }
-
- if (this.yLimits != null) {
- var2.reset(this.yLimits);
- }
-
- }
-
- public boolean isChanged() {
- return this.getChanged();
- }
-
- public boolean getChanged() {
- return this.changed;
- }
-
- public synchronized void setChanged(boolean var1) {
- if (this.changed != var1) {
- this.changed = var1;
- if (this.changed) {
- this.markAsChanged();
- this.propagateChange();
- }
- }
- }
-
- private void propagateChange() {
- if (this.changed) {
- if (!this.getIsBatched()) {
- if (this.chart != null) {
- if (!this.chart.getIsBatched()) {
- this.chart.update();
- }
- }
- }
- }
- }
-
- private void markAsChanged() {
- if (this.xaxis != null) {
- this.xaxis.setChanged(true, false);
- }
-
- if (this.yaxis != null) {
- this.yaxis.setChanged(true, false);
- }
-
- if (this.chart != null && this.chart.chartArea != null) {
- this.chart.chartArea.setChanged(true, false);
- }
-
- if (this.chart != null && this.chart.legend != null) {
- this.chart.legend.setChanged(true, false);
- }
-
- }
-
- public void setChanged(boolean var1, boolean var2) {
- if (this.changed != var1) {
- if (var2) {
- this.setChanged(var1);
- } else {
- this.changed = var1;
- if (this.changed) {
- this.markAsChanged();
- }
-
- }
- }
- }
-
- public Point getFirstLast() {
- if (this.series == null) {
- return null;
- } else {
- int var1 = -1;
- int var2 = Integer.MAX_VALUE;
- int var3 = Integer.MAX_VALUE;
-
- for(int var4 = 0; var4 < this.series.size(); ++var4) {
- ChartDataViewSeries var5 = (ChartDataViewSeries)this.series.elementAt(var4);
- if (var5.isShowing) {
- if (var1 < var5.getFirstPoint()) {
- var1 = var5.getFirstPoint();
- }
-
- if (var2 > var5.getLastPoint()) {
- var2 = var5.getLastPoint();
- }
-
- int var6 = var5.maxIndex();
- if (var3 > var6) {
- var3 = var6;
- }
- }
- }
-
- if (var3 == Integer.MAX_VALUE) {
- return null;
- } else if (var1 > var3) {
- return null;
- } else {
- if (var2 > var3) {
- var2 = var3;
- }
-
- if (var1 > var2) {
- return null;
- } else {
- return new Point(var1, var2);
- }
- }
- }
- }
-
- public int getVisibleDataSeries() {
- int var1 = 0;
-
- for(int var2 = 0; var2 < this.series.size(); ++var2) {
- ChartDataViewSeries var3 = (ChartDataViewSeries)this.series.elementAt(var2);
- if (var3.isShowing) {
- ++var1;
- }
- }
-
- return var1;
- }
-
- public synchronized void calcTransientData() {
- if (this.getChartType() == 11) {
- PieChartDraw var1 = (PieChartDraw)this.chart.chartArea.getDrawable(this);
- if (var1 != null) {
- var1.calcTransientData();
- }
- }
-
- }
-
- public synchronized void setIsInverted(boolean var1) {
- if (this.isInverted != var1) {
- this.isInverted = var1;
- if (this.xaxis != null) {
- this.xaxis.isVertical = var1;
- }
-
- if (this.yaxis != null) {
- this.yaxis.isVertical = !var1;
- }
-
- this.setChanged(true);
- }
- }
-
- public boolean getIsInverted() {
- return this.isInverted;
- }
-
- public synchronized void setPickFocus(int var1) {
- this.pickFocus = var1;
- }
-
- public int getPickFocus() {
- return this.pickFocus;
- }
-
- public boolean getIsShowingInLegend() {
- return this.isShowingInLegend;
- }
-
- public synchronized void setIsShowingInLegend(boolean var1) {
- if (var1 != this.isShowingInLegend) {
- this.isShowingInLegend = var1;
- this.setChanged(true);
- }
- }
-
- public synchronized void setChartStyle(int var1, JCChartStyle var2) {
- if (var1 >= 0 && var1 <= this.styles.size()) {
- if (var1 < this.styles.size()) {
- this.styles.setElementAt(var2, var1);
- } else {
- this.styles.insertElementAt(var2, var1);
- }
-
- this.setChanged(true);
- } else {
- throw new IllegalArgumentException("Invalid ChartStyle index in ChartDataView.");
- }
- }
-
- public JCChartStyle getChartStyle(int var1) {
- if (var1 < 0) {
- throw new IllegalArgumentException("ChartStyle index must be positive");
- } else {
- if (var1 >= this.styles.size()) {
- while(var1 >= this.styles.size()) {
- this.styles.addElement((Object)null);
- }
- }
-
- Object var2 = this.styles.elementAt(var1);
- if (var2 == null) {
- var2 = JCChartStyle.makeDefault(this.chart);
- this.styles.setElementAt(var2, var1);
- }
-
- return (JCChartStyle)var2;
- }
- }
-
- public JCChartStyle[] getChartStyle() {
- if (this.styles != null && this.styles.size() != 0) {
- JCChartStyle[] var1 = new JCChartStyle[this.styles.size()];
-
- for(int var2 = 0; var2 < var1.length; ++var2) {
- var1[var2] = (JCChartStyle)this.styles.elementAt(var2);
- }
-
- return var1;
- } else {
- return null;
- }
- }
-
- public synchronized void setChartStyle(JCChartStyle[] var1) {
- this.styles = new JCVector();
- if (var1 != null) {
- for(int var2 = 0; var2 < var1.length; ++var2) {
- this.styles.setElementAt(var2, var1[var2]);
- }
-
- }
- }
-
- double[] getX() {
- return this.xvalues;
- }
-
- void setX(double[] var1) {
- this.xvalues = var1;
- }
-
- private void readObject(ObjectInputStream var1) throws IOException {
- try {
- var1.defaultReadObject();
- if (this.dataSource != null && this.dataSource instanceof Observable) {
- ((Observable)this.dataSource).addObserver(this);
- return;
- }
- } catch (Exception var3) {
- ((Throwable)var3).printStackTrace(System.out);
- }
-
- }
-
- Object getTransientData() {
- return this.transientData;
- }
-
- void setTransientData(Object var1) {
- this.transientData = var1;
- if (this.chart != null && this.chart.legend != null) {
- this.chart.legend.setChanged(true, false);
- }
-
- }
- }
-