<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
 #=============================================================================#
 # Copyright (c) 2007, 2022 Stephan Wahlbrink and others.
 # 
 # This program and the accompanying materials are made available under the
 # terms of the Eclipse Public License 2.0 which is available at
 # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
 # which is available at https://www.apache.org/licenses/LICENSE-2.0.
 # 
 # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
 # 
 # Contributors:
 #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
 #=============================================================================#
-->

<plugin>
   
   <extension
         point="org.eclipse.ui.commands">
      <category
            id="org.eclipse.statet.docmlet.commands.EditDocsCategory"
            name="%commandsCategory_EditDocs_name"
            description="%commandsCategory_EditDocs_description">
      </category>
      <command
            id="org.eclipse.statet.docmlet.commands.ConfigureMarkup"
            categoryId="org.eclipse.statet.docmlet.commands.EditDocsCategory"
            name="%commands_ConfigureMarkup_name"
            description="%commands_ConfigureMarkup_description">
      </command>
   </extension>
   
<!-- Editor -->
   <extension
         point="org.eclipse.ui.themes">
      <colorDefinition
            id="org.eclipse.statet.docmlet.themes.SectionColor"
            isEditable="false"
            label=""
            value="150,150,40">
      </colorDefinition>
      
      <theme
            id="org.eclipse.ui.ide.systemDefault">
         <colorOverride
               id="org.eclipse.statet.docmlet.themes.SectionColor"
               value="COLOR_LIST_FOREGROUND">
         </colorOverride>
      </theme>
   </extension>
   <extension
         point="org.eclipse.e4.ui.css.swt.theme">
      <stylesheet
            uri="css/e4_dark.css">
         <themeid
               refid="org.eclipse.e4.ui.css.theme.e4_dark"/>
      </stylesheet>
   </extension>
   
   <extension
         point="org.eclipse.core.expressions.definitions">
      <definition
            id="org.eclipse.statet.docmlet.expressions.isEditorActive.DocEditor">
         <with
               variable="activeEditor">
            <instanceof
                  value="org.eclipse.statet.docmlet.base.ui.sourceediting.DocEditor">
            </instanceof>
         </with>
      </definition>
   </extension>
   
<!-- Markup Help -->
   <extension-point id="org.eclipse.statet.docmlet.MarkupHelp"
         name="Markup Help"
         schema="schema/MarkupHelp.exsd"/>
   
   <extension
         point="org.eclipse.ui.views">
      <view
            id="org.eclipse.statet.docmlet.views.MarkupHelp"
            name="Markup Cheat Sheet"
            icon="icons/view_16/markup_help.png"
            class="org.eclipse.statet.internal.docmlet.base.ui.markuphelp.DocmletMarkupHelpView"
            restorable="true">
      </view>
   </extension>
   
<!-- Document Viewer -->
   <extension
         point="org.eclipse.debug.core.launchConfigurationTypes">
      <launchConfigurationType
            id="org.eclipse.statet.docmlet.launchConfigurations.DocViewer"
            category="org.eclipse.ui.externaltools"
            modes="run"
            name="%launchConfigurations_DocViewer_name"
            public="true"
            delegate="org.eclipse.statet.internal.docmlet.base.ui.viewer.DocViewerLaunchDelegate">
      </launchConfigurationType>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
      <launchConfigurationTypeImage
            id="org.eclipse.statet.docmlet.images.DocViewer"
            configTypeID="org.eclipse.statet.docmlet.launchConfigurations.DocViewer"
            icon="icons/tool_16/preview.png">
      </launchConfigurationTypeImage>
   </extension>
   <extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
      <launchConfigurationTabGroup
            id="org.eclipse.statet.docmlet.launchConfigurationTabGroups.DocViewer"
            type="org.eclipse.statet.docmlet.launchConfigurations.DocViewer"
            class="org.eclipse.statet.internal.docmlet.base.ui.viewer.DocViewerConfigTabGroup"
            description="%launchConfigurations_DocViewer_description">
      </launchConfigurationTabGroup>
   </extension>
   
<!-- Document Processing -->
   <extension-point id="org.eclipse.statet.docmlet.DocProcessing"
         name="Processing of Markup Language Documents"
         schema="schema/DocProcessing.exsd"/>
   
   <extension
         point="org.eclipse.ui.commands">
      <command
            id="org.eclipse.statet.docmlet.commands.ProcessDocDefault"
            categoryId="org.eclipse.statet.docmlet.commands.EditDocsCategory"
            name="%commands_ProcessDocument_name"
            description="%commands_ProcessDocument_description"
            helpContextId="org.eclipse.statet.docmlet.doc.user.DocProcessingActionsRunActiveConfigProcess">
      </command>
      <command
            id="org.eclipse.statet.docmlet.commands.PreviewDocDefault"
            categoryId="org.eclipse.statet.docmlet.commands.EditDocsCategory"
            name="%commands_PreviewDocument_name"
            description="%commands_PreviewDocument_description"
            helpContextId="org.eclipse.statet.docmlet.doc.user.DocProcessingActionsRunActiveConfigPreview">
      </command>
      <command
            id="org.eclipse.statet.docmlet.commands.ProcessAndPreviewDefault"
            categoryId="org.eclipse.statet.docmlet.commands.EditDocsCategory"
            name="%commands_ProcessAndPreview_name"
            description="%commands_ProcessAndPreview_description"
            helpContextId="org.eclipse.statet.docmlet.doc.user.DocProcessingActionsRunActiveConfig">
      </command>
      <command
            id="org.eclipse.statet.docmlet.commands.ToggleRunDocProcessingOnSave"
            categoryId="org.eclipse.statet.docmlet.commands.EditDocsCategory"
            name="%commands_ToggleRunOnSave_name"
            description="%commands_ToggleRunOnSave_description"
            helpContextId="org.eclipse.statet.docmlet.doc.user.DocProcessingActionsRunActiveConfigPreview">
      </command>
   </extension>
   <extension
         point="org.eclipse.ui.commandImages">
      <image
            commandId="org.eclipse.statet.docmlet.commands.ProcessDocDefault"
            icon="icons/tool_16/process.png">
      </image>
      <image
            commandId="org.eclipse.statet.docmlet.commands.PreviewDocDefault"
            icon="icons/tool_16/preview.png">
      </image>
      <image
            commandId="org.eclipse.statet.docmlet.commands.ProcessAndPreviewDefault"
            icon="icons/tool_16/process_and_preview.png">
      </image>
      <image
            commandId="org.eclipse.statet.docmlet.commands.ToggleRunDocProcessingOnSave"
            icon="icons/tool_16/run_on_save.png">
      </image>
   </extension>
   
   <extension
         point="org.eclipse.ui.contexts">
      <context
            id="org.eclipse.statet.docmlet.contexts.DocEditor"
            parentId="org.eclipse.ui.contexts.window"
            name="%contexts_DocEditing_name">
      </context>
   </extension>
   <extension
         point="org.eclipse.ui.bindings">
      <key
            commandId="org.eclipse.statet.docmlet.commands.PreviewDocDefault"
            contextId="org.eclipse.statet.docmlet.contexts.DocEditor"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
            sequence="M1+T 4">
      </key>
      <key
            commandId="org.eclipse.statet.docmlet.commands.ProcessDocDefault"
            contextId="org.eclipse.statet.docmlet.contexts.DocEditor"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
            sequence="M1+T 9">
      </key>
      <key
            commandId="org.eclipse.statet.docmlet.commands.ProcessAndPreviewDefault"
            contextId="org.eclipse.statet.docmlet.contexts.DocEditor"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
            sequence="M1+T 0">
      </key>
      <key
            commandId="org.eclipse.statet.docmlet.commands.ToggleRunDocProcessingOnSave"
            contextId="org.eclipse.statet.docmlet.contexts.DocEditor"
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
            sequence="M1+T S">
      </key>
   </extension>
   
   <extension
         point="org.eclipse.ui.handlers">
      <handler
            commandId="org.eclipse.statet.docmlet.commands.ProcessAndPreviewDefault"
            class="org.eclipse.statet.docmlet.base.ui.processing.actions.RunActiveDocConfigWorkbenchHandler">
         <activeWhen>
            <reference
                  definitionId="org.eclipse.statet.docmlet.expressions.isEditorActive.DocEditor"/>
         </activeWhen>
      </handler>
      <handler
            commandId="org.eclipse.statet.docmlet.commands.ProcessDocDefault"
            class="org.eclipse.statet.docmlet.base.ui.processing.actions.RunActiveDocConfigWorkbenchHandler">
         <activeWhen>
            <reference
                  definitionId="org.eclipse.statet.docmlet.expressions.isEditorActive.DocEditor"/>
         </activeWhen>
      </handler>
      <handler
            commandId="org.eclipse.statet.docmlet.commands.PreviewDocDefault"
            class="org.eclipse.statet.docmlet.base.ui.processing.actions.RunActiveDocConfigWorkbenchHandler">
         <activeWhen>
            <reference
                  definitionId="org.eclipse.statet.docmlet.expressions.isEditorActive.DocEditor"/>
         </activeWhen>
      </handler>
      <handler
            commandId="org.eclipse.statet.docmlet.commands.ToggleRunDocProcessingOnSave"
            class="org.eclipse.statet.internal.docmlet.base.ui.processing.ToggleRunOnSaveWorkbenchHandler">
         <activeWhen>
            <reference
                  definitionId="org.eclipse.statet.docmlet.expressions.isEditorActive.DocEditor"/>
         </activeWhen>
      </handler>
   </extension>
   
   <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="menu:org.eclipse.ui.main.menu?before=window">
         <menu
               id="org.eclipse.statet.docmlet.menus.MainDoc"
               label="%menus_Document_name"
               mnemonic="%menus_Document_mnemonic">
            <separator
                  name="processing">
            </separator>
            <separator
                  name="additions"
                  visible="true">
            </separator>
            <visibleWhen>
               <reference
                     definitionId="org.eclipse.statet.docmlet.expressions.isEditorActive.DocEditor"/>
            </visibleWhen>
         </menu>
      </menuContribution>
      
      <menuContribution
            locationURI="toolbar:org.eclipse.ui.main.toolbar?before=org.eclipse.ui.workbench.navigate">
         <toolbar
               id="org.eclipse.statet.docmlet.menus.DocTools"
               label="%toolbars_DocProcessing_label">
            <separator
                  name="processing"
                  visible="false">
            </separator>
            <command
                  id="org.eclipse.statet.docmlet.menus.ProcessDoc"
                  commandId="org.eclipse.statet.docmlet.commands.ProcessDocDefault"
                  style="pulldown">
               <visibleWhen>
                  <reference
                        definitionId="org.eclipse.statet.docmlet.expressions.isEditorActive.DocEditor"/>
               </visibleWhen>
            </command>
            <command
                  id="org.eclipse.statet.redocs.menus.PreviewDoc"
                  commandId="org.eclipse.statet.docmlet.commands.PreviewDocDefault"
                  style="push">
               <visibleWhen>
                  <reference
                        definitionId="org.eclipse.statet.docmlet.expressions.isEditorActive.DocEditor"/>
               </visibleWhen>
            </command>
            <command
                  id="org.eclipse.statet.redocs.menus.ProcessAndPreview"
                  commandId="org.eclipse.statet.docmlet.commands.ProcessAndPreviewDefault"
                  style="push">
               <visibleWhen>
                  <reference
                        definitionId="org.eclipse.statet.docmlet.expressions.isEditorActive.DocEditor"/>
               </visibleWhen>
            </command>
            <command
                  commandId="org.eclipse.statet.docmlet.commands.ToggleRunDocProcessingOnSave"
                  style="toggle">
               <visibleWhen>
                  <reference
                        definitionId="org.eclipse.statet.docmlet.expressions.isEditorActive.DocEditor"/>
               </visibleWhen>
            </command>
            <separator
                  name="additions"
                  visible="false">
            </separator>
         </toolbar>
      </menuContribution>
      <menuContribution
            locationURI="menu:org.eclipse.statet.docmlet.menus.ProcessDoc">
         <dynamic
               id="org.eclipse.statet.docmlet.menus.ProcessDocItems">
            <class
                  class="org.eclipse.statet.docmlet.base.ui.processing.actions.RunDocConfigsDropdownContribution">
               <parameter
                     name="launchFlags"
                     value="processing_steps"/>
            </class>
         </dynamic>
         <separator
               name="additions"
               visible="true">
         </separator>
      </menuContribution>
   </extension>
   
</plugin>
