/** * Set the value of an element (when edited by hand). * * @param oValue the new value. * @param row the new value row. * @param column the new value column. */ public void setValueAt(Object oValue, int row, int column) { if (column == 0) { return; } try { double value = 0.0; // oValue can be String or a Number. if (oValue instanceof String) { value = AstDouble.parseDouble((String) oValue, plot.getMapping(), 1); } else if (oValue instanceof Number) { value = ((Number) oValue).doubleValue(); } XGraphicsRange xRange = (XGraphicsRange) rangeObjects.get(row); double[] range = xRange.getRange(); if (column == 1) { range[0] = value; } else { range[1] = value; } xRange.setRange(range); } catch (Exception e) { e.printStackTrace(); } }
/** Return the value of an element. */ public Object getValueAt(int row, int column) { if (column == 0) { return new Integer(row); } XGraphicsRange xRange = (XGraphicsRange) rangeObjects.get(row); double[] range = xRange.getRange(); return new AstDouble(range[column - 1], plot.getMapping(), 1); }
/** * React to a range being removed * * @param index list index of the range to remove. */ public void removeRange(int index) { try { XGraphicsRange xRange = (XGraphicsRange) rangeObjects.get(index); xRange.delete(); rangeObjects.remove(index); fireTableRowsDeleted(index, index); } catch (Exception e) { e.printStackTrace(); } }
/** Lookup which XGraphicsRange contains an XRangeFigure... */ public int findFigure(XRangeFigure figure) { XGraphicsRange XRange; for (int i = 0, j = 0; i < getRowCount(); i++, j += 2) { XRange = (XGraphicsRange) rangeObjects.get(i); if (XRange.isFigure(figure)) { return i; } } return -1; }
/** * Return a list of the ranges. Each range is a pair of consecutive values in the returned array. */ public double[] getRanges() { double[] allRanges = new double[getRowCount() * 2]; double[] thisRange; XGraphicsRange XRange; for (int i = 0, j = 0; i < getRowCount(); i++, j += 2) { XRange = (XGraphicsRange) rangeObjects.get(i); thisRange = XRange.getRange(); allRanges[j] = thisRange[0]; allRanges[j + 1] = thisRange[1]; } return allRanges; }