<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
    Copyright (c) 2016, 2019 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 v2.0
    which accompanies this distribution, and is available at
    http://www.eclipse.org/legal/epl-v20.html
     
    SPDX-License-Identifier: EPL-2.0
     
    Contributors:
         Chalmers | University of Gothenburg and rt-labs - initial API and implementation and/or initial documentation
         Chalmers | University of Gothenburg - additional features, updated API
 -->

<plugin>
   <extension
         point="org.eclipse.ui.views">
      <category
            id="org.eclipse.capra.ui.views"
			name="%category.name">
      </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="%view.name">
      </view>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <command
			id="org.eclipse.capra.ui.office.clearselection"
            name="%command.clear.name">
      </command>
      <command
            id="org.eclipse.capra.ui.office.showdetails"
            name="%command.details.name">
      </command>
      <command
            id="org.eclipse.capra.ui.office.openfile"
            name="%command.open.name">
      </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="%command.open.label"
               style="push"
               tooltip="%command.open.tooltip">
         </command>
         <menu
               label="%menu.select.label"
               tooltip="%menu.select.tooltip">
            <dynamic
                  class="org.eclipse.capra.ui.office.views.SelectSheetDynamicMenu"
                  id="org.eclipse.capra.ui.office.views.SelectSheetDynamicMenu">
            </dynamic>
            <visibleWhen
                  checkEnabled="true">
               <reference
                     definitionId="org.eclipse.capra.ui.office.utils.isExcelObjectExpression">
               </reference>
            </visibleWhen>
         </menu>
         <command
               commandId="org.eclipse.capra.ui.office.clearselection"
               label="%command.clear.label"
               style="push"
               tooltip="%command.clear.tooltip">
            <visibleWhen
                  checkEnabled="true">
    		   <reference
    		   	   definitionId="org.eclipse.capra.ui.office.utils.isViewPopulatedExpression"/>
			</visibleWhen>
         </command>
      </menuContribution>
      <menuContribution
            locationURI="popup:org.eclipse.capra.ui.views.OfficeView?after=additions">
         <command
               commandId="org.eclipse.capra.ui.office.showdetails"
               icon="platform:/plugin/org.eclipse.debug.ui/icons/full/eview16/details_view.png"
               label="%command.details.label"
               style="push"
               tooltip="%command.details.tooltip">
            <visibleWhen>
               <iterate
                     ifEmpty="false">
                  <instanceof
                        value="org.eclipse.capra.ui.office.model.CapraOfficeObject">
                  </instanceof>
               </iterate>
            </visibleWhen>
         </command>     
      </menuContribution>
      <menuContribution
            allPopups="false"
            locationURI="toolbar:org.eclipse.capra.ui.views.OfficeView">
         <command
               commandId="org.eclipse.capra.ui.office.openfile"
               icon="platform:/plugin/org.eclipse.ui/icons/full/obj16/fldr_obj.png"
               label="%command.open.name"
               style="push">
         </command>
         <command
               commandId="org.eclipse.capra.ui.office.showdetails"
               icon="platform:/plugin/org.eclipse.debug.ui/icons/full/eview16/details_view.png"
               label="%command.details.label"
               style="push"
               tooltip="%command.details.tooltip">
            <visibleWhen
                  checkEnabled="true">
               <iterate
                     ifEmpty="false">
                  <instanceof
                        value="org.eclipse.capra.ui.office.model.CapraOfficeObject">
                  </instanceof>
               </iterate>
            </visibleWhen>
         </command>
         <command
               commandId="org.eclipse.capra.ui.office.clearselection"
               icon="platform:/plugin/org.eclipse.ui/icons/full/etool16/clear.png"
               label="%command.clear.name"
               style="push">
            <visibleWhen
                  checkEnabled="true">
               <reference
                     definitionId="org.eclipse.capra.ui.office.utils.isExcelObjectExpression">
               </reference>
            </visibleWhen>
         </command>
      </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="%page.name">
      </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>
