/*******************************************************************************
* Copyright (c) 2008 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is 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:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.smooks.configuration.editors;
import java.util.Collection;
import org.eclipse.emf.edit.command.CommandParameter;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.wizard.IWizard;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.widgets.Shell;
/**
* @author Dart
*
*/
public class ChildrenSelectionWizard extends Wizard {
private ChildrenSelectionWizardPage page;
private PrivateWizardDialog dialog;
public ChildrenSelectionWizard(Shell shell, Collection<?> childrenDescriptor,
AdapterFactoryEditingDomain editingDomain , ILabelProvider customeLabelProvider) {
super();
dialog = new PrivateWizardDialog(shell, this){
};
page = new ChildrenSelectionWizardPage(childrenDescriptor, editingDomain, "children selection", //$NON-NLS-1$
"Select children", null); //$NON-NLS-1$
page.setWizardDialog(dialog);
page.setCustomeLabelProvider(customeLabelProvider);
}
public CommandParameter getChildDescriptor(){
return (CommandParameter)page.getChild();
}
public int open() {
return dialog.open();
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.wizard.Wizard#performFinish()
*/
@Override
public boolean performFinish() {
return true;
}
@Override
public void addPages() {
this.addPage(page);
}
class PrivateWizardDialog extends WizardDialog{
public PrivateWizardDialog(Shell parentShell, IWizard newWizard) {
super(parentShell, newWizard);
}
public void pressOK(){
this.okPressed();
}
}
}