package org.nightlabs.jfire.voucher.admin.ui.voucherlayout.editor; import java.util.Collection; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.nightlabs.base.ui.composite.XComposite; import org.nightlabs.base.ui.composite.XComposite.LayoutDataMode; import org.nightlabs.base.ui.composite.XComposite.LayoutMode; import org.nightlabs.base.ui.table.AbstractTableComposite; import org.nightlabs.eclipse.ui.dialog.ResizableTrayDialog; import org.nightlabs.jfire.voucher.admin.ui.resource.Messages; import org.nightlabs.jfire.voucher.store.VoucherType; import org.nightlabs.jfire.voucher.ui.quicklist.VoucherTypeTable; public class VoucherTypeTableDialog extends ResizableTrayDialog { private Collection<VoucherType> voucherTypes; private String title; private String topLabel; private String bottomLabel; public VoucherTypeTableDialog(Shell parentShell, Collection<VoucherType> voucherTypes, String title, String topLabel, String bottomLabel) { super(parentShell, Messages.RESOURCE_BUNDLE); setShellStyle(getShellStyle() | SWT.RESIZE); this.voucherTypes = voucherTypes; this.title = title; this.topLabel = topLabel; this.bottomLabel = bottomLabel; } @Override protected void configureShell(Shell newShell) { super.configureShell(newShell); newShell.setText(title); } @Override protected Control createDialogArea(Composite parent) { Composite area = (Composite) super.createDialogArea(parent); XComposite twoColComp = new XComposite(area, SWT.NONE, LayoutMode.TIGHT_WRAPPER, LayoutDataMode.GRID_DATA, 2); GridLayout layout = twoColComp.getGridLayout(); layout.horizontalSpacing = 15; // XComposite twoColComp = new XComposite(twoColComp, SWT.NONE, LayoutMode.TIGHT_WRAPPER, LayoutDataMode.GRID_DATA_HORIZONTAL, 2); Label label = new Label(twoColComp, SWT.NONE); label.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false)); label.setImage(Display.getDefault().getSystemImage(SWT.ICON_QUESTION)); GridData gd = new GridData(); gd.verticalAlignment = SWT.TOP; gd.verticalSpan = 3; label.setLayoutData(gd); label = new Label(twoColComp, SWT.WRAP); XComposite.setLayoutDataMode(LayoutDataMode.GRID_DATA_HORIZONTAL, label); label.setText(topLabel); // VoucherTypeTableComposite voucherTypeTable = new VoucherTypeTableComposite(twoColComp, SWT.NONE); VoucherTypeTable voucherTypeTable = new VoucherTypeTable(twoColComp, AbstractTableComposite.DEFAULT_STYLE_SINGLE_BORDER); voucherTypeTable.setInput(voucherTypes); label = new Label(twoColComp, SWT.WRAP); XComposite.setLayoutDataMode(LayoutDataMode.GRID_DATA_HORIZONTAL, label); label.setText(bottomLabel); return area; } @Override protected void createButtonsForButtonBar(Composite parent) { super.createButtonsForButtonBar(parent); } }