<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
  Copyright (c) 2014 Obeo
  This program and the accompanying materials
  are made available under the terms of the Eclipse Public License 2.0
  which accompanies this distribution, and is available at
  https://www.eclipse.org/legal/epl-2.0/

  SPDX-License-Identifier: EPL-2.0

  Contributors:
       Obeo - Initial API and implementation
-->
<plugin>
  <extension
      point="org.eclipse.ui.newWizards">
    <category
        id="org.eclipse.sirius.samples.category"
        name="Sirius Examples"
        parentCategory="org.eclipse.ui.Examples">
    </category>

    <wizard category="org.eclipse.ui.Examples/org.eclipse.sirius.samples.category"
            class="org.eclipse.emf.common.ui.wizard.ExampleInstallerWizard"
            icon="icons/Family.gif"
            id="org.eclipse.sirius.samples.family.NewBasicFamilyDomainModelWizard"
            name="Basic Family Metamodel Definition"
            project="true">
      <description>A simplified DSL to model families.</description>
    </wizard>

    <wizard category="org.eclipse.ui.Examples/org.eclipse.sirius.samples.category"
            class="org.eclipse.emf.common.ui.wizard.ExampleInstallerWizard"
            icon="icons/Family.gif"
            id="org.eclipse.sirius.samples.family.NewBasicFamilyExampleModel"
            name="Basic Family Sample Model"
            project="true">
      <description>A sample model representing a family (requires the Basic Family Metamodel Definition to be installed).</description>

    </wizard>

<!--
    <wizard category="org.eclipse.ui.Examples/org.eclipse.sirius.samples.category"
            class="org.eclipse.emf.common.ui.wizard.ExampleInstallerWizard"
            icon="icons/Family.gif"
            id="org.eclipse.sirius.samples.family.NewBasicFamilyVSM"
            name="Basic Family Sample Modeler Definition"
            project="true">
      <description>A sample graphical modeler to view an edit family models (requires the Basic Family Metamodel Definition to be installed).</description>
    </wizard>
-->    
    <wizard category="org.eclipse.ui.Examples/org.eclipse.sirius.samples.category"
            class="org.eclipse.emf.common.ui.wizard.ExampleInstallerWizard"
            icon="icons/Family.gif"
            id="org.eclipse.sirius.samples.family.NewBasicFamilyStarterTutorialSolution"
            name="Basic Family Modeler Definition - Starter Tutorial Solution"
            project="true">
      <description>A sample graphical modeler to view an edit family models. Corresponds to the solution of the Sirius Starter Tutorial.</description>
    </wizard>

    <wizard category="org.eclipse.ui.Examples/org.eclipse.sirius.samples.category"
            class="org.eclipse.emf.common.ui.wizard.ExampleInstallerWizard"
            icon="icons/Family.gif"
            id="org.eclipse.sirius.samples.family.NewBasicFamilyAdvancedTutorialSolution"
            name="Basic Family Modeler Definition - Advanced Tutorial Solution"
            project="true">
      <description>A sample graphical modeler to view an edit family models. Corresponds to the solution of the Sirius Advanced Tutorial.</description>
    </wizard>

    <wizard category="org.eclipse.ui.Examples/org.eclipse.sirius.samples.category"
            class="org.eclipse.emf.common.ui.wizard.ExampleInstallerWizard"
            icon="icons/Family.gif"
            id="org.eclipse.sirius.samples.family.NewBasicFamilyCompartmentsTutorialSolution"
            name="Basic Family Modeler Definition - Compartments Tutorial Solution"
            project="true">
      <description>A sample graphical modeler to view an edit family models. Corresponds to the solution of the Sirius Compartments Tutorial.</description>
    </wizard>

  </extension>

  <extension point="org.eclipse.emf.common.ui.examples">

	<!-- Brings down the 3 plug-ins implementing the Basic Family Metamodel -->
  	<example wizardID="org.eclipse.sirius.samples.family.NewBasicFamilyDomainModelWizard">

      <projectDescriptor name="org.eclipse.sirius.sample.basicfamily"
                         contentURI="samples/org.eclipse.sirius.sample.basicfamily/"
                         description="The BasicFamily domain model."/>
      <projectDescriptor name="org.eclipse.sirius.sample.basicfamily.edit"
                         contentURI="samples/org.eclipse.sirius.sample.basicfamily.edit/"
                         description="The editing support for the BasicFamily domain model."/>
      <projectDescriptor name="org.eclipse.sirius.sample.basicfamily.editor"
                         contentURI="samples/org.eclipse.sirius.sample.basicfamily.editor/"
                         description="The default EMF hierarchical editor for the BasicFamily domain model."/> 

  	</example>
  	
	<!-- Brings down a Modeling project with a sample family model -->
  	<example wizardID="org.eclipse.sirius.samples.family.NewBasicFamilyExampleModel">
      <projectDescriptor name="basicfamily.sample"
                         contentURI="samples/basicfamily.sample/"
                         description="A sample model representing a family."/>
  	</example>

	<!-- Brings down VSP with the basic family modeler definition described in the tutorial
  	<example wizardID="org.eclipse.sirius.samples.family.NewBasicFamilyVSM">
      <projectDescriptor name="org.eclipse.sirius.sample.basicfamily.design"
                         contentURI="samples/org.eclipse.sirius.sample.basicfamily.design/"
                         description="A sample graphical modeler to view and edit family models."/>
  	</example>
  	 -->

    <!-- Brings down VSP with the starter tutorial solution -->
    <example wizardID="org.eclipse.sirius.samples.family.NewBasicFamilyStarterTutorialSolution">
      <projectDescriptor name="org.eclipse.sirius.sample.basicfamily.starter.design"
                         contentURI="solutions/org.eclipse.sirius.sample.basicfamily.starter.design/"
                         description="Solution of the Basic Family Starter Tutorial"/>
    </example>

    <!-- Brings down VSP with the advanced tutorial solution -->
    <example wizardID="org.eclipse.sirius.samples.family.NewBasicFamilyAdvancedTutorialSolution">
      <projectDescriptor name="org.eclipse.sirius.sample.basicfamily.advanced.design"
                         contentURI="solutions/org.eclipse.sirius.sample.basicfamily.advanced.design/"
                         description="Solution of the Basic Family Advanced Tutorial"/>
    </example>

    <!-- Brings down VSP with the compartments tutorial solution -->
    <example wizardID="org.eclipse.sirius.samples.family.NewBasicFamilyCompartmentsTutorialSolution">
      <projectDescriptor name="org.eclipse.sirius.sample.basicfamily.compartments.design"
                         contentURI="solutions/org.eclipse.sirius.sample.basicfamily.compartments.design/"
                         description="Solution of the Basic Family Compartments Tutorial"/>
    </example>

  </extension>

</plugin>
