Activity Support

Identifier:
org.eclipse.ui.activitySupport

Since:
3.1

Description:

This extension point is used to register various support extensions relating to the activities infrastucture.

Configuration Markup:

<!ELEMENT extension (triggerPoint | triggerPointAdvisor | triggerPointAdvisorProductBinding | categoryImageBinding | activityImageBinding)*>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED

>


<!ELEMENT triggerPoint (hint*)>

<!ATTLIST triggerPoint

id CDATA #REQUIRED

>

Specifies a trigger point. A trigger point is an identifer that is used by the activity engine to determine whether or not an action should cause the enablement of activities.



<!ELEMENT hint EMPTY>

<!ATTLIST hint

id    CDATA #REQUIRED

value CDATA #REQUIRED

>

A hint represents some data that may be used by the eclipse infrastructure to determine the behaviour of the activity support relating to the hosting trigger point.

The following hints are "well known" and it is expected that trigger point advisors acknowledge them:

interactive
Whether this trigger point is hint in an "interactive" way. Ie: it is the explicit result of an action undertaken by the user such as activating a wizard in the wizard dialog. Accepted values are true and false



<!ELEMENT triggerPointAdvisor EMPTY>

<!ATTLIST triggerPointAdvisor

id    CDATA #REQUIRED

class CDATA #REQUIRED

>

A trigger point advisor is a policy mechanism that is consulted whenever the system undertakes an action that has disabled activities associated with it. It is the advisors responsibility to answer whether an action should proceed, and if it can, what activities to enable.



<!ELEMENT triggerPointAdvisorProductBinding EMPTY>

<!ATTLIST triggerPointAdvisorProductBinding

productId             CDATA #REQUIRED

triggerPointAdvisorId IDREF #REQUIRED

>

Specifies a binding between a product and an advisor. These bindings determine which advisor is appropriate for the current product (as defined by org.eclipse.core.runtime.Platform.getProduct()).



<!ELEMENT categoryImageBinding EMPTY>

<!ATTLIST categoryImageBinding

id   IDREF #REQUIRED

icon CDATA #REQUIRED

>

This element allows binding of icons to categories These icons may be used by user interface components that wish to visualize categories in some way.



<!ELEMENT activityImageBinding EMPTY>

<!ATTLIST activityImageBinding

id   IDREF #REQUIRED

icon CDATA #REQUIRED

>

This element allows binding of icons to activities. These icons may be used by user interface components that wish to visualize activities in some way.



Examples:
The following is an example of a non-interactive trigger point:


  <extension point="org.eclipse.ui.activitySupport">
     <triggerPoint
        id="com.example.xyz.myTriggerPoint">
        <hint id="interactive" 
              value="false" />
     </triggerPoint>
  </extension>

The following is an example of a trigger point advisor bound to a particular product:


  <extension point="org.eclipse.ui.activitySupport">
     <triggerPointAdvisor
        id="com.example.xyz.myTriggerPointAdvisor" 
        class="com.example.xyz.AdvisorImpl"/>
     <triggerPointAdvisorProductBinding 
      productId="myProduct"
      triggerPointAdvisorId="com.example.xyz.myTriggerPointAdvisor" />
  </extension>

The following is an example of binding images to activities and categories:


  <extension point="org.eclipse.ui.activitySupport">
    <activityImageBinding
       id="some.activity.id"
       icon="icons/someIcon.gif"/>    
    <categoryImageBinding
       id="some.category.id"
       icon="icons/someIcon.gif"/>
  </extension>

API Information:
The value of the class attribute of the triggerPointAdvisor tag must be the fully qualified name of a class that implements the org.eclipse.ui.activities.ITriggerPointAdvisor.

Supplied Implementation:
The workbench implementation (org.eclipse.ui.activities.WorkbenchTriggerPointAdvisor) is available for clients to subclass and reuse.


Copyright (c) 2005 IBM Corporation and others.
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