<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>
   <extension
         name="HexEditorCommands"
         point="org.eclipse.ui.commands">
      <command
            id="com.wudsn.ide.hex.HexEditorOpenCommand"
            name="%com.wudsn.ide.hex.HexEditorOpenCommand.name">
      </command>
      <command
            id="com.wudsn.ide.hex.HexEditorCopyToClipboardCommand"
            name="%com.wudsn.ide.hex.HexEditorCopyToClipboardCommand.name">
      </command>
      <command
            id="com.wudsn.ide.hex.HexEditorCopyToClipboardAsHexValuesCommand"
            name="%com.wudsn.ide.hex.HexEditorCopyToClipboardAsHexValuesCommand.name">
      </command>
      <command
            id="com.wudsn.ide.hex.HexEditorCopyToClipboardAsDecimalValuesCommand"
            name="%com.wudsn.ide.hex.HexEditorCopyToClipboardAsDecimalValuesCommand.name">
      </command>
      <command
            id="com.wudsn.ide.hex.HexEditorCopyToClipboardAsDecimalValuesBlockCommand"
            name="%com.wudsn.ide.hex.HexEditorCopyToClipboardAsDecimalValuesBlockCommand.name">
      </command>
      <command
            id="com.wudsn.ide.hex.HexEditorCopyToClipboardAsASCIIStringCommand"
            name="%com.wudsn.ide.hex.HexEditorCopyToClipboardAsASCIIStringCommand.name">
      </command>
      <command
            id="com.wudsn.ide.hex.HexEditorPasteFromClipboardCommand"
            name="%com.wudsn.ide.hex.HexEditorPasteFromClipboardCommand.name">
      </command>
      <command
            id="com.wudsn.ide.hex.HexEditorSaveSelectionAsCommand"
            name="%com.wudsn.ide.hex.HexEditorSaveSelectionAsCommand.name">
      </command>
   </extension>
   <extension
         name="HexEditorHandlers"
         point="org.eclipse.ui.handlers">
      <handler
            class="com.wudsn.ide.hex.HexEditorOpenCommandHandler"
            commandId="com.wudsn.ide.hex.HexEditorOpenCommand">
      </handler>
      <handler
            class="com.wudsn.ide.hex.HexEditorClipboardCommandHandler"
            commandId="com.wudsn.ide.hex.HexEditorCopyToClipboardCommand">
         <activeWhen>
            <with
                  variable="activeMenuSelection">
               <instanceof
                     value="com.wudsn.ide.hex.HexEditorSelection">
               </instanceof>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="com.wudsn.ide.hex.HexEditorClipboardCommandHandler"
            commandId="com.wudsn.ide.hex.HexEditorCopyToClipboardAsHexValuesCommand">
         <activeWhen>
            <with
                  variable="activeMenuSelection">
               <instanceof
                     value="com.wudsn.ide.hex.HexEditorSelection">
               </instanceof>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="com.wudsn.ide.hex.HexEditorClipboardCommandHandler"
            commandId="com.wudsn.ide.hex.HexEditorCopyToClipboardAsDecimalValuesCommand">
         <activeWhen>
            <with
                  variable="activeMenuSelection">
               <instanceof
                     value="com.wudsn.ide.hex.HexEditorSelection">
               </instanceof>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="com.wudsn.ide.hex.HexEditorClipboardCommandHandler"
            commandId="com.wudsn.ide.hex.HexEditorCopyToClipboardAsDecimalValuesBlockCommand">
         <activeWhen>
            <with
                  variable="activeMenuSelection">
               <instanceof
                     value="com.wudsn.ide.hex.HexEditorSelection">
               </instanceof>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="com.wudsn.ide.hex.HexEditorClipboardCommandHandler"
            commandId="com.wudsn.ide.hex.HexEditorCopyToClipboardAsASCIIStringCommand">
         <activeWhen>
            <with
                  variable="activeMenuSelection">
               <instanceof
                     value="com.wudsn.ide.hex.HexEditorSelection">
               </instanceof>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="com.wudsn.ide.hex.HexEditorClipboardCommandHandler"
            commandId="com.wudsn.ide.hex.HexEditorPasteFromClipboardCommand">
      </handler>
      <handler
            class="com.wudsn.ide.hex.HexEditorSaveSelectionAsCommandHandler"
            commandId="com.wudsn.ide.hex.HexEditorSaveSelectionAsCommand">
         <activeWhen>
            <with
                  variable="activeMenuSelection">
               <instanceof
                     value="com.wudsn.ide.hex.HexEditorSelection">
               </instanceof>
            </with>
         </activeWhen>
      </handler>
   </extension>
   <extension
         name="HexEditorMenus"
         point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="popup:org.eclipse.ui.popup.any?before=group.openWith">
         <command
               commandId="com.wudsn.ide.hex.HexEditorOpenCommand"
               id="com.wudsn.ide.hex.HexEditorOpenCommand"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <or>
                  <with
                        variable="activeMenuSelection">
                     <iterate
                           ifEmpty="false"
                           operator="or">
                        <instanceof
                              value="org.eclipse.core.resources.IFile">
                        </instanceof>
                     </iterate>
                  </with>
                  <with
                        variable="activeMenuEditorInput">
                     <iterate
                           ifEmpty="false"
                           operator="or">
                        <instanceof
                              value="org.eclipse.ui.IFileEditorInput">
                        </instanceof>
                     </iterate>
                  </with>
               </or>
            </visibleWhen>
         </command>
      </menuContribution>
      <menuContribution
            locationURI="popup:#HexEditorContext">
         <command
               commandId="com.wudsn.ide.hex.HexEditorCopyToClipboardCommand"
               disabledIcon="icons/copy-disabled.png"
               icon="icons/copy-enabled.png"
               id="com.wudsn.ide.hex.HexEditorCopyToClipboardCommand"
               style="push">
         </command>
         <menu
               label="%com.wudsn.ide.hex.HexEditorCopyToClipboardAsMenu.name">
            <command
                  commandId="com.wudsn.ide.hex.HexEditorCopyToClipboardAsHexValuesCommand"
                  id="com.wudsn.ide.hex.HexEditorCopyToClipboardAsHexValuesCommand"
                  style="push">
            </command>
            <command
                  commandId="com.wudsn.ide.hex.HexEditorCopyToClipboardAsDecimalValuesCommand"
                  id="com.wudsn.ide.hex.HexEditorCopyToClipboardAsDecimalValuesCommand"
                  style="push">
            </command>
            <command
                  commandId="com.wudsn.ide.hex.HexEditorCopyToClipboardAsDecimalValuesBlockCommand"
                  id="com.wudsn.ide.hex.HexEditorCopyToClipboardAsDecimalValuesBlockCommand"
                  style="push">
            </command>
            <command
                  commandId="com.wudsn.ide.hex.HexEditorCopyToClipboardAsASCIIStringCommand"
                  id="com.wudsn.ide.hex.HexEditorCopyToClipboardAsASCIIStringCommand"
                  style="push">
            </command>
         </menu>
         <command
               commandId="com.wudsn.ide.hex.HexEditorPasteFromClipboardCommand"
               icon="icons/paste-enabled.png"
               id="%com.wudsn.ide.hex.HexEditorPasteFromClipboardCommand.name"
               label="%com.wudsn.ide.hex.HexEditorPasteFromClipboardCommand.name"
               style="push">
         </command>
         <command
               commandId="com.wudsn.ide.hex.HexEditorSaveSelectionAsCommand"
               disabledIcon="icons/save-as-disabled.png"
               icon="icons/save-as-enabled.png"
               label="%com.wudsn.ide.hex.HexEditorSaveSelectionAsCommand.name"
               style="push">
         </command>
      </menuContribution>
   </extension>

   <extension
         name="HexEditor"
         point="org.eclipse.ui.editors">
      <editor
            class="com.wudsn.ide.hex.HexEditor"
            default="true"
            icon="icons/hex-editor-16x16.png"
            id="com.wudsn.ide.hex.HexEditor"
            name="%com.wudsn.ide.hex.HexEditor.name">
      </editor>
   </extension>

  </plugin>
