diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2008-11-26 10:34:34 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2008-11-26 10:34:34 +0000 |
commit | d726c32aabbbd37e576363c95d5547680be9d353 (patch) | |
tree | d0c318072610ed8fff2403d08188f69a1f588bfb /org.rtems.cdt.toolchain2 | |
parent | Fixed property storage issues. (diff) | |
download | rtems-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.MF | 3 | ||||
-rw-r--r-- | org.rtems.cdt.toolchain2/org/rtems/cdt/properties/PropertyPage.java | 38 |
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; } |