| /******************************************************************************* |
| * Copyright (c) 2000, 2007 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.ui.internal.misc; |
| |
| import org.eclipse.core.runtime.Platform; |
| import org.eclipse.swt.graphics.Device; |
| import org.eclipse.ui.ISourceProvider; |
| import org.eclipse.ui.PlatformUI; |
| |
| /** |
| * A common facility for parsing the <code>org.eclipse.ui/.options</code> |
| * file. |
| * |
| * @since 2.1 |
| */ |
| public class Policy { |
| public static boolean DEFAULT = false; |
| |
| public static boolean DEBUG_SWT_GRAPHICS = DEFAULT; |
| |
| public static boolean DEBUG_SWT_DEBUG = DEFAULT; |
| |
| public static boolean DEBUG_SWT_DEBUG_GLOBAL = DEFAULT; |
| |
| public static boolean DEBUG_DRAG_DROP = DEFAULT; |
| |
| /** |
| * Flag to log stale jobs |
| */ |
| public static boolean DEBUG_STALE_JOBS = DEFAULT; |
| |
| /** |
| * Whether to report all events entering through the common event framework |
| * used by the commands architecture. |
| * |
| * @see ISourceProvider |
| * @since 3.2 |
| */ |
| public static boolean DEBUG_SOURCES = DEFAULT; |
| |
| /** |
| * Whether to print information about key bindings that are successfully |
| * recognized within the system (as the keys are pressed). |
| */ |
| public static boolean DEBUG_KEY_BINDINGS = DEFAULT; |
| |
| /** |
| * Whether to print information about every key seen by the system. |
| */ |
| public static boolean DEBUG_KEY_BINDINGS_VERBOSE = DEFAULT; |
| |
| /** |
| * Whether to print extra information about error conditions dealing with |
| * cool bars in the workbench, and their disposal. |
| */ |
| public static boolean DEBUG_TOOLBAR_DISPOSAL = DEFAULT; |
| |
| /** |
| * Whether to print debugging information about the execution of commands |
| */ |
| public static boolean DEBUG_COMMANDS = DEFAULT; |
| |
| /** |
| * Whether to print debugging information about the internal state of the |
| * context support within the workbench. |
| */ |
| public static boolean DEBUG_CONTEXTS = DEFAULT; |
| |
| /** |
| * Whether to print debugging information about the performance of context |
| * computations. |
| */ |
| public static boolean DEBUG_CONTEXTS_PERFORMANCE = DEFAULT; |
| |
| /** |
| * Whether to print even more debugging information about the internal state |
| * of the context support within the workbench. |
| */ |
| public static boolean DEBUG_CONTEXTS_VERBOSE = DEFAULT; |
| |
| /** |
| * Whether to print debugging information about the internal state of the |
| * command support (in relation to handlers) within the workbench. |
| */ |
| public static boolean DEBUG_HANDLERS = DEFAULT; |
| |
| /** |
| * Whether to print debugging information about the performance of handler |
| * computations. |
| */ |
| public static boolean DEBUG_HANDLERS_PERFORMANCE = DEFAULT; |
| |
| /** |
| * Whether to print out verbose information about changing handlers in the |
| * workbench. |
| */ |
| public static boolean DEBUG_HANDLERS_VERBOSE = DEFAULT; |
| |
| /** |
| * Whether to print debugging information about unexpected occurrences and |
| * important state changes in the operation history. |
| */ |
| public static boolean DEBUG_OPERATIONS = DEFAULT; |
| |
| /** |
| * Whether to print out verbose information about the operation histories, |
| * including all notifications sent. |
| */ |
| public static boolean DEBUG_OPERATIONS_VERBOSE = DEFAULT; |
| |
| |
| /** |
| * Whether or not to show system jobs at all times. |
| */ |
| public static boolean DEBUG_SHOW_ALL_JOBS = DEFAULT; |
| |
| /** |
| * Whether or not to resolve images as they are declared. |
| * |
| * @since 3.1 |
| */ |
| public static boolean DEBUG_DECLARED_IMAGES = DEFAULT; |
| |
| /** |
| * Whether or not to print contribution-related issues. |
| * |
| * @since 3.1 |
| */ |
| public static boolean DEBUG_CONTRIBUTIONS = DEFAULT; |
| |
| /** |
| * Which command identifier to print handler information for. This |
| * restricts the debugging output, so a developer can focus on one command |
| * at a time. |
| */ |
| public static String DEBUG_HANDLERS_VERBOSE_COMMAND_ID = null; |
| |
| /** |
| * Whether experimental features in the rendering of commands into menus |
| * and toolbars should be enabled. This is not guaranteed to provide a |
| * working workbench. |
| */ |
| public static boolean EXPERIMENTAL_MENU = DEFAULT; |
| |
| public static boolean DEBUG_MPE = DEFAULT; |
| |
| /** |
| * Whether or not additional working set logging will occur. |
| * |
| * @since 3.4 |
| */ |
| public static boolean DEBUG_WORKING_SETS = DEFAULT; |
| |
| static { |
| if (getDebugOption("/debug")) { //$NON-NLS-1$ |
| DEBUG_SWT_GRAPHICS = getDebugOption("/trace/graphics"); //$NON-NLS-1$ |
| DEBUG_SWT_DEBUG = getDebugOption("/debug/swtdebug"); //$NON-NLS-1$ |
| DEBUG_SWT_DEBUG_GLOBAL = getDebugOption("/debug/swtdebugglobal"); //$NON-NLS-1$ |
| DEBUG_DRAG_DROP = getDebugOption("/trace/dragDrop"); //$NON-NLS-1$ |
| DEBUG_SOURCES = getDebugOption("/trace/sources"); //$NON-NLS-1$ |
| DEBUG_KEY_BINDINGS = getDebugOption("/trace/keyBindings"); //$NON-NLS-1$ |
| DEBUG_KEY_BINDINGS_VERBOSE = getDebugOption("/trace/keyBindings.verbose"); //$NON-NLS-1$ |
| DEBUG_TOOLBAR_DISPOSAL = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.jface/trace/toolbarDisposal")); //$NON-NLS-1$ //$NON-NLS-2$ |
| DEBUG_COMMANDS = getDebugOption("/trace/commands"); //$NON-NLS-1$ |
| DEBUG_CONTEXTS = getDebugOption("/trace/contexts"); //$NON-NLS-1$ |
| DEBUG_CONTEXTS_PERFORMANCE = getDebugOption("/trace/contexts.performance"); //$NON-NLS-1$ |
| DEBUG_CONTEXTS_VERBOSE = getDebugOption("/trace/contexts.verbose"); //$NON-NLS-1$ |
| DEBUG_HANDLERS = getDebugOption("/trace/handlers"); //$NON-NLS-1$ |
| DEBUG_HANDLERS_PERFORMANCE = getDebugOption("/trace/handlers.performance"); //$NON-NLS-1$ |
| DEBUG_HANDLERS_VERBOSE = getDebugOption("/trace/handlers.verbose"); //$NON-NLS-1$ |
| DEBUG_OPERATIONS = getDebugOption("/trace/operations"); //$NON-NLS-1$ |
| DEBUG_OPERATIONS_VERBOSE = getDebugOption("/trace/operations.verbose"); //$NON-NLS-1$ |
| DEBUG_SHOW_ALL_JOBS = getDebugOption("/debug/showAllJobs"); //$NON-NLS-1$ |
| DEBUG_STALE_JOBS = getDebugOption("/debug/job.stale"); //$NON-NLS-1$ |
| DEBUG_HANDLERS_VERBOSE_COMMAND_ID = Platform |
| .getDebugOption(PlatformUI.PLUGIN_ID |
| + "/trace/handlers.verbose.commandId"); //$NON-NLS-1$ |
| if ("".equals(DEBUG_HANDLERS_VERBOSE_COMMAND_ID)) { //$NON-NLS-1$ |
| DEBUG_HANDLERS_VERBOSE_COMMAND_ID = null; |
| } |
| DEBUG_DECLARED_IMAGES = getDebugOption("/debug/declaredImages"); //$NON-NLS-1$ |
| DEBUG_CONTRIBUTIONS = getDebugOption("/debug/contributions"); //$NON-NLS-1$ |
| EXPERIMENTAL_MENU = getDebugOption("/experimental/menus"); //$NON-NLS-1$ |
| DEBUG_MPE = getDebugOption("/trace/multipageeditor"); //$NON-NLS-1$ |
| DEBUG_WORKING_SETS = getDebugOption("/debug/workingSets"); //$NON-NLS-1$ |
| |
| if(DEBUG_SWT_DEBUG_GLOBAL) |
| Device.DEBUG = true; |
| } |
| } |
| |
| private static boolean getDebugOption(String option) { |
| return "true".equalsIgnoreCase(Platform.getDebugOption(PlatformUI.PLUGIN_ID + option)); //$NON-NLS-1$ |
| } |
| } |