<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at
  
  http://www.apache.org/licenses/LICENSE-2.0
  
  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
-->
<?eclipse version="3.2"?>
<plugin>
  <extension-point id="ldapServerAdapters" name="LDAP Server Adapters" schema="resources/ldapServerAdapters.exsd"/>

  <extension
      point="org.eclipse.ui.views">
    <category
        id="org.apache.directory.studio.ldapservers.view.category"
        name="%View_ServersView_name" />
    <view
        category="org.apache.directory.studio.ldapservers.view.category"
        class="org.apache.directory.studio.ldapservers.views.ServersView"
        icon="resources/icons/servers_view.gif"
        id="org.apache.directory.studio.ldapservers.views.ServersView"
        name="%View_ServersView_name"/>
  </extension>

  <extension
      point="org.eclipse.ui.perspectiveExtensions">
    <perspectiveExtension
        targetID="org.apache.directory.studio.ldapbrowser.ui.perspective.BrowserPerspective">
      <view
          closeable="true"
          id="org.apache.directory.studio.ldapservers.views.ServersView"
          minimized="false"
          moveable="true"
          relationship="stack"
          relative="org.apache.directory.studio.ldapbrowser.ui.views.connection.ConnectionView"
          showTitle="true"
          visible="true">
      </view>
    </perspectiveExtension>
  </extension>

  <extension
      point="org.eclipse.ui.propertyPages">
    <page
        class="org.apache.directory.studio.ldapservers.properties.ServerPropertyPage"
        id="org.apache.directory.studio.ldapservers.properties.ServerPropertyPage"
        name="Info">
      <enabledWhen>
        <instanceof value="org.apache.directory.studio.ldapservers.model.LdapServer"/>
      </enabledWhen>
    </page>

    <page
        class="org.apache.directory.studio.ldapservers.properties.ServerPropertyConfigurationPage"
        id="org.apache.directory.studio.ldapservers.properties.ServerPropertyConfigurationPage"
        category="org.apache.directory.studio.ldapservers.properties.ServerPropertyPage"
        name="Configuration">
      <enabledWhen>
        <instanceof value="org.apache.directory.studio.ldapservers.model.LdapServer"/>
      </enabledWhen>
      <filter name="hasConfigurationPage" value="true"/> 
    </page>
  </extension>

  <extension
      point="org.eclipse.ui.commands">
    <category
        id="%Cmd_Category_id"
        name="%Cmd_Category_name">
    </category>
    
    <command
        categoryId="%Cmd_Category_id"
        description="%Cmd_NewServer_description"
        id="%Cmd_NewServer_id"
        name="%Cmd_NewServer_name">
    </command>

    <command
        categoryId="%Cmd_Category_id"
        description="%Cmd_Delete_description"
        id="%Cmd_Delete_id"
        name="%Cmd_Delete_name">
    </command>

    <command
        categoryId="%Cmd_Category_id"
        description="%Cmd_Rename_description"
        id="%Cmd_Rename_id"
        name="%Cmd_Rename_name">
    </command>

    <command
        categoryId="%Cmd_Category_id"
        description="%Cmd_Start_description"
        id="%Cmd_Start_id"
        name="%Cmd_Start_name">
    </command>

    <command
        categoryId="%Cmd_Category_id"
        description="%Cmd_Stop_description"
        id="%Cmd_Stop_id"
        name="%Cmd_Stop_name">
    </command>

    <command
        categoryId="%Cmd_Category_id"
        description="%Cmd_Properties_description"
        id="%Cmd_Properties_id"
        name="%Cmd_Properties_name">
    </command>

    <command
        categoryId="%Cmd_Category_id"
        description="%Cmd_OpenConfiguration_description"
        id="%Cmd_OpenConfiguration_id"
        name="%Cmd_OpenConfiguration_name">
    </command>
  </extension>

  <extension
      point="org.eclipse.ui.contexts">
    <context
        description="%Ctx_ServersView_description"
        id="%Ctx_ServersView_id"
        name="%Ctx_ServersView_name"
        parentId="org.eclipse.ui.contexts.window">
    </context>
  </extension>

  <extension
      point="org.eclipse.ui.bindings">
    <key
        commandId="%Cmd_NewServer_id"
        contextId="%Ctx_ServersView_id"
        schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
        sequence="M1+E"/>

    <key
        commandId="%Cmd_Delete_id"
        contextId="%Ctx_ServersView_id"
        schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
        sequence="DEL"/>

    <key
        commandId="%Cmd_Rename_id"
        contextId="%Ctx_ServersView_id"
        schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
        sequence="F2"/>

    <key
        commandId="%Cmd_Start_id"
        contextId="%Ctx_ServersView_id"
        schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
        sequence="M1+R"/>

    <key
        commandId="%Cmd_Stop_id"
        contextId="%Ctx_ServersView_id"
        schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
        sequence="M1+T"/>

    <key
        commandId="%Cmd_Properties_id"
        contextId="%Ctx_ServersView_id"
        schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
        sequence="ALT+RETURN"/>

    <key
        commandId="%Cmd_OpenConfiguration_id"
        contextId="%Ctx_ServersView_id"
        schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
        sequence="F3"/>
  </extension>
</plugin>
