<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>

     <extension point="org.eclipse.ui.actionSets">
      <actionSet
         label="OSEE TM"
         visible="true"
         id="org.eclipse.osee.ote.ui.test.manager.actionSet">

           
      </actionSet>
   </extension>


<!-- this changes the marker image in the editor marker bar  -->

       
    
   <extension
         point="org.eclipse.ui.newWizards">
      <category
            name="Test Manager"
            id="org.eclipse.osee.ote.ui.test.manager">
      </category>
      <wizard
            name="Test Manager File"
            icon="images/tm.gif"
            category="org.eclipse.osee.ote.ui.test.manager"
            class="org.eclipse.osee.ote.ui.test.manager.wizards.TestManagerNewWizard"
            id="org.eclipse.osee.ote.ui.test.manager.wizards.TestManagerNewWizard">
      </wizard>
   </extension>
   <extension
         point="org.eclipse.ui.popupMenus">
         <objectContribution  adaptable="true"
            objectClass="org.eclipse.core.resources.IFile"
            nameFilter="*.java" id="org.eclipse.osee.ote.ui.menucontribution">
         <menu
               label="OTE"
               path="additions"
               id="org.eclipse.osee.ote.ui">               
            <separator
                  name="placeholder">
            </separator>
         </menu>
      </objectContribution>
      <objectContribution adaptable="true"
            objectClass="org.eclipse.core.resources.IFile"
            nameFilter="*.java"
            id="org.eclipse.osee.ote.ui.test.manager.contribution1">
         <action
               enablesFor="+"
               label="Add to Test Manager"
               icon="images/tm.gif"
               class="org.eclipse.osee.ote.ui.test.manager.actions.AddToTestManagerPopupAction"
               menubarPath="org.eclipse.osee.ote.ui/placeholder"
               id="org.eclipse.osee.ote.ui.test.manager.addtotestmanager">
         </action>
      </objectContribution>
      <viewerContribution
             targetID="#CompilationUnitEditorContext"
             id="viewConf">
          <action
                label="Add To Test Manager"
                icon="images/tm.gif"
                menubarPath="org.eclipse.osee.ote.ui.viewer/placeholder"
                id="org.eclipse.osee.ote.ui.test.manager.actions.AddToTestManagerEditorAction"
                class="org.eclipse.osee.ote.ui.test.manager.actions.AddToTestManagerEditorAction"/>
                
      </viewerContribution>
         
   </extension>
   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            category="org.eclipse.osee.framework.ui.skynet.OseePreferencePage"
            class="org.eclipse.osee.ote.ui.test.manager.preferences.TestManagerPreferencePage"
            id="org.eclipse.osee.ote.ui.test.manager.PreferencePage"
            name="Test Manager"/>
   </extension>
   <extension
         point="org.eclipse.osee.framework.ui.plugin.PropertyStoreControl">
      <PropertyStoreControl
            classname="org.eclipse.osee.ote.ui.test.manager.pages.contributions.ScriptExecutionContribution"
            viewId="org.eclipse.osee.ote.ui.test.manager">
      </PropertyStoreControl>
   </extension>
</plugin>
