<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>

<!--

   Copyright (c) 2009-2010 Thales Corporate Services S.A.S.
   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:
       Thales Corporate Services S.A.S - initial API and implementation

-->

<plugin>
  
  <!-- ================================================================================= -->
  <!-- popupMenus                                                                        -->
  <!-- ================================================================================= -->
  
  <extension
    point="org.eclipse.ui.popupMenus"
  >
  
    <objectContribution
      id="org.eclipse.egf.producer.ui.activity.contribution"
      objectClass="org.eclipse.egf.model.fcore.Activity"
    >
    
      <action
        class="org.eclipse.egf.producer.ui.internal.actions.RunActivityAction"
        icon="$nl$/icons/full/elcl16/runactivity.gif"
        id="org.eclipse.egf.model.producer.ui.activity.contribution.action.run.activity"
        label="%RunActivityAction_label"
        enablesFor="1"
        menubarPath="additions"
        tooltip="%RunActivityAction_tooltip"
      />
    
    </objectContribution>
  
  </extension>
  
  <extension
    point="org.eclipse.ui.popupMenus"
  >
  
    <objectContribution
      id="org.eclipse.egf.producer.ui.activity.contribution"
      objectClass="org.eclipse.core.resources.IFile"
      nameFilter="*.fcore"
    >
        
      <action
        class="org.eclipse.egf.producer.ui.internal.actions.RunActivityAction"
        icon="$nl$/icons/full/elcl16/runactivity.gif"
        id="org.eclipse.egf.producer.ui.activity.contribution.action.run.activity"
        label="%RunActivityAction_label"
        enablesFor="1"
        menubarPath="additions"
        tooltip="%RunActivityAction_tooltip"
      />
    
    </objectContribution>
  
  </extension>      
  
  <!-- ================================================================================= -->
  <!-- decorators                                                                        -->
  <!-- ================================================================================= -->  
  
  <extension
    point="org.eclipse.ui.decorators"
  >
    <decorator
      class="org.eclipse.egf.producer.ui.decorators.MandatoryLabelDecorator"
      id="org.eclipse.egf.producer.ui.decorators.mandatorylabeldecorator"
      label="%activityContractMandatory_Label"
      lightweight="true"
      location="TOP_LEFT"
      state="true"
    >
      <enablement>
        <objectClass
          name="org.eclipse.egf.model.fcore.Contract"
        />
      </enablement>
    </decorator>
  </extension>    
  
  <!-- ================================================================================= -->
  <!-- ActionSets                                                                        -->
  <!-- ================================================================================= -->  
  
  <extension
    point="org.eclipse.ui.actionSets"
  >
  
    <actionSet
      label="%EGFRunActionSet_label"
      description="%EGFRunActionSet_description"
      visible="true"
      id="org.eclipse.egf.producer.ui.run.actionSet"
    >
                  
      <action
        id="org.eclipse.egf.producer.ui.run.actionSet.global.activity.action"  
        toolbarPath="org.eclipse.debug.ui.launchActionSet/debug"         
        class="org.eclipse.egf.producer.ui.internal.actions.GlobalRunActivityAction"
        definitionId="org.eclipse.egf.producer.ui.run.actionSet.global.activity.action.definition"
        icon="$nl$/icons/full/elcl16/runactivity.gif"
        label="%RunActivityAction_label"
        menubarPath="org.eclipse.ui.run/runGroup"
        tooltip="%RunActivityAction_tooltip"
      />      
      
    </actionSet>
    
  </extension>
      
  <!-- ================================================================================= -->
  <!-- Command Run                                                                       -->
  <!-- ================================================================================= -->
  
  <extension
    point="org.eclipse.ui.commands"
  >  
    
    <command
      name="%ActionDefinition_runActivity_name"
      description="%ActionDefinition_runActivity_description"
      categoryId="org.eclipse.debug.ui.category.run"
      id="org.eclipse.egf.producer.ui.run.actionSet.global.activity.action.definition"
    />
              
  </extension>  
  
</plugin>
