From 453f71f4c4f4fdc8652d308c30a6a538c471d6f0 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Fri, 27 Jan 2012 16:09:46 -0500 Subject: [PATCH] Bug 368552 - Hook up finish button. --- .../cdt/ui/wizards/NewCDTProjectWizard.java | 10 ++++++++-- .../cdt/ui/wizards/TemplateSelectionPage.java | 14 ++++++++++---- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/NewCDTProjectWizard.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/NewCDTProjectWizard.java index eb0336db322..282d6e93b5c 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/NewCDTProjectWizard.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/NewCDTProjectWizard.java @@ -3,6 +3,7 @@ package org.eclipse.cdt.ui.wizards; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.wizard.IWizardPage; import org.eclipse.jface.wizard.Wizard; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.INewWizard; @@ -77,8 +78,13 @@ public class NewCDTProjectWizard extends Wizard implements INewWizard { @Override public boolean canFinish() { - // TODO make sure we have everything in place first. - return false; + IWizardPage page = mainPage; + while (page != null) { + if (!page.isPageComplete()) + return false; + page = page.getNextPage(); + } + return true; } } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/TemplateSelectionPage.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/TemplateSelectionPage.java index e8358ab37d4..64920103516 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/TemplateSelectionPage.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/TemplateSelectionPage.java @@ -89,6 +89,7 @@ public class TemplateSelectionPage extends WizardPage { private final TemplateEngineUI uiEngine = TemplateEngineUI.getDefault(); private TreeViewer templateTree; + private Template selectedTemplate; private IWizardPage[] nextPages; public TemplateSelectionPage() { @@ -177,21 +178,22 @@ public class TemplateSelectionPage extends WizardPage { templateTree.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { + selectedTemplate = null; + nextPages = null; IStructuredSelection selection = (IStructuredSelection)templateTree.getSelection(); Object selObj = selection.getFirstElement(); if (selObj instanceof Node) { Object object = ((Node)selObj).getObject(); if (object instanceof Template) { IWizard wizard = getWizard(); - nextPages = ((Template)object).getTemplateWizardPages(TemplateSelectionPage.this, + selectedTemplate = (Template)object; + nextPages = selectedTemplate.getTemplateWizardPages(TemplateSelectionPage.this, wizard.getNextPage(TemplateSelectionPage.this), wizard); setPageComplete(true); } else { - nextPages = null; setPageComplete(false); } } else { - nextPages = null; setPageComplete(false); } } @@ -202,9 +204,13 @@ public class TemplateSelectionPage extends WizardPage { setControl(comp); } + public Template getSelectedTemplate() { + return selectedTemplate; + } + @Override public boolean isPageComplete() { - return true; + return selectedTemplate != null; } @Override