###############################################################################
# Copyright (c) 2000, 2003 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
###############################################################################
providerName = Eclipse.org
plugin.SWTLayoutExample.name = SWT Layout Example Plugin
category.SWTExamples.name = SWT Examples
view.LayoutExample.name = SWT Layouts

launchcategory.SWTViewExamples.name = Workbench Views
launchcategory.SWTViewExamples.description = \
	A collection of Standard Widget Toolkit examples that run as Views inside the Workbench.  \
	These examples will create a new View in the current Perspective.

launchitem.LayoutExample.name = Layouts
launchitem.LayoutExample.description = \
	This example is a simple demonstration of common SWT layouts. \n\n\
	It consists of a tab folder where each tab allows the \
	user to interact with a different SWT layout.\
	The user can insert widgets into a layout and set the values of the layout data \
	using a property sheet.  When the user has a suitable arrangement, code can be \
	generated by clicking on the Code button.
