# 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>

- point - a fully qualified identifier of the target extension point
- id - an optional identifier of the extension instance
- name - an optional name of the extension instance

<!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.

- id - a unique identifier for this trigger point

<!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`

- id - a unique identifier for this hint
- value - the value of this hint

<!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.

- id - a unique identifier for this trigger point advisor
- class - a fully qualified name of the class implementing the `org.eclipse.ui.activities.ITriggerPointAdvisor` interface.

<!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()`).

- productId - unique id of a product
- triggerPointAdvisorId - unique id of a trigger point advisor

<!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.

- id - the id of the category to bind an icon to
- icon - the name of the icon that will be used for this category

<!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.

- id - the id of the activity to bind an icon to
- icon - the name of the icon that will be used for this activity

###### 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.png"/>
        <categoryImageBinding
           id="some.category.id"
           icon="icons/someIcon.png"/>
      </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.
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-v20.html/ SPDX-License-Identifier: EPL-2.0