[Esbox-commits] r1564 - in branches/work_Fabricio/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard: . nokiabin
fabricioepa at garage.maemo.org
fabricioepa at garage.maemo.org
Sat May 9 00:38:22 EEST 2009
Author: fabricioepa
Date: 2009-05-09 00:38:21 +0300 (Sat, 09 May 2009)
New Revision: 1564
Modified:
branches/work_Fabricio/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/NewScratchbox1TargetWizard.java
branches/work_Fabricio/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/NokiaBinariesInstallWizard.java
branches/work_Fabricio/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/SDKTargetSelectionPage.java
Log:
Fixed BUG #4003
Modified: branches/work_Fabricio/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/NewScratchbox1TargetWizard.java
===================================================================
--- branches/work_Fabricio/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/NewScratchbox1TargetWizard.java 2009-05-08 18:59:23 UTC (rev 1563)
+++ branches/work_Fabricio/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/NewScratchbox1TargetWizard.java 2009-05-08 21:38:21 UTC (rev 1564)
@@ -161,6 +161,7 @@
public void run() {
//get installed targets
Scratchbox1TargetInstallerData data = targetPage.getTargetInstallerData();
+ data.getScratchbox1SDK().refresh();
ISDKTarget[] targets = data.getScratchbox1SDK().getSDKTargets();
List<ISDKTarget> installed = new ArrayList<ISDKTarget>();
for(ISDKTarget t: targets){
Modified: branches/work_Fabricio/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/NokiaBinariesInstallWizard.java
===================================================================
--- branches/work_Fabricio/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/NokiaBinariesInstallWizard.java 2009-05-08 18:59:23 UTC (rev 1563)
+++ branches/work_Fabricio/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/NokiaBinariesInstallWizard.java 2009-05-08 21:38:21 UTC (rev 1564)
@@ -14,7 +14,6 @@
import java.util.HashMap;
import java.util.Map;
-import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.StructuredSelection;
@@ -28,7 +27,6 @@
import org.maemo.mica.common.core.machine.IBuildMachine;
import org.maemo.mica.common.core.machine.MachineRegistry;
import org.maemo.mica.common.core.sdk.ISDKTarget;
-import org.maemo.mica.common.core.sdk.SDKFactory;
import org.maemo.mica.internal.api.maemosdk.ui.wizards.BadInstallationPage;
/**
@@ -115,7 +113,6 @@
addPage(new BadInstallationPage());
return;
}
-
addPage(targetPage);
}
@@ -198,10 +195,9 @@
}
NokiaBinariesInstallWizard wizard = new NokiaBinariesInstallWizard();
- establishTargetsPlatform(defaultTargets);
- wizard.setDefaultTargets(defaultTargets);
wizard.init(activeWorkbenchWindow.getWorkbench(),
StructuredSelection.EMPTY);
+ wizard.setDefaultTargets(defaultTargets);
Shell parent = activeWorkbenchWindow.getShell();
WizardDialog dialog = new WizardDialog(parent, wizard);
dialog.create();
@@ -211,12 +207,4 @@
dialog.open();
}
- private static void establishTargetsPlatform(ISDKTarget[] defaultTargets) {
- if(defaultTargets !=null){
- for(ISDKTarget t: defaultTargets){
- if(t !=null)
- SDKFactory.getInstance().establishPlatform(t, new NullProgressMonitor());
- }
- }
- }
}
Modified: branches/work_Fabricio/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/SDKTargetSelectionPage.java
===================================================================
--- branches/work_Fabricio/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/SDKTargetSelectionPage.java 2009-05-08 18:59:23 UTC (rev 1563)
+++ branches/work_Fabricio/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/SDKTargetSelectionPage.java 2009-05-08 21:38:21 UTC (rev 1564)
@@ -11,12 +11,16 @@
*******************************************************************************/
package org.maemo.esbox.internal.scratchbox.sb1.ui.wizard.nokiabin;
+import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
+import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.viewers.CheckStateChangedEvent;
import org.eclipse.jface.viewers.CheckboxTreeViewer;
import org.eclipse.jface.viewers.ICheckStateListener;
@@ -34,8 +38,10 @@
import org.eclipse.swt.widgets.Label;
import org.maemo.esbox.internal.scratchbox.sb1.Activator;
import org.maemo.esbox.scratchbox.core.sdk.IScratchboxSDK;
+import org.maemo.esbox.scratchbox.sb1.sdk.IScratchbox1SDKTarget;
import org.maemo.mica.common.core.sdk.ISDK;
import org.maemo.mica.common.core.sdk.ISDKTarget;
+import org.maemo.mica.common.core.sdk.SDKFactory;
import org.maemo.mica.common.project.core.IBuildTargetFilter;
import org.maemo.mica.common.ui.BuildTargetUI;
@@ -126,6 +132,7 @@
clabel.setText(label);
GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.CENTER).span(2,1).applyTo(clabel);
+ detectTargetsPlatform();
targetTree = BuildTargetUI.createConfiguredBuildTargetCheckboxViewer(
container, BuildTargetUI.DEFAULT_STYLE, targetFilter);
@@ -151,6 +158,27 @@
targetTree.setInput(new Object());
}
+ private void detectTargetsPlatform() {
+ ProgressMonitorDialog dialog = new ProgressMonitorDialog(getShell());
+ try {
+ dialog.run(true, false, new IRunnableWithProgress() {
+ public void run(IProgressMonitor monitor)
+ throws InvocationTargetException,
+ InterruptedException {
+ monitor.beginTask("Establishing platforms of sdk targets", 2);
+ for (ISDKTarget t : SDKFactory.getInstance().getAllSDKTargets()) {
+ if(IScratchbox1SDKTarget.class.isAssignableFrom(t.getClass()))
+ SDKFactory.getInstance().establishPlatform(t,monitor);
+ }
+ }
+
+ });
+ } catch (Exception e) {
+ Activator.getErrorLogger().logAndShowError(
+ "Failed to establish platforms of sdk targets", e);
+ }
+ }
+
/* (non-Javadoc)
* @see org.eclipse.jface.dialogs.DialogPage#setVisible(boolean)
@@ -158,20 +186,35 @@
@Override
public void setVisible(boolean visible) {
super.setVisible(visible);
-
+
selectDefaults();
}
private void selectDefaults() {
- //Select default platform
- ISDKTarget[] targets = getDefaultTargets();
+
+ //Select default platform
+ //FIXME: Main contains a target that references an unknown platform
+ ISDKTarget[] defaults = getDefaultTargets();
+
+ if(defaults ==null)
+ return;
+
+ //HACK: Get refreshed targets with detected platform
+ for(int i = 0; i < defaults.length; i++){
+ ISDKTarget t = defaults[i];
+ for(ISDKTarget refreshed : SDKFactory.getInstance().getAllSDKTargets()){
+ if(t != null && t.compareTo(refreshed) == 0)
+ defaults[i] = refreshed;
+ }
+ }
+
ISDKTarget target = null;
- if(targets !=null && targets.length != 0 && (target = targets[0]) !=null){
+ if(defaults.length != 0 && (target = defaults[0]) !=null){
int index = Arrays.asList(SDK_NAMES).indexOf(target.getPlatform().getName().toUpperCase());
if(index != -1){
fmaemoSDKCombo.select(index);
updateUI();
targetTree.expandToLevel(target, TreeViewer.ALL_LEVELS);
- targetTree.setCheckedElements(targets);
+ targetTree.setCheckedElements(defaults);
}
setPageComplete(validatePage());
}
More information about the Esbox-commits
mailing list