<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
    <extension
         point="org.eclipse.ui.menus">   
     <menuContribution
              allPopups="false"
              locationURI="popup:org.eclipse.ui.popup.any">
         <separator
                  name="org.eclipse.papyrus.model2doc.dev.tools.ui.menu.separator.before"
                  visible="true">
         </separator>
         <menu
               id="org.eclipse.papyrus.model2doc.dev.tools.ui.menu"
               label="Papyrus-Model2doc Developer"
               icon="icons/Papyrus_16x16.gif"
               tooltip="Papyrus-Model2Doc Developer Menu">
               <command
                     commandId="org.eclipse.papyrus.model2doc.dev.tools.extractXMLContents"
               label="Extract Contents XML File"
               style="push">
            <visibleWhen
                  checkEnabled="true">
            </visibleWhen>
            </command>
               <command
                     commandId="org.eclipse.papyrus.model2doc.dev.tools.createPrototypeFromTemplate"
                     label="Create DocumentPrototype From DocumentTemplate"
                     style="push">
                  <visibleWhen
                        checkEnabled="false">
                     <with
                           variable="selection">
                        <and>
                           <count
                                 value="1">
                           </count>
                           <iterate
                                 ifEmpty="false">
                              <adapt
                                    type="org.eclipse.emf.ecore.EObject">
                                 <instanceof
                                       value="org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentTemplate">
                                 </instanceof>
                              </adapt>
                           </iterate>
                        </and>
                     </with>
                  </visibleWhen>
               </command>
               <command
                     commandId="org.eclipse.papyrus.model2doc.dev.tools.extractFullODTContents"
                     style="push">
                  <visibleWhen
                        checkEnabled="true">
                  </visibleWhen>
               </command>
            <separator
                  name="org.eclipse.papyrus.model2doc.dev.tools.ui.menu.separator.after"
                  visible="true">
         	</separator>
         </menu>
      </menuContribution> 
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <command
            description="This command allows to extract the file Contents.xml from an odt file"
            id="org.eclipse.papyrus.model2doc.dev.tools.extractXMLContents"
            name="Extract Contents.xml file">
      </command>
      <command
            description="This command allows to create a Document Prototype from a DocumentStructureTemplate"
            id="org.eclipse.papyrus.model2doc.dev.tools.createPrototypeFromTemplate"
            name="Create prototype">
      </command>
      <command
            description="This command allows to extract all the contents of an odt file"
            id="org.eclipse.papyrus.model2doc.dev.tools.extractFullODTContents"
            name="Extract Full ODT file contents">
      </command>
   </extension>
   <extension
         point="org.eclipse.ui.handlers">
      <handler
            class="org.eclipse.papyrus.model2doc.dev.tools.handlers.CreatePrototypeFromTemplateHandler"
            commandId="org.eclipse.papyrus.model2doc.dev.tools.createPrototypeFromTemplate">
      </handler>
      <handler
            class="org.eclipse.papyrus.model2doc.dev.tools.handlers.ExtractContentsXmlFileHandler"
            commandId="org.eclipse.papyrus.model2doc.dev.tools.extractXMLContents">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     ifEmpty="false"
                     operator="and">
                  <adapt
                        type="org.eclipse.core.resources.IFile">
                     <or>
                        <test
                              property="org.eclipse.core.resources.name"
                              value="*.odt">
                        </test>
                        <test
                              property="org.eclipse.core.resources.name"
                              value="*.ott">
                        </test>
                     </or>
                  </adapt>
               </iterate>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="org.eclipse.papyrus.model2doc.dev.tools.handlers.UnzipOdtFileHandler"
            commandId="org.eclipse.papyrus.model2doc.dev.tools.extractFullODTContents">
         <activeWhen>
            <with
                  variable="selection">
               <iterate
                     ifEmpty="false"
                     operator="and">
                  <adapt
                        type="org.eclipse.core.resources.IFile">
                     <or>
                        <test
                              property="org.eclipse.core.resources.name"
                              value="*.odt">
                        </test>
                        <test
                              property="org.eclipse.core.resources.name"
                              value="*.ott">
                        </test>
                     </or>
                  </adapt>
               </iterate>
            </with>
         </activeWhen>
      </handler>
   </extension>

</plugin>
