package de.urszeidler.shr5.ecp.wizards.createItem; import org.eclipse.core.databinding.DataBindingContext; import org.eclipse.emf.ecore.EObject; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.ImageData; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Group; import de.urszeidler.eclipse.shr5.GeldWert; import de.urszeidler.eclipse.shr5.Quelle; import de.urszeidler.eclipse.shr5.Shr5Package; import de.urszeidler.eclipse.shr5.util.AdapterFactoryUtil; import de.urszeidler.emf.commons.ui.util.EmfFormBuilder; import de.urszeidler.shr5.ecp.editor.pages.Messages; public class NewItemDetailWizardPage extends WizardPage { private EObject object; private AbstractNewItemWizard wizard; /** * Create the wizard. * * @wbp.parser.constructor */ public NewItemDetailWizardPage() { super(de.urszeidler.shr5.ecp.wizards.Messages.NewItemDetailWizardPage_titel); // setTitle("Wizard Page title"); // setDescription("Wizard Page description"); } public NewItemDetailWizardPage(AbstractNewItemWizard newItemWizard) { this(); setWizard(newItemWizard); wizard = newItemWizard; } /** * Create contents of the wizard. * * @param parent */ public void createControl(Composite parent) { final LabelProvider labelProvider = AdapterFactoryUtil.getInstance().getLabelProvider(); object = wizard.getCreatedObject(); String name = labelProvider.getText(object.eClass()); setTitle(String.format(de.urszeidler.shr5.ecp.wizards.Messages.NewItemDetailWizardPage_titel1,name)); setDescription(String.format(de.urszeidler.shr5.ecp.wizards.Messages.NewItemDetailWizardPage_description,name)); Composite container = new Composite(parent, SWT.NULL); setImageDescriptor(new ImageDescriptor() { @Override public ImageData getImageData() { return labelProvider.getImage(object).getImageData().scaledTo(32, 32); } }); setControl(container); container.setLayout(new GridLayout(1, false)); Group grpRrrr = new Group(container, SWT.NONE); grpRrrr.setText(labelProvider.getText(Shr5Package.Literals.BESCHREIBBAR)); grpRrrr.setLayout(new GridLayout(3, false)); grpRrrr.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1)); Group grpDel = new Group(container, SWT.NONE); grpDel.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1)); grpDel.setText(labelProvider.getText(Shr5Package.Literals.GELD_WERT)); grpDel.setLayout(new GridLayout(3, false)); Group grpSource = new Group(container, SWT.NONE); grpSource.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1)); grpSource.setLayout(new GridLayout(3, false)); grpSource.setText(labelProvider.getText(Shr5Package.Literals.QUELLE)); // EmfFormBuilder emfFormBuilder = new EmfFormBuilder(null, AdapterFactoryUtil.getInstance().getItemDelegator(), labelProvider, wizard.getEditingDomain()); emfFormBuilder.setNullString(Messages.EmfFormbuilder_non_selected); emfFormBuilder.addTextEntry(Shr5Package.Literals.BESCHREIBBAR__NAME, grpRrrr); emfFormBuilder.addTextEntry(Shr5Package.Literals.BESCHREIBBAR__BESCHREIBUNG, grpRrrr); if (object instanceof Quelle) { emfFormBuilder.addTextEntry(Shr5Package.Literals.QUELLE__SRC_BOOK, grpSource); emfFormBuilder.addTextEntry(Shr5Package.Literals.QUELLE__PAGE, grpSource); } else grpSource.setVisible(false); if (object instanceof GeldWert) { emfFormBuilder.addTextEntry(Shr5Package.Literals.GELD_WERT__WERT_VALUE, grpDel); emfFormBuilder.addTextEntry(Shr5Package.Literals.GELD_WERT__VERFUEGBARKEIT, grpDel); } else grpDel.setVisible(false); emfFormBuilder.buildinComposite(new DataBindingContext(), container, object); } }