Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] new CDT UI proptery page for indexer

Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/ChangeLog,v
retrieving revision 1.17
diff -u -r1.17 ChangeLog
--- ChangeLog	8 Nov 2002 03:24:17 -0000	1.17
+++ ChangeLog	13 Nov 2002 13:17:42 -0000
@@ -1,3 +1,11 @@
+2002-11-13 David Inglis	
+	
+	* plugin.properties
+	* plugin.xml
+	* src/.../internal/ui/preferences/CIndexerPropertyPage.java
+	Added new property page on c project to enable/disable the indexing service.
+	
+	
 2002-11-06 Alain Magloire

 	Fix for Bugzilla 25869.
Index: plugin.properties
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/plugin.properties,v
retrieving revision 1.10
diff -u -r1.10 plugin.properties
--- plugin.properties	28 Oct 2002 19:26:46 -0000	1.10
+++ plugin.properties	13 Nov 2002 13:17:42 -0000
@@ -55,6 +55,7 @@
 CPluginEditorPreferencePage.name=C/C++ Editor
 CPluginTemplatePreferencePage.name=Code Templates
 CProjectPropertyPage.name=C/C++ Project
+CIndexerPropertyPage.name=C/C++ Indexer
 CLaunchingPropertyPage.executionArguments.name=C Execution Arguments
 CApplicationLauncher.label=Executable
 CApplicationLauncher.description=Launch a local command
Index: plugin.xml
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/plugin.xml,v
retrieving revision 1.11
diff -u -r1.11 plugin.xml
--- plugin.xml	29 Oct 2002 21:40:59 -0000	1.11
+++ plugin.xml	13 Nov 2002 13:17:43 -0000
@@ -266,8 +266,20 @@
       <page
             objectClass="org.eclipse.core.resources.IProject"
             name="%CProjectPropertyPage.name"
+            adaptable="true"
             class="org.eclipse.cdt.internal.ui.preferences.CProjectPropertyPage"
             id="org.eclipse.cdt.ui.preferences.CProjectPropertyPage">
+         <filter
+               name="nature"
+               value="org.eclipse.cdt.core.cnature">
+         </filter>
+      </page>
+      <page
+            objectClass="org.eclipse.core.resources.IProject"
+		    adaptable="true"
+            name="%CIndexerPropertyPage.name"
+            class="org.eclipse.cdt.internal.ui.preferences.CIndexerPropertyPage"
+            id="org.eclipse.cdt.ui.preferences.CIndexerPropertyPage">
          <filter
                name="nature"
                value="org.eclipse.cdt.core.cnature">
Index: src/org/eclipse/cdt/internal/ui/preferences/CIndexerPropertyPage.java
===================================================================
RCS file: src/org/eclipse/cdt/internal/ui/preferences/CIndexerPropertyPage.java
diff -N src/org/eclipse/cdt/internal/ui/preferences/CIndexerPropertyPage.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ src/org/eclipse/cdt/internal/ui/preferences/CIndexerPropertyPage.java	13 Nov 2002 13:17:43 -0000
@@ -0,0 +1,62 @@
+package org.eclipse.cdt.internal.ui.preferences;
+
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+
+import org.eclipse.cdt.core.CCorePlugin;
+import org.eclipse.cdt.core.index.IndexModel;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.dialogs.PropertyPage;
+
+public class CIndexerPropertyPage extends PropertyPage  {
+	private Button indexerSwitch;
+
+	protected Control createContents(Composite parent) {
+		Composite composite= new Composite(parent, SWT.NONE);
+		GridLayout grid = new GridLayout();
+		grid.numColumns = 1;
+		composite.setLayout(grid);
+		
+		IProject project= getProject();
+		IndexModel indexer = CCorePlugin.getDefault().getIndexModel();			
+
+		indexerSwitch = new Button(composite, SWT.CHECK | SWT.RIGHT);
+		indexerSwitch.setAlignment(SWT.LEFT);
+		indexerSwitch.setText("Enable indexing service for this project");
+		indexerSwitch.setSelection(indexer.isEnabled(project));
+		return composite;
+	}
+
+	/**
+	 * @see PreferencePage#performOk
+	 */	
+	public boolean performOk() {
+		IProject project= getProject();
+		IndexModel indexer = CCorePlugin.getDefault().getIndexModel();			
+		indexer.setEnabled(project, indexerSwitch.getSelection());
+		return true;
+	}
+		
+	private IProject getProject() {
+		Object element= getElement();
+		if (element instanceof IProject) {
+			return (IProject)element;
+		}
+		return null;
+	}
+
+	protected void performDefaults() {
+		IProject project= getProject();
+		IndexModel indexer = CCorePlugin.getDefault().getIndexModel();			
+		indexer.setEnabled(project, false);
+		super.performDefaults();
+	}
+
+}



Back to the top