.getClassification().getId());
return !isUnassignedCategory ? super.canEdit(element) : false;
}
}.setMandatory(true).addListener(new MarkDirtyListener(this.owner)));
column.setSorter(null);
support.addColumn(column);
column = new Column("2", Messages.ColumnTicker, SWT.None, 60); //$NON-NLS-1$
column.setLabelProvider(new ColumnLabelProvider()
{
@Override
public String getText(Object e)
{
Element element = (Element) e;
return element.isSecurity() ? element.getSecurity().getTickerSymbol() : null;
}
});
support.addColumn(column);
column = new Column("12", Messages.ColumnWKN, SWT.None, 60); //$NON-NLS-1$
column.setLabelProvider(new ColumnLabelProvider()
{
@Override
public String getText(Object e)
{
Element element = (Element) e;
return element.isSecurity() ? element.getSecurity().getWkn() : null;
}
});
column.setVisible(false);
support.addColumn(column);
column = new IsinColumn("3"); //$NON-NLS-1$
column.getEditingSupport().addListener(new MarkDirtyListener(this.owner));
column.setSorter(null);
column.setVisible(false);
support.addColumn(column);
column = new Column("4", Messages.ColumnQuote, SWT.RIGHT, 60); //$NON-NLS-1$
column.setLabelProvider(new ColumnLabelProvider()
{
@Override
public String getText(Object e)
{
Element element = (Element) e;
return element.isSecurity() ? Values.Quote.format(element.getSecurityPosition().getPrice().getValue())
: null;
}
});
support.addColumn(column);
column = new Column("5", Messages.ColumnMarketValue, SWT.RIGHT, 80); //$NON-NLS-1$
column.setLabelProvider(new ColumnLabelProvider()
{
@Override
public String getText(Object e)
{
Element element = (Element) e;
return Values.Amount.format(element.getValuation());
}
@Override
public Font getFont(Object e)
{
return ((Element) e).isGroupByTaxonomy() || ((Element) e).isCategory() ? boldFont : null;
}
});
support.addColumn(column);
column = new Column("6", Messages.ColumnShareInPercent, SWT.RIGHT, 80); //$NON-NLS-1$
column.setLabelProvider(new ColumnLabelProvider()
{
@Override
public String getText(Object e)
{
Element element = (Element) e;
if (element.isGroupByTaxonomy())
return Values.Percent.format(1d);
if (element.isCategory())
return Values.Percent.format(element.getCategory().getShare());
else
return Values.Percent.format(element.getPosition().getShare());
}
@Override
public Font getFont(Object e)
{
return ((Element) e).isGroupByTaxonomy() || ((Element) e).isCategory() ? boldFont : null;
}
});
support.addColumn(column);
column = new Column("7", Messages.ColumnPurchasePrice, SWT.RIGHT, 60); //$NON-NLS-1$
column.setLabelProvider(new ColumnLabelProvider()
{
@Override
public String getText(Object e)
{
Element element = (Element) e;
if (element.isSecurity())
{
long purchasePrice = element.getSecurityPosition().getFIFOPurchasePrice();
return purchasePrice == 0 ? null : Values.Amount.format(purchasePrice);
}
return null;
}
});
column.setVisible(false);
support.addColumn(column);
column = new Column("8", Messages.ColumnPurchaseValue, SWT.RIGHT, 80); //$NON-NLS-1$
column.setLabelProvider(new ColumnLabelProvider()
{
@Override
public String getText(Object e)
{
Element element = (Element) e;
long purchaseValue = element.getFIFOPurchaseValue();
return purchaseValue == 0 ? null : Values.Amount.format(purchaseValue);
}
@Override
public Font getFont(Object e)
{
return ((Element) e).isGroupByTaxonomy() || ((Element) e).isCategory() ? boldFont : null;
}
});
column.setVisible(false);
support.addColumn(column);
column = new Column("9", Messages.ColumnProfitLoss, SWT.RIGHT, 80); //$NON-NLS-1$
column.setLabelProvider(new ColumnLabelProvider()
{
@Override
public String getText(Object e)
{
Element element = (Element) e;
long profitLoss = element.getProfitLoss();
return profitLoss == 0 ? null : Values.Amount.format(profitLoss);
}
@Override
public Color getForeground(Object e)
{
Element element = (Element) e;
long profitLoss = element.getProfitLoss();
if (profitLoss < 0)
return Display.getCurrent().getSystemColor(SWT.COLOR_DARK_RED);
else if (profitLoss > 0)
return Display.getCurrent().getSystemColor(SWT.COLOR_DARK_GREEN);
else
return null;
}
@Override
public Font getFont(Object e)
{
return ((Element) e).isGroupByTaxonomy() || ((Element) e).isCategory() ? boldFont : null;
}
});
column.setVisible(false);
support.addColumn(column);
column = new NoteColumn();
column.getEditingSupport().addListener(new MarkDirtyListener(this.owner));
column.setSorter(null);
support.addColumn(column);
column = new Column("10", Messages.ColumnIRRPerformance, SWT.RIGHT, 80); //$NON-NLS-1$
column.setOptions(Messages.LabelReportingYears, Messages.ColumnIRRPerformanceOption, 1, 2, 3, 4, 5, 10);