/*******************************************************************************
 * 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 - Initial API and implementation
 *******************************************************************************/
package org.eclipse.debug.internal.ui.views.variables;

import org.eclipse.osgi.util.NLS;

public class VariablesViewMessages extends NLS {
	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.ui.views.variables.VariablesViewMessages";//$NON-NLS-1$

	public static String DetailPaneMaxLengthDialog_0;

	public static String DetailPaneMaxLengthDialog_1;

	public static String DetailPaneMaxLengthDialog_2;

	public static String DetailPaneMaxLengthDialog_3;

	public static String LogicalStructureCache_0;

	public static String VariablesView__Copy_8;
	public static String VariablesView__Paste_14;
	public static String VariablesView_Co_ntent_Assist_3;
	public static String VariablesView_Cu_t_11;
	public static String VariablesView_Error_1;
	public static String VariablesView_Select__All_5;
	public static String VariablesView_Unable_to_configure_variable_details_area__2;
	public static String VariablesView_56;

	public static String ToggleObjectBrowsersAction_1;
	public static String VariablesView_41;
	public static String ExpressionView_4;

	public static String AvailableLogicalStructuresAction_0;
	public static String AvailableLogicalStructuresAction_1;

	static {
		// load message values from bundle file
		NLS.initializeMessages(BUNDLE_NAME, VariablesViewMessages.class);
	}

	public static String VariablesView_40;

	public static String ToggleShowColumnsAction_0;

	public static String ToggleShowColumnsAction_1;
}
