use of name.abuchen.portfolio.ui.util.viewers.Column in project portfolio by buchen.
the class PerformanceView method addPortfolioColumn.
private void addPortfolioColumn(ShowHideColumnHelper support) {
Column column = new Column(Messages.ColumnPortfolio, SWT.LEFT, 100);
column.setLabelProvider(new ColumnLabelProvider() {
@Override
public String getText(Object element) {
Portfolio portfolio = ((TransactionPair<?>) element).getOwner() instanceof Portfolio ? (Portfolio) ((TransactionPair<?>) element).getOwner() : null;
return portfolio != null ? portfolio.getName() : null;
}
@Override
public Image getImage(Object element) {
Portfolio portfolio = ((TransactionPair<?>) element).getOwner() instanceof Portfolio ? (Portfolio) ((TransactionPair<?>) element).getOwner() : null;
return portfolio != null ? Images.PORTFOLIO.image() : null;
}
});
column.setSorter(ColumnViewerSorter.create(e -> {
Portfolio portfolio = ((TransactionPair<?>) e).getOwner() instanceof Portfolio ? (Portfolio) ((TransactionPair<?>) e).getOwner() : null;
return portfolio != null ? portfolio.getName() : null;
}));
support.addColumn(column);
}
use of name.abuchen.portfolio.ui.util.viewers.Column in project portfolio by buchen.
the class PerformanceView method createEarningsByAccountsItem.
private void createEarningsByAccountsItem(CTabFolder folder, String title) {
Composite container = new Composite(folder, SWT.NONE);
TableColumnLayout layout = new TableColumnLayout();
container.setLayout(layout);
earningsByAccount = new TableViewer(container, SWT.FULL_SELECTION);
ShowHideColumnHelper support = new // $NON-NLS-1$
ShowHideColumnHelper(// $NON-NLS-1$
PerformanceView.class.getSimpleName() + "@byaccounts", getPreferenceStore(), earningsByAccount, layout);
Column column = new Column(Messages.ColumnSource, SWT.LEFT, 400);
column.setLabelProvider(new ColumnLabelProvider() {
@Override
public String getText(Object element) {
GroupEarningsByAccount.Item item = (GroupEarningsByAccount.Item) element;
return item.getAccount().getName();
}
@Override
public Image getImage(Object element) {
return Images.ACCOUNT.image();
}
});
// $NON-NLS-1$
column.setSorter(ColumnViewerSorter.create(GroupEarningsByAccount.Item.class, "account"));
support.addColumn(column);
column = new Column(Messages.ColumnAmount, SWT.RIGHT, 80);
column.setLabelProvider(new ColumnLabelProvider() {
@Override
public String getText(Object element) {
GroupEarningsByAccount.Item item = (GroupEarningsByAccount.Item) element;
return Values.Money.format(item.getSum(), getClient().getBaseCurrency());
}
});
// $NON-NLS-1$
column.setSorter(ColumnViewerSorter.create(GroupEarningsByAccount.Item.class, "sum"));
support.addColumn(column);
support.createColumns();
earningsByAccount.getTable().setHeaderVisible(true);
earningsByAccount.getTable().setLinesVisible(true);
earningsByAccount.setContentProvider(ArrayContentProvider.getInstance());
CTabItem item = new CTabItem(folder, SWT.NONE);
item.setText(title);
item.setControl(container);
}
use of name.abuchen.portfolio.ui.util.viewers.Column in project portfolio by buchen.
the class PerformanceView method addSecurityColumn.
private void addSecurityColumn(ShowHideColumnHelper support) {
Column column = new Column(Messages.ColumnSecurity, SWT.LEFT, 250);
column.setLabelProvider(new ColumnLabelProvider() {
@Override
public String getText(Object element) {
Security security = ((TransactionPair<?>) element).getTransaction().getSecurity();
return security != null ? security.getName() : null;
}
@Override
public Image getImage(Object element) {
Security security = ((TransactionPair<?>) element).getTransaction().getSecurity();
return security != null ? Images.SECURITY.image() : null;
}
});
column.setSorter(ColumnViewerSorter.create(e -> {
Security security = ((TransactionPair<?>) e).getTransaction().getSecurity();
return security != null ? security.getName() : null;
}));
support.addColumn(column);
}
use of name.abuchen.portfolio.ui.util.viewers.Column in project portfolio by buchen.
the class PerformanceView method addTaxesColumn.
private void addTaxesColumn(ShowHideColumnHelper support) {
Column column = new Column(Messages.ColumnTaxes, SWT.RIGHT, 80);
column.setLabelProvider(new ColumnLabelProvider() {
@Override
public String getText(Object element) {
Transaction t = ((TransactionPair<?>) element).getTransaction();
if (t instanceof AccountTransaction) {
AccountTransaction at = (AccountTransaction) t;
switch(at.getType()) {
case TAXES:
return Values.Money.format(at.getMonetaryAmount(), getClient().getBaseCurrency());
case TAX_REFUND:
return Values.Money.format(at.getMonetaryAmount().multiply(-1), getClient().getBaseCurrency());
default:
}
}
return Values.Money.format(t.getUnitSum(Unit.Type.TAX), getClient().getBaseCurrency());
}
});
column.setSorter(ColumnViewerSorter.create(e -> ((TransactionPair<?>) e).getTransaction().getUnitSum(Unit.Type.TAX)));
support.addColumn(column);
}
use of name.abuchen.portfolio.ui.util.viewers.Column in project portfolio by buchen.
the class PortfolioListView method createTopTable.
// //////////////////////////////////////////////////////////////
// top table: accounts
// //////////////////////////////////////////////////////////////
protected void createTopTable(Composite parent) {
Composite container = new Composite(parent, SWT.NONE);
TableColumnLayout layout = new TableColumnLayout();
container.setLayout(layout);
portfolios = new TableViewer(container, SWT.FULL_SELECTION);
ColumnEditingSupport.prepare(portfolios);
portfolioColumns = new // $NON-NLS-1$
ShowHideColumnHelper(// $NON-NLS-1$
PortfolioListView.class.getSimpleName() + "@top2", getPreferenceStore(), portfolios, layout);
// $NON-NLS-1$
Column column = new NameColumn("0", Messages.ColumnPortfolio, SWT.None, 100);
column.setLabelProvider(new NameColumnLabelProvider() {
@Override
public Color getForeground(Object e) {
boolean isRetired = ((Portfolio) e).isRetired();
return isRetired ? Display.getDefault().getSystemColor(SWT.COLOR_DARK_GRAY) : null;
}
});
column.getEditingSupport().addListener(this);
portfolioColumns.addColumn(column);
column = new Column(Messages.ColumnReferenceAccount, SWT.None, 160);
column.setLabelProvider(new ColumnLabelProvider() {
@Override
public String getText(Object e) {
Portfolio p = (Portfolio) e;
return p.getReferenceAccount() != null ? p.getReferenceAccount().getName() : null;
}
});
// $NON-NLS-1$
ColumnViewerSorter.create(Portfolio.class, "referenceAccount").attachTo(column);
// $NON-NLS-1$
new ListEditingSupport(Portfolio.class, "referenceAccount", getClient().getAccounts()).addListener(this).attachTo(column);
portfolioColumns.addColumn(column);
column = new NoteColumn();
column.getEditingSupport().addListener(this);
portfolioColumns.addColumn(column);
portfolioColumns.createColumns();
portfolios.getTable().setHeaderVisible(true);
portfolios.getTable().setLinesVisible(true);
portfolios.setContentProvider(ArrayContentProvider.getInstance());
setInput();
portfolios.addSelectionChangedListener(event -> {
Portfolio portfolio = (Portfolio) ((IStructuredSelection) event.getSelection()).getFirstElement();
if (portfolio != null) {
transactions.setInput(portfolio, portfolio.getTransactions());
transactions.refresh();
CurrencyConverter converter = new CurrencyConverterImpl(factory, portfolio.getReferenceAccount().getCurrencyCode());
statementOfAssets.setInput(PortfolioSnapshot.create(portfolio, converter, LocalDate.now()));
} else {
transactions.setInput(null, null);
transactions.refresh();
statementOfAssets.setInput((PortfolioSnapshot) null);
}
});
hookContextMenu(portfolios.getTable(), this::fillPortfolioContextMenu);
}
Aggregations