<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
   <extension-point id="elementDescriptors" name="%ElementDescriptorsExtensionPoint.name" schema="schema/elementDescriptors.exsd"/>
   <extension
         point="org.eclipse.ui.editors">
      <editor
            class="com.perforce.team.ui.mergequest.editor.BranchGraphEditor"
            contributorClass="com.perforce.team.ui.mergequest.editor.actions.BranchGraphActionBarContributor"
            default="false"
            icon="icons/branchgraph_main_editor.png"
            id="com.perforce.team.ui.editors.mergequest"
            name="%BranchGraphEditorTitle">
      </editor>
   </extension>
   <extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            id="com.perforce.team.ui.mergequest.connectionContribution"
            objectClass="com.perforce.team.core.p4java.IP4Connection">
         <action
               class="com.perforce.team.ui.mergequest.actions.OpenBranchGraphAction"
               icon="icons/branchgraph_main_editor.png"
               id="com.perforce.team.ui.mergequest.open"
               label="%OpenBranchGraphLabel"
               menubarPath="perforce.group3">
         </action>
      </objectContribution>
      <objectContribution
            adaptable="false"
            id="com.perforce.team.ui.mergequest.mappingContribution"
            objectClass="com.perforce.team.core.mergequest.model.Mapping">
         <action
               class="com.perforce.team.ui.mergequest.actions.ShowTasksAction"
               icon="icons/integration_tasks.png"
               id="com.perforce.team.ui.mergequest.showTasks"
               label="%ShowTasksLabel"
               menubarPath="perforce.group1">
         </action>
      </objectContribution>
      <objectContribution
            adaptable="true"
            id="com.perforce.team.ui.mergequest.branchContribution"
            objectClass="com.perforce.team.core.mergequest.model.Branch">
      </objectContribution>
      <objectContribution
            adaptable="true"
            id="com.perforce.team.ui.mergequest.projectContribution"
            objectClass="org.eclipse.core.resources.IProject">
            <filter
               name="projectPersistentProperty"
               value="org.eclipse.team.core.repository=com.perforce.team.core.PerforceTeamProvider">
         </filter>
            <action
                  class="com.perforce.team.ui.mergequest.actions.OpenBranchGraphAction"
                  icon="icons/branchgraph_main_editor.png"
                  id="com.perforce.team.ui.mergequest.open"
                  label="%OpenBranchGraphLabel"
                  menubarPath="team.main/group5">
            </action>
      </objectContribution>
   </extension>
   <extension
         point="org.eclipse.ui.views">
      <view
            category="com.perforce.team.ui.perforceviews"
            class="com.perforce.team.ui.mergequest.views.tasks.IntegrateTaskView"
            icon="icons/integration_tasks.png"
            id="com.perforce.team.ui.mergequest.tasks"
            name="%IntegrateTasksViewTitle"
            restorable="true">
      </view>
   </extension>
   <extension
         point="org.eclipse.core.runtime.adapters">
      <factory
            adaptableType="com.perforce.team.core.mergequest.model.Branch"
            class="com.perforce.team.ui.mergequest.ModelAdapterFactory">
         <adapter
               type="org.eclipse.ui.model.IWorkbenchAdapter">
         </adapter>
      </factory>
      <factory
            adaptableType="com.perforce.team.core.mergequest.model.Mapping"
            class="com.perforce.team.ui.mergequest.ModelAdapterFactory">
         <adapter
               type="org.eclipse.ui.model.IWorkbenchAdapter">
         </adapter>
      </factory>
   </extension>
   <extension
         point="org.eclipse.ui.elementFactories">
      <factory
            class="com.perforce.team.ui.mergequest.editor.BranchGraphInputFactory"
            id="com.perforce.team.ui.mergequest.BranchGraphInputFactory">
      </factory>
   </extension>
   <extension
         point="org.eclipse.ui.perspectives">
      <perspective
            class="com.perforce.team.ui.mergequest.perspective.BranchGraphPerspective"
            fixed="false"
            icon="icons/branchgraph_editor.png"
            id="com.perforce.team.ui.mergequest.perspective"
            name="%MergeQuestPerspectiveTitle">
      </perspective>
   </extension>
   <extension
         point="org.eclipse.core.runtime.adapters">
      <factory
            adaptableType="com.perforce.team.core.mergequest.model.Branch"
            class="com.perforce.team.ui.mergequest.properties.BranchPropertySourceFactory">
         <adapter
               type="org.eclipse.ui.views.properties.IPropertySource">
         </adapter>
      </factory>
      <factory
            adaptableType="com.perforce.team.core.mergequest.model.Mapping"
            class="com.perforce.team.ui.mergequest.properties.MappingPropertySourceFactory">
         <adapter
               type="org.eclipse.ui.views.properties.IPropertySource">
         </adapter>
      </factory>
   </extension>
   <extension
         point="org.eclipse.ui.perspectiveExtensions">
      <perspectiveExtension
            targetID="com.perforce.team.ui.mergequest.perspective">
         <perspectiveShortcut
               id="com.perforce.team.ui.perforcePerspective">
         </perspectiveShortcut>
         <viewShortcut
               id="org.eclipse.ui.views.ContentOutline">
         </viewShortcut>
         <viewShortcut
               id="org.eclipse.ui.views.PropertySheet">
         </viewShortcut>
         <viewShortcut
               id="com.perforce.team.ui.mergequest.tasks">
         </viewShortcut>
         <viewShortcut
               id="org.eclipse.gef.ui.palette_view">
         </viewShortcut>
         <viewShortcut
               id="com.perforce.team.ui.DepotView">
         </viewShortcut>
         <viewShortcut
               id="com.perforce.team.ui.PendingChangelistView">
         </viewShortcut>
         <viewShortcut
               id="org.eclipse.team.sync.views.SynchronizeView">
         </viewShortcut>
         <viewShortcut
               id="com.perforce.team.ui.BranchesView">
         </viewShortcut>
      </perspectiveExtension>
      <perspectiveExtension
            targetID="com.perforce.team.ui.perforcePerspective">
         <perspectiveShortcut
               id="com.perforce.team.ui.mergequest.perspective">
         </perspectiveShortcut>
      </perspectiveExtension>
      <perspectiveExtension
            targetID="com.perforce.team.ui.text.timelapse.perspective">
         <perspectiveShortcut
               id="com.perforce.team.ui.mergequest.perspective">
         </perspectiveShortcut>
      </perspectiveExtension>
   </extension>
   <extension
         point="org.eclipse.ui.themes">
      <themeElementCategory
            id="com.perforce.team.ui.mergequest.themeElementCategory"
            label="%ThemeElementCategory.label">
         <description>
            %ThemeElementCategory.description
         </description>
      </themeElementCategory>
      <colorDefinition
            categoryId="com.perforce.team.ui.mergequest.themeElementCategory"
            id="com.perforce.team.ui.mergequest.foreground.grid"
            isEditable="true"
            label="%GridForegroundColorDefinition.label"
            value="245,245,245">
         <description>
            %GridForegroundColorDefinition.description
         </description>
      </colorDefinition>
      <colorDefinition
            categoryId="com.perforce.team.ui.mergequest.themeElementCategory"
            id="com.perforce.team.ui.mergequest.background.graph"
            isEditable="true"
            label="%GraphBackgroundColorDefinition.label"
            value="255,255,255">
         <description>
            %GraphBackgroundColorDefinition.description
         </description>
      </colorDefinition>
      <colorDefinition
            categoryId="com.perforce.team.ui.mergequest.themeElementCategory"
            id="com.perforce.team.ui.mergequest.background.branch.development"
            isEditable="true"
            label="%DevelopmentBranchBackgroundColorDefinition.label"
            value="240,240,240">
         <description>
            %DevelopmentBranchBackgroundColorDefinition.description
         </description>
      </colorDefinition>
      <colorDefinition
            categoryId="com.perforce.team.ui.mergequest.themeElementCategory"
            id="com.perforce.team.ui.mergequest.foreground.branch.development"
            label="%DevelopmentBranchForegroundColorDefinition.label"
            value="0,0,0">
         <description>
            %DevelopmentBranchForegroundColorDefinition.description
         </description>
      </colorDefinition>
      <colorDefinition
            categoryId="com.perforce.team.ui.mergequest.themeElementCategory"
            id="com.perforce.team.ui.mergequest.outline.branch.development"
            isEditable="true"
            label="%DevelopmentBranchOutlineColorDefinition.label"
            value="192,192,192">
         <description>
            %DevelopmentBranchOutlineColorDefinition.description
         </description>
      </colorDefinition>
      <fontDefinition
            categoryId="com.perforce.team.ui.mergequest.themeElementCategory"
            defaultsTo="org.eclipse.jface.dialogfont"
            id="com.perforce.team.ui.mergequest.font.branch.development"
            isEditable="true"
            label="%DevelopmentBranchFontDefinition.label">
         <description>
            %DevelopmentBranchFontDefinition.description
         </description>
      </fontDefinition>
      <colorDefinition
            categoryId="com.perforce.team.ui.mergequest.themeElementCategory"
            id="com.perforce.team.ui.mergequest.background.branch.main"
            isEditable="true"
            label="%MainBranchBackgroundColorDefinition.label"
            value="224,240,240">
         <description>
            %MainBranchBackgroundColorDefinition.description
         </description>
      </colorDefinition>
      <colorDefinition
            categoryId="com.perforce.team.ui.mergequest.themeElementCategory"
            id="com.perforce.team.ui.mergequest.foreground.branch.main"
            label="%MainBranchForegroundColorDefinition.label"
            value="0,0,0">
         <description>
            %MainBranchForegroundColorDefinition.description
         </description>
      </colorDefinition>
      <colorDefinition
            categoryId="com.perforce.team.ui.mergequest.themeElementCategory"
            id="com.perforce.team.ui.mergequest.outline.branch.main"
            isEditable="true"
            label="%MainBranchOutlineColorDefinition.label"
            value="152,200,200">
         <description>
            %MainBranchOutlineColorDefinition.description
         </description>
      </colorDefinition>
      <fontDefinition
            categoryId="com.perforce.team.ui.mergequest.themeElementCategory"
            defaultsTo="org.eclipse.jface.headerfont"
            id="com.perforce.team.ui.mergequest.font.branch.main"
            isEditable="true"
            label="%MainBranchFontDefinition.label">
         <description>
            %MainBranchFontDefinition.description
         </description>
      </fontDefinition>
      <colorDefinition
            categoryId="com.perforce.team.ui.mergequest.themeElementCategory"
            id="com.perforce.team.ui.mergequest.background.branch.release"
            isEditable="true"
            label="%ReleaseBranchBackgroundColorDefinition.label"
            value="248,240,192">
         <description>
            %ReleaseBranchBackgroundColorDefinition.description
         </description>
      </colorDefinition>
      <colorDefinition
            categoryId="com.perforce.team.ui.mergequest.themeElementCategory"
            id="com.perforce.team.ui.mergequest.foreground.branch.release"
            label="%ReleaseBranchForegroundColorDefinition.label"
            value="0,0,0">
         <description>
            %ReleaseBranchForegroundColorDefinition.description
         </description>
      </colorDefinition>
      <colorDefinition
            categoryId="com.perforce.team.ui.mergequest.themeElementCategory"
            id="com.perforce.team.ui.mergequest.outline.branch.release"
            isEditable="true"
            label="%ReleaseBranchOutlineColorDefinition.label"
            value="224,168,64">
         <description>
            %ReleaseBranchOutlineColorDefinition.description
         </description>
      </colorDefinition>
      <fontDefinition
            categoryId="com.perforce.team.ui.mergequest.themeElementCategory"
            defaultsTo="org.eclipse.jface.dialogfont"
            id="com.perforce.team.ui.mergequest.font.branch.release"
            isEditable="true"
            label="%ReleaseBranchFontDefinition.label">
         <description>
            %ReleaseBranchFontDefinition.description
         </description>
      </fontDefinition>
      <colorDefinition
            categoryId="com.perforce.team.ui.mergequest.themeElementCategory"
            id="com.perforce.team.ui.mergequest.background.mapping"
            isEditable="true"
            label="%ConnectorBackgroundColorDefinition.label"
            value="255,255,255">
         <description>
            %ConnectorBackgroundColorDefinition.description.10
         </description>
      </colorDefinition>
      <colorDefinition
            categoryId="com.perforce.team.ui.mergequest.themeElementCategory"
            id="com.perforce.team.ui.mergequest.foreground.mapping.disabled"
            isEditable="true"
            label="%DisabledConnectorForegroundColorDefinition.label"
            value="175,175,175">
         <description>
            %DisabledConnectorForegroundColorDefinition.description
         </description>
      </colorDefinition>
      <colorDefinition
            categoryId="com.perforce.team.ui.mergequest.themeElementCategory"
            id="com.perforce.team.ui.mergequest.foreground.mapping.enabled"
            isEditable="true"
            label="%EnabledConnectorForegroundColorDefinition.label"
            value="88,120,168">
         <description>
            %EnabledConnectorForegroundColorDefinition.description
         </description>
      </colorDefinition>
      <fontDefinition
            categoryId="com.perforce.team.ui.mergequest.themeElementCategory"
            defaultsTo="org.eclipse.jface.dialogfont"
            id="com.perforce.team.ui.mergequest.font.mapping"
            isEditable="true"
            label="%ConnectorFontDefinition.label">
         <description>
            %ConnectorFontDefinition.description
         </description>
      </fontDefinition>
      <colorDefinition
            categoryId="com.perforce.team.ui.mergequest.themeElementCategory"
            id="com.perforce.team.ui.mergequest.background.mapping.count"
            isEditable="true"
            label="%ConnectorChangelistCountColorDefinition.label"
            value="255,255,255">
         <description>
            %ConnectorChangelistCountColorDefinition.description
         </description>
      </colorDefinition>
      <colorDefinition
            categoryId="com.perforce.team.ui.mergequest.themeElementCategory"
            id="com.perforce.team.ui.mergequest.outline.mapping.count"
            isEditable="true"
            label="%ConnectorChangelistCountOutlineColorDefinition.label"
            value="255,255,255">
         <description>
            %ConnectorChangelistCountOutlineColorDefinition.description
         </description>
      </colorDefinition>
      <fontDefinition
            categoryId="com.perforce.team.ui.mergequest.themeElementCategory"
            defaultsTo="org.eclipse.jface.dialogfont"
            id="com.perforce.team.ui.mergequest.font.mapping.count"
            isEditable="true"
            label="%ConnectorChangelistCountFontDefinition.label">
         <description>
            %ConnectorChangelistCountFontDefinition.description
         </description>
      </fontDefinition>
   </extension>
   <extension
         point="org.eclipse.core.runtime.preferences">
      <initializer
            class="com.perforce.team.ui.mergequest.preferences.PreferenceInitializer">
      </initializer>
   </extension>
   <extension
         point="com.perforce.team.ui.mergequest.elementDescriptors">
      <element
            icon="icons/branch_main.png"
            important="true"
            name="branch"
            type="main">
         <createDescription>
            Add a main codeline
         </createDescription>
      </element>
      <element
            icon="icons/branch_dev.png"
            important="false"
            name="branch"
            type="development">
         <createDescription>
            Add a development codeline
         </createDescription>
      </element>
      <element
            icon="icons/branch_staging.png"
            name="branch"
            type="release">
         <createDescription>
            Add a release codeline
         </createDescription>
      </element>
   </extension>
   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            category="com.perforce.team.ui.dialogs.GeneralPreferencesDialog"
            class="com.perforce.team.ui.mergequest.preferences.GeneralPreferencePage"
            id="com.perforce.team.ui.mergequest.general"
            name="%GeneralPreferencePage">
      </page>
   </extension>
   <extension
         point="org.eclipse.ui.actionSets">
      <actionSet
            description="%MergeQuestActionSet.description"
            id="com.perforce.team.ui.mergequest.actionSet"
            label="%MergeQuestActionSet.label">
         <action
               class="com.perforce.team.ui.mergequest.actions.OpenBranchGraphAction"
               definitionId="com.perforce.team.ui.mergequest.command.open"
               icon="icons/branchgraph_main_editor.png"
               id="com.perforce.team.ui.mergequest.open"
               label="%OpenBranchGraphLabel"
               menubarPath="perforce.main/group5"
               style="push"
               toolbarPath="perforce.main">
         </action>
      </actionSet>
   </extension>
   <extension
         point="org.eclipse.ui.commands">
      <command
            categoryId="com.perforce.team.ui.commands"
            defaultHandler="com.perforce.team.ui.mergequest.actions.OpenBranchGraphAction"
            id="com.perforce.team.ui.mergequest.command.open"
            name="%OpenBranchGraphLabel">
      </command>
   </extension>
</plugin>
