/*******************************************************************************
 * 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 v2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.emf.emfatic.ui.views;

import org.eclipse.osgi.util.NLS;

public final class TypeHierarchyMessages extends NLS {

	private static final String BUNDLE_NAME= "org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyMessages";//$NON-NLS-1$

	private TypeHierarchyMessages() {
		// Do not instantiate
	}

	public static String EnableMemberFilterAction_label;
	public static String EnableMemberFilterAction_tooltip;
	public static String EnableMemberFilterAction_description;
	public static String HistoryDropDownAction_clearhistory_label;
	public static String ToggleOrientationAction_horizontal_label;
	public static String ToggleOrientationAction_horizontal_tooltip;
	public static String ToggleOrientationAction_horizontal_description;
	public static String ToggleOrientationAction_vertical_label;
	public static String ToggleOrientationAction_vertical_tooltip;
	public static String ToggleOrientationAction_vertical_description;
	public static String ToggleOrientationAction_automatic_label;
	public static String ToggleOrientationAction_automatic_tooltip;
	public static String ToggleOrientationAction_automatic_description;
	public static String ToggleOrientationAction_single_label;
	public static String ToggleOrientationAction_single_tooltip;
	public static String ToggleOrientationAction_single_description;
	public static String FocusOnSelectionAction_label;
	public static String FocusOnSelectionAction_tooltip;
	public static String FocusOnSelectionAction_description;
	public static String FocusOnTypeAction_label;
	public static String FocusOnTypeAction_tooltip;
	public static String FocusOnTypeAction_description;
	public static String FocusOnTypeAction_dialog_title;
	public static String FocusOnTypeAction_dialog_message;
	public static String HistoryDropDownAction_tooltip;
	public static String HistoryAction_description;
	public static String HistoryAction_tooltip;
	public static String HistoryListDialog_title;
	public static String HistoryListDialog_label;
	public static String HistoryListDialog_remove_button;
	public static String HistoryListAction_label;
	public static String ShowInheritedMembersAction_label;
	public static String ShowInheritedMembersAction_tooltip;
	public static String ShowInheritedMembersAction_description;
	public static String ShowQualifiedTypeNamesAction_label;
	public static String ShowQualifiedTypeNamesAction_tooltip;
	public static String ShowQualifiedTypeNamesAction_description;
	public static String SortByDefiningTypeAction_label;
	public static String SortByDefiningTypeAction_tooltip;
	public static String SortByDefiningTypeAction_description;
	public static String SubTypeHierarchyViewer_title;
	public static String SubTypeHierarchyViewer_filtered_title;
	public static String SuperTypeHierarchyViewer_title;
	public static String SuperTypeHierarchyViewer_filtered_title;
	public static String TraditionalHierarchyViewer_title;
	public static String TraditionalHierarchyViewer_filtered_title;
	public static String TypeHierarchyViewPart_error_title;
	public static String TypeHierarchyViewPart_error_message;
	public static String TypeHierarchyViewPart_empty;
	public static String TypeHierarchyViewPart_nodecl;
	public static String TypeHierarchyViewPart_exception_title;
	public static String TypeHierarchyViewPart_exception_message;
	public static String TypeHierarchyViewPart_title;
	public static String TypeHierarchyViewPart_tooltip;
	public static String TypeHierarchyViewPart_ws_title;
	public static String TypeHierarchyViewPart_ws_tooltip;
	public static String TypeHierarchyViewPart_restoreinput;
	public static String TypeHierarchyViewPart_layout_submenu;
	public static String ToggleViewAction_subtypes_label;
	public static String ToggleViewAction_subtypes_tooltip;
	public static String ToggleViewAction_subtypes_description;
	public static String ToggleViewAction_supertypes_label;
	public static String ToggleViewAction_supertypes_tooltip;
	public static String ToggleViewAction_supertypes_description;
	public static String ToggleViewAction_vajhierarchy_label;
	public static String ToggleViewAction_vajhierarchy_tooltip;
	public static String ToggleViewAction_vajhierarchy_description;
	public static String HierarchyInformationControl_methodhierarchy_label;
	public static String HierarchyInformationControl_hierarchy_label;
	public static String HierarchyInformationControl_toggle_traditionalhierarchy_label;
	public static String HierarchyInformationControl_toggle_superhierarchy_label;

	static {
		NLS.initializeMessages(BUNDLE_NAME, TypeHierarchyMessages.class);
	}
}
