Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBogdan Gheorghe2004-06-11 18:38:39 +0000
committerBogdan Gheorghe2004-06-11 18:38:39 +0000
commitb2719be9c55bf8783b265036c3e5b61aa7774932 (patch)
treecf9241a3f28367a65b6ec26fe35ca07d7261cffd
parent75fee20f69852f5219e039afb6665d56da8886f9 (diff)
downloadorg.eclipse.cdt-b2719be9c55bf8783b265036c3e5b61aa7774932.tar.gz
org.eclipse.cdt-b2719be9c55bf8783b265036c3e5b61aa7774932.tar.xz
org.eclipse.cdt-b2719be9c55bf8783b265036c3e5b61aa7774932.zip
Fix for Bug 65132: Deletion of "Work In Progress" preferences
-rw-r--r--core/org.eclipse.cdt.ui/ChangeLog3
-rw-r--r--core/org.eclipse.cdt.ui/plugin.properties2
-rw-r--r--core/org.eclipse.cdt.ui/plugin.xml5
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/CSearchPreferencePage.java233
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/PreferencesMessages.properties1
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/WorkInProgressPreferencePage.java73
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CUIPreferenceInitializer.java2
7 files changed, 247 insertions, 72 deletions
diff --git a/core/org.eclipse.cdt.ui/ChangeLog b/core/org.eclipse.cdt.ui/ChangeLog
index c50ecacbdc0..5aa9989d6c4 100644
--- a/core/org.eclipse.cdt.ui/ChangeLog
+++ b/core/org.eclipse.cdt.ui/ChangeLog
@@ -1,3 +1,6 @@
+2004-06-11 Bogdan Gheorghe
+ Fix for Bug 66016: Moved search related items from work in progress to search page
+
2004-06-10 Bogdan Gheorghe
Fix for Bug 65132: moving folder onto itself deletes entire project
diff --git a/core/org.eclipse.cdt.ui/plugin.properties b/core/org.eclipse.cdt.ui/plugin.properties
index e1769ede15c..b4ef4679b25 100644
--- a/core/org.eclipse.cdt.ui/plugin.properties
+++ b/core/org.eclipse.cdt.ui/plugin.properties
@@ -150,6 +150,8 @@ HideHeaderFiles.description= Hides all Header files
WorkInProgress.name=Work In Progress
+CDTSearch.name=Search
+
CDTIndexerProperty.name=C/C++ Indexer
CDTFileTypesProperty.name=C/C++ File Types
diff --git a/core/org.eclipse.cdt.ui/plugin.xml b/core/org.eclipse.cdt.ui/plugin.xml
index 6e49f8d9edc..7e6b0ba4ef0 100644
--- a/core/org.eclipse.cdt.ui/plugin.xml
+++ b/core/org.eclipse.cdt.ui/plugin.xml
@@ -379,6 +379,11 @@
class="org.eclipse.cdt.internal.ui.preferences.CFileTypesPreferencePage"
id="org.eclipse.cdt.ui.preferences.CFileTypesPreferences">
</page>
+ <page
+ class="org.eclipse.cdt.internal.ui.preferences.CSearchPreferencePage"
+ category="org.eclipse.cdt.ui.preferences.CPluginPreferencePage"
+ name="%CDTSearch.name"
+ id="org.eclipse.cdt.ui.preferences.CSearchPreferencePage"/>
<!--page
name="%WorkInProgress.name"
category="org.eclipse.cdt.ui.preferences.CPluginPreferencePage"
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/CSearchPreferencePage.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/CSearchPreferencePage.java
new file mode 100644
index 00000000000..966a18eec90
--- /dev/null
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/CSearchPreferencePage.java
@@ -0,0 +1,233 @@
+/**********************************************************************
+Copyright (c) 2002, 2004 IBM Rational Software and others.
+All rights reserved.   This program and the accompanying materials
+are made available under the terms of the Common Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/cpl-v10.html
+Contributors:
+    IBM Rational Software - Initial Contribution
+**********************************************************************/
+
+package org.eclipse.cdt.internal.ui.preferences;
+
+import java.util.ArrayList;
+
+import org.eclipse.cdt.core.CCorePlugin;
+import org.eclipse.cdt.internal.core.search.indexing.SourceIndexer;
+import org.eclipse.cdt.internal.ui.search.CSearchPage;
+import org.eclipse.cdt.ui.CUIPlugin;
+import org.eclipse.cdt.utils.ui.controls.ControlFactory;
+import org.eclipse.core.runtime.Preferences;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+
+public class CSearchPreferencePage extends PreferencePage
+ implements
+ IWorkbenchPreferencePage {
+
+ private Combo fExternLinks;
+ private Button fExternEnabled;
+
+ protected OverlayPreferenceStore fOverlayStore;
+ private Text fTextControl;
+
+ private static final String TIMEOUT_VALUE = "20000"; //$NON-NLS-1$
+
+ public CSearchPreferencePage(){
+ setPreferenceStore(CUIPlugin.getDefault().getPreferenceStore());
+ fOverlayStore = createOverlayStore();
+ }
+
+ private OverlayPreferenceStore createOverlayStore() {
+ ArrayList overlayKeys = new ArrayList();
+ overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, CSearchPage.EXTERNALMATCH_ENABLED));
+ overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.INT, CSearchPage.EXTERNALMATCH_VISIBLE));
+ overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, SourceIndexer.CDT_INDEXER_TIMEOUT));
+
+ OverlayPreferenceStore.OverlayKey[] keys = new OverlayPreferenceStore.OverlayKey[overlayKeys.size()];
+ overlayKeys.toArray(keys);
+ return new OverlayPreferenceStore(getPreferenceStore(), keys);
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
+ */
+ protected Control createContents(Composite parent) {
+ fOverlayStore.load();
+ fOverlayStore.start();
+
+ initializeDialogUnits(parent);
+
+ Composite result= new Composite(parent, SWT.NONE);
+ GridLayout layout= new GridLayout();
+ layout.marginHeight= convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
+ layout.marginWidth= 0;
+ layout.verticalSpacing= convertVerticalDLUsToPixels(10);
+ layout.horizontalSpacing= convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
+ result.setLayout(layout);
+
+ Group group= new Group(result, SWT.NONE);
+ group.setLayout(new GridLayout());
+ group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ group.setText(PreferencesMessages.getString("CSearchPreferences.ExternalSearchLinks.ExternalSearchLinksGroup")); //$NON-NLS-1$
+
+ fExternEnabled = createCheckButton(group, PreferencesMessages.getString("CSearchPreferences.ExternalSearchLinks.EnableMessage")); //$NON-NLS-1$
+ fExternEnabled.addSelectionListener(new SelectionListener() {
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
+ public void widgetSelected(SelectionEvent e) {
+ Button button = (Button) e.widget;
+ boolean externLinkEnabled = false;
+ fExternLinks.setEnabled(false);
+ if (button.getSelection()){
+ fExternLinks.setEnabled(true);
+ externLinkEnabled = true;
+ }
+
+ fOverlayStore.setValue(CSearchPage.EXTERNALMATCH_ENABLED, externLinkEnabled);
+ }
+ });
+
+ fExternLinks = createComboBox(group,PreferencesMessages.getString("CSearchPreferences.ExternalSearchLinks.EnableMarkerLinkType"),new String[]{PreferencesMessages.getString("CSearchPreferences.ExternalSearchLinks.Visible"),PreferencesMessages.getString("CSearchPreferences.ExternalSearchLinks.Invisible")},PreferencesMessages.getString("CSearchPreferences.ExternalSearchLinks.Invisible")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ fExternLinks.addSelectionListener(new SelectionListener() {
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
+ public void widgetSelected(SelectionEvent e) {
+ Combo combo = (Combo) e.widget;
+ fOverlayStore.setValue(CSearchPage.EXTERNALMATCH_VISIBLE, combo.getSelectionIndex());
+ }
+ });
+
+ Group indexerTimeoutGroup= new Group(result, SWT.NONE);
+ indexerTimeoutGroup.setLayout(new GridLayout());
+ indexerTimeoutGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ indexerTimeoutGroup.setText(PreferencesMessages.getString("CSearchPreferences.IndexerTimeout.IndexerTimeoutGroup")); //$NON-NLS-1$
+
+ fTextControl = (Text) addTextField( indexerTimeoutGroup, PreferencesMessages.getString("CSearchPreferences.IndexerTimeout.Timeout"),"TimeOut",6,0,true); //$NON-NLS-1$ //$NON-NLS-2$
+
+ initialize();
+
+ return result;
+
+ }
+
+ private void initialize(){
+ boolean extEnabled = fOverlayStore.getBoolean(CSearchPage.EXTERNALMATCH_ENABLED);
+ fExternEnabled.setSelection(extEnabled);
+
+ fExternLinks.select(fOverlayStore.getInt(CSearchPage.EXTERNALMATCH_VISIBLE));
+ fExternLinks.setEnabled(extEnabled);
+
+ fTextControl.setText(fOverlayStore.getString(SourceIndexer.CDT_INDEXER_TIMEOUT));
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
+ */
+ public void init(IWorkbench workbench) {
+ // TODO Auto-generated method stub
+ }
+
+ /**
+ * Creates a button with the given label and sets the default
+ * configuration data.
+ */
+ private Combo createComboBox( Composite parent, String label, String[] items, String selection )
+ {
+ ControlFactory.createLabel( parent, label );
+ Combo combo = ControlFactory.createSelectCombo( parent, items, selection );
+ combo.setLayoutData( new GridData() );
+ return combo;
+ }
+ /**
+ * Creates a button with the given label and sets the default
+ * configuration data.
+ */
+ private Button createCheckButton( Composite parent, String label )
+ {
+ Button button = new Button( parent, SWT.CHECK | SWT.LEFT );
+ button.setText( label );
+ // FieldEditor GridData
+ GridData data = new GridData();
+ button.setLayoutData( data );
+ return button;
+ }
+
+ private Control addTextField(Composite composite, String label, String key, int textLimit, int indentation, boolean isNumber) {
+
+ Label labelControl = new Label(composite, SWT.NONE);
+ labelControl.setText(label);
+ GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+ gd.horizontalIndent = indentation;
+ labelControl.setLayoutData(gd);
+
+ Text textControl = new Text(composite, SWT.BORDER | SWT.SINGLE);
+ gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
+ gd.widthHint = convertWidthInCharsToPixels(textLimit + 1);
+ textControl.setLayoutData(gd);
+ textControl.setTextLimit(textLimit);
+
+ return textControl;
+ }
+
+ /*
+ * @see IPreferencePage#performOk()
+ */
+ public boolean performOk() {
+
+ String timeOut = fTextControl.getText();
+ try {
+ // Check the string number
+ Integer.parseInt(timeOut);
+ } catch (NumberFormatException ex){
+ timeOut = TIMEOUT_VALUE;
+ }
+
+ fOverlayStore.setValue(SourceIndexer.CDT_INDEXER_TIMEOUT, timeOut);
+ fOverlayStore.propagate();
+
+// Store IProblem Marker value in CCorePlugin Preferences
+ Preferences prefs = CCorePlugin.getDefault().getPluginPreferences();
+
+ prefs.setValue(SourceIndexer.CDT_INDEXER_TIMEOUT,timeOut);
+ CCorePlugin.getDefault().savePluginPreferences();
+
+ return true;
+ }
+
+ /**
+ * @param store
+ */
+ public static void initDefaults(IPreferenceStore store) {
+ store.setDefault(CSearchPage.EXTERNALMATCH_ENABLED, true);
+ store.setDefault(CSearchPage.EXTERNALMATCH_VISIBLE, 1);
+ store.setDefault(SourceIndexer.CDT_INDEXER_TIMEOUT,TIMEOUT_VALUE);
+ }
+
+ /*
+ * @see PreferencePage#performDefaults()
+ */
+ protected void performDefaults() {
+ fOverlayStore.loadDefaults();
+ initialize();
+ super.performDefaults();
+ }
+
+}
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/PreferencesMessages.properties b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/PreferencesMessages.properties
index 5b815634f95..cee7ba617b7 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/PreferencesMessages.properties
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/PreferencesMessages.properties
@@ -168,6 +168,7 @@ CEditorHoverConfigurationBlock.showAffordance= &Show affordance in hover on how
#Search Preferences
CSearchPreferences.ExternalSearchLinks.ExternalSearchLinksGroup=External Search Links
CSearchPreferences.ExternalSearchLinks.EnableMarkerLinkType=Enable Marker Link Type
+CSearchPreferences.ExternalSearchLinks.EnableMessage=Enable external search markers
CSearchPreferences.ExternalSearchLinks.Visible=Visible
CSearchPreferences.ExternalSearchLinks.Invisible=Invisible
CSearchPreferences.IndexerTimeout.IndexerTimeoutGroup=Indexer Timeout
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/WorkInProgressPreferencePage.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/WorkInProgressPreferencePage.java
index 30de0f2742d..30d9074db3a 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/WorkInProgressPreferencePage.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/WorkInProgressPreferencePage.java
@@ -43,17 +43,9 @@ public class WorkInProgressPreferencePage extends PreferencePage
implements
IWorkbenchPreferencePage {
- private Combo fExternLinks;
- private Button fExternEnabled;
- private Button fIProblemMarkers;
private Button fBackgroundTypeCacheEnabled;
-
-
protected OverlayPreferenceStore fOverlayStore;
- private Text fTextControl;
-
- private static final String TIMEOUT_VALUE = "20000"; //$NON-NLS-1$
-
+
public WorkInProgressPreferencePage(){
setPreferenceStore(CUIPlugin.getDefault().getPreferenceStore());
fOverlayStore = createOverlayStore();
@@ -89,45 +81,6 @@ public class WorkInProgressPreferencePage extends PreferencePage
layout.horizontalSpacing= convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
result.setLayout(layout);
- Group group= new Group(result, SWT.NONE);
- group.setLayout(new GridLayout());
- group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- group.setText("External Search Links"); //$NON-NLS-1$
-
- fExternEnabled = createCheckButton(group, "Enable external search markers"); //$NON-NLS-1$
- fExternEnabled.addSelectionListener(new SelectionListener() {
- public void widgetDefaultSelected(SelectionEvent e) {
- }
- public void widgetSelected(SelectionEvent e) {
- Button button = (Button) e.widget;
- boolean externLinkEnabled = false;
- fExternLinks.setEnabled(false);
- if (button.getSelection()){
- fExternLinks.setEnabled(true);
- externLinkEnabled = true;
- }
-
- fOverlayStore.setValue(CSearchPage.EXTERNALMATCH_ENABLED, externLinkEnabled);
- }
- });
-
- fExternLinks = createComboBox(group,"External Marker Link Type",new String[]{"Visible","Invisible"},"Visible"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- fExternLinks.addSelectionListener(new SelectionListener() {
- public void widgetDefaultSelected(SelectionEvent e) {
- }
- public void widgetSelected(SelectionEvent e) {
- Combo combo = (Combo) e.widget;
- fOverlayStore.setValue(CSearchPage.EXTERNALMATCH_VISIBLE, combo.getSelectionIndex());
- }
- });
-
- Group indexerTimeoutGroup= new Group(result, SWT.NONE);
- indexerTimeoutGroup.setLayout(new GridLayout());
- indexerTimeoutGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- indexerTimeoutGroup.setText("Indexer Timeout"); //$NON-NLS-1$
-
- fTextControl = (Text) addTextField( indexerTimeoutGroup, "Time out (ms)","TimeOut",6,0,true); //$NON-NLS-1$ //$NON-NLS-2$
-
Group backgroundTypeCacheGroup= new Group(result, SWT.NONE);
backgroundTypeCacheGroup.setLayout(new GridLayout());
backgroundTypeCacheGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
@@ -155,14 +108,6 @@ public class WorkInProgressPreferencePage extends PreferencePage
}
private void initialize(){
- boolean extEnabled = fOverlayStore.getBoolean(CSearchPage.EXTERNALMATCH_ENABLED);
- fExternEnabled.setSelection(extEnabled);
-
- fExternLinks.select(fOverlayStore.getInt(CSearchPage.EXTERNALMATCH_VISIBLE));
- fExternLinks.setEnabled(extEnabled);
-
- fTextControl.setText(fOverlayStore.getString(SourceIndexer.CDT_INDEXER_TIMEOUT));
-
fBackgroundTypeCacheEnabled.setSelection(fOverlayStore.getBoolean(AllTypesCache.ENABLE_BACKGROUND_TYPE_CACHE));
}
@@ -220,25 +165,12 @@ public class WorkInProgressPreferencePage extends PreferencePage
*/
public boolean performOk() {
- String timeOut = fTextControl.getText();
- try {
- // Check the string number
- Integer.parseInt(timeOut);
- } catch (NumberFormatException ex){
- timeOut = TIMEOUT_VALUE;
- }
-
- fOverlayStore.setValue(SourceIndexer.CDT_INDEXER_TIMEOUT, timeOut);
-
fOverlayStore.propagate();
// Store IProblem Marker value in CCorePlugin Preferences
Preferences prefs = CCorePlugin.getDefault().getPluginPreferences();
- prefs.setValue(SourceIndexer.CDT_INDEXER_TIMEOUT,timeOut);
-
prefs.setValue(AllTypesCache.ENABLE_BACKGROUND_TYPE_CACHE, fOverlayStore.getString(AllTypesCache.ENABLE_BACKGROUND_TYPE_CACHE));
-
CCorePlugin.getDefault().savePluginPreferences();
return true;
@@ -248,9 +180,6 @@ public class WorkInProgressPreferencePage extends PreferencePage
* @param store
*/
public static void initDefaults(IPreferenceStore store) {
- store.setDefault(CSearchPage.EXTERNALMATCH_ENABLED, false);
- store.setDefault(CSearchPage.EXTERNALMATCH_VISIBLE, 0);
- store.setDefault(SourceIndexer.CDT_INDEXER_TIMEOUT,TIMEOUT_VALUE);
store.setDefault(AllTypesCache.ENABLE_BACKGROUND_TYPE_CACHE, false);
}
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CUIPreferenceInitializer.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CUIPreferenceInitializer.java
index c4999f8296c..2e96f656afb 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CUIPreferenceInitializer.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CUIPreferenceInitializer.java
@@ -14,6 +14,7 @@ import org.eclipse.cdt.internal.ui.cview.CView;
import org.eclipse.cdt.internal.ui.preferences.BuildConsolePreferencePage;
import org.eclipse.cdt.internal.ui.preferences.CEditorPreferencePage;
import org.eclipse.cdt.internal.ui.preferences.CPluginPreferencePage;
+import org.eclipse.cdt.internal.ui.preferences.CSearchPreferencePage;
import org.eclipse.cdt.internal.ui.preferences.WorkInProgressPreferencePage;
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
import org.eclipse.jface.preference.IPreferenceStore;
@@ -40,6 +41,7 @@ public class CUIPreferenceInitializer extends AbstractPreferenceInitializer {
CPluginPreferencePage.initDefaults(store);
BuildConsolePreferencePage.initDefaults(store);
WorkInProgressPreferencePage.initDefaults(store);
+ CSearchPreferencePage.initDefaults(store);
CView.initDefaults(store);
CEditorPreferencePage.initDefaults(store);
}

Back to the top