<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
    Copyright (c) 2016 Chalmers | University of Gothenburg, rt-labs and others.
    All rights reserved. This program and the accompanying materials
    are made available under the terms of the Eclipse Public License v1.0
    which accompanies this distribution, and is available at
    http://www.eclipse.org/legal/epl-v10.html

      Contributors:
         Chalmers | University of Gothenburg and rt-labs - initial API and implementation and/or initial documentation
 -->

<plugin>
   <extension
         point="org.eclipse.ui.views">
      <category
            id="org.eclipse.capra.ui.views"
			name="Capra Views">
      </category>
	  <view
			category="org.eclipse.capra.ui.views"
			class="org.eclipse.capra.ui.office.views.OfficeView"
			icon="icons/selectionView.png"
			id="org.eclipse.capra.ui.views.OfficeView"
			name="Office Selection View">
      </view>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <command
			id="org.eclipse.capra.ui.office.clearselection"
            name="Clear Selection">
      </command>
      <command
            id="org.eclipse.capra.ui.office.showdetails"
            name="Show Details">
      </command>
      <command
            id="org.eclipse.capra.ui.office.openfile"
            name="Open File">
      </command>
   </extension>
   <extension
         point="org.eclipse.ui.handlers">
      <handler
            class="org.eclipse.capra.ui.office.handlers.ClearSelectionHandler"
            commandId="org.eclipse.capra.ui.office.clearselection">
      </handler>
      <handler
            class="org.eclipse.capra.ui.office.handlers.ShowObjectDetailsHandler"
            commandId="org.eclipse.capra.ui.office.showdetails">
      </handler>
      <handler
            class="org.eclipse.capra.ui.office.handlers.OpenFileHandler"
            commandId="org.eclipse.capra.ui.office.openfile">
      </handler>
   </extension>
   <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="menu:org.eclipse.capra.ui.views.OfficeView?after=additions"> 
         <command
               commandId="org.eclipse.capra.ui.office.openfile"
               label="Open File"
               style="push"
               tooltip="Triggers the file selection dialog">
         </command>
         <menu
               label="Select Sheet"
               tooltip="Select the Excel sheet that you want to work with.">
            <dynamic
                  class="org.eclipse.capra.ui.office.views.SelectSheetDynamicMenu"
                  id="org.eclipse.capra.ui.office.views.SelectSheetDynamicMenu">
            </dynamic>
            <visibleWhen>
               <reference
                     definitionId="org.eclipse.capra.ui.office.utils.isExcelObjectExpression">
               </reference>
            </visibleWhen>
         </menu>
         <command
               commandId="org.eclipse.capra.ui.office.clearselection"
               label="Clear Selection"
               style="push"
               tooltip="Clears the current selection of elements">
            <visibleWhen>
    		   <reference
    		   	   definitionId="org.eclipse.capra.ui.office.utils.isViewPopulatedExpression"/>
			</visibleWhen>
         </command>
      </menuContribution>
      <menuContribution
            locationURI="popup:net.sourceforge.plantuml.eclipse.views.PlantUmlView?after=additions">
         <menu
		       label="Capra"
		       id="org.eclipse.capra.ui.contextsubmenu">
            <command
                  commandId="org.eclipse.capra.ui.office.showdetails"
                  label="Show Details"
                  style="push"
                  tooltip="Shows the details of the selected row">
               <visibleWhen>
     	          <iterate ifEmpty="false">
                     <instanceof value="org.eclipse.capra.ui.office.model.CapraOfficeObject"/>
                  </iterate>
               </visibleWhen>
            </command>
         </menu>     
      </menuContribution>
   </extension>
   <extension
         point="org.eclipse.capra.ui.transfers">
      <transfer
            class="org.eclipse.capra.ui.office.utils.OfficeTransferType">
      </transfer>
   </extension>
   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            category="org.eclipse.capra.ui.preferences.CapraPreferences"
            class="org.eclipse.capra.ui.office.preferences.OfficePreferences"
            id="org.eclipse.capra.ui.office.preferences.OfficePreferences"
            name="Office">
      </page>
   </extension>
   <extension
         point="org.eclipse.core.runtime.preferences">
      <initializer
            class="org.eclipse.capra.ui.office.preferences.PreferenceInitializer">
      </initializer>
   </extension>
   <extension
         point="org.eclipse.core.expressions.propertyTesters">
      <propertyTester
            class="org.eclipse.capra.ui.office.utils.OfficePropertyTester"
            id="org.eclipse.capra.ui.office.utils.OfficePropertyTester"
            namespace="org.eclipse.capra.ui.office.utils"
            properties="isViewPopulated, isExcelObject"
            type="org.eclipse.capra.ui.office.model.CapraOfficeObject">
      </propertyTester>
   </extension>
   <extension
         point="org.eclipse.ui.services">
      <sourceProvider
            provider="org.eclipse.capra.ui.office.utils.OfficeSourceProvider">
         <variable
               name="org.eclipse.capra.ui.office.utils.capraOfficeObject"
               priorityLevel="workbench">
         </variable>
      </sourceProvider>
   </extension>
   <extension
         point="org.eclipse.core.expressions.definitions">
      <definition
            id="org.eclipse.capra.ui.office.utils.isViewPopulatedExpression">
         <with
               variable="org.eclipse.capra.ui.office.utils.capraOfficeObject">
            <test
                  forcePluginActivation="true"
                  property="org.eclipse.capra.ui.office.utils.isViewPopulated">
            </test>
         </with>
      </definition>
   </extension>
   <extension
         point="org.eclipse.core.expressions.definitions">
      <definition
            id="org.eclipse.capra.ui.office.utils.isExcelObjectExpression">
         <with
               variable="org.eclipse.capra.ui.office.utils.capraOfficeObject">
            <test
                  forcePluginActivation="true"
                  property="org.eclipse.capra.ui.office.utils.isExcelObject">
            </test>
         </with>
      </definition>
   </extension>
</plugin>
