X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/EditorConfigurationBlock.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/EditorConfigurationBlock.java new file mode 100644 index 0000000..53482fd --- /dev/null +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/EditorConfigurationBlock.java @@ -0,0 +1,144 @@ +/******************************************************************************* + * Copyright (c) 2000, 2003 IBM Corporation 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 Corporation - initial API and implementation + *******************************************************************************/ + +package net.sourceforge.phpdt.internal.ui.preferences; + +import java.util.HashMap; +import java.util.Map; + +import net.sourceforge.phpdt.core.IJavaProject; +import net.sourceforge.phpdt.internal.ui.wizards.IStatusChangeListener; +import net.sourceforge.phpdt.ui.PreferenceConstants; + +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.swt.SWT; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Group; + +/** + * Options configuration block for editor related settings. + * + * @since 3.0 + */ +public class EditorConfigurationBlock extends OptionsConfigurationBlock { + + /** Preference keys for the preferences in this block */ + private static final String PREF_EDITOR_SAVE_ON_BLUR = PreferenceConstants.EDITOR_SAVE_ON_BLUR; + + private static final String PREF_EDITOR_P_RTRIM_ON_SAVE = PreferenceConstants.EDITOR_P_RTRIM_ON_SAVE; + + /** + * Creates a new editor configuration block. + * + * @param context + * The status change listener + * @param project + * The Java project + */ + public EditorConfigurationBlock(final IStatusChangeListener context, + final IJavaProject project) { + super(context, project, getAllKeys()); + } + + /* + * @see net.sourceforge.phpdt.internal.ui.preferences.OptionsConfigurationBlock#createContents(org.eclipse.swt.widgets.Composite) + */ + protected Control createContents(final Composite parent) { + + Composite composite = new Composite(parent, SWT.NONE); + GridLayout layout = new GridLayout(); + layout.numColumns = 1; + composite.setLayout(layout); + + final String[] trueFalse = new String[] { IPreferenceStore.TRUE, + IPreferenceStore.FALSE }; + + Group user = new Group(composite, SWT.NONE); + user.setText(PreferencesMessages + .getString("EditorPreferencePage.file.title")); //$NON-NLS-1$ + user.setLayout(new GridLayout()); + user.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + String label = PreferencesMessages + .getString("EditorPreferencePage.save_on_blur"); //$NON-NLS-1$ + addCheckBox(user, label, PREF_EDITOR_SAVE_ON_BLUR, trueFalse, 0); + + label = PreferencesMessages + .getString("EditorPreferencePage.p_rtrim_on_save"); //$NON-NLS-1$ + addCheckBox(user, label, PREF_EDITOR_P_RTRIM_ON_SAVE, trueFalse, 0); + + return composite; + } + + private static String[] getAllKeys() { + return new String[] { PREF_EDITOR_SAVE_ON_BLUR, + PREF_EDITOR_P_RTRIM_ON_SAVE }; + } + + /* + * @see net.sourceforge.phpdt.internal.ui.preferences.OptionsConfigurationBlock#getDefaultOptions() + */ + protected Map getDefaultOptions() { + + final String[] keys = fAllKeys; + final Map options = new HashMap(); + final IPreferenceStore store = PreferenceConstants.getPreferenceStore(); + + for (int index = 0; index < keys.length; index++) + options.put(keys[index], store.getDefaultString(keys[index])); + + return options; + } + + /* + * @see net.sourceforge.phpdt.internal.ui.preferences.OptionsConfigurationBlock#getFullBuildDialogStrings(boolean) + */ + protected final String[] getFullBuildDialogStrings(final boolean workspace) { + return null; + } + + /* + * @see net.sourceforge.phpdt.internal.ui.preferences.OptionsConfigurationBlock#getOptions(boolean) + */ + protected Map getOptions(final boolean inherit) { + + final String[] keys = fAllKeys; + final Map options = new HashMap(); + final IPreferenceStore store = PreferenceConstants.getPreferenceStore(); + + for (int index = 0; index < keys.length; index++) + options.put(keys[index], store.getString(keys[index])); + + return options; + } + + /* + * @see net.sourceforge.phpdt.internal.ui.preferences.OptionsConfigurationBlock#setOptions(java.util.Map) + */ + protected void setOptions(final Map options) { + + final String[] keys = fAllKeys; + final IPreferenceStore store = PreferenceConstants.getPreferenceStore(); + + for (int index = 0; index < keys.length; index++) + store.setValue(keys[index], (String) fWorkingValues + .get(keys[index])); + } + + /* + * @see net.sourceforge.phpdt.internal.ui.preferences.OptionsConfigurationBlock#validateSettings(java.lang.String,java.lang.String) + */ + protected void validateSettings(final String key, final String value) { + } +}