/*******************************************************************************
* Copyright (c) 2015 Zend Technologies and others.
* 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
*
* Contributors:
* Zend Technologies - initial API and implementation
*******************************************************************************/
package org.eclipse.php.internal.debug.ui.wizards;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.php.internal.debug.core.preferences.PHPexeItem;
import org.eclipse.php.internal.debug.ui.Logger;
import org.eclipse.php.internal.server.core.Server;
import org.eclipse.php.internal.ui.wizards.CompositeWizardFragment;
import org.eclipse.php.internal.ui.wizards.IWizardHandle;
import org.eclipse.php.internal.ui.wizards.WizardControlWrapper;
import org.eclipse.php.internal.ui.wizards.WizardModel;
import org.eclipse.swt.widgets.Composite;
/**
* Wizard fragment for debugger settings.
*
* @author Bartlomiej Laczkowski
*/
@SuppressWarnings("restriction")
public class DebuggerWizardFragment extends CompositeWizardFragment {
private DebuggerCompositeFragment compositeFragment;
private Server server;
private PHPexeItem phpExeItem;
/*
* (non-Javadoc)
*
* @see
* org.eclipse.php.internal.ui.wizards.CompositeWizardFragment#getComposite
* ()
*/
public Composite getComposite() {
return compositeFragment;
}
/*
* (non-Javadoc)
*
* @see
* org.eclipse.php.internal.ui.wizards.WizardFragment#createComposite(org
* .eclipse.swt.widgets.Composite,
* org.eclipse.php.internal.ui.wizards.IWizardHandle)
*/
public Composite createComposite(Composite parent, IWizardHandle handle) {
compositeFragment = new DebuggerCompositeFragment(parent, new WizardControlWrapper(handle), false);
return compositeFragment;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.php.internal.ui.wizards.WizardFragment#enter()
*/
public void enter() {
if (compositeFragment != null) {
try {
server = (Server) getWizardModel().getObject(WizardModel.SERVER);
if (server != null) {
compositeFragment.setData(server);
return;
}
phpExeItem = (PHPexeItem) getWizardModel().getObject(PHPExeWizard.MODEL);
if (phpExeItem == null) {
phpExeItem = new PHPexeItem();
}
compositeFragment.setData(phpExeItem);
} catch (Exception e) {
Logger.logException(e);
}
} else {
Logger.log(Logger.ERROR, "Could not display the Servers wizard (component is null)."); //$NON-NLS-1$
}
}
/*
* (non-Javadoc)
*
* @see org.eclipse.php.internal.ui.wizards.WizardFragment#isComplete()
*/
public boolean isComplete() {
if (compositeFragment == null) {
return super.isComplete();
}
return super.isComplete() && compositeFragment.isComplete();
}
/*
* (non-Javadoc)
*
* @see
* org.eclipse.php.internal.ui.wizards.WizardFragment#performFinish(org.
* eclipse.core.runtime.IProgressMonitor)
*/
@Override
public boolean performFinish(IProgressMonitor monitor) throws CoreException {
try {
if (compositeFragment != null) {
return compositeFragment.performOk();
}
} catch (Exception e) {
}
return false;
}
}