/** * Copyright (c) 2005-2013 by Appcelerator, Inc. All Rights Reserved. * Licensed under the terms of the Eclipse Public License (EPL). * Please see the license.txt included with this distribution for details. * Any modifications to this file must keep this entire header intact. */ package org.python.pydev.overview_ruler; import org.eclipse.jface.preference.BooleanFieldEditor; import org.eclipse.jface.preference.ColorFieldEditor; import org.eclipse.jface.preference.FieldEditorPreferencePage; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.IntegerFieldEditor; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; import org.python.pydev.shared_ui.SharedUiPlugin; /** * @author fabioz * */ public class MinimapOverviewRulerPreferencesPage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { public static final String USE_MINIMAP = "USE_MINIMAP"; public static final String SHOW_VERTICAL_SCROLLBAR = "SHOW_VERTICAL_SCROLLBAR"; public static final String SHOW_HORIZONTAL_SCROLLBAR = "SHOW_HORIZONTAL_SCROLLBAR"; public static final String SHOW_MINIMAP_CONTENTS = "SHOW_MINIMAP_CONTENTS"; public static final String MINIMAP_WIDTH = "MINIMAP_WIDTH"; public static final String MINIMAP_SELECTION_COLOR = "MINIMAP_SELECTION_COLOR"; public MinimapOverviewRulerPreferencesPage() { super(GRID); setPreferenceStore(SharedUiPlugin.getDefault().getPreferenceStore()); } @Override public void init(IWorkbench workbench) { } @Override protected void createFieldEditors() { Composite p = getFieldEditorParent(); BooleanFieldEditor useMinimap = new BooleanFieldEditor(USE_MINIMAP, "Show minimap? (applied on editor restart)", p); addField(useMinimap); BooleanFieldEditor showScrollbar = new BooleanFieldEditor(SHOW_VERTICAL_SCROLLBAR, "Show vertical scrollbar? (applied on editor restart)", p); addField(showScrollbar); BooleanFieldEditor showHorizontalScrollbar = new BooleanFieldEditor(SHOW_HORIZONTAL_SCROLLBAR, "Show horizontal scrollbar? (applied on editor restart)", p); addField(showHorizontalScrollbar); BooleanFieldEditor showContents = new BooleanFieldEditor(SHOW_MINIMAP_CONTENTS, "Show overview items in overview ruler? (applied on text change)", p); addField(showContents); IntegerFieldEditor minimapWidth = new IntegerFieldEditor(MINIMAP_WIDTH, "Minimap Width: (applied on editor resize)", p); addField(minimapWidth); ColorFieldEditor selectionColor = new ColorFieldEditor(MINIMAP_SELECTION_COLOR, "Selection color", p); addField(selectionColor); } public static boolean useMinimap() { return SharedUiPlugin.getDefault().getPreferenceStore().getBoolean(USE_MINIMAP); } public static boolean getShowMinimapContents() { return SharedUiPlugin.getDefault().getPreferenceStore().getBoolean(SHOW_MINIMAP_CONTENTS); } public static boolean getShowVerticalScrollbar() { return SharedUiPlugin.getDefault().getPreferenceStore().getBoolean(SHOW_VERTICAL_SCROLLBAR); } public static boolean getShowHorizontalScrollbar() { return SharedUiPlugin.getDefault().getPreferenceStore().getBoolean(SHOW_HORIZONTAL_SCROLLBAR); } private final static int MIN = 1; public static int getMinimapWidth() { IPreferenceStore preferenceStore = SharedUiPlugin.getDefault().getPreferenceStore(); int i = preferenceStore.getInt(MINIMAP_WIDTH); if (i < MIN) { i = MIN; } return i; } }