| /******************************************************************************* |
| * Copyright (c) 2000, 2010 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.gef; |
| |
| import com.ibm.icu.text.DecimalFormat; |
| import com.ibm.icu.text.NumberFormat; |
| |
| import org.eclipse.swt.widgets.Text; |
| |
| /** |
| * This is an internal class used for debugging |
| * |
| * @deprecated in 3.1 This class will be removed in future releases. |
| */ |
| public final class GEF { |
| |
| static final String TAB = " ";//$NON-NLS-1$ |
| |
| static Text text; |
| static int msgCount; |
| static int tab; |
| static NumberFormat formatter = new DecimalFormat(); |
| |
| /** |
| * @deprecated |
| */ |
| public static boolean DebugTools = false; |
| /** |
| * @deprecated |
| */ |
| public static boolean DebugEvents = false; |
| /** |
| * @deprecated |
| */ |
| public static boolean DebugEditParts = false; |
| /** |
| * @deprecated |
| */ |
| public static boolean DebugPainting = false; |
| /** |
| * @deprecated |
| */ |
| public static boolean DebugFeedback = false; |
| /** |
| * @deprecated |
| */ |
| public static boolean GlobalDebug = false; |
| /** |
| * @deprecated |
| */ |
| public static boolean DebugToolStates = false; |
| /** |
| * @deprecated |
| */ |
| public static boolean DebugDND = false; |
| |
| /** |
| * Clears the trace console if active |
| * |
| * @since 1.0 |
| */ |
| public static void clearConsole() { |
| if (text == null) |
| return; |
| text.setText("");//$NON-NLS-1$ |
| } |
| |
| /** |
| * Sets a text control to be used as a console. |
| * |
| * @since 1.0 |
| * @param textBox |
| * the text control for streaming |
| */ |
| public static void setConsole(Text textBox) { |
| msgCount = 0; |
| formatter.setMinimumIntegerDigits(2); |
| formatter.setMaximumFractionDigits(0); |
| text = textBox; |
| } |
| |
| /** |
| * decrements the tracing indentation |
| * |
| * @since 2.0 |
| */ |
| public static void debugPop() { |
| tab--; |
| } |
| |
| /** |
| * Prints the given string to a trace window and increments indentation. |
| * |
| * @since 2.0 |
| * @param heading |
| * the message describing the indented text to follow |
| */ |
| public static void debugPush(String heading) { |
| debug(heading); |
| tab++; |
| } |
| |
| /** |
| * Prints the given message to a trace window if available. |
| * |
| * @since 1.0 |
| * @param message |
| * a debug message |
| */ |
| public static void debug(String message) { |
| String lineNumber = formatter.format(new Long(msgCount++)); |
| msgCount %= 100; |
| String indent = "";//$NON-NLS-1$ |
| for (int i = 0; i < tab; i++) |
| indent += TAB; |
| if (text != null) |
| text.append('\n' + lineNumber + '\t' + indent + message); |
| } |
| |
| } |