public void newValue( final WDataSeries series, double x, double y, double stackY, int xRow, int xColumn, int yRow, int yColumn) { if (!Double.isNaN(x) && !Double.isNaN(y)) { WPointF p = this.chart_.map( x, y, series.getAxis(), this.getCurrentXSegment(), this.getCurrentYSegment()); if (!this.marker_.isEmpty()) { WPen pen = series.getMarkerPen().clone(); SeriesIterator.setPenColor( pen, series, xRow, xColumn, yRow, yColumn, ItemDataRole.MarkerPenColorRole); if (this.chart_.isSeriesSelectionEnabled() && this.chart_.getSelectedSeries() != null && this.chart_.getSelectedSeries() != series) { pen.setColor(WCartesianChart.lightenColor(pen.getColor())); } WBrush brush = series.getMarkerBrush().clone(); SeriesIterator.setBrushColor( brush, series, xRow, xColumn, yRow, yColumn, ItemDataRole.MarkerBrushColorRole); double scale = this.calculateMarkerScale(series, xRow, xColumn, yRow, yColumn, series.getMarkerSize()); if (this.chart_.isSeriesSelectionEnabled() && this.chart_.getSelectedSeries() != null && this.chart_.getSelectedSeries() != series) { brush.setColor(WCartesianChart.lightenColor(brush.getColor())); } if (!(this.series_ != null) || !brush.equals(this.currentBrush_) || !pen.equals(this.currentPen_) || scale != this.currentScale_) { if (this.series_ != null) { this.finishPathFragment(this.series_); } this.series_ = series; this.currentBrush_ = brush; this.currentPen_ = pen; this.currentScale_ = scale; } this.pathFragment_.moveTo(this.hv(p)); } if (series.getType() != SeriesType.BarSeries) { WString toolTip = series.getModel().getToolTip(yRow, yColumn); if (!(toolTip.length() == 0)) { if (!(!EnumUtils.mask( series.getModel().flags(yRow, yColumn), ItemFlag.ItemHasDeferredTooltip) .isEmpty() || !EnumUtils.mask(series.getModel().flags(yRow, yColumn), ItemFlag.ItemIsXHTMLText) .isEmpty())) { WTransform t = this.painter_.getWorldTransform(); p = t.map(this.hv(p)); WCircleArea circleArea = new WCircleArea(); circleArea.setCenter(new WPointF(p.getX(), p.getY())); circleArea.setRadius(5); circleArea.setToolTip(toolTip); this.chart_.addDataPointArea(series, xRow, xColumn, circleArea); } else { this.chart_.hasDeferredToolTips_ = true; } } } } }
/** Set the pen to draw the data series with. */ public void setSeriesPen(final WPen pen) { if (!pen.equals(this.seriesPen_)) { this.seriesPen_ = pen; this.update(); } }