package org.nightlabs.jfire.voucher.admin.ui.createvouchertype; import org.eclipse.jface.viewers.ISelectionChangedListener; import org.eclipse.jface.viewers.SelectionChangedEvent; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.nightlabs.base.ui.composite.FadeableComposite; import org.nightlabs.base.ui.composite.XComposite; import org.nightlabs.base.ui.composite.XComposite.LayoutMode; import org.nightlabs.base.ui.wizard.DynamicPathWizardPage; import org.nightlabs.jfire.store.ProductType; import org.nightlabs.jfire.voucher.admin.ui.resource.Messages; import org.nightlabs.jfire.voucher.admin.ui.tree.VoucherTypeTree; import org.nightlabs.jfire.voucher.store.VoucherType; public class VoucherTypeSelectPage extends DynamicPathWizardPage { private VoucherTypeTree voucherTypeTree; private VoucherType selectedVoucherType; /** * @param pageName */ public VoucherTypeSelectPage() { super(VoucherTypeSelectPage.class.getName(), Messages.getString("org.nightlabs.jfire.voucher.admin.ui.createvouchertype.VoucherTypeSelectPage.title")); //$NON-NLS-1$ this.setDescription(Messages.getString("org.nightlabs.jfire.voucher.admin.ui.createvouchertype.VoucherTypeSelectPage.description")); //$NON-NLS-1$ } /** * @see org.nightlabs.base.ui.wizard.DynamicPathWizardPage#createPageContents(org.eclipse.swt.widgets.Composite) */ @Override public Control createPageContents(Composite parent) { final FadeableComposite page = new FadeableComposite(parent, SWT.NONE, LayoutMode.TIGHT_WRAPPER); XComposite comp = new XComposite(page, page.getBorderStyle(), LayoutMode.TIGHT_WRAPPER); comp.setLayoutData(new GridData(GridData.FILL_BOTH)); comp.getGridLayout().numColumns = 2; voucherTypeTree = new VoucherTypeTree(comp); voucherTypeTree.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { getContainer().updateButtons(); } }); return page; } private boolean isPageAdded = false; @Override public boolean canFlipToNextPage() { selectedVoucherType = voucherTypeTree.getFirstSelectedElement(); if (selectedVoucherType != null && selectedVoucherType.getInheritanceNature() == ProductType.INHERITANCE_NATURE_BRANCH ) { CreateVoucherTypeNewWizard newWizard = (CreateVoucherTypeNewWizard)getWizard(); newWizard.setParentVoucherTypeID(selectedVoucherType.getObjectId()); if (!isPageAdded) { newWizard.addRemainingPages(); isPageAdded = true; } return true; } return false; } @Override public boolean isPageComplete() { return selectedVoucherType != null; } @Override public boolean canBeLastPage() { return false; } }