package name.abuchen.portfolio.ui.wizards.client;
import java.util.Collections;
import java.util.List;
import name.abuchen.portfolio.money.CurrencyUnit;
import name.abuchen.portfolio.ui.Messages;
import name.abuchen.portfolio.ui.util.FormDataFactory;
import name.abuchen.portfolio.ui.wizards.AbstractWizardPage;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.ComboViewer;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
class BaseCurrencySelectionPage extends AbstractWizardPage
{
private ComboViewer combo;
protected String explanationIndividualCurrency;
public BaseCurrencySelectionPage(String title, String description, String explanation)
{
super("base-currency-selection"); //$NON-NLS-1$
setTitle(title);
setDescription(description);
this.explanationIndividualCurrency = explanation;
}
@Override
public void createControl(Composite parent)
{
Composite container = new Composite(parent, SWT.NONE);
setControl(container);
container.setLayout(new FormLayout());
Label label = new Label(container, SWT.NONE);
label.setText(Messages.ColumnCurrency);
List<CurrencyUnit> currencies = CurrencyUnit.getAvailableCurrencyUnits();
Collections.sort(currencies);
combo = new ComboViewer(container);
combo.setContentProvider(ArrayContentProvider.getInstance());
combo.setInput(currencies);
combo.setSelection(new StructuredSelection(CurrencyUnit.getInstance(CurrencyUnit.EUR)));
Label description = new Label(container, SWT.WRAP);
description.setText(this.explanationIndividualCurrency);
FormDataFactory.startingWith(combo.getControl(), label).thenBelow(description).width(500).left(label);
container.pack();
setPageComplete(true);
}
public CurrencyUnit getSelectedCurrency()
{
return (CurrencyUnit) ((IStructuredSelection) combo.getSelection()).getFirstElement();
}
}