###############################################################################
# Copyright (c) 2007 Innoopract Informationssysteme GmbH.
# 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:
#    Innoopract Informationssysteme GmbH - initial API and implementation
################################################################################

bundleName = RAP Templates Plug-in
bundleProvider = Eclipse.org

helloRAP.name = RAP Hello World
helloRAP.description = \
<p>This wizard creates a minimal RAP application that consists of an application window with a title.</p>\
<p><b>Extensions Used</b></p>\
<li>org.eclipse.rap.ui.entrypoint</li>\
<li>org.eclipse.ui.perspectives</li>\
<p>This code will need the <b>RAP target</b> to compile.</p>

viewRAP.name = RAP Application with a View
viewRAP.description = \
<p>This wizard creates a RAP application that consists of an application window with a single view.</p>\
<p><b>Extensions Used</b></p>\
<li>org.eclipse.rap.ui.entrypoint</li>\
<li>org.eclipse.ui.perspectives</li>\
<li>org.eclipse.ui.views</li>\
<p>This code will need the <b>RAP target</b> to compile.</p>

mailRAP.name = RAP Mail Template
mailRAP.description = \
<p>This wizard creates a RAP application that shows how to:</p>\
<li>add top-level menu and toolbar with actions</li>\
<li>create views that can't be closed and multiple instances of the same view</li>\
<li>create perspectives with placeholders for new views</li>\
<li>open modal dialogs</li>\
<p><b>Extensions Used</b></p>\
<li>org.eclipse.rap.ui.entrypoint</li>\
<li>org.eclipse.ui.perspectives</li>\
<li>org.eclipse.ui.views</li>\
<li>org.eclipse.ui.commands</li>\
<p>This code will need the <b>RAP target</b> to compile.</p>