/** * Copyright (c) 2005-2012 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.editor.hover; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; import org.python.pydev.plugin.PydevPlugin; import org.python.pydev.plugin.preferences.AbstractConfigurationBlockPreferencePage; import org.python.pydev.plugin.preferences.IPreferenceConfigurationBlock; import org.python.pydev.plugin.preferences.PydevPrefs; /** * Preferences page for showing or not hovering info. * * @author Fabio */ public class PyHoverPreferencesPage extends AbstractConfigurationBlockPreferencePage implements IWorkbenchPreferencePage { public static final String SHOW_DEBUG_VARIABLES_VALUES_ON_HOVER = "SHOW_DEBUG_VARIABLES_VALUES_ON_HOVER"; public static final boolean DEFAULT_SHOW_DEBUG_VARIABLES_VALUES_ON_HOVER = true; public static final String EDITOR_TEXT_HOVER_MODIFIERS = "EDITOR_TEXT_HOVER_MODIFIERS"; public static final String EDITOR_TEXT_HOVER_MODIFIER_MASKS = "EDITOR_TEXT_HOVER_MODIFIER_MASKS"; public static final String KEY_TEXT_HOVER_MODIFIER = "PYDEV_TEXT_HOVER_MODIFIER_"; public static final String KEY_TEXT_HOVER_MODIFIER_MASK = "PYDEV_TEXT_HOVER_MODIFIER_MASK_"; public static final String KEY_TEXT_HOVER_PRIORITY = "PYDEV_TEXT_HOVER_PRORITY_"; public static final String KEY_TEXT_HOVER_PREEMPT = "PYDEV_TEXT_HOVER_PREEMPT_"; public static final String KEY_TEXT_HOVER_ENABLE = "PYDEV_TEXT_HOVER_ENABLE_"; public static final String EDITOR_ANNOTATION_ROLL_OVER = "EDITOR_ANNOTATION_ROLL_OVER"; //$NON-NLS-1$ public static final String COMBINE_HOVER_INFO = "COMBINE_HOVER_INFO"; public static final boolean DEFAULT_COMBINE_HOVER_INFO = true; public static final String USE_HOVER_DIVIDER = "USE_HOVER_DIVIDER"; public static final boolean DEFAULT_USE_HOVER_DIVIDER = true; private PyEditorHoverConfigurationBlock config; public PyHoverPreferencesPage() { setPreferenceStore(); setDescription(); } @Override public void init(IWorkbench workbench) { // pass } /** * @return whether info from enabled Hovers should be combined. */ public static boolean getCombineHoverInfo() { return PydevPrefs.getPreferences().getBoolean(COMBINE_HOVER_INFO); } /** * @return whether the value of variables should be shown on hover while debugging. */ public static boolean getShowValuesWhileDebuggingOnHover() { return PydevPrefs.getPreferences().getBoolean(SHOW_DEBUG_VARIABLES_VALUES_ON_HOVER); } /** * @return whether to include a divider between text contributions when * combining info from multiple Hovers. */ public static boolean getUseHoverDelimiters() { return PydevPrefs.getPreferences().getBoolean(USE_HOVER_DIVIDER); } @Override protected IPreferenceConfigurationBlock createConfigurationBlock() { config = new PyEditorHoverConfigurationBlock(this); return config; } @Override protected String getHelpId() { // TODO Auto-generated method stub return null; } @Override protected void setDescription() { setDescription("Hover Preferences"); } @Override protected void setPreferenceStore() { setPreferenceStore(PydevPlugin.getDefault().getPreferenceStore()); } }