package org.kie.eclipse.wizard.project; import java.util.ArrayList; import java.util.Collection; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IProjectDescription; import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; import org.eclipse.ui.dialogs.WizardNewProjectCreationPage; public class KieProjectWizardPage extends WizardNewProjectCreationPage implements IKieProjectWizardPage { public KieProjectWizardPage(String pageName) { super(pageName); } protected void setControlVisible(Control control, boolean visible) { Object ld = control.getLayoutData(); if (ld instanceof GridData) { ((GridData)ld).exclude = !visible; } control.setVisible(visible); control.getParent().getParent().layout(); control.getParent().layout(); } @Override public Collection<IProjectDescription> getNewProjectDescriptions() { Collection<IProjectDescription> result = new ArrayList<IProjectDescription> (); IWorkspace workspace = ResourcesPlugin.getWorkspace(); IProject project = getProjectHandle(); IPath newPath = useDefaults() ? null : getLocationPath(); IProjectDescription description = workspace.newProjectDescription(project.getName()); description.setLocation(newPath); result.add(description); return result; } protected Label createLabel(Composite parent, String text) { Label label = new Label(parent, SWT.NONE); label.setText(text); label.setLayoutData(new GridData(GridData.END, GridData.CENTER, false, false, 1, 1)); return label; } protected Text createText(Composite parent, String contents) { Text text = new Text(parent, SWT.BORDER); text.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 1, 1)); text.setText(contents); return text; } protected Button createCheckBox(Composite group, String label) { Button button = new Button(group, SWT.CHECK | SWT.LEFT); button.setText(label); GridData data = new GridData(); data.horizontalIndent = 10; button.setLayoutData(data); return button; } protected Button createRadioButton(Composite group, String label) { Button button = new Button(group, SWT.RADIO | SWT.LEFT); button.setText(label); GridData data = new GridData(GridData.BEGINNING, GridData.CENTER, false, false, 1, 1); data.horizontalIndent = 10; button.setLayoutData(data); return button; } public IProgressMonitor getProgressMonitor() { AbstractKieProjectStartWizardPage startPage = (AbstractKieProjectStartWizardPage) getWizard().getPage(AbstractKieProjectWizard.START_PAGE); return startPage.getProgressMonitor(); } }