<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>
   <extension
         name="CommonCommands"
         point="org.eclipse.ui.commands">
      <command
            id="com.wudsn.ide.base.editor.CommonOpenFolderCommand"
            name="%com.wudsn.ide.base.editor.CommonOpenFolderCommand.name">
      </command>
      </extension>
   <extension
         name="CommonHandlers"
         point="org.eclipse.ui.handlers">
      <handler
            class="com.wudsn.ide.base.editor.CommonOpenFolderCommandHandler"
            commandId="com.wudsn.ide.base.editor.CommonOpenFolderCommand">
      </handler>
   </extension>
   <extension
         point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester
            class="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersCommand$EnabledPropertyTester"
            id="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersCommand.EnabledPropertyTester"
            namespace="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersCommand"
            properties="isEnabled"
            type="org.eclipse.jface.viewers.ISelection">
      </propertyTester>
   </extension>
   <extension
         point="org.eclipse.core.expressions.definitions">
      <definition
            id="com.wudsn.ide.base.text.TextEditorActive">
         <with
               variable="activeEditor">
            <instanceof
                  value="org.eclipse.ui.texteditor.ITextEditor">
            </instanceof>
         </with>
      </definition>

   </extension>
   <extension
         name="TextEditorCommands"
         point="org.eclipse.ui.commands">
      <command
            categoryId="org.eclipse.ui.category.edit"
            id="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToDecimalCommand"
            name="%com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToDecimalCommand.name">
      </command>
      <command
            categoryId="org.eclipse.ui.category.edit"
            id="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToHexaDecimalCommand"
            name="%com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToHexaDecimalCommand.name">
      </command>
      <command
            categoryId="org.eclipse.ui.category.edit"
            id="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToBinaryCommand"
            name="%com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToBinaryCommand.name">
      </command>
      <command
            categoryId="org.eclipse.ui.category.edit"
            id="com.wudsn.ide.base.editor.text.TextEditorSortLinesCaseSensitiveCommand"
            name="%com.wudsn.ide.base.editor.text.TextEditorSortLinesCaseSensitiveCommand.name">
      </command>
      <command
            categoryId="org.eclipse.ui.category.edit"
            id="com.wudsn.ide.base.editor.text.TextEditorSortLinesCaseSensitiveWithoutDuplicatesCommand"
            name="%com.wudsn.ide.base.editor.text.TextEditorSortLinesCaseSensitiveWithoutDuplicatesCommand.name">
      </command>
      <command
            categoryId="org.eclipse.ui.category.edit"
            id="com.wudsn.ide.base.editor.text.TextEditorSortLinesCaseInsensitiveCommand"
            name="%com.wudsn.ide.base.editor.text.TextEditorSortLinesCaseInsensitiveCommand.name">
      </command>
      <command
            id="com.wudsn.ide.base.editor.text.TextEditorSortLinesCaseInsensitiveWithoutDuplicatesCommand"
            name="%com.wudsn.ide.base.editor.text.TextEditorSortLinesCaseInsensitiveWithoutDuplicatesCommand.name">
      </command>
      <command
            categoryId="org.eclipse.ui.category.edit"
            id="com.wudsn.ide.base.editor.text.TextEditorSortLinesNumericCommand"
            name="%com.wudsn.ide.base.editor.text.TextEditorSortLinesNumericCommand.name">
      </command>
      <command
            categoryId="org.eclipse.ui.category.edit"
            id="com.wudsn.ide.base.editor.text.TextEditorSortLinesNumericWithoutDuplicatesCommand"
            name="%com.wudsn.ide.base.editor.text.TextEditorSortLinesNumericWithoutDuplicatesCommand.name">
      </command>
      <command
            categoryId="org.eclipse.ui.category.edit"
            id="com.wudsn.ide.base.editor.text.TextEditorReverseLinesCommand"
            name="%com.wudsn.ide.base.editor.text.TextEditorReverseLinesCommand.name">
      </command>
   </extension>
   <extension
         name="TextEditorHandlers"
         point="org.eclipse.ui.handlers">
      <handler
            class="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersCommand$Handler"
            commandId="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToDecimalCommand">
         <activeWhen>
            <and>
               <with
                     variable="selection">
                  <test
                        forcePluginActivation="false"
                        property="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersCommand.isEnabled"
                        value="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToDecimalCommand">
                  </test>
               </with>
            </and>
         </activeWhen>
      </handler>
      <handler
            class="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersCommand$Handler"
            commandId="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToHexaDecimalCommand">
         <activeWhen>
            <with
                  variable="selection">
               <test
                     forcePluginActivation="false"
                     property="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersCommand.isEnabled"
                     value="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToHexaDecimalCommand">
               </test>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersCommand$Handler"
            commandId="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToBinaryCommand">
         <activeWhen>
            <with
                  variable="selection">
               <test
                     forcePluginActivation="false"
                     property="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersCommand.isEnabled"
                     value="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToBinaryCommand">
               </test>
            </with>
         </activeWhen>
      </handler>
      <handler
            class="com.wudsn.ide.base.editor.text.TextEditorSortLinesCaseSensitiveCommandHandler"
            commandId="com.wudsn.ide.base.editor.text.TextEditorSortLinesCaseSensitiveCommand">
         <activeWhen>
            <reference
                  definitionId="com.wudsn.ide.base.text.TextEditorActive">
            </reference>
         </activeWhen>
      </handler>
      <handler
            class="com.wudsn.ide.base.editor.text.TextEditorSortLinesCaseSensitiveCommandHandler"
            commandId="com.wudsn.ide.base.editor.text.TextEditorSortLinesCaseSensitiveWithoutDuplicatesCommand">
         <activeWhen>
            <reference
                  definitionId="com.wudsn.ide.base.text.TextEditorActive">
            </reference>
         </activeWhen>
      </handler>
      <handler
            class="com.wudsn.ide.base.editor.text.TextEditorSortLinesCaseInsensitiveCommandHandler"
            commandId="com.wudsn.ide.base.editor.text.TextEditorSortLinesCaseInsensitiveCommand">
         <activeWhen>
            <reference
                  definitionId="com.wudsn.ide.base.text.TextEditorActive">
            </reference>
         </activeWhen>
      </handler>
      <handler
            class="com.wudsn.ide.base.editor.text.TextEditorSortLinesCaseInsensitiveCommandHandler"
            commandId="com.wudsn.ide.base.editor.text.TextEditorSortLinesCaseInsensitiveWithoutDuplicatesCommand">
         <activeWhen>
            <reference
                  definitionId="com.wudsn.ide.base.text.TextEditorActive">
            </reference>
         </activeWhen>
      </handler>
      <handler
            class="com.wudsn.ide.base.editor.text.TextEditorSortLinesNumericCommandHandler"
            commandId="com.wudsn.ide.base.editor.text.TextEditorSortLinesNumericCommand">
         <activeWhen>
            <reference
                  definitionId="com.wudsn.ide.base.text.TextEditorActive">
            </reference>
         </activeWhen>
      </handler>
      <handler
            class="com.wudsn.ide.base.editor.text.TextEditorSortLinesNumericCommandHandler"
            commandId="com.wudsn.ide.base.editor.text.TextEditorSortLinesNumericWithoutDuplicatesCommand">
         <activeWhen>
            <reference
                  definitionId="com.wudsn.ide.base.text.TextEditorActive">
            </reference>
         </activeWhen>
      </handler>
      <handler
            class="com.wudsn.ide.base.editor.text.TextEditorReverseLinesCommandHandler"
            commandId="com.wudsn.ide.base.editor.text.TextEditorReverseLinesCommand">
         <activeWhen>
            <reference
                  definitionId="com.wudsn.ide.base.text.TextEditorActive">
            </reference>
         </activeWhen>
      </handler>
   </extension>
   <extension
         name="TextEditorMenus"
         point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="popup:#TextEditorContext?after=additions">
         <menu
               id="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersMenu"
               label="%com.wudsn.ide.base.editor.text.TextEditorConvertNumbersMenu.label">
            <command
                  commandId="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToDecimalCommand"
                  id="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToDecimalCommand"
                  style="push">
            </command>
            <command
                  commandId="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToHexaDecimalCommand"
                  id="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToHexaDecimalCommand"
                  style="push">
            </command>
            <command
                  commandId="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToBinaryCommand"
                  id="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToBinaryCommand"
                  style="push">
            </command>
            <visibleWhen
                  checkEnabled="false">
               <reference
                     definitionId="com.wudsn.ide.base.text.TextEditorActive">
               </reference>
            </visibleWhen>
         </menu>
      </menuContribution>
      <menuContribution
            locationURI="menu:edit?after=additions">
         <menu
               label="%com.wudsn.ide.base.editor.text.TextEditorConvertNumbersMenu.label"
               mnemonic="%com.wudsn.ide.base.editor.text.TextEditorConvertNumbersMenu.mnemonic">
            <command
                  commandId="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToDecimalCommand"
                  id="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToDecimalCommand"
                  mnemonic="%com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToDecimalCommand.mnemonic"
                  style="push">
            </command>
            <command
                  commandId="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToHexaDecimalCommand"
                  id="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToHexaDecimalCommand"
                  mnemonic="%com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToHexaDecimalCommand.mnemonic"
                  style="push">
            </command>
            <command
                  commandId="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToBinaryCommand"
                  id="com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToBinaryCommand"
                  mnemonic="%com.wudsn.ide.base.editor.text.TextEditorConvertNumbersToBinaryCommand.mnemonic"
                  style="push">
            </command>
            <visibleWhen
                  checkEnabled="false">
            <reference
                  definitionId="com.wudsn.ide.base.text.TextEditorActive">
            </reference>
            </visibleWhen>
         </menu>
      </menuContribution>
   </extension>
   <extension
         name="HexEditorMenus"
         point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="popup:org.eclipse.ui.popup.any?after=group.open">
         <command
               commandId="com.wudsn.ide.base.editor.CommonOpenFolderCommand"
               id="com.wudsn.ide.base.editor.CommonOpenFolderCommand"
               style="push">
            <visibleWhen
                  checkEnabled="false">
               <or>
                  <with
                        variable="activeMenuSelection">
                     <and>
                        <iterate
                              ifEmpty="false"
                              operator="and">
                        </iterate>
                        <instanceof
                              value="org.eclipse.jface.viewers.IStructuredSelection">
                        </instanceof>
                     </and>
                  </with>
                  <with
                        variable="activeMenuEditorInput">
                     <and>
                        <iterate
                              ifEmpty="false"
                              operator="and">
                        </iterate>
                        <instanceof
                              value="org.eclipse.jface.viewers.IStructuredSelection">
                        </instanceof>
                     </and>
                  </with>
               </or>
            </visibleWhen>
         </command>
      </menuContribution>
   </extension>

  </plugin>
