Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -974,6 +974,7 @@ public class Messages extends NLS
public static String MenuAddAll;
public static String MenuAddNewDashboardColumnLeft;
public static String MenuAddNewDashboardColumnRight;
public static String MenuAddUnitRiskLine;
public static String MenuApplyToAllWidgets;
public static String MenuChangeHeight;
public static String MenuChangeUrl;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1940,6 +1940,8 @@ MenuAddNewDashboardColumnLeft = New column on the left

MenuAddNewDashboardColumnRight = New column on the right

MenuAddUnitRiskLine = Add unit risk line

MenuApplyToAllWidgets = Apply to all

MenuChangeHeight = Change height...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1929,6 +1929,8 @@ MenuAddNewDashboardColumnLeft = Nova columna a l'esquerra

MenuAddNewDashboardColumnRight = Nova columna a la dreta

MenuAddUnitRiskLine = Afegir l\u00EDnia de risc unitari

MenuApplyToAllWidgets = Aplicar a tots els ginys

MenuChangeHeight = Canviar al\u00E7ada ...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1932,6 +1932,8 @@ MenuAddNewDashboardColumnLeft = Nov\u00FD sloupec vlevo

MenuAddNewDashboardColumnRight = Nov\u00FD sloupec vpravo

MenuAddUnitRiskLine = P\u0159idat \u0159\u00e1dek jednotkov\u00e9ho rizika

MenuApplyToAllWidgets = Pou\u017E\u00EDt pro v\u0161echny

MenuChangeHeight = Zm\u011Bnit v\u00FD\u0161ku...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1929,6 +1929,8 @@ MenuAddNewDashboardColumnLeft = Ny kolonne til h\u00F8jre

MenuAddNewDashboardColumnRight = Ny kolonne til h\u00F8jre

MenuAddUnitRiskLine = Tilf\u00f8j enhedsrisikolinje

MenuApplyToAllWidgets = Tilf\u00F8j til alle

MenuChangeHeight = Skift h\u00F8jde...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1931,6 +1931,8 @@ MenuAddNewDashboardColumnLeft = Neue Spalte links einf\u00FCgen

MenuAddNewDashboardColumnRight = Neue Spalte rechts einf\u00FCgen

MenuAddUnitRiskLine = Risikolinie einf\u00FCgen

MenuApplyToAllWidgets = Auf alle anwenden

MenuChangeHeight = H\u00F6he \u00E4ndern...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1929,6 +1929,8 @@ MenuAddNewDashboardColumnLeft = Nueva columna a la izquierda

MenuAddNewDashboardColumnRight = Nueva columna a la derecha

MenuAddUnitRiskLine = A\u00f1adir l\u00ednea de riesgo unitario

MenuApplyToAllWidgets = Aplicar a todo

MenuChangeHeight = Cambiar altura ...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1930,6 +1930,8 @@ MenuAddNewDashboardColumnLeft = Nouvelle colonne \u00E0 gauche

MenuAddNewDashboardColumnRight = Nouvelle colonne \u00E0 droite

MenuAddUnitRiskLine = Ajouter ligne de risque unitaire

MenuApplyToAllWidgets = Appliquer \u00E0 tous

MenuChangeHeight = Changer hauteur...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1929,6 +1929,8 @@ MenuAddNewDashboardColumnLeft = Nuova colonna a sinistra
MenuAddNewDashboardColumnRight = Nuova colonna a destra
MenuAddUnitRiskLine = Aggiungi linea di rischio unitario
MenuApplyToAllWidgets = Applica a tutti
MenuChangeHeight = Cambia altezza...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1929,6 +1929,8 @@ MenuAddNewDashboardColumnLeft = Voeg nieuwe kolom aan de linkerkant toe

MenuAddNewDashboardColumnRight = Voeg nieuwe kolom aan de rechterkant toe

MenuAddUnitRiskLine = Risicolijn per eenheid toevoegen

MenuApplyToAllWidgets = Toepassen op alle widgets

MenuChangeHeight = Hoogte wijzigen...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1927,6 +1927,8 @@ MenuAddNewDashboardColumnLeft = Nowa kolumna po lewej
MenuAddNewDashboardColumnRight = Nowa kolumna po prawej
MenuAddUnitRiskLine = Dodaj lini\u0119 ryzyka jednostkowego
MenuApplyToAllWidgets = Zastosuj dla wszystkich
MenuChangeHeight = Zmie\u0144 wysoko\u015B\u0107...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1927,6 +1927,8 @@ MenuAddNewDashboardColumnLeft = Nova coluna \u00E0 esquerda

MenuAddNewDashboardColumnRight = Nova coluna \u00E0 direita

MenuAddUnitRiskLine = Adicionar linha de risco unit\u00e1rio

MenuApplyToAllWidgets = Aplicar a todos

MenuChangeHeight = Alterar altura...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1927,6 +1927,8 @@ MenuAddNewDashboardColumnLeft = Nova coluna \u00E0 esquerda

MenuAddNewDashboardColumnRight = Nova coluna \u00E0 direita

MenuAddUnitRiskLine = Adicionar linha de risco unit\u00e1rio

MenuApplyToAllWidgets = Aplicar a todos

MenuChangeHeight = Alterar altura...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1925,6 +1925,8 @@ MenuAddNewDashboardColumnLeft = \u041D\u043E\u0432\u0430\u044F \u043A\u043E\u043

MenuAddNewDashboardColumnRight = \u041D\u043E\u0432\u0430\u044F \u043A\u043E\u043B\u043E\u043D\u043A\u0430 \u0441\u043F\u0440\u0430\u0432\u0430

MenuAddUnitRiskLine = \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 \u0440\u0438\u0441\u043a\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u044b

MenuApplyToAllWidgets = \u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u0441\u0435

MenuChangeHeight = \u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u044B\u0441\u043E\u0442\u0443...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1929,6 +1929,8 @@ MenuAddNewDashboardColumnLeft = Nov\u00FD st\u013Apec na \u013Eavej strane

MenuAddNewDashboardColumnRight = Nov\u00FD st\u013Apec vpravo

MenuAddUnitRiskLine = Prida\u0165 riadok jednotkov\u00e9ho rizika

MenuApplyToAllWidgets = Vz\u0165ahuje sa na v\u0161etky

MenuChangeHeight = Zmena v\u00FD\u0161ky...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1929,6 +1929,8 @@ MenuAddNewDashboardColumnLeft = Soldaki yeni s\u00FCtun

MenuAddNewDashboardColumnRight = Sa\u011Fdaki yeni s\u00FCtun

MenuAddUnitRiskLine = Birim risk sat\u0131r\u0131 ekle

MenuApplyToAllWidgets = T\u00FCm\u00FCne uygula

MenuChangeHeight = Y\u00FCksekli\u011Fi de\u011Fi\u015Ftir...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1929,6 +1929,8 @@ MenuAddNewDashboardColumnLeft = C\u1ED9t m\u1EDBi b\u00EAn tr\u00E1i

MenuAddNewDashboardColumnRight = C\u1ED9t m\u1EDBi b\u00EAn ph\u1EA3i

MenuAddUnitRiskLine = Th\u00eam d\u00f2ng r\u1ee7i ro \u0111\u01a1n v\u1ecb

MenuApplyToAllWidgets = \u00C1p d\u1EE5ng cho t\u1EA5t c\u1EA3

MenuChangeHeight = Thay \u0111\u1ED5i chi\u1EC1u cao...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1929,6 +1929,8 @@ MenuAddNewDashboardColumnLeft = \u5728\u5DE6\u4FA7\u6DFB\u52A0\u5217

MenuAddNewDashboardColumnRight = \u5728\u53F3\u4FA7\u6DFB\u52A0\u5217

MenuAddUnitRiskLine = \u6dfb\u52a0\u5355\u4f4d\u98ce\u9669\u7ebf

MenuApplyToAllWidgets = \u5E94\u7528\u81F3\u5168\u90E8

MenuChangeHeight = \u4FEE\u6539\u9AD8\u5EA6...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1929,6 +1929,8 @@ MenuAddNewDashboardColumnLeft = \u5DE6\u5074\u6DFB\u52A0\u65B0\u6B04

MenuAddNewDashboardColumnRight = \u5728\u53F3\u5074\u65B0\u589E\u8CC7\u6599\u6B04

MenuAddUnitRiskLine = \u65b0\u589e\u55ae\u4f4d\u98a8\u96aa\u7dda

MenuApplyToAllWidgets = \u5168\u90E8\u5957\u7528

MenuChangeHeight = \u66F4\u6539\u9AD8\u5EA6...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,13 @@
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.resource.LocalResourceManager;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swtchart.IAxis;
import org.eclipse.swtchart.ICustomPaintListener;
import org.eclipse.swtchart.ILineSeries.PlotSymbolType;

import com.google.common.collect.Lists;
Expand Down Expand Up @@ -82,9 +84,12 @@ public String toString()

private static final String KEY_USE_IRR = ReturnsVolatilityChartView.class.getSimpleName() + "-use-irr"; //$NON-NLS-1$
private static final String KEY_RISK_METRIC = ReturnsVolatilityChartView.class.getSimpleName() + "-risk-metric"; //$NON-NLS-1$
private static final String KEY_DISPLAY_UNIT_RISK_LINE = ReturnsVolatilityChartView.class.getSimpleName()
+ "display-unit-risk-line"; //$NON-NLS-1$

private boolean useIRR = false;
private RiskMetric riskMetric = RiskMetric.VOLATILITY;
private boolean displayUnitRiskLine = false;

private ScatterChart chart;
private LocalResourceManager resources;
Expand All @@ -109,13 +114,16 @@ public void construct()
// unknown risk metric type; continue to use the default one
}
}

this.displayUnitRiskLine = getPreferenceStore().getBoolean(KEY_DISPLAY_UNIT_RISK_LINE);
}

@PreDestroy
public void destroy()
{
getPreferenceStore().setValue(KEY_USE_IRR, this.useIRR);
getPreferenceStore().setValue(KEY_RISK_METRIC, riskMetric.name());
getPreferenceStore().setValue(KEY_DISPLAY_UNIT_RISK_LINE, this.displayUnitRiskLine);
}

@Override
Expand Down Expand Up @@ -172,6 +180,15 @@ protected void addButtons(ToolBarManager toolBar)
manager.add(action);
}

manager.add(new Separator());
manager.add(new LabelOnly(Messages.LabelRiskIndicators));
Action unitRisk = new SimpleAction(Messages.MenuAddUnitRiskLine, a -> {
this.displayUnitRiskLine = !this.displayUnitRiskLine;
reportingPeriodUpdated();
});
unitRisk.setChecked(this.displayUnitRiskLine);
manager.add(unitRisk);

manager.add(new Separator());
manager.add(new LabelOnly(Messages.LabelDataSeries));
configurator.configMenuAboutToShow(manager);
Expand Down Expand Up @@ -203,6 +220,8 @@ protected Composite createBody(Composite parent)
configurator.addListener(this::updateChart);
configurator.setToolBarManager(getViewToolBarManager());

prepareUnitRiskLine();

DataSeriesChartLegend legend = new DataSeriesChartLegend(composite, configurator);
legend.addSelectionChangedListener(e -> setInformationPaneInput(e.getStructuredSelection().getFirstElement()));

Expand Down Expand Up @@ -301,6 +320,45 @@ private void setChartSeries()
});
}

private void prepareUnitRiskLine()
{
chart.getPlotArea().addCustomPaintListener(new ICustomPaintListener()
{
@Override
public void paintControl(PaintEvent e)
{
if (!displayUnitRiskLine)
return;

Color oldForeground = e.gc.getForeground();
int oldLineStyle = e.gc.getLineStyle();

Color gray = Display.getDefault().getSystemColor(SWT.COLOR_GRAY);
e.gc.setForeground(gray);
e.gc.setLineStyle(SWT.LINE_DOT);

IAxis xAxis = chart.getAxisSet().getXAxis(0);
IAxis yAxis = chart.getAxisSet().getYAxis(0);
int x0 = xAxis.getPixelCoordinate(0);
int y0 = yAxis.getPixelCoordinate(0);

int x1 = xAxis.getPixelCoordinate(9999);
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using 9999 here, I tried to use Double.MAX_VALUE but this didn't work for some reason. Any hint on what to use instead, I can adjust.

int y1 = yAxis.getPixelCoordinate(9999);

e.gc.drawLine(x0, y0, x1, y1);

e.gc.setForeground(oldForeground);
e.gc.setLineStyle(oldLineStyle);
}

@Override
public boolean drawBehindSeries()
{
return true;
}
});
}

private final class ExportDropDown extends DropDown implements IMenuListener
{
private ExportDropDown()
Expand Down