###############################################################################
# Copyright (c) 2000, 2005 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.SWTPaintExample.name = SWT Views Example Plugin
category.SWTExamples.name = SWT Examples
view.PaintExample.name = Paint

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.PaintExample.name = Paint
launchitem.PaintExample.description = \
	This example demonstrates the use of SWT graphics operations in the form of a \
	rudimentary bitmap painting program.  The Airbrush Tool implementation also \
	demonstrates a mechanism for managing timed GUI operations in the background \
	that are triggered by user input.\n\n\
	Select a tool with which to draw in the drawing area.  There are a number of tools \
	to choose from on the toolbar.  To change the color selection, click on a color in the \
	palette below the drawing area: left-click for the foreground color, right-click for the \
	background color.\n\n\
	Uses SWT's GC and FontDialog, and JFace's InputDialog and action set support.
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.
	
view.ControlsExample.name = SWT Controls
view.CustomControlsExample.name = SWT Custom Controls

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.ControlsExample.name = Controls
launchitem.ControlsExample.description = \
	This example is a simple demonstration of native SWT controls.\n\n\
	It consists of a tab folder where each tab allows the user \
	to interact with a different SWT control. \
	The user can change styles and settings and view how this affects the control.
	
launchitem.CustomControlsExample.name = Custom Controls
launchitem.CustomControlsExample.description = \
	This example is a simple demonstration of custom SWT controls.\n\n\
	It consists of a tab folder where each tab allows the user \
	to interact with a different SWT custom control. \
	The user can change styles and settings and view how this affects the control.
	
view.BrowserExample.name = Web Browser

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.BrowserExample.name = Web Browser
launchitem.BrowserExample.description = \
	This example demonstrates how to integrate a Web Browser with the SWT Browser widget.\n\n\
	It consists of a composite containing a Browser widget to render HTML. \
	Additional widgets allow the user to perform typical browser actions (for example, navigate to a particular URL, go back, forward, refresh and stop).
