blob: 6f8c6bc235be2bf26d3bf5cad476b86ca35f2a1c [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2006 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.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_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;
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_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$
}
}
private static boolean getDebugOption(String option) {
return "true".equalsIgnoreCase(Platform.getDebugOption(PlatformUI.PLUGIN_ID + option)); //$NON-NLS-1$
}
}