[Esbox-commits] r1657 - in branches/work_Ed: org.maemo.esbox.cpp.project org.maemo.esbox.cpp.project/META-INF org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/core org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/properties org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards org.maemo.esbox.maemosdk.ui org.maemo.esbox.maemosdk.ui/META-INF org.maemo.esbox.maemosdk.ui/icons/full org.maemo.esbox.maemosdk.ui/icons/full/wizban org.maemo.esbox.python.project org.maemo.esbox.python.project/META-INF org.maemo.esbox.python.project/icons/full org.maemo.esbox.python.project/icons/full/obj16 org.maemo.esbox.python.project/icons/full/wizban org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/core org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ui org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ui/properties org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ui/wizards org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core

eswartz at garage.maemo.org eswartz at garage.maemo.org
Fri May 29 22:26:01 EEST 2009


Author: eswartz
Date: 2009-05-29 22:26:00 +0300 (Fri, 29 May 2009)
New Revision: 1657

Added:
   branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/ConvertToESboxCppProjectWizard.java
   branches/work_Ed/org.maemo.esbox.maemosdk.ui/icons/full/wizban/
   branches/work_Ed/org.maemo.esbox.maemosdk.ui/icons/full/wizban/maemo_convert.gif
   branches/work_Ed/org.maemo.esbox.python.project/icons/full/obj16/maemo_convert.png
   branches/work_Ed/org.maemo.esbox.python.project/icons/full/wizban/
   branches/work_Ed/org.maemo.esbox.python.project/icons/full/wizban/maemo_convert.gif
   branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ESboxPythonNature.java
   branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/core/ESboxPythonProjectPackageGatherer.java
   branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ui/wizards/
   branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ui/wizards/ConvertToESboxPythonProjectWizard.java
Removed:
   branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/core/CppDebianProjectImportConfigurationComposite.java
   branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/core/CppDebianProjectSupport.java
   branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/core/CppProjectDebianSupportAdapterFactory.java
   branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/core/CppProjectImportConfigurationComposite.java
   branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/BaseConvertToESboxCppProjectWizard.java
   branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/ConvertToESboxCCProjectWizard.java
   branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/ConvertToESboxCProjectWizard.java
   branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/core/MaemoPythonProjectPackageGatherer.java
   branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/core/PythonDebianProjectImportConfigurationComposite.java
   branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/core/PythonDebianProjectSupport.java
   branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/core/PythonProjectDebianSupportAdapterFactory.java
   branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/wizards/
Modified:
   branches/work_Ed/org.maemo.esbox.cpp.project/META-INF/MANIFEST.MF
   branches/work_Ed/org.maemo.esbox.cpp.project/plugin.xml
   branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/core/ConvertCppProjectMarkerResolutionGenerator.java
   branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/ESboxBuildConfigManager.java
   branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/ESboxCppBuildConfigurationSelectionDialog.java
   branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/properties/ESBoxOldCppTargetPropertyPage.java
   branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/properties/ESboxCppBuildConfigurationsPage.java
   branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/BaseESboxCppProjectWizard.java
   branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/ESboxCCProjectWizard.java
   branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/ESboxCProjectWizard.java
   branches/work_Ed/org.maemo.esbox.maemosdk.ui/META-INF/MANIFEST.MF
   branches/work_Ed/org.maemo.esbox.maemosdk.ui/plugin.xml
   branches/work_Ed/org.maemo.esbox.python.project/META-INF/MANIFEST.MF
   branches/work_Ed/org.maemo.esbox.python.project/plugin.xml
   branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ui/properties/ESboxOldPythonBuildTargetPropertyPage.java
   branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ui/properties/ESboxPythonBuildConfigurationsPage.java
   branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ui/wizards/ESboxPythonProjectWizard.java
   branches/work_Ed/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/OldStyleProjectProperties.java
Log:
More refactoring in progress.
-- Update project converter UI so it can be used for C/C++ and Python.
-- Unify ISDKTarget-based and configuration-based UI for configuring and converting projects
-- (Start to) clean up ProjectConfigHandler APIs
-- Support "Make (with debian/rules)" as a project builder type.  Allows us to remove hacky behavior for imported projects.
-- Simplify Debian package importer, using project type/builder type instead to make project configuration easier
-- Move stock build configuration provider into IProjectBuilderType and support make/Debian distinct configurations
-- Use NatureUtils for Python natures
-- More Base -> Abstract renaming
-- Remove more ESbox references

To do:
-- Factoring out ESbox Python nature 
-- Move make/autotools support to separate plugins
-- API/non-API repackaging


Modified: branches/work_Ed/org.maemo.esbox.cpp.project/META-INF/MANIFEST.MF
===================================================================
--- branches/work_Ed/org.maemo.esbox.cpp.project/META-INF/MANIFEST.MF	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.cpp.project/META-INF/MANIFEST.MF	2009-05-29 19:26:00 UTC (rev 1657)
@@ -20,6 +20,8 @@
  org.eclipse.cdt.ui;bundle-version="5.0.1",
  org.maemo.mica.linux.packages.core;bundle-version="2.0.0",
  org.maemo.mica.linux.packages.ui;bundle-version="2.0.0",
- org.eclipse.cdt.core;bundle-version="5.0.2"
+ org.eclipse.cdt.core;bundle-version="5.0.2",
+ org.maemo.esbox.maemosdk.ui;bundle-version="2.0.0",
+ org.maemo.mica.maemosdk.core;bundle-version="2.0.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-ActivationPolicy: lazy

Modified: branches/work_Ed/org.maemo.esbox.cpp.project/plugin.xml
===================================================================
--- branches/work_Ed/org.maemo.esbox.cpp.project/plugin.xml	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.cpp.project/plugin.xml	2009-05-29 19:26:00 UTC (rev 1657)
@@ -2,40 +2,24 @@
 <?eclipse version="3.2"?>
 <plugin>
 
-	     <extension
+   <extension
         point="org.eclipse.ui.newWizards">
      <wizard
            category="org.eclipse.cdt.ui.newCWizards"
-           class="org.maemo.esbox.internal.cpp.project.ui.wizards.ConvertToESboxCProjectWizard"
+           class="org.maemo.esbox.internal.cpp.project.ui.wizards.ConvertToESboxCppProjectWizard"
            finalPerspective="org.maemo.esbox.product.ESboxPerspective"
            preferredPerspectives="org.maemo.esbox.product.ESboxPerspective,org.eclipse.cdt.ui.CPerspective"
            hasPages="true"
            icon="icons/full/obj16/maemo_convert.png"
            id="org.maemo.mica.cpp.project.ui.wizards.ConvertToESboxWizard"
-           name="Convert to an ESbox C Project">
+           name="Convert to an ESbox C/C++ Project">
         <description>
-           Convert an existing C Makefile or autotools project to build for Maemo.
+           Convert an existing C/C++ project to build for ESbox.
         </description>
         <selection
               class="org.eclipse.core.resources.IProject">
         </selection>
      </wizard>
-     <wizard
-           category="org.eclipse.cdt.ui.newCCWizards"
-           class="org.maemo.esbox.internal.cpp.project.ui.wizards.ConvertToESboxCCProjectWizard"
-           finalPerspective="org.maemo.esbox.product.ESboxPerspective"
-           preferredPerspectives="org.maemo.esbox.product.ESboxPerspective,org.eclipse.cdt.ui.CPerspective"
-           hasPages="true"
-           icon="icons/full/obj16/maemo_convert.png"
-           id="org.maemo.mica.cpp.project.ui.wizards.ConvertToESboxWizard"
-           name="Convert to an ESbox C++ Project">
-        <description>
-           Convert an existing C++ Makefile or autotools project to build for Maemo.
-        </description>
-        <selection
-              class="org.eclipse.core.resources.IProject">
-        </selection>
-     </wizard>
      
   </extension>
   <extension
@@ -79,15 +63,6 @@
               <adapt
                     type="org.eclipse.core.resources.IProject">
               </adapt>
-              <not>
-                 <adapt
-                       type="org.eclipse.core.resources.IProject">
-                    <test
-                          property="org.eclipse.core.resources.projectNature"
-                          value="org.maemo.mica.cpp.project.core.ESboxCppNature">
-                    </test>
-                 </adapt>
-              </not>
            </and>
         </enablement>
      </commonWizard>
@@ -151,38 +126,6 @@
   
 <extension
      point="org.eclipse.ui.propertyPages">
-     <!-- old conversion page -->
-      <page
-            class="org.maemo.esbox.internal.cpp.project.ui.properties.ESBoxOldCppTargetPropertyPage"
-            id="org.maemo.esbox.project.cpp.ui.oldESboxProjectPropertyPage"
-            name="Maemo Build Configurations"
-            nameFilter="*">
-         <filter
-              name="nature"
-              value="org.indt.esbox.core.ESboxNature">
-        </filter>
-            <enabledWhen>
-            	<adapt type="org.eclipse.core.resources.IProject">
-	            </adapt>
-			</enabledWhen>		        
-      </page>
-
-      <page
-            class="org.maemo.esbox.internal.cpp.project.ui.properties.ESBoxOldCppTargetPropertyPage"
-            id="org.maemo.esbox.project.cpp.ui.oldMicaCppProjectPropertyPage"
-            name="Maemo Build Configurations"
-            nameFilter="*">
-         <filter
-              name="nature"
-              value="org.maemo.mica.cpp.project.core.ESboxCppNature">
-        </filter>
-            <enabledWhen>
-            	<adapt type="org.eclipse.core.resources.IProject">
-	            </adapt>
-			</enabledWhen>		        
-      </page>
-
-	<!-- new page -->
 	<page
            class="org.maemo.esbox.internal.cpp.project.ui.properties.ESboxCppBuildConfigurationsPage"
            id="org.maemo.esbox.project.cpp.BuildConfigurations"
@@ -221,22 +164,43 @@
      </projectPackageGatherer>
   </extension>
 
- <extension
-       point="org.eclipse.core.runtime.adapters">
-    <factory
-          adaptableType="org.maemo.mica.cpp.project.core.MicaCppProjectType"
-          class="org.maemo.esbox.internal.cpp.project.core.CppProjectDebianSupportAdapterFactory">
-       <adapter
-             type="org.maemo.mica.linux.packages.core.adapters.IDebianProjectConvertImportSupport">
-       </adapter>
-    </factory>
- </extension>
-
-
 	<!-- COMPATIBILITY ONLY -->
 
+  <extension
+     point="org.eclipse.ui.propertyPages">
 
+      <!-- old conversion page -->
+      <page
+            class="org.maemo.esbox.internal.cpp.project.ui.properties.ESBoxOldCppTargetPropertyPage"
+            id="org.maemo.esbox.project.cpp.ui.oldESboxProjectPropertyPage"
+            name="Maemo Build Configurations"
+            nameFilter="*">
+         <filter
+              name="nature"
+              value="org.indt.esbox.core.ESboxNature">
+        </filter>
+            <enabledWhen>
+            	<adapt type="org.eclipse.core.resources.IProject">
+	            </adapt>
+			</enabledWhen>		        
+      </page>
+
+      <page
+            class="org.maemo.esbox.internal.cpp.project.ui.properties.ESBoxOldCppTargetPropertyPage"
+            id="org.maemo.esbox.project.cpp.ui.oldMicaCppProjectPropertyPage"
+            name="Maemo Build Configurations"
+            nameFilter="*">
+         <filter
+              name="nature"
+              value="org.maemo.mica.cpp.project.core.ESboxCppNature">
+        </filter>
+            <enabledWhen>
+            	<adapt type="org.eclipse.core.resources.IProject">
+	            </adapt>
+			</enabledWhen>		        
+      </page>
  
+  </extension>
 	
 	<!-- END COMPATIBILITY -->
 	

Modified: branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/core/ConvertCppProjectMarkerResolutionGenerator.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/core/ConvertCppProjectMarkerResolutionGenerator.java	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/core/ConvertCppProjectMarkerResolutionGenerator.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -20,8 +20,7 @@
 import org.eclipse.ui.IMarkerResolution2;
 import org.eclipse.ui.IMarkerResolutionGenerator2;
 import org.maemo.esbox.internal.cpp.project.Activator;
-import org.maemo.esbox.internal.cpp.project.ui.wizards.BaseConvertToESboxCppProjectWizard;
-import org.maemo.esbox.internal.cpp.project.ui.wizards.ConvertToESboxCProjectWizard;
+import org.maemo.esbox.internal.cpp.project.ui.wizards.ConvertToESboxCppProjectWizard;
 import org.maemo.mica.common.project.core.IOldFormatProjectBuilder;
 
 /**
@@ -64,7 +63,7 @@
 
 				public void run(IMarker marker) {
 					try {
-						BaseConvertToESboxCppProjectWizard wizard = new ConvertToESboxCProjectWizard();
+						ConvertToESboxCppProjectWizard wizard = new ConvertToESboxCppProjectWizard();
 						WizardDialog dialog = new WizardDialog(null, wizard);
 						if (dialog.open() == IDialogConstants.OK_ID) {
 							marker.delete();

Deleted: branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/core/CppDebianProjectImportConfigurationComposite.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/core/CppDebianProjectImportConfigurationComposite.java	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/core/CppDebianProjectImportConfigurationComposite.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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:
- *    Ed Swartz (Nokia) - initial API and implementation
- *******************************************************************************/
-
-package org.maemo.esbox.internal.cpp.project.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.maemo.mica.common.core.IValidatingDialogPage;
-import org.maemo.mica.common.project.core.ProjectConfigHandler;
-import org.maemo.mica.cpp.project.core.IMicaAutotoolsProjectBuilderKeys;
-import org.maemo.mica.cpp.project.core.IMicaMakeProjectBuilderKeys;
-import org.maemo.mica.cpp.project.core.AbstractMicaCppProjectType;
-
-/**
- * This composite contains the configurable aspects of a project for a Debian
- * source package.
- * @author eswartz
- *
- */
-public class CppDebianProjectImportConfigurationComposite extends CppProjectImportConfigurationComposite {
-
-	private String[] rules;
-
-	public CppDebianProjectImportConfigurationComposite(
-			Composite parent,
-			IValidatingDialogPage dialogPage, AbstractMicaCppProjectType projectType,
-			final IProject project,
-			final IPath projectLocation,
-			ProjectConfigHandler configHandler,
-			String[] rules) {
-		super(parent, SWT.NONE, dialogPage, projectType, project, projectLocation, configHandler,
-				false, true);
-		this.rules = rules;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.maemo.esbox.internal.project.cpp.core.CppProjectImportConfigurationComposite#init()
-	 */
-	@Override
-	protected void setFieldContents() {
-		super.setFieldContents();
-		
-		buildConfigureTargetField.setItems(rules);
-		buildIncrTargetField.setItems(rules);
-		buildAutoTargetField.setItems(rules);
-		buildCleanTargetField.setItems(rules);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.maemo.esbox.internal.project.cpp.core.CppProjectImportConfigurationComposite#initRules(boolean, boolean, boolean, boolean)
-	 */
-	@Override
-	protected void initRules(boolean gotConfigureRule, boolean gotCleanRule,
-			boolean gotIncrRule) {
-		super.initRules(gotConfigureRule, gotCleanRule, gotIncrRule);
-
-		// the build command is not configurable; just set it here
-		configHandler.getConfigProperties().put(
-				IMicaMakeProjectBuilderKeys.KEY_BUILD_COMMAND, "fakeroot debian/rules");
-
-		for (String rule : rules) {
-			if (!gotConfigureRule && rule.contains("config")) {
-				setRule(IMicaAutotoolsProjectBuilderKeys.KEY_CONFIGURE_BUILD_SETTING, rule, buildConfigureTargetField);
-				gotConfigureRule = true;
-			}
-			if (!gotCleanRule && rule.contains("clean")) {
-				setRule(IMicaMakeProjectBuilderKeys.KEY_CLEAN_BUILD_SETTING, rule, buildCleanTargetField);
-				gotCleanRule = true;
-			}
-			if (!gotIncrRule && (rule.contains("build") || rule.contains("all"))) {
-				setRule(IMicaMakeProjectBuilderKeys.KEY_INCREMENTAL_BUILD_SETTING, rule, buildIncrTargetField);
-				// note: we use the same rule for both by default
-				setRule(IMicaMakeProjectBuilderKeys.KEY_AUTO_BUILD_SETTING, rule, buildIncrTargetField);
-				gotIncrRule = true;
-			}
-		}
-		
-		// as a last resort, use a "clean" rule for configure
-		if (!gotConfigureRule) {
-			for (String rule : rules) {
-				if (!gotConfigureRule && rule.contains("clean")) {
-					setRule(IMicaAutotoolsProjectBuilderKeys.KEY_CONFIGURE_BUILD_SETTING, rule, buildConfigureTargetField);
-					gotConfigureRule = true;
-				}
-			}
-		}
-	}
-}

Deleted: branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/core/CppDebianProjectSupport.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/core/CppDebianProjectSupport.java	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/core/CppDebianProjectSupport.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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:
- *    Ed Swartz (Nokia) - initial API and implementation
- *******************************************************************************/
-
-package org.maemo.esbox.internal.cpp.project.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.swt.widgets.Composite;
-import org.maemo.mica.common.core.IValidatingDialogPage;
-import org.maemo.mica.common.project.core.ProjectConfigHandler;
-import org.maemo.mica.cpp.project.core.AbstractMicaCppProjectType;
-import org.maemo.mica.linux.packages.core.adapters.IDebianProjectConvertImportSupport;
-
-/**
- * @author eswartz
- *
- */
-public class CppDebianProjectSupport implements IDebianProjectConvertImportSupport {
-
-	private final AbstractMicaCppProjectType projectType;
-
-	/**
-	 * @param adaptableObject
-	 */
-	public CppDebianProjectSupport(AbstractMicaCppProjectType projectType) {
-		this.projectType = projectType;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.linux.packages.core.adapters.IDebianProjectSupport#createProjectImportConfigurationComposite(org.eclipse.swt.widgets.Composite, org.eclipse.jface.dialogs.IDialogPage, org.eclipse.core.resources.IProject, org.eclipse.core.runtime.IPath, org.maemo.mica.common.project.core.ProjectConfigHandler)
-	 */
-	public Composite createDebianProjectImportConfigurationComposite(Composite parent,
-			int style, IValidatingDialogPage dialogPage, IProject project,
-			IPath projectLocation, ProjectConfigHandler configHandler, String[] debianRules) {
-
-		CppProjectImportConfigurationComposite configComposite =
-			new CppDebianProjectImportConfigurationComposite(
-					parent,
-					dialogPage,
-					projectType,
-					project,
-					projectLocation,
-					configHandler,
-					debianRules
-					);
-		
-		configComposite.init();
-		
-		return configComposite;
-	}
-
-}

Deleted: branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/core/CppProjectDebianSupportAdapterFactory.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/core/CppProjectDebianSupportAdapterFactory.java	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/core/CppProjectDebianSupportAdapterFactory.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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:
- *    Ed Swartz (Nokia) - initial API and implementation
- *******************************************************************************/
-
-package org.maemo.esbox.internal.cpp.project.core;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.maemo.mica.cpp.project.core.AbstractMicaCppProjectType;
-import org.maemo.mica.linux.packages.core.adapters.IDebianProjectConvertImportSupport;
-
-/**
- * This factory proclaims Debian support for a project type.
- * @author eswartz
- *
- */
-public class CppProjectDebianSupportAdapterFactory implements IAdapterFactory {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
-	 */
-	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		if (adaptableObject instanceof AbstractMicaCppProjectType) {
-			if (adapterType.equals(IDebianProjectConvertImportSupport.class)) {
-				return new CppDebianProjectSupport((AbstractMicaCppProjectType) adaptableObject);
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[] { IDebianProjectConvertImportSupport.class };
-	}
-
-}

Deleted: branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/core/CppProjectImportConfigurationComposite.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/core/CppProjectImportConfigurationComposite.java	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/core/CppProjectImportConfigurationComposite.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -1,334 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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:
- *    Ed Swartz (Nokia) - initial API and implementation
- *******************************************************************************/
-
-package org.maemo.esbox.internal.cpp.project.core;
-
-import java.io.File;
-import java.io.FileFilter;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.maemo.mica.common.core.IValidatingDialogPage;
-import org.maemo.mica.common.project.core.ProjectConfigHandler;
-import org.maemo.mica.common.project.ui.wizards.BaseProjectImportConfigurationComposite;
-import org.maemo.mica.common.ui.common.ComboDialogField;
-import org.maemo.mica.cpp.project.core.IMicaAutotoolsProjectBuilderKeys;
-import org.maemo.mica.cpp.project.core.IMicaMakeProjectBuilderKeys;
-import org.maemo.mica.cpp.project.core.AbstractMicaCppProjectType;
-import org.maemo.mica.internal.api.common.core.GridLayoutWrappedTextUtils;
-
-import com.nokia.cpp.internal.api.utils.core.FileUtils;
-
-/**
- * This is the basic UI for configuring a C/C++ project on import or conversion.
- * @author eswartz
- *
- */
-public class CppProjectImportConfigurationComposite extends BaseProjectImportConfigurationComposite {
-
-	protected ComboDialogField buildLocationField;
-	protected ComboDialogField buildConfigureTargetField;
-	protected ComboDialogField buildIncrTargetField;
-	protected ComboDialogField buildAutoTargetField;
-	protected ComboDialogField buildCleanTargetField;
-	protected String[] allDirs;
-	protected IPath projectLocation;
-	protected AbstractMicaCppProjectType projectType;
-	private boolean showBuildLocation;
-	private boolean showConfigureRule;
-
-	/**
-	 * @param parent
-	 * @param style
-	 * @param dialogPage 
-	 */
-	public CppProjectImportConfigurationComposite(Composite parent, int style,
-			IValidatingDialogPage dialogPage, AbstractMicaCppProjectType projectType,
-			final IProject project,
-			final IPath projectLocation,
-			ProjectConfigHandler configHandler,
-			boolean showBuildLocation, boolean showConfigureRule) {
-		super(parent, style, dialogPage, project, projectLocation, configHandler);
-		this.projectType = projectType;
-		this.projectLocation = projectLocation;
-		this.showBuildLocation = showBuildLocation;
-		this.showConfigureRule = showConfigureRule;
-		
-	}
-	
-	/**
-	 * @param parent
-	 * @param style
-	 * @param dialogPage 
-	 */
-	public CppProjectImportConfigurationComposite(Composite parent, int style,
-			IValidatingDialogPage dialogPage, AbstractMicaCppProjectType projectType,
-			final IProject project,
-			final IPath projectLocation,
-			ProjectConfigHandler configHandler) {
-		this(parent, style, dialogPage, projectType, project, projectLocation, configHandler, true, false);
-	}
-
-	public void init() {
-
-		final List<String> allPathsList = new ArrayList<String>();
-		File dir = projectLocation.toFile();
-		final String base = dir.getAbsolutePath();
-		
-		allPathsList.add("");
-		
-		// just walking here
-		FileUtils.listFilesInTree(dir, new FileFilter() { 
-				public boolean accept(File pathname) {
-					if (pathname.isDirectory()) {
-						allPathsList.add(pathname.getAbsolutePath().substring(base.length() + 1));
-					}
-					return true;
-				}
-			},
-			true
-		);
-		
-		allDirs = (String[]) allPathsList.toArray(new String[allPathsList.size()]);
-		
-		buildLocationField = new ComboDialogField(SWT.READ_ONLY);
-		buildConfigureTargetField = new ComboDialogField(SWT.READ_ONLY);
-		buildIncrTargetField = new ComboDialogField(SWT.READ_ONLY);
-		buildAutoTargetField = new ComboDialogField(SWT.READ_ONLY);
-		buildCleanTargetField = new ComboDialogField(SWT.READ_ONLY);
-
-		setFieldContents();
-		super.init();
-	}
-	
-	/**
-	 * 
-	 */
-	protected void setFieldContents() {
-		buildLocationField.setItems(allDirs);
-		
-		String[] stockRules = new String[] { "", "all", "clean" };
-		
-		
-		buildConfigureTargetField.setItems(stockRules);
-		buildIncrTargetField.setItems(stockRules);
-		buildAutoTargetField.setItems(stockRules);
-		buildCleanTargetField.setItems(stockRules);
-				
-	}
-
-	protected void createProjectUI(Composite composite) {
-		if (showBuildLocation) {
-			createBuildLocationUI(composite);
-		}
-		
-		createBuildRuleUI(composite);
-	}
-
-	/**
-	 * @param composite
-	 */
-	protected void createBuildLocationUI(Composite composite) {
-		Composite twoWay = new Composite(composite, SWT.NONE);
-		twoWay.setLayout(new GridLayout(2, false));
-		GridDataFactory.fillDefaults().grab(true, false).applyTo(twoWay);
-
-		buildLocationField.setLabelText("Build location:");
-		buildLocationField.doFillIntoGrid(twoWay, 2);
-		Combo combo = buildLocationField.getComboControl(twoWay);
-		combo.setToolTipText("Specify the project-relative build location.");
-		GridDataFactory.fillDefaults().grab(true, false).applyTo(combo);
-		combo.addSelectionListener(new SelectionAdapter() {
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				IPath path = new Path(buildLocationField.getText());
-				if (path.isEmpty())
-					path = null;
-				configHandler.getConfigProperties().put(IMicaMakeProjectBuilderKeys.KEY_BUILD_LOCATION,
-						path);
-				dialogPage.validatePage();
-			}
-		});
-	}
-
-	/**
-	 * @param composite
-	 */
-	protected void createBuildRuleUI(Composite composite) {
-		Control control;
-		Label helpLabel = new Label(composite, SWT.WRAP);
-		//GridDataFactory.swtDefaults().grab(false, false).hint(textSize, SWT.DEFAULT).applyTo(label);
-		GridDataFactory.swtDefaults().align(SWT.FILL, SWT.TOP).grab(true, false).applyTo(helpLabel);
-		helpLabel.setText("Select the targets to use when building the project.\n\n"
-				+"(See Project > Properties > Maemo Build Configurations > Build Settings to change these settings after the project is created.)");
-		
-		GridData helpLabelGridData = GridDataFactory.swtDefaults().span(2,1).create();
-			
-		GridLayoutWrappedTextUtils.setupLabel(getParent(), helpLabel, helpLabelGridData);
-	
-		Group group = new Group(composite, SWT.NONE);
-		GridDataFactory.fillDefaults().grab(true, true).indent(6, 6).applyTo(group);
-		group.setText("Build Targets");
-		group.setLayout(new GridLayout(2, false));
-		
-		if (showConfigureRule)
-			createConfigureRuleUI(group);
-		
-		buildIncrTargetField.setLabelText("Incremental/full build rule:");
-		buildIncrTargetField.doFillIntoGrid(group, 2);
-		control = buildIncrTargetField.getComboControl(group);
-		control.setToolTipText("Specify the rule that builds the project on a Project > Build command.");
-		GridDataFactory.fillDefaults().grab(true, false).applyTo(control);
-		buildIncrTargetField.getComboControl(group).addSelectionListener(new SelectionAdapter() {
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				updateRule(IMicaMakeProjectBuilderKeys.KEY_INCREMENTAL_BUILD_SETTING, buildIncrTargetField);
-			}
-		});
-		
-		buildAutoTargetField.setLabelText("Auto build rule:");
-		buildAutoTargetField.doFillIntoGrid(group, 2);
-		control = buildAutoTargetField.getComboControl(group);
-		control.setToolTipText("Specify the rule that builds the project when Project > Build Automatically is enabled.");
-		GridDataFactory.fillDefaults().grab(true, false).applyTo(control);
-		buildAutoTargetField.getComboControl(group).addSelectionListener(new SelectionAdapter() {
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				updateRule(IMicaMakeProjectBuilderKeys.KEY_AUTO_BUILD_SETTING, buildAutoTargetField);
-			}
-		});
-		
-		buildCleanTargetField.setLabelText("Clean build rule:");
-		buildCleanTargetField.doFillIntoGrid(group, 2);
-		control = buildCleanTargetField.getComboControl(group);
-		control.setToolTipText("Specify the rule that cleans the project on a Project > Clean command.");
-		GridDataFactory.fillDefaults().grab(true, false).applyTo(control);
-		buildCleanTargetField.getComboControl(group).addSelectionListener(new SelectionAdapter() {
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				updateRule(IMicaMakeProjectBuilderKeys.KEY_CLEAN_BUILD_SETTING, buildCleanTargetField);
-			}
-		});
-	}
-
-	/**
-	 * @param showConfigureRule
-	 * @param group
-	 */
-	protected void createConfigureRuleUI(Group group) {
-		Control control;
-		buildConfigureTargetField.setLabelText("Configure build rule:");
-		buildConfigureTargetField.doFillIntoGrid(group, 2);
-		control = buildConfigureTargetField.getComboControl(group);
-		control.setToolTipText("Specify the rule that builds the project on a Project > Build Application > Configure command.");
-		GridDataFactory.fillDefaults().grab(true, false).applyTo(control);
-		
-		buildConfigureTargetField.getComboControl(group).addSelectionListener(new SelectionAdapter() {
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				updateRule(IMicaAutotoolsProjectBuilderKeys.KEY_CONFIGURE_BUILD_SETTING,
-						buildConfigureTargetField);
-			}
-		});
-	}
-
-	/**
-	 * Return text unless it is empty or null.
-	 * @param text
-	 * @return
-	 */
-	protected String nonEmptyOrNull(String text) {
-		return text == null || text.length() == 0 ? null : text;
-	}
-
-	/**
-	 * @param firstElement
-	 */
-	protected void setBuildLocation(IPath path) {
-		
-	}
-
-	/**
-	 * Set the current rules into the fields and initialize the rest with guesses.
-	 * @param configHandler
-	 * @param rules
-	 */
-	protected void initFromConfig() {
-		super.initFromConfig();
-		
-		boolean gotConfigureRule = false, gotCleanRule = false, gotIncrRule = false;
-		
-		// get any existing rules
-		initRule(IMicaMakeProjectBuilderKeys.KEY_AUTO_BUILD_SETTING, buildAutoTargetField);
-		gotIncrRule = initRule(IMicaMakeProjectBuilderKeys.KEY_INCREMENTAL_BUILD_SETTING, buildIncrTargetField);
-		gotCleanRule = initRule(IMicaMakeProjectBuilderKeys.KEY_CLEAN_BUILD_SETTING, buildCleanTargetField);
-		gotConfigureRule = initRule(IMicaAutotoolsProjectBuilderKeys.KEY_CONFIGURE_BUILD_SETTING, buildConfigureTargetField);
-		
-		initRules(gotConfigureRule, gotCleanRule, gotIncrRule);
-	}
-
-	/**
-	 * 
-	 */
-	protected boolean initRule(String setting, ComboDialogField field) {
-		String rule = (String) configHandler.getConfigProperties().get(setting);
-		rule = nonEmptyOrNull(rule);
-		if (rule != null) {
-			field.setText(rule);
-			return true;
-		}
-		configHandler.getConfigProperties().remove(setting);
-		field.setText("");
-		return false;
-	}
-
-	/**
-	 * 
-	 */
-	protected void setRule(String setting, String value, ComboDialogField field) {
-		configHandler.getConfigProperties().put(setting, value);
-		field.setText(value);
-	}
-
-	/**
-	 */
-	protected void updateRule(String setting,
-			ComboDialogField field) {
-		String rule = nonEmptyOrNull(field.getText());
-		if (rule == null)
-			configHandler.getConfigProperties().remove(setting);
-		else
-			configHandler.getConfigProperties().put(setting, rule);
-		dialogPage.validatePage();		
-	}
-
-	/**
-	 */
-	protected void initRules(boolean gotConfigureRule, boolean gotCleanRule,
-			boolean gotIncrRule) {
-		
-	}
-
-}
\ No newline at end of file

Modified: branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/ESboxBuildConfigManager.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/ESboxBuildConfigManager.java	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/ESboxBuildConfigManager.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -86,7 +86,7 @@
 		
 		ESboxCppBuildConfigurationSelectionDialog dialog = 
 			new ESboxCppBuildConfigurationSelectionDialog(
-					CUIPlugin.getActiveWorkbenchShell());
+					CUIPlugin.getActiveWorkbenchShell(), projectHandle);
 	
 		// get datas for the existing configurations
 		Map<IBuildConfiguration, IBuildConfigurationData> configToDataMap =

Modified: branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/ESboxCppBuildConfigurationSelectionDialog.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/ESboxCppBuildConfigurationSelectionDialog.java	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/ESboxCppBuildConfigurationSelectionDialog.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -11,32 +11,24 @@
 
 package org.maemo.esbox.internal.cpp.project.ui;
 
+import org.eclipse.core.resources.IProject;
 import org.eclipse.swt.widgets.Shell;
 import org.maemo.mica.common.project.core.BuildMachineHostedTargetFilter;
 import org.maemo.mica.common.project.core.IBuildTargetFilter;
-import org.maemo.mica.common.project.core.ITargetBuildConfigurationProvider;
+import org.maemo.mica.common.project.core.IBuildConfigurationProvider;
+import org.maemo.mica.common.project.core.IProjectHandle;
 import org.maemo.mica.common.project.ui.BuildConfigurationSelectionDialog;
 import org.maemo.mica.common.project.ui.StockAndExistingTargetBuildConfigurationProvider;
-import org.maemo.mica.cpp.project.ui.MicaCppStockBuildConfigurationProvider;
+import org.maemo.mica.internal.api.cpp.project.core.MicaCppStockMakeBuildConfigurationProvider;
 
 public class ESboxCppBuildConfigurationSelectionDialog extends
 		BuildConfigurationSelectionDialog {
 
-	public ESboxCppBuildConfigurationSelectionDialog(Shell parentShell) {
-		super(parentShell);
+	public ESboxCppBuildConfigurationSelectionDialog(Shell parentShell, IProjectHandle projectHandle) {
+		super(parentShell, projectHandle);
 	}
 
 	/* (non-Javadoc)
-	 * @see org.maemo.mica.cpp.project.ui.MicaCppBuildConfigurationSelectionDialog#getStockBuildConfigurationProvider()
-	 */
-	@Override
-	protected ITargetBuildConfigurationProvider getBuildConfigurationProvider() {
-		return new StockAndExistingTargetBuildConfigurationProvider(
-				new MicaCppStockBuildConfigurationProvider(),
-				getCheckedConfigurations());
-	}
-
-	/* (non-Javadoc)
 	 * @see org.maemo.mica.cpp.project.ui.MicaCppBuildConfigurationSelectionDialog#getBuildTargetFilter()
 	 */
 	@Override

Modified: branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/properties/ESBoxOldCppTargetPropertyPage.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/properties/ESBoxOldCppTargetPropertyPage.java	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/properties/ESBoxOldCppTargetPropertyPage.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -13,10 +13,9 @@
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.jface.wizard.Wizard;
-import org.maemo.esbox.internal.cpp.project.ui.wizards.ConvertToESboxCCProjectWizard;
-import org.maemo.esbox.internal.cpp.project.ui.wizards.ConvertToESboxCProjectWizard;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.maemo.esbox.internal.cpp.project.ui.wizards.ConvertToESboxCppProjectWizard;
 import org.maemo.mica.common.project.ui.properties.AbstractOldFormatTargetPropertyPage;
-import org.maemo.mica.cpp.project.core.MicaCppProjectNature;
 
 /**
  * This property page is shown for old format projects.
@@ -27,21 +26,21 @@
 public class ESBoxOldCppTargetPropertyPage extends AbstractOldFormatTargetPropertyPage {
 
 	/* (non-Javadoc)
-	 * @see org.maemo.mica.common.project.ui.properties.AbstractOldFormatTargetPropertyPage#createConversionWizard(org.eclipse.core.resources.IProject)
+	 * @see org.maemo.mica.common.project.ui.properties.AbstractOldFormatTargetPropertyPage#convertProject(org.eclipse.core.resources.IProject)
 	 */
 	@Override
-	protected Wizard createConversionWizard(IProject project) {
-		if (MicaCppProjectNature.isCCLanguageProject(project))
-			return new ConvertToESboxCCProjectWizard();
-		else
-			return new ConvertToESboxCProjectWizard();
+	protected void convertProject(IProject project) {
+		Wizard wizard;
+		wizard = new ConvertToESboxCppProjectWizard();
+		WizardDialog dialog = new WizardDialog(null, wizard);
+		dialog.open();
 	}
 
 	/* (non-Javadoc)
 	 * @see org.maemo.mica.common.project.ui.properties.AbstractOldFormatTargetPropertyPage#getWizardName()
 	 */
 	@Override
-	protected String getWizardName() {
+	protected String getConversionLabel() {
 		return "Convert to ESbox Projects";
 	}
 	

Modified: branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/properties/ESboxCppBuildConfigurationsPage.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/properties/ESboxCppBuildConfigurationsPage.java	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/properties/ESboxCppBuildConfigurationsPage.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -18,23 +18,26 @@
 import org.eclipse.swt.widgets.Group;
 import org.maemo.esbox.internal.cpp.project.ui.ESboxCppBuildConfigurationSelectionDialog;
 import org.maemo.mica.common.project.core.IBuildConfigurationData;
+import org.maemo.mica.common.project.core.IProjectBuilderType;
+import org.maemo.mica.common.project.core.IProjectType;
 import org.maemo.mica.common.project.core.IStockBuildConfigurationDescriptor;
 import org.maemo.mica.common.project.core.IStockBuildConfigurationProvider;
+import org.maemo.mica.common.project.core.ProjectManager;
 import org.maemo.mica.common.project.ui.BuildTargetAndConfigurationProvider;
 import org.maemo.mica.common.project.ui.IBuildConfigSelectionDialog;
-import org.maemo.mica.common.project.ui.MicaBuildConfigurationsPage;
+import org.maemo.mica.common.project.ui.AbstractSingleEditBuildConfigurationsPage;
 import org.maemo.mica.common.project.ui.StockTargetBuildConfigurationProvider;
 import org.maemo.mica.common.ui.BuildTargetProvider;
 import org.maemo.mica.common.ui.env.EnvironmentTable;
 import org.maemo.mica.cpp.project.core.ICppBuildConfigurationData;
-import org.maemo.mica.cpp.project.ui.MicaCppStockBuildConfigurationProvider;
+import org.maemo.mica.internal.api.cpp.project.core.MicaCppStockMakeBuildConfigurationProvider;
 
 /**
  * ESbox build configurations page for C/C++ projects.
  * @author eswartz
  *
  */
-public class ESboxCppBuildConfigurationsPage extends MicaBuildConfigurationsPage {
+public class ESboxCppBuildConfigurationsPage extends AbstractSingleEditBuildConfigurationsPage {
 
 	//private TabItem environmentTab;
 	//private TabFolder folder;
@@ -52,7 +55,11 @@
 	}
 
 	protected IStockBuildConfigurationProvider getStockConfigurationProvider() {
-		return new MicaCppStockBuildConfigurationProvider();
+		IProjectBuilderType projectBuilderType = ProjectManager.getInstance().getProjectBuilderType(project);
+		if (projectBuilderType == null)
+			return null;
+		IProjectType projectType = ProjectManager.getInstance().getProjectType(project);
+		return projectBuilderType.getStockBuildConfigurationProvider(projectType);
 	}
 
 	/* (non-Javadoc)
@@ -99,9 +106,13 @@
 			}
 		} else {
 			IBuildConfigurationData defaultData = null;
-			IStockBuildConfigurationDescriptor descriptor = getStockConfigurationProvider().createStockConfigurationDescriptor(stockId);
-			if (descriptor != null && newCurrentConfigData.getSdkTarget() != null) {
-				defaultData = descriptor.createConfigurationData(newCurrentConfigData.getSdkTarget());
+			IStockBuildConfigurationDescriptor descriptor = null;
+			IStockBuildConfigurationProvider stockConfigurationProvider = getStockConfigurationProvider();
+			if (stockConfigurationProvider != null) {
+				descriptor = stockConfigurationProvider.createStockConfigurationDescriptor(stockId);
+			}
+			if (descriptor != null && newCurrentConfigData.getSDKTarget() != null) {
+				defaultData = descriptor.createConfigurationData(newCurrentConfigData.getSDKTarget());
 				// replace data
 				newConfigDatas.remove(newCurrentConfigData);
 				newConfigDatas.add(defaultData);
@@ -141,7 +152,8 @@
 	 */
 	@Override
 	protected IBuildConfigSelectionDialog createBuildConfigurationSelectionDialog() {
-		return new ESboxCppBuildConfigurationSelectionDialog(getShell());
+		return new ESboxCppBuildConfigurationSelectionDialog(getShell(),
+				projectHandle);
 		
 	}
 

Deleted: branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/BaseConvertToESboxCppProjectWizard.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/BaseConvertToESboxCppProjectWizard.java	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/BaseConvertToESboxCppProjectWizard.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (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:
- *    Ed Swartz (Nokia) - initial API and implementation
- *******************************************************************************/
-
-package org.maemo.esbox.internal.cpp.project.ui.wizards;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.maemo.esbox.internal.cpp.project.Activator;
-import org.maemo.mica.common.project.core.BuildMachineHostedTargetFilter;
-import org.maemo.mica.common.project.core.IBuildTargetFilter;
-import org.maemo.mica.common.project.core.ITargetBuildConfigurationProvider;
-import org.maemo.mica.common.project.ui.StockTargetBuildConfigurationProvider;
-import org.maemo.mica.cpp.project.ui.MicaCppStockBuildConfigurationProvider;
-import org.maemo.mica.cpp.project.ui.wizards.ConvertToMicaCppBuildConfigWizard;
-
-/**
- * Convert existing projects to build with ESbox as C/C++ projects.
- * @author eswartz
- *
- */
-public abstract class BaseConvertToESboxCppProjectWizard extends ConvertToMicaCppBuildConfigWizard {
-
-	public BaseConvertToESboxCppProjectWizard() {
-		super("ESbox");
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.cpp.project.ui.wizards.ConvertToMicaCppBuildConfigWizard#createBuildTargetFilter()
-	 */
-	@Override
-	protected IBuildTargetFilter createBuildTargetFilter() {
-		return new BuildMachineHostedTargetFilter();
-	}
-	
-	@Override
-	protected ITargetBuildConfigurationProvider createTargetBuildConfigurationProvider() {
-		return new StockTargetBuildConfigurationProvider(
-				new MicaCppStockBuildConfigurationProvider());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.cdt.ui.wizards.NewCProjectWizard#initializeDefaultPageImageDescriptor()
-	 */
-	@Override
-	protected void initializeDefaultPageImageDescriptor() {
-		ImageDescriptor image = Activator.getImageDescriptor("./icons/full/wizban/maemo_convert.gif");
-		setDefaultPageImageDescriptor(image);
-	}
-}

Modified: branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/BaseESboxCppProjectWizard.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/BaseESboxCppProjectWizard.java	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/BaseESboxCppProjectWizard.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -16,12 +16,12 @@
 import org.maemo.mica.common.project.core.BuildMachineHostedTargetFilter;
 import org.maemo.mica.common.project.core.IBuildTargetFilter;
 import org.maemo.mica.common.project.core.IStockBuildConfigurationProvider;
-import org.maemo.mica.common.project.core.ITargetBuildConfigurationProvider;
+import org.maemo.mica.common.project.core.IBuildConfigurationProvider;
 import org.maemo.mica.common.project.ui.StockTargetBuildConfigurationProvider;
-import org.maemo.mica.common.project.ui.wizards.BaseProjectTargetSelectionPage;
+import org.maemo.mica.common.project.ui.wizards.AbstractProjectLocationTargetSelectionPage;
 import org.maemo.mica.cpp.project.ui.BaseCppProjectWizard;
-import org.maemo.mica.cpp.project.ui.MicaCppStockBuildConfigurationProvider;
 import org.maemo.mica.cpp.project.ui.ProjectBuildConfigSelectionPage;
+import org.maemo.mica.internal.api.cpp.project.core.MicaCppStockMakeBuildConfigurationProvider;
 
 /**
  * Base C or C++ project wizard.
@@ -39,7 +39,7 @@
 	}
 
 	@Override
-	protected BaseProjectTargetSelectionPage createProjectAndTargetSelectionPage() {
+	protected AbstractProjectLocationTargetSelectionPage createProjectAndTargetSelectionPage() {
 		return new ProjectBuildConfigSelectionPage(
 				getConfigHandler(), 
 				getBuildTargetFilter(),
@@ -50,9 +50,9 @@
 	 * Get the provider of stock configurations for the targets in the tree.
 	 * @return {@link IStockBuildConfigurationProvider} or <code>null</code>
 	 */
-	protected ITargetBuildConfigurationProvider getTargetBuildConfigurationProvider() {
+	protected IBuildConfigurationProvider getTargetBuildConfigurationProvider() {
 		return new StockTargetBuildConfigurationProvider( 
-				new MicaCppStockBuildConfigurationProvider());
+				new MicaCppStockMakeBuildConfigurationProvider());
 	}
 
 	@Override

Deleted: branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/ConvertToESboxCCProjectWizard.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/ConvertToESboxCCProjectWizard.java	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/ConvertToESboxCCProjectWizard.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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:
- *    Ed Swartz (Nokia) - initial API and implementation
- *******************************************************************************/
-
-package org.maemo.esbox.internal.cpp.project.ui.wizards;
-
-/**
- * @author eswartz
- *
- */
-public class ConvertToESboxCCProjectWizard extends
-		BaseConvertToESboxCppProjectWizard {
-
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.cpp.project.ui.wizards.ConvertToMicaCppBuildConfigWizard#isCplusplus()
-	 */
-	@Override
-	protected boolean isCplusplus() {
-		return true;
-	}
-
-}

Deleted: branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/ConvertToESboxCProjectWizard.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/ConvertToESboxCProjectWizard.java	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/ConvertToESboxCProjectWizard.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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:
- *    Ed Swartz (Nokia) - initial API and implementation
- *******************************************************************************/
-
-package org.maemo.esbox.internal.cpp.project.ui.wizards;
-
-/**
- * @author eswartz
- *
- */
-public class ConvertToESboxCProjectWizard extends
-		BaseConvertToESboxCppProjectWizard {
-
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.cpp.project.ui.wizards.ConvertToMicaCppBuildConfigWizard#isCplusplus()
-	 */
-	@Override
-	protected boolean isCplusplus() {
-		return false;
-	}
-
-}

Copied: branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/ConvertToESboxCppProjectWizard.java (from rev 1642, branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/ConvertToESboxCProjectWizard.java)
===================================================================
--- branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/ConvertToESboxCppProjectWizard.java	                        (rev 0)
+++ branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/ConvertToESboxCppProjectWizard.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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:
+ *    Ed Swartz (Nokia) - initial API and implementation
+ *******************************************************************************/
+
+package org.maemo.esbox.internal.cpp.project.ui.wizards;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.maemo.esbox.internal.cpp.project.Activator;
+import org.maemo.mica.common.project.core.BuildMachineHostedTargetFilter;
+import org.maemo.mica.common.project.core.IBuildTargetFilter;
+import org.maemo.mica.common.project.core.ProjectConfigHandler;
+import org.maemo.mica.cpp.project.ui.wizards.AbstractConvertToCppProjectWizard;
+import org.maemo.mica.maemosdk.core.MaemoExecutionEnvironmentIds;
+
+/**
+ * This wizard converts projects to ESbox C/C++ projects.
+ * @author eswartz
+ *
+ */
+public class ConvertToESboxCppProjectWizard extends AbstractConvertToCppProjectWizard {
+
+	public ConvertToESboxCppProjectWizard() {
+		super("ESbox");
+		setDisplayExecutionEnvironmentSelector(false);
+	}
+
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.cpp.project.ui.wizards.ConvertToMicaCppBuildConfigWizard#createBuildTargetFilter()
+	 */
+	@Override
+	protected IBuildTargetFilter createBuildTargetFilter() {
+		return new BuildMachineHostedTargetFilter();
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.common.project.ui.wizards.AbstractConvertToMaemoProjectWizard#getDefaultPageImageDescriptor()
+	 */
+	@Override
+	protected ImageDescriptor getDefaultPageImageDescriptor() {
+		return Activator.getImageDescriptor("./icons/full/wizban/maemo_convert.gif");
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.common.project.ui.wizards.AbstractConvertToMaemoProjectWizard#updateProjectConfigHandler(org.maemo.mica.common.project.core.ProjectConfigHandler)
+	 */
+	@Override
+	protected void updateProjectConfigHandler(ProjectConfigHandler configHandler) {
+		configHandler.setExecutionEnvironmentId(MaemoExecutionEnvironmentIds.MAEMO);
+	}
+	
+}

Modified: branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/ESboxCCProjectWizard.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/ESboxCCProjectWizard.java	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/ESboxCCProjectWizard.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -12,7 +12,7 @@
 package org.maemo.esbox.internal.cpp.project.ui.wizards;
 
 import org.maemo.esbox.internal.cpp.project.Activator;
-import org.maemo.mica.cpp.project.core.AbstractMicaCppProjectType;
+import org.maemo.mica.cpp.project.core.MicaCppCCProjectType;
 
 /**
  * Maemo C++ Project Wizard
@@ -32,6 +32,6 @@
 	
 	@Override
 	protected String getProjectTypeIdPattern() {
-		return AbstractMicaCppProjectType.ID_CC;
+		return MicaCppCCProjectType.ID_CC;
 	}
 }

Modified: branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/ESboxCProjectWizard.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/ESboxCProjectWizard.java	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.cpp.project/src/org/maemo/esbox/internal/cpp/project/ui/wizards/ESboxCProjectWizard.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -12,7 +12,7 @@
 package org.maemo.esbox.internal.cpp.project.ui.wizards;
 
 import org.maemo.esbox.internal.cpp.project.Activator;
-import org.maemo.mica.cpp.project.core.AbstractMicaCppProjectType;
+import org.maemo.mica.cpp.project.core.MicaCppCProjectType;
 
 /**
  * Maemo C Project Wizard
@@ -27,6 +27,6 @@
 	}
 	
 	protected String getProjectTypeIdPattern() {
-		return AbstractMicaCppProjectType.ID_C;
+		return MicaCppCProjectType.ID_C;
 	}
 }

Modified: branches/work_Ed/org.maemo.esbox.maemosdk.ui/META-INF/MANIFEST.MF
===================================================================
--- branches/work_Ed/org.maemo.esbox.maemosdk.ui/META-INF/MANIFEST.MF	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.maemosdk.ui/META-INF/MANIFEST.MF	2009-05-29 19:26:00 UTC (rev 1657)
@@ -16,8 +16,8 @@
  org.maemo.mica.linux.packages.core;bundle-version="2.0.0",
  org.maemo.mica.linux.packages.ui;bundle-version="2.0.0",
  org.maemo.mica.cpp.project.core;bundle-version="2.0.0",
- org.maemo.mica.python.project.core;bundle-version="2.0.0"
+ org.maemo.mica.python.project.core;bundle-version="2.0.0",
+ org.maemo.mica.common.project.ui;bundle-version="2.0.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-ActivationPolicy: lazy
-Export-Package: org.maemo.esbox.internal.api.maemosdk.ui.preferences,
- org.maemo.esbox.internal.maemosdk.ui.actions
+Export-Package: org.maemo.esbox.internal.api.maemosdk.ui.preferences

Added: branches/work_Ed/org.maemo.esbox.maemosdk.ui/icons/full/wizban/maemo_convert.gif
===================================================================
(Binary files differ)


Property changes on: branches/work_Ed/org.maemo.esbox.maemosdk.ui/icons/full/wizban/maemo_convert.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: branches/work_Ed/org.maemo.esbox.maemosdk.ui/plugin.xml
===================================================================
--- branches/work_Ed/org.maemo.esbox.maemosdk.ui/plugin.xml	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.maemosdk.ui/plugin.xml	2009-05-29 19:26:00 UTC (rev 1657)
@@ -85,7 +85,7 @@
            id="org.maemo.esbox.maemosdk.ui.wizards.ImportDebianSourcePackageProject"
            name="Project from Debian Repository">
         <description>
-           Import a project from sources in an Debian apt repository.
+           Import a project from sources in a Debian apt repository.
         </description>
         <selection
               class="org.eclipse.core.resources.IProject">

Modified: branches/work_Ed/org.maemo.esbox.python.project/META-INF/MANIFEST.MF
===================================================================
--- branches/work_Ed/org.maemo.esbox.python.project/META-INF/MANIFEST.MF	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.python.project/META-INF/MANIFEST.MF	2009-05-29 19:26:00 UTC (rev 1657)
@@ -15,6 +15,8 @@
  org.eclipse.ui.views;bundle-version="3.3.0",
  org.maemo.mica.python.project.core;bundle-version="2.0.0",
  org.maemo.mica.python.project.ui;bundle-version="2.0.0",
- org.maemo.mica.linux.packages.core;bundle-version="2.0.0"
+ org.maemo.mica.linux.packages.core;bundle-version="2.0.0",
+ org.maemo.esbox.maemosdk.ui;bundle-version="2.0.0",
+ org.maemo.mica.maemosdk.core;bundle-version="2.0.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-ActivationPolicy: lazy

Added: branches/work_Ed/org.maemo.esbox.python.project/icons/full/obj16/maemo_convert.png
===================================================================
(Binary files differ)


Property changes on: branches/work_Ed/org.maemo.esbox.python.project/icons/full/obj16/maemo_convert.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: branches/work_Ed/org.maemo.esbox.python.project/icons/full/wizban/maemo_convert.gif
===================================================================
(Binary files differ)


Property changes on: branches/work_Ed/org.maemo.esbox.python.project/icons/full/wizban/maemo_convert.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: branches/work_Ed/org.maemo.esbox.python.project/plugin.xml
===================================================================
--- branches/work_Ed/org.maemo.esbox.python.project/plugin.xml	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.python.project/plugin.xml	2009-05-29 19:26:00 UTC (rev 1657)
@@ -2,13 +2,26 @@
 <?eclipse version="3.2"?>
 <plugin>
 
+   <extension
+         id="pythonNature"
+         name="ESbox Python Project Nature"
+         point="org.eclipse.core.resources.natures">
+      <runtime>
+         <run
+               class="org.maemo.esbox.internal.python.project.ESboxPythonNature">
+         </run>
+      </runtime>
+      <requires-nature
+            id="org.maemo.mica.python.project.core.pythonNature">
+      </requires-nature>
+   </extension>
   
    <extension
          point="org.eclipse.ui.newWizards">
       <wizard
             canFinishEarly="false"
             category="org.python.pydev.PythonCategory"
-            class="org.maemo.esbox.internal.python.project.wizards.ESboxPythonProjectWizard"
+            class="org.maemo.esbox.internal.python.project.ui.wizards.ESboxPythonProjectWizard"
             finalPerspective="org.python.pydev.ui.PythonPerspective"
             preferredPerspectives="org.python.pydev.ui.PythonPerspective,org.maemo.esbox.product.ESboxPerspective,org.maemo.pluthon.ui.PluthonPerspective"
             hasPages="true"
@@ -21,6 +34,27 @@
     </extension>
 
   <extension
+        point="org.eclipse.ui.newWizards">
+     <wizard
+           category="org.python.pydev.PythonCategory"
+           class="org.maemo.esbox.internal.python.project.ui.wizards.ConvertToESboxPythonProjectWizard"
+           finalPerspective="org.maemo.esbox.product.ESboxPerspective"
+           preferredPerspectives="org.maemo.esbox.product.ESboxPerspective,org.python.pydev.ui.PythonPerspective"
+           hasPages="true"
+           icon="icons/full/obj16/maemo_convert.png"
+           id="org.maemo.mica.python.project.ui.wizards.ConvertToESboxWizard"
+           name="Convert to an ESbox Python Project">
+        <description>
+           Convert an existing Python project to build for ESbox.
+        </description>
+        <selection
+              class="org.eclipse.core.resources.IProject">
+        </selection>
+     </wizard>
+     
+  </extension>
+  
+  <extension
          point="org.eclipse.ui.navigator.navigatorContent">
       <commonWizard
             menuGroupId="org.python.pydev.ui.wizards"
@@ -28,26 +62,79 @@
             wizardId="org.maemo.mica.python.project.ui.wizards.ESboxPythonProjectWizard">
          <enablement></enablement>
       </commonWizard>
+      <commonWizard
+            menuGroupId="org.python.pydev.ui.wizards"
+            type="new"
+            wizardId="org.maemo.mica.python.project.ui.wizards.ConvertToESboxWizard">
+         <enablement></enablement>
+      </commonWizard>
    </extension>
-   
+
+ <extension
+     point="org.eclipse.ui.propertyPages">
+
+     <page
+           class="org.maemo.esbox.internal.python.project.ui.properties.ESboxPythonBuildConfigurationsPage"
+           id="org.maemo.mica.python.project.ui.BuildConfigurations"
+           name="Maemo Build Configurations">
+        <filter
+              name="nature"
+              value="org.maemo.mica.python.project.core.pythonNature">
+        </filter>
+        <enabledWhen>
+          	<adapt type="org.eclipse.core.resources.IProject">
+	        </adapt>
+        </enabledWhen>
+     </page>
+	  
+  </extension>   
      
   <extension
         point="org.maemo.mica.linux.packages.core.projectPackageGatherer">
      <projectPackageGatherer
-           class="org.maemo.esbox.internal.python.project.core.MaemoPythonProjectPackageGatherer">
+           class="org.maemo.esbox.internal.python.project.core.ESboxPythonProjectPackageGatherer">
      </projectPackageGatherer>
   </extension>
 
+
+  <!-- COMPATIBILITY SECTION -->
+  
  <extension
-       point="org.eclipse.core.runtime.adapters">
-    <factory
-          adaptableType="org.maemo.mica.python.project.core.MicaPythonProjectType"
-          class="org.maemo.esbox.internal.python.project.core.PythonProjectDebianSupportAdapterFactory">
-       <adapter
-             type="org.maemo.mica.linux.packages.core.adapters.IDebianProjectConvertImportSupport">
-       </adapter>
-    </factory>
-    
- </extension>
-   
+     point="org.eclipse.ui.propertyPages">
+
+      <!-- old 1.4 version page -->
+      <page
+            class="org.maemo.esbox.internal.python.project.ui.properties.ESboxOldPythonBuildTargetPropertyPage"
+            id="org.maemo.esbox.project.cpp.ui.oldESboxProjectPropertyPage"
+            name="Maemo Build Configurations"
+            nameFilter="*">
+         <filter
+              name="nature"
+              value="org.indt.esbox.core.ESboxNature">
+        </filter>
+            <enabledWhen>
+            	<adapt type="org.eclipse.core.resources.IProject">
+	            </adapt>
+			</enabledWhen>		        
+      </page>
+      
+      <!-- 2.0.0M4 page -->
+      <page
+            class="org.maemo.esbox.internal.python.project.ui.properties.ESboxOldPythonBuildTargetPropertyPage"
+            id="org.maemo.esbox.project.cpp.ui.oldESboxProjectPropertyPage"
+            name="Maemo Build Configurations"
+            nameFilter="*">
+         <filter
+              name="nature"
+              value="org.maemo.mica.python.project.core.ESboxPythonNature">
+        </filter>
+            <enabledWhen>
+            	<adapt type="org.eclipse.core.resources.IProject">
+	            </adapt>
+			</enabledWhen>		        
+      </page> 
+  </extension>
+  
+  <!-- END COMPATIBILITY SECTION -->
+  
 </plugin>

Added: branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ESboxPythonNature.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ESboxPythonNature.java	                        (rev 0)
+++ branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ESboxPythonNature.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -0,0 +1,56 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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:
+ *    Ed Swartz (Nokia) - initial API and implementation
+ *******************************************************************************/
+
+package org.maemo.esbox.internal.python.project;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectNature;
+import org.eclipse.core.runtime.CoreException;
+
+/**
+ * @author eswartz
+ *
+ */
+public class ESboxPythonNature implements IProjectNature {
+
+	public static final String NATURE_ID = Activator.PLUGIN_ID + ".pythonNature";
+	
+	private IProject project;
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.core.resources.IProjectNature#configure()
+	 */
+	public void configure() throws CoreException {
+
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.core.resources.IProjectNature#deconfigure()
+	 */
+	public void deconfigure() throws CoreException {
+
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.core.resources.IProjectNature#getProject()
+	 */
+	public IProject getProject() {
+		return project;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.core.resources.IProjectNature#setProject(org.eclipse.core.resources.IProject)
+	 */
+	public void setProject(IProject project) {
+		this.project = project;
+	}
+
+}

Copied: branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/core/ESboxPythonProjectPackageGatherer.java (from rev 1642, branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/core/MaemoPythonProjectPackageGatherer.java)
===================================================================
--- branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/core/ESboxPythonProjectPackageGatherer.java	                        (rev 0)
+++ branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/core/ESboxPythonProjectPackageGatherer.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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:
+ *    Ed Swartz (Nokia) - initial API and implementation
+ *******************************************************************************/
+
+package org.maemo.esbox.internal.python.project.core;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.maemo.esbox.internal.python.project.ESboxPythonNature;
+import org.maemo.mica.common.core.machine.IBuildMachine;
+import org.maemo.mica.common.core.sdk.ISDKTarget;
+import org.maemo.mica.common.project.core.NatureUtils;
+import org.maemo.mica.linux.packages.core.aptpkgconfig.install.IProjectPackageGatherer;
+import org.maemo.mica.linux.packages.core.aptpkgconfig.install.ProjectPackageInfo;
+import org.maemo.mica.python.project.core.MicaPythonProjectNature;
+
+/**
+ * Provide the maemo-specific Python development packages for a project.
+ * @author eswartz
+ *
+ */
+public class ESboxPythonProjectPackageGatherer implements
+		IProjectPackageGatherer {
+
+	/**
+	 * 
+	 */
+	public ESboxPythonProjectPackageGatherer() {
+	}
+
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.linux.packages.core.aptpkgconfig.install.IProjectPackageGatherer#scanPackages(org.eclipse.core.resources.IProject, org.eclipse.core.runtime.IProgressMonitor)
+	 */
+	public ProjectPackageInfo scanPackages(IProject project,
+			ISDKTarget sdkTarget, IProgressMonitor monitor) throws CoreException {
+		if (NatureUtils.isNatureInProject(project, ESboxPythonNature.NATURE_ID)) {
+			ProjectPackageInfo info = new ProjectPackageInfo();
+			if (sdkTarget != null) {
+				if (sdkTarget.getMachine() instanceof IBuildMachine)
+					info.getSystemPackages().add("maemo-python-env");
+				else
+					info.getSystemPackages().add("maemo-python-device-env");
+			}
+			return info;
+		}
+		return null;
+	}
+
+}

Deleted: branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/core/MaemoPythonProjectPackageGatherer.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/core/MaemoPythonProjectPackageGatherer.java	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/core/MaemoPythonProjectPackageGatherer.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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:
- *    Ed Swartz (Nokia) - initial API and implementation
- *******************************************************************************/
-
-package org.maemo.esbox.internal.python.project.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.maemo.mica.common.core.machine.IBuildMachine;
-import org.maemo.mica.common.core.sdk.ISDKTarget;
-import org.maemo.mica.linux.packages.core.aptpkgconfig.install.IProjectPackageGatherer;
-import org.maemo.mica.linux.packages.core.aptpkgconfig.install.ProjectPackageInfo;
-import org.maemo.mica.python.project.core.MicaPythonProjectNature;
-
-/**
- * Provide the maemo-specific Python development packages for a project.
- * @author eswartz
- *
- */
-public class MaemoPythonProjectPackageGatherer implements
-		IProjectPackageGatherer {
-
-	/**
-	 * 
-	 */
-	public MaemoPythonProjectPackageGatherer() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.linux.packages.core.aptpkgconfig.install.IProjectPackageGatherer#scanPackages(org.eclipse.core.resources.IProject, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public ProjectPackageInfo scanPackages(IProject project,
-			ISDKTarget sdkTarget, IProgressMonitor monitor) throws CoreException {
-		if (MicaPythonProjectNature.isNatureInProject(project)) {
-			ProjectPackageInfo info = new ProjectPackageInfo();
-			if (sdkTarget != null) {
-				if (sdkTarget.getMachine() instanceof IBuildMachine)
-					info.getSystemPackages().add("maemo-python-env");
-				else
-					info.getSystemPackages().add("maemo-python-device-env");
-			}
-			return info;
-		}
-		return null;
-	}
-
-}

Deleted: branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/core/PythonDebianProjectImportConfigurationComposite.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/core/PythonDebianProjectImportConfigurationComposite.java	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/core/PythonDebianProjectImportConfigurationComposite.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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:
- *    Ed Swartz (Nokia) - initial API and implementation
- *******************************************************************************/
-
-package org.maemo.esbox.internal.python.project.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.maemo.mica.common.core.IValidatingDialogPage;
-import org.maemo.mica.common.project.core.ProjectConfigHandler;
-import org.maemo.mica.internal.api.common.core.GridLayoutWrappedTextUtils;
-import org.maemo.mica.python.project.ui.wizards.PythonProjectImportConfigurationComposite;
-
-/**
- * This composite contains the configurable aspects of a project for a Debian
- * source package.
- * @author eswartz
- *
- */
-public class PythonDebianProjectImportConfigurationComposite extends PythonProjectImportConfigurationComposite {
-
-	/*private*/ String[] rules;
-
-	public PythonDebianProjectImportConfigurationComposite(
-			Composite parent,
-			IValidatingDialogPage dialogPage, 
-			final IProject project,
-			final IPath projectLocation,
-			ProjectConfigHandler configHandler,
-			String[] rules) {
-		super(parent, SWT.NONE, dialogPage, project, projectLocation, configHandler);
-		this.rules = rules;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.python.project.ui.wizards.PythonProjectImportConfigurationComposite#createProjectUI(org.eclipse.swt.widgets.Composite)
-	 */
-	@Override
-	protected void createProjectUI(Composite composite) {
-		super.createProjectUI(composite);
-		
-		Label label = new Label(composite, SWT.NONE);
-		GridData labelData = GridDataFactory.swtDefaults().create();
-		label.setText("Python projects cannot (currently) be built with the 'debian/rules' script since this requires a Make-based builder.");
-		
-		GridLayoutWrappedTextUtils.setupLabel(getShell(), label, labelData);
-
-	}
-}

Deleted: branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/core/PythonDebianProjectSupport.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/core/PythonDebianProjectSupport.java	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/core/PythonDebianProjectSupport.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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:
- *    Ed Swartz (Nokia) - initial API and implementation
- *******************************************************************************/
-
-package org.maemo.esbox.internal.python.project.core;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.swt.widgets.Composite;
-import org.maemo.mica.common.core.IValidatingDialogPage;
-import org.maemo.mica.common.project.core.ProjectConfigHandler;
-import org.maemo.mica.linux.packages.core.adapters.IDebianProjectConvertImportSupport;
-import org.maemo.mica.python.project.core.MicaPythonProjectType;
-
-/**
- * @author eswartz
- *
- */
-public class PythonDebianProjectSupport implements IDebianProjectConvertImportSupport {
-
-	/**
-	 * @param micaPythonProjectType 
-	 * @param adaptableObject
-	 */
-	public PythonDebianProjectSupport(MicaPythonProjectType micaPythonProjectType) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.linux.packages.core.adapters.IDebianProjectSupport#createProjectImportConfigurationComposite(org.eclipse.swt.widgets.Composite, org.eclipse.jface.dialogs.IDialogPage, org.eclipse.core.resources.IProject, org.eclipse.core.runtime.IPath, org.maemo.mica.common.project.core.ProjectConfigHandler)
-	 */
-	public Composite createDebianProjectImportConfigurationComposite(Composite parent,
-			int style, IValidatingDialogPage dialogPage, IProject project,
-			IPath projectLocation, ProjectConfigHandler configHandler, String[] debianRules) {
-
-		PythonDebianProjectImportConfigurationComposite configComposite =
-			new PythonDebianProjectImportConfigurationComposite(
-					parent,
-					dialogPage,
-					project,
-					projectLocation,
-					configHandler,
-					debianRules
-					);
-		
-		configComposite.init();
-		
-		return configComposite;
-	}
-
-}

Deleted: branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/core/PythonProjectDebianSupportAdapterFactory.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/core/PythonProjectDebianSupportAdapterFactory.java	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/core/PythonProjectDebianSupportAdapterFactory.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 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:
- *    Ed Swartz (Nokia) - initial API and implementation
- *******************************************************************************/
-
-package org.maemo.esbox.internal.python.project.core;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.maemo.mica.linux.packages.core.adapters.IDebianProjectConvertImportSupport;
-import org.maemo.mica.python.project.core.MicaPythonProjectType;
-
-/**
- * This factory proclaims Debian support for a project type.
- * @author eswartz
- *
- */
-public class PythonProjectDebianSupportAdapterFactory implements IAdapterFactory {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
-	 */
-	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		if (adaptableObject instanceof MicaPythonProjectType) {
-			if (adapterType.equals(IDebianProjectConvertImportSupport.class)) {
-				return new PythonDebianProjectSupport((MicaPythonProjectType) adaptableObject);
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[] { IDebianProjectConvertImportSupport.class };
-	}
-
-}

Modified: branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ui/properties/ESboxOldPythonBuildTargetPropertyPage.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ui/properties/ESboxOldPythonBuildTargetPropertyPage.java	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ui/properties/ESboxOldPythonBuildTargetPropertyPage.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -11,51 +11,33 @@
 
 package org.maemo.esbox.internal.python.project.ui.properties;
 
-import java.util.List;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.maemo.esbox.internal.python.project.ui.wizards.ConvertToESboxPythonProjectWizard;
+import org.maemo.mica.common.project.ui.properties.AbstractOldFormatTargetPropertyPage;
 
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.maemo.esbox.internal.python.project.Activator;
-import org.maemo.mica.common.core.MicaException;
-import org.maemo.mica.common.project.core.BuildMachineHostedTargetFilter;
-import org.maemo.mica.common.project.core.IBuildConfiguration;
-import org.maemo.mica.common.project.core.IBuildConfigurationData;
-import org.maemo.mica.common.project.core.IBuildTargetFilter;
-import org.maemo.mica.common.project.core.IProjectProperties;
-import org.maemo.mica.common.project.core.IProjectType;
-import org.maemo.mica.common.project.core.NatureUtils;
-import org.maemo.mica.common.project.core.ProjectManager;
-import org.maemo.mica.common.project.ui.MicaSDKTargetBuildConfigurationsPage;
-import org.maemo.mica.python.project.core.MicaPythonProjectNature;
-import org.maemo.mica.python.project.core.MicaPythonProjectType;
-import org.maemo.mica.python.project.core.OldESboxPythonProjectNature;
-
 /**
  * The Python variant of the ESbox > Build Configurations property page
  * will convert the project format when the user saves the settings.
  * @author eswartz
  *
  */
-public class ESboxOldPythonBuildTargetPropertyPage extends
-		MicaSDKTargetBuildConfigurationsPage {
+public class ESboxOldPythonBuildTargetPropertyPage extends AbstractOldFormatTargetPropertyPage {
 	
-	/* (non-Javadoc)
+		/* (non-Javadoc)
 	 * @see org.maemo.mica.common.project.ui.MicaBuildConfigurationsPage#createBuildTargetFilter(org.eclipse.core.resources.IProject)
 	 */
+	/*
 	@Override
 	protected IBuildTargetFilter createBuildTargetFilter() {
 		return new BuildMachineHostedTargetFilter();
-	}
+	}*/
 	
 	/* (non-Javadoc)
 	 * @see org.maemo.mica.common.project.ui.ESboxBuildConfigurationsPage#getCurrentConfigurations()
 	 */
+	/*
 	@Override
 	protected List<IBuildConfiguration> getCurrentConfigurations() {
 		// the handle will become non-null when we convert
@@ -83,41 +65,17 @@
 		}
 		return super.getCurrentConfigurations();
 	}
+	*/
 	
 	/* (non-Javadoc)
-	 * @see org.maemo.mica.common.project.ui.ESboxBuildConfigurationsPage#addCustomUI(org.eclipse.swt.widgets.Composite)
-	 */
+	* @see org.maemo.mica.common.project.ui.properties.AbstractOldFormatTargetPropertyPage#convertProject(org.eclipse.core.resources.IProject)
+	*/
 	@Override
-	protected void addCustomTrailingUI(Composite control) {
-		if (ProjectManager.getInstance().getProjectHandle(project) == null) {
-			Label label = new Label(control, SWT.WRAP);
-			label.setText("This project is in an old format.  It will be converted to the new format and become incompatible with older versions of ESbox if you save changes.");
-			GridData gridData = new GridData(SWT.FILL, SWT.CENTER, true, false);
-			gridData.horizontalSpan = 2;
-			label.setLayoutData(gridData);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.maemo.mica.common.project.ui.ESboxBuildConfigurationsPage#performOk()
-	 */
-	@Override
-	public boolean performOk() {
-		// convert the project by swapping the project nature
-		try {
-			// remove builders (ALL OF THEM) because they will re-add the natures
-			IProjectDescription description = project.getDescription();
-			description.setBuildSpec(new ICommand[0]);
-			// remove natures too
-			description.setNatureIds(new String[0]);
-			project.setDescription(description, null);
-			
-			NatureUtils.addNature(project, MicaPythonProjectNature.ESBOX_PYTHON_NATURE_ID, null);
-		} catch (CoreException e) {
-			Activator.getErrorLogger().logAndShowError("Failed to convert project to new-style Python project", e);
-		}
+	protected void convertProject(IProject project) {
+		Wizard wizard;
+		wizard = new ConvertToESboxPythonProjectWizard();
 		
-		return super.performOk();
+		WizardDialog dialog = new WizardDialog(null, wizard);
+		dialog.open();
 	}
-	
 }

Modified: branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ui/properties/ESboxPythonBuildConfigurationsPage.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ui/properties/ESboxPythonBuildConfigurationsPage.java	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ui/properties/ESboxPythonBuildConfigurationsPage.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -12,15 +12,20 @@
 package org.maemo.esbox.internal.python.project.ui.properties;
 
 import org.maemo.mica.common.project.core.BuildMachineHostedTargetFilter;
+import org.maemo.mica.common.project.core.IBuildConfigurationProvider;
 import org.maemo.mica.common.project.core.IBuildTargetFilter;
+import org.maemo.mica.common.project.core.IExistingBuildConfigurationProvider;
+import org.maemo.mica.common.project.ui.AbstractTreeEditBuildConfigurationsPage;
 import org.maemo.mica.common.project.ui.MicaSDKTargetBuildConfigurationsPage;
+import org.maemo.mica.common.project.ui.SDKTargetAndExistingBuildConfigurationProvider;
+import org.maemo.mica.common.ui.BuildTargetProvider;
 
 /**
  * ESbox Python projects support only build machine targets.
  * @author eswartz
  *
  */
-public class ESboxPythonBuildConfigurationsPage extends MicaSDKTargetBuildConfigurationsPage {
+public class ESboxPythonBuildConfigurationsPage extends AbstractTreeEditBuildConfigurationsPage {
 
 	/**
 	 * 
@@ -36,5 +41,14 @@
 	protected IBuildTargetFilter createBuildTargetFilter() {
 		return new BuildMachineHostedTargetFilter();
 	}
+	
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.common.project.ui.AbstractTreeEditBuildConfigurationsPage#createBuildConfigurationProvider()
+	 */
+	@Override
+	protected IExistingBuildConfigurationProvider createBuildConfigurationProvider() {
+		return new SDKTargetAndExistingBuildConfigurationProvider(
+				newConfigDatas);
+	}
 
 }

Copied: branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ui/wizards (from rev 1642, branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/wizards)

Added: branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ui/wizards/ConvertToESboxPythonProjectWizard.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ui/wizards/ConvertToESboxPythonProjectWizard.java	                        (rev 0)
+++ branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ui/wizards/ConvertToESboxPythonProjectWizard.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -0,0 +1,74 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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:
+ *    Ed Swartz (Nokia) - initial API and implementation
+ *******************************************************************************/
+
+package org.maemo.esbox.internal.python.project.ui.wizards;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.maemo.esbox.internal.python.project.Activator;
+import org.maemo.mica.common.project.core.BuildMachineHostedTargetFilter;
+import org.maemo.mica.common.project.core.IBuildTargetFilter;
+import org.maemo.mica.common.project.core.IBuildConfigurationProvider;
+import org.maemo.mica.common.project.core.ProjectConfigHandler;
+import org.maemo.mica.common.project.ui.SDKTargetBuildConfigurationProvider;
+import org.maemo.mica.common.project.ui.StockTargetBuildConfigurationProvider;
+import org.maemo.mica.maemosdk.core.MaemoExecutionEnvironmentIds;
+import org.maemo.mica.python.project.core.MicaPythonProjectType;
+import org.maemo.mica.python.project.ui.wizards.AbstractConvertToPythonProjectWizard;
+
+/**
+ * This wizard converts projects to ESbox Python projects.
+ * @author eswartz
+ *
+ */
+public class ConvertToESboxPythonProjectWizard extends AbstractConvertToPythonProjectWizard {
+
+	/**
+	 * 
+	 */
+	public ConvertToESboxPythonProjectWizard() {
+		super("ESbox");
+		setDisplayProjectTypeSelector(false);
+		setDisplayProjectBuilderTypeSelector(false);
+		setDisplayExecutionEnvironmentSelector(false);
+	}
+	
+	
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.common.project.ui.wizards.AbstractConvertToMaemoProjectWizard#getDefaultPageImageDescriptor()
+	 */
+	@Override
+	protected ImageDescriptor getDefaultPageImageDescriptor() {
+		return Activator.getImageDescriptor("./icons/full/wizban/maemo_convert.gif");
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.common.project.ui.wizards.AbstractConvertToMaemoProjectWizard#createBuildTargetFilter()
+	 */
+	@Override
+	protected IBuildTargetFilter createBuildTargetFilter() {
+		return new BuildMachineHostedTargetFilter();
+	}
+	
+	@Override
+	protected IBuildConfigurationProvider createTargetBuildConfigurationProvider() {
+		return super.createTargetBuildConfigurationProvider();
+	}
+
+	/* (non-Javadoc)
+	 * @see org.maemo.mica.common.project.ui.wizards.AbstractConvertToMaemoProjectWizard#updateProjectConfigHandler(org.maemo.mica.common.project.core.ProjectConfigHandler)
+	 */
+	@Override
+	protected void updateProjectConfigHandler(ProjectConfigHandler configHandler) {
+		//configHandler.addExtraNatureId(ESboxProjectNature.NATURE_ID);
+		configHandler.setExecutionEnvironmentId(MaemoExecutionEnvironmentIds.MAEMO);
+	}
+	
+}

Modified: branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ui/wizards/ESboxPythonProjectWizard.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/wizards/ESboxPythonProjectWizard.java	2009-05-26 08:40:14 UTC (rev 1642)
+++ branches/work_Ed/org.maemo.esbox.python.project/src/org/maemo/esbox/internal/python/project/ui/wizards/ESboxPythonProjectWizard.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -9,7 +9,7 @@
  *    Ed Swartz (Nokia) - initial API and implementation
  *******************************************************************************/
 
-package org.maemo.esbox.internal.python.project.wizards;
+package org.maemo.esbox.internal.python.project.ui.wizards;
 
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.ui.INewWizard;

Modified: branches/work_Ed/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/OldStyleProjectProperties.java
===================================================================
--- branches/work_Ed/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/OldStyleProjectProperties.java	2009-05-29 14:54:00 UTC (rev 1656)
+++ branches/work_Ed/org.maemo.esbox.scratchbox.core/src/org/maemo/esbox/internal/api/scratchbox/core/OldStyleProjectProperties.java	2009-05-29 19:26:00 UTC (rev 1657)
@@ -154,11 +154,9 @@
 		}
 
 		if (sdk == null) {
-			throw new MicaException(
-					MessageFormat
-							.format(
-									"Project ''{0}'' uses an unsupported scratchbox version {1}",
-									project.getName(), version));
+			throw new MicaException(MessageFormat.format(
+				"Project ''{0}'' uses an unsupported scratchbox version {1}",
+				project.getName(), version));
 		}
 
 		return sdk;
@@ -183,8 +181,4 @@
 		return null;
 	}
 
-	// public synchronized String getScratchboxVersion(IProject project) {
-	// return readProperty(scratchboxVersionProperty);
-	// }
-
 }



More information about the Esbox-commits mailing list