1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-09 01:05:38 +02:00

Bug 368552 - Hook up finish button.

This commit is contained in:
Doug Schaefer 2012-01-27 16:09:46 -05:00
parent 7585db1990
commit 453f71f4c4
2 changed files with 18 additions and 6 deletions

View file

@ -3,6 +3,7 @@ package org.eclipse.cdt.ui.wizards;
import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.Wizard; import org.eclipse.jface.wizard.Wizard;
import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.INewWizard; import org.eclipse.ui.INewWizard;
@ -77,8 +78,13 @@ public class NewCDTProjectWizard extends Wizard implements INewWizard {
@Override @Override
public boolean canFinish() { public boolean canFinish() {
// TODO make sure we have everything in place first. IWizardPage page = mainPage;
while (page != null) {
if (!page.isPageComplete())
return false; return false;
page = page.getNextPage();
}
return true;
} }
} }

View file

@ -89,6 +89,7 @@ public class TemplateSelectionPage extends WizardPage {
private final TemplateEngineUI uiEngine = TemplateEngineUI.getDefault(); private final TemplateEngineUI uiEngine = TemplateEngineUI.getDefault();
private TreeViewer templateTree; private TreeViewer templateTree;
private Template selectedTemplate;
private IWizardPage[] nextPages; private IWizardPage[] nextPages;
public TemplateSelectionPage() { public TemplateSelectionPage() {
@ -177,21 +178,22 @@ public class TemplateSelectionPage extends WizardPage {
templateTree.addSelectionChangedListener(new ISelectionChangedListener() { templateTree.addSelectionChangedListener(new ISelectionChangedListener() {
@Override @Override
public void selectionChanged(SelectionChangedEvent event) { public void selectionChanged(SelectionChangedEvent event) {
selectedTemplate = null;
nextPages = null;
IStructuredSelection selection = (IStructuredSelection)templateTree.getSelection(); IStructuredSelection selection = (IStructuredSelection)templateTree.getSelection();
Object selObj = selection.getFirstElement(); Object selObj = selection.getFirstElement();
if (selObj instanceof Node) { if (selObj instanceof Node) {
Object object = ((Node)selObj).getObject(); Object object = ((Node)selObj).getObject();
if (object instanceof Template) { if (object instanceof Template) {
IWizard wizard = getWizard(); IWizard wizard = getWizard();
nextPages = ((Template)object).getTemplateWizardPages(TemplateSelectionPage.this, selectedTemplate = (Template)object;
nextPages = selectedTemplate.getTemplateWizardPages(TemplateSelectionPage.this,
wizard.getNextPage(TemplateSelectionPage.this), wizard); wizard.getNextPage(TemplateSelectionPage.this), wizard);
setPageComplete(true); setPageComplete(true);
} else { } else {
nextPages = null;
setPageComplete(false); setPageComplete(false);
} }
} else { } else {
nextPages = null;
setPageComplete(false); setPageComplete(false);
} }
} }
@ -202,9 +204,13 @@ public class TemplateSelectionPage extends WizardPage {
setControl(comp); setControl(comp);
} }
public Template getSelectedTemplate() {
return selectedTemplate;
}
@Override @Override
public boolean isPageComplete() { public boolean isPageComplete() {
return true; return selectedTemplate != null;
} }
@Override @Override