# ==============================================================================
#*+------------------------------------------------------------------------+
#*| Copyright (c) 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                    |
#*+------------------------------------------------------------------------+
# ==============================================================================
#
# START TRANSLATABLE
#

Plugin.name = GMF Examples Plug-in
Plugin.providerName = Eclipse Modeling Project

newWizardCategories.examples.runtimePDEPlugin = GMF (Graphical Modeling Framework) Plug-ins

newWizards.examples.logic.name = Logic
newWizards.examples.logic.desc = Create plug-ins that collectively contribute an editor to edit a logic diagram using the Modeling Platform Diagram Layer
newWizards.examples.logic.projectPage.title = Modeling Logic Diagram Plug-in Project Creation
newWizards.examples.logic.projectPage.desc = Create the three plug-in projects of the logic example
newWizards.examples.logic.projectName=org.eclipse.gmf.examples.runtime.diagram.logic

newWizards.examples.geoshapes.name = Geoshape
newWizards.examples.geoshapes.desc = Create a plug-in that contributes an editor to edit a diagram containing geometric shapes using the Modeling Platform Diagram Layer
newWizards.examples.geoshapes.projectPage.title = Modeling Geoshapes Diagram Plug-in Project Creation
newWizards.examples.geoshapes.projectPage.desc = Create the plug-in project of the Geoshapes example
newWizards.examples.geoshapes.projectName=org.eclipse.gmf.examples.runtime.diagram.geoshapes

newWizards.examples.layoutservice.name = Square Layout Provider
newWizards.examples.layoutservice.desc = Create a plug-in that contributes a layout provider that positions the shapes of a diagram in a square geometry to demonstrate how to construct a custom layout.
newWizards.examples.layoutservice.projectPage.title = Square Layout Provider Diagram Plug-in
newWizards.examples.layoutservice.projectPage.desc = Create a plug-in that contributes a layout provider that positions the shapes of a diagram in a square geometry to demonstrate how to construct a custom layout
newWizards.examples.layoutservice.projectName=org.eclipse.gmf.examples.runtime.diagram.layout

newWizards.examples.decorationservice.name = Review Decorator Provider
newWizards.examples.decorationservice.desc = Create a plug-in that contributes a decorator provider that demonstrates how to adorn a note with an icon depending on the contents of the text (Passed vs. Failed)
newWizards.examples.decorationservice.projectPage.title = Review Decorator Provider Diagram Plug-in
newWizards.examples.decorationservice.projectPage.desc = Create a plug-in that contributes a decorator provider that demonstrates how to adorn a note with an icon depending on the contents of the text (Passed vs. Failed)
newWizards.examples.decorationservice.projectName=org.eclipse.gmf.examples.runtime.diagram.decorator

newWizards.examples.serviceexample.name = Service
newWizards.examples.serviceexample.description = Creates the Service Example Plugin which demonstrates the use of the Service.
newWizards.examples.serviceexample.projectPage.title = Service Example Plug-in Project Creation
newWizards.examples.serviceexample.projectPage.desc = Creates the Service Example plug-in project
newWizards.examples.serviceexample.projectName=org.eclipse.gmf.examples.runtime.common.service

newWizards.examples.clipboard.name = Clipboard Support
newWizards.examples.clipboard.description = Creates the Clipboard Support Example Plugin
newWizards.examples.clipboard.projectPage.title = Clipboard Support Example Plug-in Project Creation
newWizards.examples.clipboard.projectPage.desc = Creates the Clipboard Support Example plug-in project
newWizards.examples.clipboard.projectName=org.eclipse.gmf.examples.runtime.emf.clipboard


#
# END TRANSLATABLE
#

# Convention used by the GMF build procedure to pack example zips
# zip@<example_plugin_id> = <filename>.zip
#
zip@org.eclipse.gmf.examples.runtime.diagram.logic = examples/logic.zip
zip@org.eclipse.gmf.examples.runtime.diagram.logic.model = examples/logicSemantic.zip
zip@org.eclipse.gmf.examples.runtime.diagram.logic.model.edit = examples/logicSemanticEdit.zip
zip@org.eclipse.gmf.examples.runtime.diagram.logic.model.editor = examples/logicSemanticEditor.zip
zip@org.eclipse.gmf.examples.runtime.diagram.geoshapes = examples/geoshapes.zip
zip@org.eclipse.gmf.examples.runtime.diagram.layout = examples/servicesLayout.zip
zip@org.eclipse.gmf.examples.runtime.diagram.decorator = examples/servicesDecorator.zip
zip@org.eclipse.gmf.examples.runtime.common.service = examples/serviceExample.zip
zip@org.eclipse.gmf.examples.runtime.emf.clipboard = examples/emf-clipboard-copypaste.zip

