[Esbox-commits] r1522 - in branches/work_Ed: . org.maemo.esbox.product org.maemo.esbox.product.repository-feature org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin
eswartz at garage.maemo.org
eswartz at garage.maemo.org
Mon May 4 17:14:13 EEST 2009
Author: eswartz
Date: 2009-05-04 17:14:13 +0300 (Mon, 04 May 2009)
New Revision: 1522
Removed:
branches/work_Ed/org.maemo.esbox.product.supplement-feature/
branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/FremantleBinariesInstallerEngine.java
Modified:
branches/work_Ed/org.maemo.esbox.product.repository-feature/feature.xml
branches/work_Ed/org.maemo.esbox.product/ESbox.product
branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/NewScratchbox1TargetWizard.java
branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/FremantleLicenseAgreementPage.java
branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/FremantleWorkPage.java
branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/NokiaBinariesInstallWizard.java
branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/SDKTargetSelectionPage.java
Log:
Merge revs 1508:1521 from trunk
Modified: branches/work_Ed/org.maemo.esbox.product/ESbox.product
===================================================================
--- branches/work_Ed/org.maemo.esbox.product/ESbox.product 2009-05-04 14:04:36 UTC (rev 1521)
+++ branches/work_Ed/org.maemo.esbox.product/ESbox.product 2009-05-04 14:14:13 UTC (rev 1522)
@@ -131,7 +131,7 @@
<features>
<feature id="org.maemo.esbox.product" version="0.0.0"/>
- <feature id="org.maemo.esbox.product.supplement" version="0.0.0"/>
+ <feature id="org.maemo.mica.supplement" version="0.0.0"/>
<feature id="org.eclipse.linuxtools.cdt.autotools.feature" version="0.0.0"/>
<feature id="org.eclipse.dd.dsf.gdb" version="0.0.0"/>
<feature id="org.eclipse.dd.dsf.gdb_launch" version="0.0.0"/>
Modified: branches/work_Ed/org.maemo.esbox.product.repository-feature/feature.xml
===================================================================
--- branches/work_Ed/org.maemo.esbox.product.repository-feature/feature.xml 2009-05-04 14:04:36 UTC (rev 1521)
+++ branches/work_Ed/org.maemo.esbox.product.repository-feature/feature.xml 2009-05-04 14:14:13 UTC (rev 1522)
@@ -28,7 +28,7 @@
<includes
id="org.maemo.esbox.scratchbox"
version="0.0.0"/>
-
+
<requires>
<import feature="org.eclipse.cdt" version="5.0.2" match="greaterOrEqual"/>
<import feature="org.eclipse.platform" version="3.4.2" match="greaterOrEqual"/>
@@ -42,6 +42,14 @@
<import feature="org.maemo.mica.protocol" version="2.0.0" match="greaterOrEqual"/>
<import feature="org.maemo.mica.protocol.rse" version="2.0.0" match="greaterOrEqual"/>
<import feature="org.maemo.mica.python" version="2.0.0" match="greaterOrEqual"/>
+ <import feature="org.maemo.mica.supplement" version="2.0.0" match="greaterOrEqual"/>
</requires>
+ <plugin
+ id="org.maemo.esbox.product"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
Modified: branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/NewScratchbox1TargetWizard.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/NewScratchbox1TargetWizard.java 2009-05-04 14:04:36 UTC (rev 1521)
+++ branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/NewScratchbox1TargetWizard.java 2009-05-04 14:14:13 UTC (rev 1522)
@@ -14,6 +14,8 @@
package org.maemo.esbox.internal.scratchbox.sb1.ui.wizard;
import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
+import java.util.List;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
@@ -157,7 +159,17 @@
"Would you like to install Nokia-closed binaries for installed targets now?")) {
Display.getDefault().asyncExec(new Runnable() {
public void run() {
- NokiaBinariesInstallWizard.startWizard();
+ //get installed targets
+ Scratchbox1TargetInstallerData data = targetPage.getTargetInstallerData();
+ ISDKTarget[] targets = data.getScratchbox1SDK().getSDKTargets();
+ List<ISDKTarget> installed = new ArrayList<ISDKTarget>();
+ for(ISDKTarget t: targets){
+ if(t.getName().equalsIgnoreCase(data.getARMELTargetName())
+ || t.getName().equalsIgnoreCase(data.getX86TargetName()))
+ installed.add(t);
+ }
+ //call wizard with targets pre selected
+ NokiaBinariesInstallWizard.startWizard(installed.toArray(new ISDKTarget[2]));
}
});
}
Deleted: branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/FremantleBinariesInstallerEngine.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/FremantleBinariesInstallerEngine.java 2009-05-04 14:04:36 UTC (rev 1521)
+++ branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/FremantleBinariesInstallerEngine.java 2009-05-04 14:14:13 UTC (rev 1522)
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007-2008 INdT, (c) 2008 Nokia Corporation
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Fabrício S Epaminondas (UFCG)
- *
- *******************************************************************************/
-package org.maemo.esbox.internal.scratchbox.sb1.ui.wizard.nokiabin;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.swt.widgets.Shell;
-import org.maemo.esbox.internal.scratchbox.sb1.Activator;
-import org.maemo.mica.common.core.IProgressReporter;
-import org.maemo.mica.common.core.Policy;
-import org.maemo.mica.common.core.sdk.ISDKTarget;
-
-/**
- * @author Fabrício S Epaminondas (UFCG)
- *
- */
-public class FremantleBinariesInstallerEngine {
-
- private List<ISDKTarget> targets;
- private IProgressReporter progressReporter;
- private String repositoryURL;
-
- /**
- * @param shell
- * @param targets
- * @param progressReporter
- */
- public FremantleBinariesInstallerEngine(Shell shell,
- List<ISDKTarget> targets, String repoURL,
- IProgressReporter progressReporter) {
- this.targets = targets;
- this.progressReporter = progressReporter;
- this.repositoryURL = repoURL;
- }
-
- /**
- * @param monitor
- * @return
- */
- public IStatus install(IProgressMonitor monitor) {
-
- MultiStatus multiStatus = new MultiStatus(Activator.PLUGIN_ID, 0, null,
- null);
-
- IStatus status;
- monitor.beginTask("", IProgressMonitor.UNKNOWN);
-
-
-
-
-
-//
-// for (ISDKTarget target : targets) {
-// installFromRepository(target, repositoryURL, monitor);
-// }
-
- return multiStatus;
- }
-
- /**
- * @param target
- * @param monitor
- * @param repositoryURL2
- */
- private void installFromRepository(ISDKTarget target, String repoURL, IProgressMonitor monitor) {
- progressReporter.logInfo("Installing on target " + target.getDisplayName());
-
-
- }
-
-}
Modified: branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/FremantleLicenseAgreementPage.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/FremantleLicenseAgreementPage.java 2009-05-04 14:04:36 UTC (rev 1521)
+++ branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/FremantleLicenseAgreementPage.java 2009-05-04 14:14:13 UTC (rev 1522)
@@ -11,20 +11,27 @@
*******************************************************************************/
package org.maemo.esbox.internal.scratchbox.sb1.ui.wizard.nokiabin;
+import java.text.MessageFormat;
import java.util.HashSet;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.browser.ProgressEvent;
-import org.eclipse.swt.browser.ProgressListener;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.program.Program;
import org.eclipse.swt.widgets.Composite;
-import org.maemo.esbox.internal.scratchbox.sb1.Activator;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Link;
+import org.eclipse.swt.widgets.Text;
import org.maemo.esbox.internal.scratchbox.sb1.ui.process.ValidateNokiaBinariesInstallation;
/**
@@ -32,26 +39,19 @@
*/
public class FremantleLicenseAgreementPage extends WizardPage {
- private Browser browser;
- /**
- * The confirmation message
- */
- private static final String ACCEPTED_TOKEN = "End User License Agreement Accepted";
- private static final Pattern ACCEPTED_PATTERN = Pattern.compile(ACCEPTED_TOKEN);
/**
* Maemo repository url token
*/
- private static final String REPO_TOKEN = "<CODE>deb.*nokia-binaries</CODE>";
+ private static final String REPO_TOKEN = "deb\\s+http://repository\\.maemo\\.org/\\s+fremantle/(.*)\\s+nokia\\-binaries";
/**
* Maemo repository URL pattern
*/
private static final Pattern REPO_PATTERN = Pattern.compile(REPO_TOKEN);
- private String repoURL;
-
+ private Text fRepository;
private WizardPage next;
@@ -61,7 +61,7 @@
protected FremantleLicenseAgreementPage(NokiaBinariesInstallWizard wizard) {
super("fremantle_license_agreement");
setTitle("License Agreement");
- setDescription("End User License Agreement from... http://tablets-dev.nokia.com/eula/index.php");
+ setDescription("End User License Agreement PAge");
setPageComplete(false);
setWizard(wizard);
this.next = new FremantleWorkPage(wizard);
@@ -78,30 +78,54 @@
/*
* see @WizardPage.createControl(Composite)
*/
- public void createControl(Composite parentComposite) {
- try {
- browser = new Browser(parentComposite, SWT.FILL);
- browser.setUrl("http://tablets-dev.nokia.com/eula/index.php");
- browser.addProgressListener(new ProgressListener(){
- public void changed(ProgressEvent event) {
- validatePage();
- }
- public void completed(ProgressEvent event) {
- retrieveToken();
- validatePage();
- }
-
- });
-
- setControl(browser);
- } catch (SWTError e) {
- setPageComplete(false);
- String msg = "Could not instantiate Web Browser to show License Agreement";
- setErrorMessage(msg);
- Activator
- .getErrorLogger().logAndShowError(msg,e);
- return;
- }
+ public void createControl(Composite parent) {
+ Composite composite = new Composite(parent, SWT.NONE);
+ composite.setLayout(new GridLayout(2, true));
+ GridDataFactory.fillDefaults().grab(true, false).applyTo(composite);
+ setControl(composite);
+
+
+ Link link = new Link(composite, SWT.NONE);
+ final String url = "http://tablets-dev.nokia.com/eula/index.php";
+ String msg = MessageFormat
+ .format(
+ "Inorder to obtain Nokia-closed binaries, you are required to accept The End User\n" +
+ "License Agreement. Visit <a href=\"''{0}''\"> {0} </a> to do so.\n" +
+ "Upon acceptance, you are given a specific \"Token\" to access the Nokia binaries\nrepository."+
+ " Please note that such obtained token may not be re-distributed or \ndisclosed. Along with the"
+ +" token, you are also given a repository url.\nPlease, paste the url here:",url);
+ link
+ .setText(msg);
+
+ link.addSelectionListener(new SelectionListener(){
+
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
+
+ public void widgetSelected(SelectionEvent e) {
+ Program.launch(url);
+ }}
+ );
+
+
+ GridDataFactory.fillDefaults().span(2,0).grab(true, false).applyTo(link);
+
+ fRepository = new Text(composite, SWT.BORDER);
+ fRepository.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ fRepository.addModifyListener(new ModifyListener(){
+ public void modifyText(ModifyEvent e) {
+ validatePage();
+ }});
+ GridDataFactory.fillDefaults().span(2,0).grab(true, false).applyTo(fRepository);
+
+ Label lb= new Label(composite, SWT.NONE);
+ lb.setText("The the wizard will automatically add the url to your /etc/apt/sources.list in scratchbox.");
+ GridData data = new GridData(GridData.FILL_HORIZONTAL
+ | GridData.GRAB_HORIZONTAL);
+ data.horizontalSpan = 2;
+ data.widthHint = 150;
+ lb.setLayoutData(data);
+
}
@@ -118,13 +142,13 @@
* @return
*/
public String getRepositoryURL(){
- return this.repoURL;
+ return fRepository !=null? fRepository.getText() : null;
}
public boolean validatePage() {
- if (repoURL == null || repoURL.length() == 0) {
+ if (!validateURL()) {
setErrorMessage("You must accept the End User License Agreement from " +
- "http://tablets-dev.nokia.com/eula/index.php to retrieve a nokia token code.");
+ "http://tablets-dev.nokia.com/eula/index.php to retrieve a valid nokia repository url.");
setMessage(null);
return false;
}
@@ -141,40 +165,27 @@
}
- private void retrieveToken() {
- try {
- String response = browser.getText();
- Matcher matcher = ACCEPTED_PATTERN.matcher(response);
- if (matcher.find()) {
- // It means the TOKEN was received
- matcher = REPO_PATTERN.matcher(response);
+ private boolean validateURL() {
+ String repoURL = fRepository.getText();
+
+ if(repoURL == null || repoURL.length() == 0) return false;
+
+ // It means the TOKEN was received
+ Matcher matcher = REPO_PATTERN.matcher(repoURL);
- if (matcher.find()) {
- repoURL = matcher.group();
- }
-
- // Remove tag <CODE></CODE>
- repoURL = Pattern.compile("(<CODE>|</CODE>)",
- Pattern.CASE_INSENSITIVE).matcher(repoURL)
- .replaceAll("");
+ if (!matcher.find())
+ return false;
- //Debian Repository of Nokia binaries
- getWizard().putParamter("repoURL", repoURL);
-
- //Packages to install
- Set<String> meta_packages = new HashSet<String>();
- meta_packages.add(ValidateNokiaBinariesInstallation.FREMANTLE_NOKIABIN_PKG);
- getWizard().putParamter("packages", meta_packages);
-
- setPageComplete(true);
- }
+ //Debian Repository of Nokia binaries
+ getWizard().putParamter("repoURL", repoURL);
-
- } catch (Exception e) {
- String msg = "Could not retrieve nokia TOKEN. Please contact support team.";
- setErrorMessage(msg);
- Activator.getErrorLogger().logAndShowError(msg , e);
- }
+ //Packages to install
+ Set<String> meta_packages = new HashSet<String>();
+ meta_packages.add(ValidateNokiaBinariesInstallation.FREMANTLE_NOKIABIN_PKG);
+ getWizard().putParamter("packages", meta_packages);
+ setPageComplete(true);
+
+ return true;
}
}
\ No newline at end of file
Modified: branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/FremantleWorkPage.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/FremantleWorkPage.java 2009-05-04 14:04:36 UTC (rev 1521)
+++ branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/FremantleWorkPage.java 2009-05-04 14:14:13 UTC (rev 1522)
@@ -15,7 +15,6 @@
import java.util.List;
import java.util.Set;
-import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.jface.layout.GridDataFactory;
Modified: branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/NokiaBinariesInstallWizard.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/NokiaBinariesInstallWizard.java 2009-05-04 14:04:36 UTC (rev 1521)
+++ branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/NokiaBinariesInstallWizard.java 2009-05-04 14:14:13 UTC (rev 1522)
@@ -26,6 +26,7 @@
import org.maemo.esbox.internal.scratchbox.sb1.Activator;
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.internal.api.maemosdk.ui.wizards.BadInstallationPage;
/**
@@ -68,6 +69,14 @@
setForcePreviousAndNextButtons(true);
targetPage = new SDKTargetSelectionPage();
}
+
+ /**
+ * Default selected targets to install the binaries
+ * @param defaultTargets it can be null
+ */
+ public void setDefaultTargets(ISDKTarget[] defaultTargets){
+ targetPage.setDefaultTargets(defaultTargets);
+ }
/*
* @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench,
@@ -168,12 +177,17 @@
/**
* Starts a new Wizard instance
+ */
+ public static void startWizard() {
+ startWizard(null);
+ }
+
+ /**
+ * Starts a new Wizard instance
+ * @param defaultTargets If not null the default selected targets will be these
*
- * @param selection
- * @param the
- * status
*/
- public static void startWizard() {
+ public static void startWizard(ISDKTarget[] defaultTargets) {
IWorkbenchWindow activeWorkbenchWindow = Activator.getDefault()
.getWorkbench().getActiveWorkbenchWindow();
if (activeWorkbenchWindow == null) {
@@ -182,6 +196,7 @@
}
NokiaBinariesInstallWizard wizard = new NokiaBinariesInstallWizard();
+ wizard.setDefaultTargets(defaultTargets);
wizard.init(activeWorkbenchWindow.getWorkbench(),
StructuredSelection.EMPTY);
Shell parent = activeWorkbenchWindow.getShell();
Modified: branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/SDKTargetSelectionPage.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/SDKTargetSelectionPage.java 2009-05-04 14:04:36 UTC (rev 1521)
+++ branches/work_Ed/org.maemo.esbox.scratchbox.sb1/src/org/maemo/esbox/internal/scratchbox/sb1/ui/wizard/nokiabin/SDKTargetSelectionPage.java 2009-05-04 14:14:13 UTC (rev 1522)
@@ -12,15 +12,19 @@
package org.maemo.esbox.internal.scratchbox.sb1.ui.wizard.nokiabin;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
+import org.eclipse.jface.viewers.CheckStateChangedEvent;
import org.eclipse.jface.viewers.CheckboxTreeViewer;
+import org.eclipse.jface.viewers.ICheckStateListener;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.TreePath;
import org.eclipse.jface.viewers.TreeSelection;
+import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
@@ -62,6 +66,7 @@
private final MyBuildTargetFilter targetFilter = new MyBuildTargetFilter(
SCRATCHBOX_1, "");
private final WizardPage _page = this;
+ private ISDKTarget[] defaultTargets;
/**
* @param pageName
@@ -111,6 +116,9 @@
fmaemoSDKCombo = new Combo(container, SWT.READ_ONLY | SWT.DROP_DOWN);
fmaemoSDKCombo.setItems(SDK_NAMES);
+
+
+
fmaemoSDKCombo.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(SelectionEvent e) {
updateUI();
@@ -122,6 +130,7 @@
_page.setPageComplete(validatePage());
}
});
+
GridDataFactory.fillDefaults().grab(true, false).applyTo(fmaemoSDKCombo);
Label clabel = new Label(container, SWT.NONE);
@@ -136,20 +145,53 @@
targetTree.getTree().setLayoutData(data);
targetTree.addSelectionChangedListener(new ISelectionChangedListener() {
-
public void selectionChanged(SelectionChangedEvent event) {
_page.setPageComplete(validatePage());
+ updateUI();
}
-
});
+
+ targetTree.addCheckStateListener(new ICheckStateListener() {
+ public void checkStateChanged(CheckStateChangedEvent event) {
+ targetTree.setSubtreeChecked(event.getElement(), event.getChecked());
+ if (event.getChecked())
+ targetTree.expandToLevel(event.getElement(), TreeViewer.ALL_LEVELS);
+ }
+ });
+
targetTree.setInput(new Object());
-// GridLayoutFactory.fillDefaults().numColumns(2).margins(6, 6)
-// .generateLayout(container);
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.DialogPage#setVisible(boolean)
+ */
+ @Override
+ public void setVisible(boolean visible) {
+ super.setVisible(visible);
+
+ selectDefaults();
}
+ private void selectDefaults() {
+ //Select default platform
+ ISDKTarget[] targets = getDefaultTargets();
+ if(targets !=null && targets.length != 0 ){
+ int index = Arrays.asList(SDK_NAMES).indexOf(targets[0].getPlatform().getName().toLowerCase());
+ if(index != -1){
+ fmaemoSDKCombo.select(index);
+ updateUI();
+ targetTree.expandToLevel(targets[0], TreeViewer.ALL_LEVELS);
+ targetTree.setCheckedElements(targets);
+ }
+ setPageComplete(validatePage());
+ }
+ }
+
+
/* (non-Javadoc)
* @see org.eclipse.jface.wizard.WizardPage#setPageComplete(boolean)
*/
@@ -220,7 +262,8 @@
private void updateUI() {
targetFilter.sdkname = fmaemoSDKCombo.getText();
- targetTree.refresh();
+ targetTree.refresh(true);
+ targetTree.expandAll();
}
public boolean validatePage() {
@@ -278,4 +321,20 @@
return page;
}
}
-}
\ No newline at end of file
+
+ /**
+ * @return the defaultTargets
+ */
+ public ISDKTarget[] getDefaultTargets() {
+ return defaultTargets;
+ }
+
+ /**
+ * Default selected targets to install the binaries
+ * @param defaultTargets it can be null
+ */
+ public void setDefaultTargets(ISDKTarget[] defaultTargets) {
+ this.defaultTargets = defaultTargets;
+ }
+
+}
More information about the Esbox-commits
mailing list