/******************************************************************************* * Copyright (c) 2013 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.debug.ui.wizards; import org.eclipse.core.runtime.IStatus; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.events.HelpEvent; import org.eclipse.swt.events.HelpListener; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.internal.help.WorkbenchHelpSystem; import org.zend.php.zendserver.deployment.core.debugger.LibraryDeployData; import org.zend.php.zendserver.deployment.debug.ui.HelpContextIds; import org.zend.php.zendserver.deployment.debug.ui.Messages; import org.zend.php.zendserver.deployment.debug.ui.listeners.IStatusChangeListener; /** * @author Wojciech Galanciak, 2013 * */ public class LibraryConfigurationPage extends WizardPage implements IStatusChangeListener { private LibraryConfigurationBlock block; protected LibraryConfigurationPage(LibraryDeployData data) { super("Configuration Page"); //$NON-NLS-1$ setTitle(Messages.LibraryConfigurationPage_Title); this.block = new LibraryConfigurationBlock(this, data); } /* * (non-Javadoc) * * @see * org.zend.php.zendserver.deployment.debug.ui.wizards.ConfigurationPage * #createControl(org.eclipse.swt.widgets.Composite) */ public void createControl(Composite parent) { Composite container = block.createContents(parent, true); setControl(container); block.setDialogSettings(getDialogSettings()); block.initializeFields(); parent.setData(WorkbenchHelpSystem.HELP_KEY, HelpContextIds.DEPLOY_PHP_LIBRARY); parent.addHelpListener(new HelpListener() { public void helpRequested(HelpEvent arg0) { org.eclipse.swt.program.Program.launch(HelpContextIds.DEPLOY_PHP_LIBRARY); } }); setPageComplete(false); statusChanged(block.validatePage()); } public LibraryDeployData getData() { return block.getData(); } /* * (non-Javadoc) * * @see * org.zend.php.zendserver.deployment.debug.ui.listeners.IStatusChangeListener * #statusChanged(org.eclipse.core.runtime.IStatus) */ public void statusChanged(IStatus status) { if (status.getSeverity() == IStatus.OK) { setMessage(status.getMessage()); setErrorMessage(null); setPageComplete(true); } else { if (status.getSeverity() == IStatus.ERROR) { setErrorMessage(status.getMessage()); } else { setErrorMessage(null); } setPageComplete(false); } } }