###############################################################################
# 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.SWTLauncherExample.name = SWT Launcher Example Plugin
category.SWTExamples.name = SWT Examples
view.LauncherExample.name = SWT Example Launcher

extension-point.launchItems.name = Launch Items

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.LauncherExample.name = Launcher
launchitem.LauncherExample.description = \
	The Example Launcher is used to launch SWT examples which can either be \
	Workbench Views, or Standalone applications.\n\n\
	Workbench Views are examples that are integrated into Eclipse.  When the Launcher \
	starts a Workbench View, it is opened in the currently active perspective.\n\n\
	Standalone applications are launched in a separate window.

error.CouldNotLoadResources = Unable to load resources
error.CouldNotFindRegisteredExtensions = Could Not Find Registered Extensions
error.IncompleteProgramLaunchItem = Incomplete XML ProgramLaunchItem definition, id = {0}
error.IncompleteViewLaunchItem = Incomplete XML ViewLaunchItem definition, id = {0}
error.IncompleteLaunchItem = Incomplete or unrecognized XML LaunchItem definition, id = {0}

launchitem.Null.description = <<no item selected>>

launchitem.Missing.name = <<unnamed>>
launchitem.Missing.description = <<no description available>>

view.launchGroup.text = Examples
view.launchButton.text = Run
view.descriptionGroup.text = Description

run.error.Invocation = A fatal error occurred while launching the program.
run.error.DoesNotImplementMethod = The class does not implement the open() method.
run.error.CouldNotFindClass = Could not find the class to run.
run.error.CouldNotInstantiateClass = Could not instantiate the class to run.
