[Esbox-commits] r1225 - in trunk/org.maemo.esbox.project.cpp: . META-INF src/org/maemo/esbox/internal/project/cpp/ui
eswartz at garage.maemo.org
eswartz at garage.maemo.org
Fri Feb 13 18:46:52 EET 2009
Author: eswartz
Date: 2009-02-13 18:46:52 +0200 (Fri, 13 Feb 2009)
New Revision: 1225
Added:
trunk/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/ESboxBuildConfigManager.java
Modified:
trunk/org.maemo.esbox.project.cpp/META-INF/MANIFEST.MF
trunk/org.maemo.esbox.project.cpp/plugin.xml
Log:
Merge rev 1224 from work_Ed branch to fix bug 3460
Modified: trunk/org.maemo.esbox.project.cpp/META-INF/MANIFEST.MF
===================================================================
--- trunk/org.maemo.esbox.project.cpp/META-INF/MANIFEST.MF 2009-02-13 16:42:36 UTC (rev 1224)
+++ trunk/org.maemo.esbox.project.cpp/META-INF/MANIFEST.MF 2009-02-13 16:46:52 UTC (rev 1225)
@@ -19,6 +19,7 @@
org.eclipse.cdt.make.ui;bundle-version="5.0.1",
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.maemo.mica.linux.packages.ui;bundle-version="2.0.0",
+ org.eclipse.cdt.core;bundle-version="5.0.1"
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ActivationPolicy: lazy
Modified: trunk/org.maemo.esbox.project.cpp/plugin.xml
===================================================================
--- trunk/org.maemo.esbox.project.cpp/plugin.xml 2009-02-13 16:42:36 UTC (rev 1224)
+++ trunk/org.maemo.esbox.project.cpp/plugin.xml 2009-02-13 16:46:52 UTC (rev 1225)
@@ -166,7 +166,7 @@
<!-- new page -->
<page
class="org.maemo.esbox.internal.project.cpp.ui.properties.ESboxCppBuildConfigurationsPage"
- id="org.maemo.esbox.project.cpp.ui.BuildConfigurations"
+ id="org.maemo.esbox.project.cpp.BuildConfigurations"
name="Maemo Build Configurations">
<filter
name="nature"
@@ -180,6 +180,14 @@
</extension>
<extension
+ point="org.eclipse.cdt.ui.ConfigManager">
+ <manager
+ class="org.maemo.esbox.internal.project.cpp.ui.ESboxBuildConfigManager">
+ </manager>
+ </extension>
+
+
+ <extension
point="org.eclipse.ui.ide.markerResolution">
<markerResolutionGenerator
class="org.maemo.esbox.internal.project.cpp.core.ConvertCppProjectMarkerResolutionGenerator"
Copied: trunk/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/ESboxBuildConfigManager.java (from rev 1224, branches/work_Ed/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/ESboxBuildConfigManager.java)
===================================================================
--- trunk/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/ESboxBuildConfigManager.java (rev 0)
+++ trunk/org.maemo.esbox.project.cpp/src/org/maemo/esbox/internal/project/cpp/ui/ESboxBuildConfigManager.java 2009-02-13 16:46:52 UTC (rev 1225)
@@ -0,0 +1,80 @@
+/*******************************************************************************
+ * 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.project.cpp.ui;
+
+import org.eclipse.cdt.ui.CUIPlugin;
+import org.eclipse.cdt.ui.newui.*;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.preference.PreferenceDialog;
+import org.eclipse.ui.dialogs.PreferencesUtil;
+import org.maemo.esbox.internal.project.cpp.Activator;
+import org.maemo.mica.cpp.project.core.MicaCppProjectNature;
+
+/**
+ * This implements the ...ConfigManager extension which tells CDT
+ * what UI to present for a given project's "Build Configurations"
+ * dialog.
+ * <p>
+ * In ESbox C/C++ projects, we want to show a checklist of ISDKTargets
+ * and let the user create configurations from those.
+ * @author eswartz
+ *
+ */
+public class ESboxBuildConfigManager implements IConfigManager {
+
+ /**
+ *
+ */
+ private static final String BUILD_CONFIG_PAGE_ID = Activator.PLUGIN_ID + ".BuildConfigurations";
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.ui.newui.IConfigManager#canManage(org.eclipse.core.resources.IProject[])
+ */
+ public boolean canManage(IProject[] obs) {
+ if (obs != null && obs.length == 1) {
+ IProject project = obs[0];
+ return MicaCppProjectNature.isNatureInProject(project);
+ }
+ return false;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.ui.newui.IConfigManager#manage(org.eclipse.core.resources.IProject[], boolean)
+ */
+ public boolean manage(IProject[] obs, boolean doOk) {
+ if (!canManage(obs)) {
+ return false;
+ }
+
+ IProject project = obs[0];
+
+ PreferenceDialog preferenceDialog = PreferencesUtil.createPropertyDialogOn(
+ CUIPlugin.getActiveWorkbenchShell(),
+ project,
+ BUILD_CONFIG_PAGE_ID,
+ new String[] { BUILD_CONFIG_PAGE_ID },
+ null
+ );
+ int ret = preferenceDialog.open();
+ if (ret == IDialogConstants.OK_ID) {
+ if (doOk) {
+ CDTPropertyManager.getProjectDescription(obs[0]);
+ CDTPropertyManager.performOk(preferenceDialog.getShell());
+ }
+ AbstractPage.updateViews(obs[0]);
+ return true;
+ }
+ return false;
+ }
+
+}
More information about the Esbox-commits
mailing list