aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/preferences/EditorsPage.java
diff options
context:
space:
mode:
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.java182
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;
- }
- }
-}