blob: b810fe76aa59edcf30650c63c47362da044d9622 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
package org.openembedded.bc.ui.wizards.importProject;
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.IImportWizard;
import org.eclipse.ui.IWorkbench;
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;
public class ImportOEProjectWizard extends FiniteStateWizard implements IImportWizard {
protected final static String KEY_OEROOT = "OEROOT";
public static final String KEY_NAME = "NAME";
public static final String KEY_LOCATION = "LOCATION";
public static final String KEY_INITPATH = "INITPATH";
protected static final String KEY_PINFO = "PINFO";
private Map projectModel;
private IWorkbench workbench;
private IStructuredSelection selection;
public ImportOEProjectWizard() {
projectModel = new Hashtable();
}
public Map getModel() {
return projectModel;
}
@Override
public void addPages() {
addPage(new BBCProjectPage(projectModel));
addPage(new ConsolePage(projectModel));
}
public boolean performFinish() {
ProjectInfo pinfo = (ProjectInfo) projectModel.get(KEY_PINFO);
Activator.putProjInfo(pinfo.getRootPath(), pinfo);
try {
getContainer().run(false, false, new CreateBBCProjectOperation(pinfo));
} catch (Exception e) {
Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, IStatus.ERROR, e.getMessage(), e));
this.getContainer().getCurrentPage().setDescription("Failed to create project: " + e.getMessage());
return false;
}
return true;
}
public void init(IWorkbench workbench, IStructuredSelection selection) {
this.workbench = workbench;
this.selection = selection;
this.setNeedsProgressMonitor(true);
setWindowTitle("BitBake Commander Project");
}
}
|