<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
 * <copyright>
 *
 * Copyright (c) 2006,2010 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 - Initial API and implementation
 *   E.D.Willink - Bug 289761
 *
 * </copyright>
 *
 * $Id: plugin.xml,v 1.2 2011/05/31 15:02:07 asanchez Exp $
 */
-->
<?eclipse version="3.0"?>
<plugin
>
   <extension point="org.eclipse.ui.newWizards">
      <category id="org.eclipse.ocl.examples.category"
            name="%OCL_category"
            parentCategory="org.eclipse.ui.Examples"/>
      <wizard id="org.eclipse.ocl.examples.interpreter"
            category="org.eclipse.ui.Examples/org.eclipse.ocl.examples.category"
            class="org.eclipse.emf.common.ui.wizard.ExampleInstallerWizard"
            project="true"
            name="%OCL_Interpreter_name"
            icon="$nl$/icons/elcl16/oclconsole_co.gif">
         <description>%OCL_Interpreter_description</description>
      </wizard>
     <wizard id="org.eclipse.ocl.examples.completeocltutorial"           
            category="org.eclipse.ui.Examples/org.eclipse.ocl.examples.category"
            class="org.eclipse.emf.common.ui.wizard.ExampleInstallerWizard"
            project="true"
            name="%CompleteOCL_Tutorial_name"
            icon="$nl$/icons/OCLModelFile.gif">
         <description>%CompleteOCL_Tutorial_description</description>
      </wizard>
     <wizard id="org.eclipse.ocl.examples.oclinecoretutorial"           
            category="org.eclipse.ui.Examples/org.eclipse.ocl.examples.category"
            class="org.eclipse.emf.common.ui.wizard.ExampleInstallerWizard"
            project="true"
            name="%OCLinEcore_Tutorial_name"
            icon="$nl$/icons/OCLModelFile.gif">
         <description>%OCLinEcore_Tutorial_description</description>
      </wizard>
     <wizard id="org.eclipse.ocl.examples.royalandloyal"           
            category="org.eclipse.ui.Examples/org.eclipse.ocl.examples.category"
            class="org.eclipse.emf.common.ui.wizard.ExampleInstallerWizard"
            project="true"
            name="%Royal_and_Loyal_name"
            icon="$nl$/icons/OCLModelFile.gif">
         <description>%Royal_and_Loyal_description</description>
      </wizard>
      <wizard id="org.eclipse.ocl.examples.empty"           
            category="org.eclipse.ui.Examples/org.eclipse.ocl.examples.category"
            class="org.eclipse.emf.common.ui.wizard.ExampleInstallerWizard"
            project="true"
            name="%EmptyOCL_name"
            icon="$nl$/icons/OCLModelFile.gif">
         <description>%EmptyOCL_description</description>
      </wizard>
   </extension>
   <extension point="org.eclipse.emf.common.ui.examples">
      <example id="org.eclipse.ocl.examples.project.CompleteOCL"
            wizardID="org.eclipse.ocl.examples.completeocltutorial"
            pageImage="$nl$/icons/OCLModelFile.gif">
         <projectDescriptor name="org.eclipse.ocl.examples.project.completeocltutorial"
               contentURI="zips/completeocltutorial.zip"
               description="%CompleteOCL_Tutorial_description"/>
         <fileToOpen location="org.eclipse.ocl.examples.project.completeocltutorial/model/ExtraEcoreValidation.ocl"
               editorID="org.eclipse.ocl.examples.xtext.completeocl.CompleteOCL"/>
      </example>
      <example id="org.eclipse.ocl.examples.project.Empty"
            wizardID="org.eclipse.ocl.examples.empty"
            pageImage="$nl$/icons/OCLModelFile.gif">
         <projectDescriptor name="org.eclipse.ocl.examples.project.empty"
               contentURI="zips/empty.zip"
               description="%EmptyOCL_description"/>
      </example>
      <example id="org.eclipse.ocl.examples.project.Interpreter"
            wizardID="org.eclipse.ocl.examples.interpreter"
            pageImage="$nl$/icons/elcl16/oclconsole_co.gif">
         <projectDescriptor name="org.eclipse.ocl.examples.project.interpreter"
               contentURI="zips/interpreter.zip"
               description="%OCL_Interpreter_description"/>
         <projectDescriptor name="org.eclipse.emf.examples.library"
               contentURI="zips/library.zip"
               description="%_UI_LibraryModelProject_desc"/>
         <projectDescriptor name="org.eclipse.emf.examples.library.edit"
               contentURI="zips/libraryEdit.zip"
               description="%_UI_LibraryEditProject_desc"/>
         <projectDescriptor name="org.eclipse.emf.examples.library.editor"
               contentURI="zips/libraryEditor.zip"
               description="%_UI_LibraryEditorProjector_desc"/>
      </example>
      <example id="org.eclipse.ocl.examples.project.OCLinEcore"
            wizardID="org.eclipse.ocl.examples.oclinecoretutorial"
            pageImage="$nl$/icons/OCLModelFile.gif">
         <projectDescriptor name="org.eclipse.ocl.examples.project.oclinecoretutorial"
               contentURI="zips/oclinecoretutorial.zip"
               description="%OCLinEcore_Tutorial_description"/>
         <fileToOpen location="org.eclipse.ocl.examples.project.oclinecoretutorial/model/Tutorial.ecore"
               editorID="org.eclipse.ocl.examples.xtext.oclinecore.OCLinEcore"/>
      </example>
      <example id="org.eclipse.ocl.examples.project.RoyalAndLoyal"
            wizardID="org.eclipse.ocl.examples.royalandloyal"
            pageImage="$nl$/icons/OCLModelFile.gif">
         <projectDescriptor name="org.eclipse.ocl.examples.project.royalandloyal"
               contentURI="zips/royalandloyal.zip"
               description="%Royal_and_Loyal_description"/>
         <fileToOpen location="org.eclipse.ocl.examples.project.royalandloyal/oclsrc/RoyalAndLoyal/RoyalAndLoyal.ocl"
               editorID="org.eclipse.ocl.examples.xtext.completeocl.CompleteOCL"/>
      </example>
   </extension>
</plugin>
