diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/preferences/EditorsPage.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/preferences/EditorsPage.java | 182 |
1 files changed, 0 insertions, 182 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/preferences/EditorsPage.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/preferences/EditorsPage.java deleted file mode 100644 index d33b49f6d..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/preferences/EditorsPage.java +++ /dev/null @@ -1,182 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source Project - * - * Licensed under the Eclipse Public License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.eclipse.org/org/documents/epl-v10.php - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.ide.eclipse.adt.internal.preferences; - -import static com.android.ide.common.xml.XmlAttributeSortOrder.ALPHABETICAL; -import static com.android.ide.common.xml.XmlAttributeSortOrder.LOGICAL; -import static com.android.ide.common.xml.XmlAttributeSortOrder.NO_SORTING; - -import com.android.ide.eclipse.adt.AdtPlugin; -import com.android.sdkuilib.internal.widgets.ResolutionChooserDialog; - -import org.eclipse.jface.preference.BooleanFieldEditor; -import org.eclipse.jface.preference.FieldEditorPreferencePage; -import org.eclipse.jface.preference.RadioGroupFieldEditor; -import org.eclipse.jface.preference.StringButtonFieldEditor; -import org.eclipse.jface.window.Window; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPreferencePage; - -/** - * Preference page for the editors. - */ -public class EditorsPage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { - private BooleanFieldEditor mIndentEditor; - private BooleanFieldEditor mRemoveEmptyEditor; - private BooleanFieldEditor mOneAttrPerLineEditor; - private BooleanFieldEditor mSpaceBeforeCloseEditor; - private BooleanFieldEditor mFormatGuiXmlEditor; - - /** - * Constructs a new Android editors preference page - */ - public EditorsPage() { - super(GRID); - setPreferenceStore(AdtPlugin.getDefault().getPreferenceStore()); - } - - @Override - public void init(IWorkbench workbench) { - // pass - } - - @Override - protected void createFieldEditors() { - Composite parent = getFieldEditorParent(); - - addField(new DensityFieldEditor(AdtPrefs.PREFS_MONITOR_DENSITY, - "Monitor Density", parent)); - - final MyBooleanFieldEditor editor = new MyBooleanFieldEditor( - AdtPrefs.PREFS_USE_CUSTOM_XML_FORMATTER, - "Format XML files using the standard Android XML style rather than the \n" + - "configured Eclipse XML style (additional options below)", - parent); - addField(editor); - - // Add a listener which fires whenever the checkbox for the custom formatter - // is toggled -- this will be used to enable/disable the formatting related options - // on the page. To do this we subclass the BooleanFieldEditor to make the protected - // method getChangeControl public (so we can access it and add a listener on it). - // This is pretty ugly but I found several posts in the Eclipse forums asking - // how to do it and they were all unanswered. (No, calling setPropertyChangeListener - // does not work.) - Button checkbox = editor.getChangeControl(parent); - checkbox.addSelectionListener(new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent e) { - updateCustomFormattingOptions(editor.getBooleanValue()); - } - }); - - mIndentEditor = new BooleanFieldEditor(AdtPrefs.PREFS_USE_ECLIPSE_INDENT, - "Use Eclipse setting for indentation width and space or tab character " - + "indentation \n(Android default is 4 space characters)", - parent); - addField(mIndentEditor); - - mRemoveEmptyEditor = new BooleanFieldEditor(AdtPrefs.PREVS_REMOVE_EMPTY_LINES, - "Always remove empty lines between elements", - parent); - addField(mRemoveEmptyEditor); - - mOneAttrPerLineEditor = new BooleanFieldEditor(AdtPrefs.PREFS_ONE_ATTR_PER_LINE, - "Allow single attributes to appear on the same line as their elements", - parent); - addField(mOneAttrPerLineEditor); - - mSpaceBeforeCloseEditor = new BooleanFieldEditor(AdtPrefs.PREFS_SPACE_BEFORE_CLOSE, - "Add a space before the > or /> in opening tags", - parent); - addField(mSpaceBeforeCloseEditor); - - addField(new RadioGroupFieldEditor(AdtPrefs.PREFS_ATTRIBUTE_SORT, - "Sort Attributes", 1, - new String[][] { - { "&Logical (id, style, layout attributes, remaining attributes alphabetically)", - LOGICAL.key }, - { "&Alphabetical", ALPHABETICAL.key }, - { "&None", NO_SORTING.key }, - }, - parent, true)); - - mFormatGuiXmlEditor = new BooleanFieldEditor(AdtPrefs.PREFS_FORMAT_GUI_XML, - "Automatically format the XML edited by the visual layout editor", - parent); - addField(mFormatGuiXmlEditor); - - addField(new BooleanFieldEditor(AdtPrefs.PREFS_FORMAT_ON_SAVE, - "Format on Save", - parent)); - - addField(new BooleanFieldEditor(AdtPrefs.PREFS_SHARED_LAYOUT_EDITOR, - "Use a single layout editor for all configuration variations of a layout", - parent)); - - boolean enabled = getPreferenceStore().getBoolean(AdtPrefs.PREFS_USE_CUSTOM_XML_FORMATTER); - updateCustomFormattingOptions(enabled); - } - - private void updateCustomFormattingOptions(boolean enabled) { - Composite parent = getFieldEditorParent(); - mIndentEditor.setEnabled(enabled, parent); - mRemoveEmptyEditor.setEnabled(enabled, parent); - mOneAttrPerLineEditor.setEnabled(enabled, parent); - mSpaceBeforeCloseEditor.setEnabled(enabled, parent); - mFormatGuiXmlEditor.setEnabled(enabled, parent); - } - - /** - * Overridden solely so that I can get access to the checkbox button to listen to - * state changes - */ - private class MyBooleanFieldEditor extends BooleanFieldEditor { - public MyBooleanFieldEditor(String name, String label, Composite parent) { - super(name, label, parent); - } - @Override - protected Button getChangeControl(Composite parent) { - return super.getChangeControl(parent); - } - } - - /** - * Custom {@link StringButtonFieldEditor} to call out to {@link ResolutionChooserDialog} - * when the button is called. - */ - private static class DensityFieldEditor extends StringButtonFieldEditor { - - public DensityFieldEditor(String name, String labelText, Composite parent) { - super(name, labelText, parent); - setChangeButtonText("Compute..."); - } - - @Override - protected String changePressed() { - ResolutionChooserDialog dialog = new ResolutionChooserDialog(getShell()); - if (dialog.open() == Window.OK) { - return Integer.toString(dialog.getDensity()); - } - - return null; - } - } -} |