InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ISupportedEvents Class Referenceabstract

#include <ISupportedEvents.h>

Inheritance diagram for ISupportedEvents:
IPMUnknownCPMUnknown< ISupportedEvents >ActionSupportedEvents< int32 >FormFieldSupportedEvents< int32 >NoSupportedEvents< int32 >

Public Types

enum  { kDefaultIID = IID_ISUPPORTEDEVENTS }
 

Public Member Functions

virtual bool16 SupportsMouseEvents () const =0
 
virtual bool16 SupportsFocusEvents () const =0
 
virtual bool16 SupportsPageEvents () const =0
 
virtual bool16 SupportsFormatEvents () const =0
 
virtual bool16 SupportsKeystrokeEvents () const =0
 
virtual bool16 SupportsValidateEvents () const =0
 
virtual bool16 SupportsCalculateEvents () const =0
 
virtual bool16 SupportsSignedEvents () const =0
 
virtual bool16 SupportsSelectionChangedEvents () const =0
 
virtual bool16 SupportsDocumentEvents () const =0
 
- Public Member Functions inherited from IPMUnknown
virtual IPMUnknownQueryInterface (PMIID interfaceID) const =0
 
virtual void AddRef () const =0
 
virtual void Release () const =0
 

Detailed Description

Interface that declares whether a class of events is appropriate for a boss. This is used by Form Fields and Documents, to declare which events can be in the behavior list, and thus have actions attached to them. For example, a button does not support calculate or format events (it has no value to view or change), but a text field does.

It is also used by behavior bosses, so they can declare what events are appropriate for their actions. For example, a formula action is only appropriate as a response for a calculate event

This is mostly for the benefit of the UI, so that it can build an appropriate list of events and actions when adding behaviors to items (eg form fields).

To ensure 3-way extensibility of form fields, events and actions, This interface is only to be called indirectly by a SupportedEventsService. This service has one method, IsEventSupported, that takes an event and a boss. If any service reports true for an event/boss pair then that event is considered to be supported.

See Also
ISupportedEventsService

Member Function Documentation

virtual bool16 ISupportedEvents::SupportsFocusEvents () const
pure virtual
virtual bool16 ISupportedEvents::SupportsMouseEvents () const
pure virtual
virtual bool16 ISupportedEvents::SupportsPageEvents () const
pure virtual

Supports PageOpen/Close. Note these are allowed on buttons, since we don't have a way to attach events,actions to pages.

Implemented in NoSupportedEvents< int32 >, ActionSupportedEvents< int32 >, and FormFieldSupportedEvents< int32 >.