summaryrefslogtreecommitdiffstats
path: root/org.rtems.cdt.toolchain2
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2008-11-26 10:34:34 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2008-11-26 10:34:34 +0000
commitd726c32aabbbd37e576363c95d5547680be9d353 (patch)
treed0c318072610ed8fff2403d08188f69a1f588bfb /org.rtems.cdt.toolchain2
parentFixed property storage issues. (diff)
downloadrtems-eclipse-plug-in-d726c32aabbbd37e576363c95d5547680be9d353.tar.bz2
Fixed property page problem for ICElement based elements.
Diffstat (limited to 'org.rtems.cdt.toolchain2')
-rw-r--r--org.rtems.cdt.toolchain2/META-INF/MANIFEST.MF3
-rw-r--r--org.rtems.cdt.toolchain2/org/rtems/cdt/properties/PropertyPage.java38
2 files changed, 25 insertions, 16 deletions
diff --git a/org.rtems.cdt.toolchain2/META-INF/MANIFEST.MF b/org.rtems.cdt.toolchain2/META-INF/MANIFEST.MF
index 55a1605..7e619b3 100644
--- a/org.rtems.cdt.toolchain2/META-INF/MANIFEST.MF
+++ b/org.rtems.cdt.toolchain2/META-INF/MANIFEST.MF
@@ -12,7 +12,8 @@ Require-Bundle: org.eclipse.cdt.managedbuilder.core,
org.eclipse.core.runtime,
org.eclipse.cdt.managedbuilder.ui
Bundle-Vendor: Embedded Brains GmbH
-Import-Package: org.eclipse.cdt.managedbuilder.ui.wizards,
+Import-Package: org.eclipse.cdt.core.model,
+ org.eclipse.cdt.managedbuilder.ui.wizards,
org.eclipse.jface.resource,
org.eclipse.ui.wizards.newresource
Bundle-Activator: org.rtems.cdt.Activator
diff --git a/org.rtems.cdt.toolchain2/org/rtems/cdt/properties/PropertyPage.java b/org.rtems.cdt.toolchain2/org/rtems/cdt/properties/PropertyPage.java
index fc63160..9f26484 100644
--- a/org.rtems.cdt.toolchain2/org/rtems/cdt/properties/PropertyPage.java
+++ b/org.rtems.cdt.toolchain2/org/rtems/cdt/properties/PropertyPage.java
@@ -21,6 +21,7 @@ import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.StringFieldEditor;
import org.eclipse.ui.IWorkbenchPropertyPage;
+import org.eclipse.cdt.core.model.ICElement;
import org.rtems.cdt.Activator;
import org.rtems.cdt.Constants;
import org.rtems.cdt.Storage;
@@ -31,6 +32,8 @@ public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenc
private IPreferenceStore mStore;
+ private IProject mProject;
+
public PropertyPage() {
super( GRID);
@@ -41,21 +44,27 @@ public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenc
setDescription( "You can change the RTEMS base installation path, the RTEMS version, the target architecture and the board support package (BSP) installation path. This affects only the current project.");
}
- private void setupStoreValue( IProject project, IPreferenceStore defaultStore, String key) {
+ private void setupStoreValue( IPreferenceStore defaultStore, String key) {
mStore.setDefault( key, defaultStore.getString( key));
- mStore.setValue( key, Storage.getProperty( project, key));
+ mStore.setValue( key, Storage.getProperty( mProject, key));
+ System.out.println( mStore.getString( key));
}
- protected void createFieldEditors() {
+ protected void createFieldEditors() {
+ // Get current project
+ mProject = ((IResource) getElement().getAdapter( IResource.class)).getProject();
+ if (mProject == null) {
+ mProject = ((ICElement) getElement().getAdapter( ICElement.class)).getCProject().getProject();
+ }
+
// Get the default values from the current workbench preferences
IPreferenceStore store = Activator.getDefault().getPreferenceStore();
// Setup store values
- IProject project = ((IResource) getElement()).getProject();
- setupStoreValue( project, store, Constants.BASE_PATH_KEY);
- setupStoreValue( project, store, Constants.VERSION_KEY);
- setupStoreValue( project, store, Constants.TARGET_KEY);
- setupStoreValue( project, store, Constants.BSP_PATH_KEY);
+ setupStoreValue( store, Constants.BASE_PATH_KEY);
+ setupStoreValue( store, Constants.VERSION_KEY);
+ setupStoreValue( store, Constants.TARGET_KEY);
+ setupStoreValue( store, Constants.BSP_PATH_KEY);
// Add field editors
addField(
@@ -89,19 +98,18 @@ public class PropertyPage extends FieldEditorPreferencePage implements IWorkbenc
);
}
- private void setProperty( IProject project, String key) {
- Storage.setProperty( project, key, mStore.getString( key));
+ private void setProperty( String key) {
+ Storage.setProperty( mProject, key, mStore.getString( key));
}
public boolean performOk() {
super.performOk();
// Set the new properties
- IProject project = ((IResource) getElement()).getProject();
- setProperty( project, Constants.BASE_PATH_KEY);
- setProperty( project, Constants.VERSION_KEY);
- setProperty( project, Constants.TARGET_KEY);
- setProperty( project, Constants.BSP_PATH_KEY);
+ setProperty( Constants.BASE_PATH_KEY);
+ setProperty( Constants.VERSION_KEY);
+ setProperty( Constants.TARGET_KEY);
+ setProperty( Constants.BSP_PATH_KEY);
return true;
}