<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
/**
 *************************************************************************
 * Copyright (c) 2006, 2008 Actuate Corporation.
 * 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:
 *  Actuate Corporation - initial API and implementation
 *  
 *************************************************************************
 *
 * $Id: plugin.xml,v 1.13 2008/02/21 05:01:55 lchan Exp $
 */
-->

<plugin>

   <extension-point id="dataSource" name="Open Data Access Designer UI Extension Point" schema="schema/datasource.exsd"/>
   <extension
         point="org.eclipse.datatools.connectivity.connectionProfile">
      <category
            id="%oda.parent.category.id"
            name="%oda.parent.category.name"/>
   </extension>
   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            category="org.eclipse.datatools.connectivity.internal.ui.preferences.DataToolsMainPage"
            class="org.eclipse.datatools.connectivity.oda.design.internal.ui.preferences.OpenDataAccessPage"
            id="org.eclipse.datatools.connectivity.oda.design.ui.preferences.OpenDataAccessPage"
            name="%oda.preference.page.name"/>
   </extension>
   <extension
         point="org.eclipse.ui.navigator.viewer">
      <viewerActionBinding
            viewerId="org.eclipse.datatools.connectivity.DataSourceExplorerNavigator">
         <includes>
            <actionExtension
                  pattern="org.eclipse.datatools.connectivity.oda.design.ui.dse.actionExtension">
            </actionExtension>
         </includes>
      </viewerActionBinding>
   </extension>
   <extension
         point="org.eclipse.ui.navigator.navigatorContent">
      <actionProvider
            class="org.eclipse.datatools.connectivity.oda.design.internal.ui.profile.filter.OdaProfileActionProvider"
            id="org.eclipse.datatools.connectivity.oda.design.ui.dse.actionExtension"
            overrides="org.eclipse.datatools.connectivity.ui.dse.actions.ProfileActionsActionProvider"
            priority="normal">
         <enablement>
            <and>
               <instanceof
                     value="org.eclipse.datatools.connectivity.ICategory">
               </instanceof>
               <or>
                  <test
                        property="org.eclipse.datatools.connectivity.category.property.categoryID"
                        value="org.eclipse.datatools.connectivity.db.category">
                  </test>
                  <test
                        property="org.eclipse.datatools.connectivity.category.property.categoryID"
                        value="%oda.parent.category.id">
                  </test></or>
            </and>
         </enablement>
      </actionProvider>
   </extension>
   <extension
         point="org.eclipse.ui.handlers">
      <handler
            class="org.eclipse.datatools.connectivity.oda.design.internal.ui.profile.filter.NewProfileAction"
            commandId="org.eclipse.datatools.connectivity.commands.addprofile">
         <activeWhen>
            <with
                  variable="activePartId">
               <equals
                     value="org.eclipse.datatools.connectivity.DataSourceExplorerNavigator">
               </equals>
            </with>
         </activeWhen>
         <enabledWhen>
            <with
                  variable="activePartId">
               <equals
                     value="org.eclipse.datatools.connectivity.DataSourceExplorerNavigator">
               </equals>
            </with>
         </enabledWhen>
      </handler>
   </extension>

</plugin>
