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

   <extension
         point="org.eclipse.ui.views">
      <category
            name="%VagrantCategory.name"
            id="org.eclipse.linuxtools.vagrant.ui">
      </category>
       <view
             category="org.eclipse.linuxtools.vagrant.ui"
             class="org.eclipse.linuxtools.internal.vagrant.ui.views.VagrantVMView"
             icon="icons/mock-repository.gif"
             id="org.eclipse.linuxtools.vagrant.ui.vagrantVMView"
             name="%VagrantVMView.name"
             restorable="true">
       </view>
       <view
             category="org.eclipse.linuxtools.vagrant.ui"
             class="org.eclipse.linuxtools.internal.vagrant.ui.views.VagrantBoxView"
             icon="icons/dbgroup_obj.gif"
             id="org.eclipse.linuxtools.vagrant.ui.vagrantBoxView"
             name="%VagrantBoxView.name"
             restorable="true">
       </view>
   </extension>

 <extension
       point="org.eclipse.ui.perspectives">
    <perspective
          class="org.eclipse.linuxtools.internal.vagrant.ui.VagrantPerspective"
          icon="icons/vagrant_small.gif"
          id="org.eclipse.linuxtools.vagrant.ui.perspective"
          name="%VagrantPerspective.name">
    </perspective>
 </extension>
 <extension
       point="org.eclipse.ui.perspectiveExtensions">
    <perspectiveExtension
          targetID="org.eclipse.linuxtools.vagrant.ui.perspective">
       <view
             id="org.eclipse.linuxtools.vagrant.ui.vagrantBoxView"
             minimized="false"
             ratio="0.5"
             relationship="stack"
             relative="org.eclipse.ui.editorss">
       </view>
       <view
             id="org.eclipse.linuxtools.vagrant.ui.vagrantVMView"
             minimized="false"
             ratio="0.5"
             relationship="stack"
             relative="org.eclipse.ui.editorss">
       </view>
    </perspectiveExtension>
 </extension>
 <extension
       point="org.eclipse.ui.commands">
    <command
          description="Remove selected boxes"
          id="org.eclipse.linuxtools.vagrant.ui.commands.removeBoxes"
          name="Remove Box">
    </command>
    <command
          description="Refresh selected Boxes"
          id="org.eclipse.linuxtools.vagrant.ui.commands.refreshBoxes"
          name="Refresh Boxes">
    </command>
    <command
          description="Refresh selected VMs"
          id="org.eclipse.linuxtools.vagrant.ui.commands.refreshVM"
          name="Refresh VMs">
    </command>
    <command
          description="Destroy selected VM"
          id="org.eclipse.linuxtools.vagrant.ui.commands.destroyVM"
          name="Destroy VM">
    </command>
    <command
          description="Stop selected VMs"
          id="org.eclipse.linuxtools.vagrant.ui.commands.stopVM"
          name="Stop VMs">
    </command>
    <command
          description="SSH into selected VMs"
          id="org.eclipse.linuxtools.vagrant.ui.commands.sshVM"
          name="SSH VMs">
    </command>
    <command
          description="Add Specified Box"
          id="org.eclipse.linuxtools.vagrant.ui.commands.addBox"
          name="Add Box">
    </command>
    <command
          description="Create VM from Box"
          id="org.eclipse.linuxtools.vagrant.ui.commands.createVM"
          name="Create VM">
    </command>
    <command
          description="Start selected VMs"
          id="org.eclipse.linuxtools.vagrant.ui.commands.startVM"
          name="Start VMs">
    </command>
    <command
          description="Open Vagrantfile for VM"
          id="org.eclipse.linuxtools.vagrant.ui.commands.openVFile"
          name="Open Vagrantfile">
    </command>
    <command
          description="Package selected VM"
          id="org.eclipse.linuxtools.vagrant.ui.commands.packageVM"
          name="Package VM">
    </command>
 </extension>
 <extension
       point="org.eclipse.ui.handlers">
    <handler
          class="org.eclipse.linuxtools.internal.vagrant.ui.commands.RemoveBoxesCommandHandler"
          commandId="org.eclipse.linuxtools.vagrant.ui.commands.removeBoxes">
       <enabledWhen>
          <with
                variable="selection">
             <iterate
                   ifEmpty="false">
                <instanceof
                      value="org.eclipse.linuxtools.vagrant.core.IVagrantBox">
                </instanceof>
             </iterate>
          </with>
       </enabledWhen>
    </handler>
    <handler
          class="org.eclipse.linuxtools.internal.vagrant.ui.commands.RefreshBoxesCommandHandler"
          commandId="org.eclipse.linuxtools.vagrant.ui.commands.refreshBoxes">
    </handler>
    <handler
          class="org.eclipse.linuxtools.internal.vagrant.ui.commands.RefreshVMCommandHandler"
          commandId="org.eclipse.linuxtools.vagrant.ui.commands.refreshVM">
    </handler>
    <handler
          class="org.eclipse.linuxtools.internal.vagrant.ui.commands.DestroyVMCommandHandler"
          commandId="org.eclipse.linuxtools.vagrant.ui.commands.destroyVM">
       <enabledWhen>
          <with
                variable="selection">
             <iterate
                   ifEmpty="false">
                <instanceof
                      value="org.eclipse.linuxtools.vagrant.core.IVagrantVM">
                </instanceof>
             </iterate>
          </with>
       </enabledWhen>
    </handler>
    <handler
          class="org.eclipse.linuxtools.internal.vagrant.ui.commands.StopVMCommandHandler"
          commandId="org.eclipse.linuxtools.vagrant.ui.commands.stopVM">
       <enabledWhen>
          <with
                variable="selection">
             <iterate
                   ifEmpty="false">
                <and>
                   <instanceof
                         value="org.eclipse.linuxtools.vagrant.core.IVagrantVM">
                   </instanceof>
                   <or>
                      <test
                            forcePluginActivation="true"
                            property="org.eclipse.linuxtools.vagrant.propertytesters.vm.isShutoff"
                            value="false">
                      </test>
                      <test
                            forcePluginActivation="true"
                            property="org.eclipse.linuxtools.vagrant.propertytesters.vm.isUnknown"
                            value="true">
                      </test>
                   </or>
                </and>
             </iterate>
          </with>
       </enabledWhen>
    </handler>
    <handler
          class="org.eclipse.linuxtools.internal.vagrant.ui.commands.SSHVMCommandHandler"
          commandId="org.eclipse.linuxtools.vagrant.ui.commands.sshVM">
       <enabledWhen>
          <with
                variable="selection">
             <iterate
                   ifEmpty="false">
                <and>
                   <instanceof
                         value="org.eclipse.linuxtools.vagrant.core.IVagrantVM">
                   </instanceof>
                   <or>
                      <test
                            forcePluginActivation="true"
                            property="org.eclipse.linuxtools.vagrant.propertytesters.vm.isShutoff"
                            value="false">
                      </test>
                      <test
                            forcePluginActivation="true"
                            property="org.eclipse.linuxtools.vagrant.propertytesters.vm.isUnknown"
                            value="true">
                      </test>
                   </or>
                </and>
             </iterate>
          </with>
       </enabledWhen>
    </handler>
    <handler
          class="org.eclipse.linuxtools.internal.vagrant.ui.commands.AddBoxCommandHandler"
          commandId="org.eclipse.linuxtools.vagrant.ui.commands.addBox">
    </handler>
    <handler
          class="org.eclipse.linuxtools.internal.vagrant.ui.commands.CreateVmCommandHandler"
          commandId="org.eclipse.linuxtools.vagrant.ui.commands.createVM">
    </handler>
    <handler
          class="org.eclipse.linuxtools.internal.vagrant.ui.commands.StartVMCommandHandler"
          commandId="org.eclipse.linuxtools.vagrant.ui.commands.startVM">
       <enabledWhen>
          <with
                variable="selection">
             <iterate
                   ifEmpty="false">
                <and>
                   <instanceof
                         value="org.eclipse.linuxtools.vagrant.core.IVagrantVM">
                   </instanceof>
                   <or>
                      <test
                            forcePluginActivation="true"
                            property="org.eclipse.linuxtools.vagrant.propertytesters.vm.isShutoff"
                            value="true">
                      </test>
                      <test
                            forcePluginActivation="true"
                            property="org.eclipse.linuxtools.vagrant.propertytesters.vm.isUnknown"
                            value="true">
                      </test>
                   </or>
                </and>
             </iterate>
          </with>
       </enabledWhen>
    </handler>
    <handler
          class="org.eclipse.linuxtools.internal.vagrant.ui.commands.OpenVagrantfileCommandHandler"
          commandId="org.eclipse.linuxtools.vagrant.ui.commands.openVFile">
       <enabledWhen>
          <with
                variable="selection">
             <iterate
                   ifEmpty="false"
                   operator="and">
                <instanceof
                      value="org.eclipse.linuxtools.vagrant.core.IVagrantVM">
                </instanceof>
             </iterate>
          </with>
       </enabledWhen>
    </handler>
    <handler
          class="org.eclipse.linuxtools.internal.vagrant.ui.commands.PackageVMCommandHandler"
          commandId="org.eclipse.linuxtools.vagrant.ui.commands.packageVM">
       <enabledWhen>
          <with
                variable="selection">
             <iterate
                   ifEmpty="false">
                <and>
                   <instanceof
                         value="org.eclipse.linuxtools.vagrant.core.IVagrantVM">
                   </instanceof>
                </and>
             </iterate>
             <count
                   value="1">
             </count>
          </with>
       </enabledWhen>
    </handler>
 </extension>
 <extension
       point="org.eclipse.ui.menus">
    <menuContribution
          locationURI="toolbar:org.eclipse.linuxtools.vagrant.ui.vagrantVMView">
       <command
             commandId="org.eclipse.linuxtools.vagrant.ui.commands.refreshVM"
             icon="icons/refresh_tab.gif"
             id="org.eclipse.linuxtools.vagrant.ui.commands.refreshVM"
             mnemonic="F"
             style="push">
       </command>
    </menuContribution>
    <menuContribution
          locationURI="toolbar:org.eclipse.linuxtools.vagrant.ui.vagrantBoxView">
       <command
             commandId="org.eclipse.linuxtools.vagrant.ui.commands.refreshBoxes"
             icon="icons/refresh_tab.gif"
             id="org.eclipse.linuxtools.vagrant.ui.commands.refreshBoxes"
             mnemonic="F"
             style="push">
       </command>
    </menuContribution>
    <menuContribution
          locationURI="toolbar:org.eclipse.linuxtools.vagrant.ui.vagrantBoxView">
       <command
             commandId="org.eclipse.linuxtools.vagrant.ui.commands.removeBoxes"
             disabledIcon="icons/delete_d.gif"
             icon="icons/delete.gif"
             id="org.eclipse.linuxtools.vagrant.ui.commands.removeBoxes"
             mnemonic="R"
             style="push">
       </command>
    </menuContribution>
    <menuContribution
          locationURI="toolbar:org.eclipse.linuxtools.vagrant.ui.vagrantVMView">
       <command
             commandId="org.eclipse.linuxtools.vagrant.ui.commands.sshVM"
             icon="icons/console_view.gif"
             id="org.eclipse.linuxtools.vagrant.ui.commands.sshVM"
             mnemonic="S"
             style="push">
       </command>
    </menuContribution>
    <menuContribution
          locationURI="toolbar:org.eclipse.linuxtools.vagrant.ui.vagrantVMView">
       <command
             commandId="org.eclipse.linuxtools.vagrant.ui.commands.destroyVM"
             disabledIcon="icons/delete_d.gif"
             icon="icons/delete.gif"
             id="org.eclipse.linuxtools.vagrant.ui.commands.destroyVM"
             mnemonic="R"
             style="push">
       </command>
    </menuContribution>
    <menuContribution
          locationURI="toolbar:org.eclipse.linuxtools.vagrant.ui.vagrantVMView">
       <command
             commandId="org.eclipse.linuxtools.vagrant.ui.commands.stopVM"
             disabledIcon="icons/stoppedd.gif"
             icon="icons/stopped.gif"
             id="org.eclipse.linuxtools.vagrant.ui.commands.stopVM"
             mnemonic="S"
             style="push">
       </command>
    </menuContribution>
    <menuContribution
          locationURI="toolbar:org.eclipse.linuxtools.vagrant.ui.vagrantBoxView">
       <command
             commandId="org.eclipse.linuxtools.vagrant.ui.commands.createVM"
             disabledIcon="icons/createcontainer_d.gif"
             icon="icons/createcontainer.gif"
             id="org.eclipse.linuxtools.vagrant.ui.commands.createVM"
             mnemonic="R"
             style="push">
       </command>
    </menuContribution>
    <menuContribution
          locationURI="toolbar:org.eclipse.linuxtools.vagrant.ui.vagrantBoxView">
       <command
             commandId="org.eclipse.linuxtools.vagrant.ui.commands.addBox"
             icon="icons/pull.gif"
             id="org.eclipse.linuxtools.vagrant.ui.commands.addBox"
             mnemonic="P"
             style="push">
       </command>
    </menuContribution>
    <menuContribution
          locationURI="toolbar:org.eclipse.linuxtools.vagrant.ui.vagrantVMView">
       <command
             commandId="org.eclipse.linuxtools.vagrant.ui.commands.startVM"
             disabledIcon="icons/runningd.gif"
             icon="icons/running.gif"
             id="org.eclipse.linuxtools.vagrant.ui.commands.startVM"
             mnemonic="S"
             style="push">
       </command>
    </menuContribution>
    <menuContribution
          locationURI="popup:org.eclipse.linuxtools.vagrant.ui.vagrantVMView">
       <command
             commandId="org.eclipse.linuxtools.vagrant.ui.commands.openVFile"
             mnemonic="O"
             style="push">
       </command>
    </menuContribution>
    <menuContribution
          allPopups="false"
          locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">
       <toolbar
             id="org.eclipse.linuxtools.vagrant.ui.toolbar">
          <command
                commandId="org.eclipse.linuxtools.vagrant.ui.commands.createVM"
                icon="icons/createcontainer.gif"
                id="org.eclipse.linuxtools.vagrant.ui.toolbar.item"
                style="pulldown">
          </command>
       </toolbar>
    </menuContribution>
    <menuContribution
          allPopups="false"
          locationURI="menu:org.eclipse.linuxtools.vagrant.ui.toolbar.item">
       <dynamic
             class="org.eclipse.linuxtools.internal.vagrant.ui.commands.VagrantToolBarContributionItem"
             id="org.eclipse.linuxtools.vagrant.ui.dynamic">
       </dynamic>
    </menuContribution>
    <menuContribution
          locationURI="toolbar:org.eclipse.linuxtools.vagrant.ui.vagrantVMView">
       <command
             commandId="org.eclipse.linuxtools.vagrant.ui.commands.packageVM"
             icon="icons/build_exec.png"
             id="org.eclipse.linuxtools.vagrant.ui.commands.packageVM"
             mnemonic="B"
             style="push">
       </command>
    </menuContribution>
 </extension>
 <extension
       point="org.eclipse.core.expressions.propertyTesters">
    <propertyTester
          class="org.eclipse.linuxtools.internal.vagrant.ui.propertytesters.VMPropertyTester"
          id="org.eclipse.linuxtools.vagrant.VMPropertyTester"
          namespace="org.eclipse.linuxtools.vagrant.propertytesters.vm"
          properties="isRunning,isShutoff,isPaused,isRemovable,isUnknown"
          type="org.eclipse.linuxtools.vagrant.core.IVagrantVM">
    </propertyTester>
 </extension>
 <extension
       point="org.eclipse.core.runtime.preferences">
    <initializer
          class="org.eclipse.linuxtools.internal.vagrant.ui.preferences.PreferenceInitializer">
    </initializer>
 </extension>
 <extension
       point="org.eclipse.ui.preferencePages">
    <page
          class="org.eclipse.linuxtools.internal.vagrant.ui.preferences.VagrantPreferencePage"
          id="org.eclipse.linuxtools.vagrant.ui.preferences.VagrantPreferencePage"
          name="%VagrantCategory.name">
    </page>
 </extension>
</plugin>
