/******************************************************************************* * Copyright (c) May 18, 2011 Zend Technologies Ltd. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ package org.zend.php.zendserver.deployment.ui.wizards; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.forms.ManagedForm; import org.eclipse.ui.forms.widgets.FormToolkit; import org.zend.php.zendserver.deployment.core.descriptor.ChangeEvent; import org.zend.php.zendserver.deployment.core.descriptor.DeploymentDescriptorPackage; import org.zend.php.zendserver.deployment.core.descriptor.IDescriptorChangeListener; import org.zend.php.zendserver.deployment.core.descriptor.IModelObject; import org.zend.php.zendserver.deployment.ui.Activator; import org.zend.php.zendserver.deployment.ui.editors.DependencyDetailsPage; import org.zend.php.zendserver.deployment.ui.editors.DetailsPageProvider; public class NewDependencyMainPage extends WizardPage { private final IModelObject element; public NewDependencyMainPage(IModelObject element) { super("", "", Activator.getImageDescriptor(Activator.IMAGE_WIZBAN_DEP)); //$NON-NLS-1$ //$NON-NLS-2$ this.element = element; } public void createControl(Composite parent) { final DetailsPageProvider detailsPageProvider = new DetailsPageProvider( null, null); final DependencyDetailsPage page = (DependencyDetailsPage) detailsPageProvider .getPage(element.getClass()); element.set(DeploymentDescriptorPackage.DEPENDENCY_MIN, ""); //$NON-NLS-1$ element.addListener(new IDescriptorChangeListener() { public void descriptorChanged(ChangeEvent event) { setPageComplete(validate(element)); } }); final FormToolkit toolkit = new FormToolkit(parent.getDisplay()); toolkit.setBackground(parent.getBackground()); final ManagedForm form = new ManagedForm(toolkit, toolkit.createScrolledForm(parent)); page.initialize(form); page.setSection(false); page.createContents(form.getForm().getBody()); page.setFormInput(element); setTitle(page.sectionTitle); setMessage(page.sectionDescription); setControl(parent); setPageComplete(false); } protected boolean validate(IModelObject element) { // Validate element here return true; } }