From a7e84830627e50adac5c81ae4dad69aa350933fb Mon Sep 17 00:00:00 2001 From: Ken Gilmer Date: Tue, 18 May 2010 21:53:22 -0400 Subject: org.openembedded.bc.ui: initial commit --- .../bc/ui/wizards/install/InstallWizard.java | 105 +++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 org.openembedded.bc.ui/src/org/openembedded/bc/ui/wizards/install/InstallWizard.java (limited to 'org.openembedded.bc.ui/src/org/openembedded/bc/ui/wizards/install/InstallWizard.java') diff --git a/org.openembedded.bc.ui/src/org/openembedded/bc/ui/wizards/install/InstallWizard.java b/org.openembedded.bc.ui/src/org/openembedded/bc/ui/wizards/install/InstallWizard.java new file mode 100644 index 0000000..2297939 --- /dev/null +++ b/org.openembedded.bc.ui/src/org/openembedded/bc/ui/wizards/install/InstallWizard.java @@ -0,0 +1,105 @@ +package org.openembedded.bc.ui.wizards.install; + +import java.lang.reflect.InvocationTargetException; +import java.util.Hashtable; +import java.util.Map; + +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchWizard; +import org.openembedded.bc.ui.Activator; +import org.openembedded.bc.ui.model.ProjectInfo; +import org.openembedded.bc.ui.wizards.FiniteStateWizard; +import org.openembedded.bc.ui.wizards.newproject.CreateBBCProjectOperation; + + +/** + * A wizard for installing a fresh copy of an OE system. + * + * @author kgilmer + * + */ +public class InstallWizard extends FiniteStateWizard implements IWorkbenchWizard { + + static final String KEY_PINFO = "KEY_PINFO"; + private Map model; + + public InstallWizard() { + this.model = new Hashtable(); + setWindowTitle("BitBake Commander"); + setNeedsProgressMonitor(false); + setDefaultPageImageDescriptor(Activator.getImageDescriptor("icons/OE_logo_96.png")); + } + + public InstallWizard(IStructuredSelection selection) { + model = new Hashtable(); + } + + /*@Override + public IWizardPage getNextPage(IWizardPage page) { + if (page instanceof WelcomePage) { + if (model.containsKey(WelcomePage.ACTION_USE)) { + return bbcProjectPage; + } + } else if (page instanceof ProgressPage) { + return bitbakePage; + } + + if (super.getNextPage(page) != null) { + System.out.println("next page: " + super.getNextPage(page).getClass().getName()); + } else { + System.out.println("end page"); + } + + return super.getNextPage(page); + } + + @Override + public boolean canFinish() { + System.out.println("can finish: " + super.canFinish()); + return super.canFinish(); + } +*/ + @Override + public void addPages() { + // flavorPage = new FlavorPage(model); + // bitbakePage = new BitbakePage(model); + // bbcProjectPage = new BBCProjectPage(model); + //addPage(new WelcomePage(model)); + addPage(new FlavorPage(model)); + addPage(new OptionsPage(model)); + addPage(new ProgressPage(model)); + //addPage(bbcProjectPage); + addPage(new BitbakePage(model)); + } + + @Override + public Map getModel() { + return model; + } + + @Override + public boolean performFinish() { + ProjectInfo pinfo = (ProjectInfo) model.get(KEY_PINFO); + Activator.putProjInfo(pinfo.getRootPath(), pinfo); + try { + getContainer().run(false, false, new CreateBBCProjectOperation(pinfo)); + } catch (InvocationTargetException e) { + e.printStackTrace(); + Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR, e.getMessage(), e)); + this.getContainer().getCurrentPage().setTitle("Failed to create project: " + e.getTargetException().getMessage()); + return false; + } catch (Exception e) { + Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR, e.getMessage(), e)); + this.getContainer().getCurrentPage().setTitle("Failed to create project: " + e.getMessage()); + return false; + } + + return true; + } + + public void init(IWorkbench workbench, IStructuredSelection selection) { + } +} -- cgit 1.2.3-korg