@Override protected Composite createBody(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); composite.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE)); chart = new ScatterChart(composite); chart.getTitle().setText(getTitle()); chart.getTitle().setVisible(false); IAxis xAxis = chart.getAxisSet().getXAxis(0); xAxis.getTitle().setText(Messages.LabelVolatility); xAxis.getTick().setFormat(new DecimalFormat("0.##%")); // $NON-NLS-1$ IAxis yAxis = chart.getAxisSet().getYAxis(0); yAxis.getTitle().setText(Messages.LabelPeformanceTTWROR); yAxis.getTick().setFormat(new DecimalFormat("0.##%")); // $NON-NLS-1$ ((IPlotArea) chart.getPlotArea()) .addCustomPaintListener( new ICustomPaintListener() { @Override public void paintControl(PaintEvent e) { int y = xAxis.getPixelCoordinate(0); e.gc.drawLine(y, 0, y, e.height); int x = yAxis.getPixelCoordinate(0); e.gc.drawLine(0, x, e.width, x); } @Override public boolean drawBehindSeries() { return true; } }); picker = new ChartConfigurator(composite, this, ChartConfigurator.Mode.RETURN_VOLATILITY); picker.setListener(() -> updateChart()); GridLayoutFactory.fillDefaults().numColumns(1).margins(0, 0).spacing(0, 0).applyTo(composite); GridDataFactory.fillDefaults().grab(true, true).applyTo(chart); GridDataFactory.fillDefaults().grab(true, false).align(SWT.CENTER, SWT.FILL).applyTo(picker); setChartSeries(); return composite; }
private void setChartSeries() { List<Exception> warnings = new ArrayList<Exception>(); for (DataSeries item : picker.getSelectedDataSeries()) { if (item.getType() == Client.class) addClient(item, (ClientDataSeries) item.getInstance(), warnings); else if (item.getType() == Security.class) addSecurity(item, (Security) item.getInstance(), warnings); else if (item.getType() == Portfolio.class) addPortfolio(item, (Portfolio) item.getInstance(), warnings); else if (item.getType() == Account.class) addAccount(item, (Account) item.getInstance(), warnings); else if (item.getType() == Classification.class) addClassification(item, (Classification) item.getInstance(), warnings); } PortfolioPlugin.log(warnings); }