use of name.abuchen.portfolio.model.TransactionPair 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.model.TransactionPair 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.model.TransactionPair in project portfolio by buchen.
the class TransactionsTab method addColumns.
private void addColumns(ShowHideColumnHelper support) {
Column column = new Column(Messages.ColumnDate, SWT.None, 80);
column.setLabelProvider(new ColumnLabelProvider() {
@Override
public String getText(Object element) {
return Values.DateTime.format(((TransactionPair<?>) element).getTransaction().getDateTime());
}
});
ColumnViewerSorter.create(e -> ((TransactionPair<?>) e).getTransaction().getDateTime()).attachTo(column, SWT.UP);
support.addColumn(column);
column = new Column(Messages.ColumnSecurity, SWT.None, 250);
column.setLabelProvider(new ColumnLabelProvider() {
@Override
public String getText(Object element) {
return ((TransactionPair<?>) element).getTransaction().getSecurity().getName();
}
});
ColumnViewerSorter.create(e -> ((TransactionPair<?>) e).getTransaction().getSecurity().getName()).attachTo(column);
support.addColumn(column);
column = new Column(Messages.ColumnShares, SWT.RIGHT, 80);
column.setLabelProvider(new SharesLabelProvider() {
@Override
public Long getValue(Object element) {
return ((TransactionPair<?>) element).getTransaction().getShares();
}
});
ColumnViewerSorter.create(e -> ((TransactionPair<?>) e).getTransaction().getShares()).attachTo(column);
support.addColumn(column);
column = new Column(Messages.ColumnGrossValue, SWT.RIGHT, 80);
column.setLabelProvider(new ColumnLabelProvider() {
@Override
public String getText(Object element) {
return Values.Money.format(((AccountTransaction) ((TransactionPair<?>) element).getTransaction()).getGrossValue(), client.getBaseCurrency());
}
});
ColumnViewerSorter.create(e -> ((TransactionPair<?>) e).getTransaction().getMonetaryAmount()).attachTo(column);
support.addColumn(column);
column = new Column(Messages.ColumnTaxes, SWT.RIGHT, 80);
column.setLabelProvider(new ColumnLabelProvider() {
@Override
public String getText(Object element) {
return Values.Money.format(((TransactionPair<?>) element).getTransaction().getUnitSum(Unit.Type.TAX), client.getBaseCurrency());
}
});
ColumnViewerSorter.create(e -> ((TransactionPair<?>) e).getTransaction().getUnitSum(Unit.Type.TAX)).attachTo(column);
support.addColumn(column);
column = new Column(Messages.ColumnAmount, SWT.RIGHT, 80);
column.setLabelProvider(new ColumnLabelProvider() {
@Override
public String getText(Object element) {
return Values.Money.format(((TransactionPair<?>) element).getTransaction().getMonetaryAmount(), client.getBaseCurrency());
}
});
ColumnViewerSorter.create(e -> ((TransactionPair<?>) e).getTransaction().getMonetaryAmount()).attachTo(column);
support.addColumn(column);
column = new Column(Messages.ColumnOffsetAccount, SWT.None, 120);
column.setLabelProvider(new ColumnLabelProvider() {
@Override
public String getText(Object element) {
return ((TransactionPair<?>) element).getOwner().toString();
}
});
ColumnViewerSorter.create(e -> ((TransactionPair<?>) e).getOwner().toString()).attachTo(column);
support.addColumn(column);
column = new Column(Messages.ColumnNote, SWT.None, 200);
column.setLabelProvider(new ColumnLabelProvider() {
@Override
public String getText(Object element) {
return ((TransactionPair<?>) element).getTransaction().getNote();
}
@Override
public Image getImage(Object element) {
String note = ((TransactionPair<?>) element).getTransaction().getNote();
return note != null && note.length() > 0 ? Images.NOTE.image() : null;
}
});
ColumnViewerSorter.create(e -> ((TransactionPair<?>) e).getTransaction().getNote()).attachTo(column);
support.addColumn(column);
}
use of name.abuchen.portfolio.model.TransactionPair in project portfolio by buchen.
the class StockSplitModel method applyChanges.
@Override
public void applyChanges() {
// $NON-NLS-1$
SecurityEvent event = new SecurityEvent(exDate, SecurityEvent.Type.STOCK_SPLIT, newShares + ":" + oldShares);
security.addEvent(event);
if (isChangeTransactions()) {
List<TransactionPair<?>> transactions = security.getTransactions(getClient());
for (TransactionPair<?> pair : transactions) {
Transaction t = pair.getTransaction();
if (t.getDateTime().toLocalDate().isBefore(exDate))
t.setShares(t.getShares() * newShares / oldShares);
}
}
if (isChangeHistoricalQuotes()) {
List<SecurityPrice> quotes = security.getPrices();
for (SecurityPrice p : quotes) {
if (p.getDate().isBefore(exDate))
p.setValue(p.getValue() * oldShares / newShares);
}
}
}
Aggregations