###############################################################################
# <copyright>
#
# Copyright (c) 2012, 2012 SAP AG.
# 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:
#    SAP AG - initial API, implementation and documentation
#
# </copyright>
#
###############################################################################
pluginName = Graphiti New Project Wizard (Incubation)
providerName = Eclipse Modeling Project

pluginContent.newgraphitieditorwizard.name = Plug-in with a Graphiti Editor
pluginContent.newgraphitieditorwizard.description =\
<p>This wizard creates a standard plug-in directory structure and adds\
the following:</p><li>A sample Graphiti <b>Diagram Type</b>.</li><li>A\
sample Graphiti <b>Diagram Type Provider</b>. Defines the Eclipse editor\
and its feature provider.</li><li>A sample <b>Feature Provider</b> that\
is used in the Diagram Type Provider and registers a default set of features\
for the editor.</li><li>A feature set for a generic domain object consisting\
of a create, an add and a layout feature.</li><li>A feature set for a generic\
connection consisting of a create and an add feature.</li><p><b>Extensions\
Used</b></p><li>org.eclipse.graphiti.ui.diagramTypes</li>\
<li>org.eclipse.graphiti.ui.diagramTypeProviders</li>