Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] Head: cdt/ui

Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/ChangeLog,v
retrieving revision 1.206
diff -u -r1.206 ChangeLog
--- ChangeLog	10 Oct 2003 19:12:11 -0000	1.206
+++ ChangeLog	14 Oct 2003 20:34:41 -0000
@@ -1,3 +1,14 @@
+2003-10-14 Alain Magloire
+
+	Added a new method to ICOptionContainer.java
+		Preferences getPreferences();
+	This needed for UI contributions in the Tabs.
+
+	* src/org/eclipse/cdt/ui/dialogs/ICOptionContainer.java
+	* src/org/eclipse/cdt/ui/dialogs/AbstractBinaryParserPage.java
+	* src/org/eclipse/cdt/ui/dialogs/BinaryParserBlock.java
+	* src/org/eclipse/cdt/ui/dialogs/GNUElfBinaryParserPage.java
+
 2003-10-10 Alain Magloire
 
 	Add new method getPreferenceStore() in ICOptionPage
Index: src/org/eclipse/cdt/ui/dialogs/AbstractBinaryParserPage.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/dialogs/AbstractBinaryParserPage.java,v
retrieving revision 1.1
diff -u -r1.1 AbstractBinaryParserPage.java
--- src/org/eclipse/cdt/ui/dialogs/AbstractBinaryParserPage.java	17 Sep 2003 02:18:16 -0000	1.1
+++ src/org/eclipse/cdt/ui/dialogs/AbstractBinaryParserPage.java	14 Oct 2003 20:34:41 -0000
@@ -99,6 +99,9 @@
 	public void setContainer(ICOptionContainer container) {
 		super.setContainer(container);
 		initializeParserPageMap();
+		ICOptionPage page = getCurrentBinaryParserPage();
+		if (page != null)
+			page.setContainer(container);
 	}
 
 	public ICOptionPage getBinaryParserPage(String parserID) {
Index: src/org/eclipse/cdt/ui/dialogs/BinaryParserBlock.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/dialogs/BinaryParserBlock.java,v
retrieving revision 1.7
diff -u -r1.7 BinaryParserBlock.java
--- src/org/eclipse/cdt/ui/dialogs/BinaryParserBlock.java	1 Oct 2003 14:15:13 -0000	1.7
+++ src/org/eclipse/cdt/ui/dialogs/BinaryParserBlock.java	14 Oct 2003 20:34:41 -0000
@@ -116,7 +116,6 @@
 					ICDescriptor desc = CCorePlugin.getDefault().getCProjectDescription(getContainer().getProject());
 					desc.remove(CCorePlugin.BINARY_PARSER_UNIQ_ID);
 					desc.create(CCorePlugin.BINARY_PARSER_UNIQ_ID, (String) idMap.get(selected));
-					CCorePlugin.getDefault().getCoreModel().resetBinaryParser(getContainer().getProject());
 				} else {
 					fPrefs.setValue(CCorePlugin.PREF_BINARY_PARSER, (String) idMap.get(selected));
 				}
@@ -128,11 +127,17 @@
 		// We have to do it last to make sure the parser id is save
 		// in .cdtproject
 		super.performApply(new SubProgressMonitor(monitor, 1));
+
+		// Reset the binary parser the paths may have change.
+		if (getContainer().getProject() != null)
+			CCorePlugin.getDefault().getCoreModel().resetBinaryParser(getContainer().getProject());
+
 		monitor.done();
 	}
 
 	public void setContainer(ICOptionContainer container) {
 		super.setContainer(container);
+
 		IExtensionPoint point = CCorePlugin.getDefault().getDescriptor().getExtensionPoint(CCorePlugin.BINARY_PARSER_SIMPLE_ID);
 		if (point != null) {
 			IExtension[] exts = point.getExtensions();
@@ -181,6 +186,7 @@
 		// Give a change to the UI contributors to react.
 		// But do it last after the comboBox is set.
 		handleBinaryParserChanged();
+		super.performDefaults();
 		getContainer().updateContainer();
 	}
 
Index: src/org/eclipse/cdt/ui/dialogs/GNUElfBinaryParserPage.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/dialogs/GNUElfBinaryParserPage.java,v
retrieving revision 1.1
diff -u -r1.1 GNUElfBinaryParserPage.java
--- src/org/eclipse/cdt/ui/dialogs/GNUElfBinaryParserPage.java	17 Sep 2003 02:18:16 -0000	1.1
+++ src/org/eclipse/cdt/ui/dialogs/GNUElfBinaryParserPage.java	14 Oct 2003 20:34:41 -0000
@@ -25,6 +25,7 @@
 import org.eclipse.core.runtime.IPluginDescriptor;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Preferences;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.ModifyEvent;
 import org.eclipse.swt.events.ModifyListener;
@@ -42,6 +43,9 @@
  */
 public class GNUElfBinaryParserPage extends AbstractCOptionPage {
 
+	public final static String PREF_ADDR2LINE_PATH = CUIPlugin.PLUGIN_ID + ".addr2line"; //$NON-NLS-1$
+	public final static String PREF_CPPFILT_PATH = CUIPlugin.PLUGIN_ID + ".cppfilt"; //$NON-NLS-1$
+
 	protected Text fAddr2LineCommandText;
 	protected Text fCPPFiltCommandText;
 
@@ -52,12 +56,14 @@
 		if (monitor == null) {
 			monitor = new NullProgressMonitor();
 		}
+
+		String addr2line = fAddr2LineCommandText.getText().trim();
+		String cppfilt = fCPPFiltCommandText.getText().trim();
+
 		monitor.beginTask("Saving Attributes", 1);
 		IProject proj = getContainer().getProject();
 		if (proj != null) {
 			ICDescriptor cdesc = CCorePlugin.getDefault().getCProjectDescription(proj);
-			String addr2line = fAddr2LineCommandText.getText().trim();
-			String cppfilt = fCPPFiltCommandText.getText().trim();
 			ICExtensionReference[] cext = cdesc.get(CCorePlugin.BINARY_PARSER_UNIQ_ID);
 			if (cext.length == 0) {
 				// The value was not save yet and we need to save it now
@@ -87,6 +93,12 @@
 					cext[0].setExtensionData("c++filt", cppfilt);
 				}
 			} 
+		} else {
+			Preferences store = getContainer().getPreferences();
+			if (store != null) {
+				store.setValue(PREF_ADDR2LINE_PATH, addr2line);
+				store.setValue(PREF_CPPFILT_PATH, cppfilt);
+			}
 		}
 	}
 
@@ -107,9 +119,15 @@
 				}
 			} catch (CoreException e) {
 			}
+		} else {
+			Preferences store = getContainer().getPreferences();
+			if (store != null) {
+				addr2line = store.getString(PREF_ADDR2LINE_PATH);
+				cppfilt = store.getString(PREF_CPPFILT_PATH);
+			}
 		}
-		fAddr2LineCommandText.setText((addr2line == null) ? "addr2line" : addr2line);
-		fCPPFiltCommandText.setText((cppfilt == null) ? "c++filt" : cppfilt);
+		fAddr2LineCommandText.setText((addr2line == null || addr2line.length() == 0) ? "addr2line" : addr2line);
+		fCPPFiltCommandText.setText((cppfilt == null || cppfilt.length() == 0) ? "c++filt" : cppfilt);
 	}
 
 	/* (non-Javadoc)
Index: src/org/eclipse/cdt/ui/dialogs/ICOptionContainer.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/dialogs/ICOptionContainer.java,v
retrieving revision 1.2
diff -u -r1.2 ICOptionContainer.java
--- src/org/eclipse/cdt/ui/dialogs/ICOptionContainer.java	10 Oct 2003 19:11:52 -0000	1.2
+++ src/org/eclipse/cdt/ui/dialogs/ICOptionContainer.java	14 Oct 2003 20:34:41 -0000
@@ -12,7 +12,7 @@
 ***********************************************************************/
 
 import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.core.runtime.Preferences;
 
 public interface ICOptionContainer {
 
@@ -25,6 +25,6 @@
 	 *
 	 * @return the preference store, or <code>null</code> if none
 	 */
-	public IPreferenceStore getPreferenceStore();
+	public Preferences getPreferences();
 
 }
Index: src/org/eclipse/cdt/ui/wizards/NewCProjectWizardOptionPage.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/NewCProjectWizardOptionPage.java,v
retrieving revision 1.3
diff -u -r1.3 NewCProjectWizardOptionPage.java
--- src/org/eclipse/cdt/ui/wizards/NewCProjectWizardOptionPage.java	10 Oct 2003 19:12:01 -0000	1.3
+++ src/org/eclipse/cdt/ui/wizards/NewCProjectWizardOptionPage.java	14 Oct 2003 20:34:41 -0000
@@ -12,6 +12,7 @@
 import org.eclipse.cdt.ui.dialogs.TabFolderOptionBlock;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Preferences;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.jface.wizard.WizardPage;
@@ -56,17 +57,11 @@
 	/* (non-Javadoc)
 	 * @see org.eclipse.cdt.ui.dialogs.ICOptionContainer#getPreferenceStore()
 	 */
-	public IPreferenceStore getPreferenceStore() {
-		return preferenceStore;
-	}
+	public abstract Preferences getPreferences();
 
-	/**
-	 * @param store
+	/* (non-Javadoc)
+	 * @see org.eclipse.cdt.ui.dialogs.ICOptionContainer#getProject()
 	 */
-	public void setPreferenceStore(IPreferenceStore store) {
-		preferenceStore = store;
-	}
-
 	public abstract IProject getProject();
 
 }



Back to the top