package org.nightlabs.jfire.trade.ui.articlecontainer.detail.recurring;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.forms.editor.FormPage;
import org.nightlabs.base.ui.composite.XComposite;
import org.nightlabs.base.ui.composite.XComposite.LayoutMode;
import org.nightlabs.jfire.trade.recurring.RecurringOfferConfiguration;
import org.nightlabs.jfire.trade.ui.resource.Messages;
/**
* @author Fitas Amine <!-- fitas [AT] nightlabs [DOT] de -->
*
*/
public class RecurringOfferConfigSection extends AbstractRecurringConfigGeneralSection {
private Button createInvoiceCheck;
private Button createDeliveryCheck;
private Button bookInvoiceCheck;
public RecurringOfferConfigSection(FormPage page, Composite parent, final RecurringOfferConfigurationPageController controller)
{
super(page, parent, controller);
getSection().setText(Messages.getString("org.nightlabs.jfire.trade.ui.articlecontainer.detail.recurring.RecurringOfferConfigSection.text")); //$NON-NLS-1$
setDescription(Messages.getString("org.nightlabs.jfire.trade.ui.articlecontainer.detail.recurring.RecurringOfferConfigSection.description")); //$NON-NLS-1$
XComposite checkboxContainer = new XComposite(getContainer(), SWT.NONE, LayoutMode.LEFT_RIGHT_WRAPPER);
checkboxContainer.getGridLayout().numColumns = 3;
checkboxContainer.getGridLayout().makeColumnsEqualWidth = false;
createInvoiceCheck = new Button(checkboxContainer, SWT.CHECK);
createInvoiceCheck.setText(Messages.getString("org.nightlabs.jfire.trade.ui.articlecontainer.detail.recurring.RecurringOfferConfigSection.button.text.createInvoice")); //$NON-NLS-1$
createInvoiceCheck.setToolTipText(""); //$NON-NLS-1$
createInvoiceCheck.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
getController().getControllerObject().setCreateInvoice(createInvoiceCheck.getSelection());
markDirty();
}
});
bookInvoiceCheck = new Button(checkboxContainer, SWT.CHECK);
bookInvoiceCheck.setText(Messages.getString("org.nightlabs.jfire.trade.ui.articlecontainer.detail.recurring.RecurringOfferConfigSection.button.text.bookInvoice")); //$NON-NLS-1$
bookInvoiceCheck.setToolTipText(""); //$NON-NLS-1$
bookInvoiceCheck.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
getController().getControllerObject().setBookInvoice(bookInvoiceCheck.getSelection());
markDirty();
}
});
createDeliveryCheck = new Button(checkboxContainer, SWT.CHECK);
createDeliveryCheck.setText(Messages.getString("org.nightlabs.jfire.trade.ui.articlecontainer.detail.recurring.RecurringOfferConfigSection.button.text.createDeliveryNote")); //$NON-NLS-1$
createDeliveryCheck.setToolTipText(""); //$NON-NLS-1$
createDeliveryCheck.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
getController().getControllerObject().setCreateDelivery(createDeliveryCheck.getSelection());
markDirty();
}
});
}
@Override
protected void updateConfigOffer(
RecurringOfferConfiguration recurringOfferConfiguration) {
if(bookInvoiceCheck.isDisposed()||createDeliveryCheck.isDisposed()||createInvoiceCheck.isDisposed())
return;
createDeliveryCheck.setSelection(recurringOfferConfiguration.isCreateDelivery());
createInvoiceCheck.setSelection(recurringOfferConfiguration.isCreateInvoice());
bookInvoiceCheck.setSelection(recurringOfferConfiguration.isBookInvoice());
}
}