3ds Max C++ API Reference
ActionTable Class Reference

A table of action items that can be used by plug-ins to export tables of action items that can be used by the UI to attach to keyboard shortcuts, assigned to toolbar buttons, and add to menus. More...

#include <actiontable.h>

+ Inheritance diagram for ActionTable:

Public Types

enum  ActionTableFps {
  kGetId , kGetName , kGetContextId , kGetContextName ,
  kNumActionItems , kGetActionItem
}
 
- Public Types inherited from BaseInterface
enum  LifetimeType { noRelease , immediateRelease , wantsRelease , serverControlled }
 

Public Member Functions

CoreExport ActionTable (ActionTableId id, ActionContextId contextId, const MSTR &name, HACCEL hDefaults, int numIds, ActionDescription *pOps, HINSTANCE hInst)
 This constructor builds the action table using an array of descriptors. More...
 
CoreExport ActionTable (ActionTableId id, ActionContextId contextId, const MSTR &name)
 This constructor builds a new empty action table with the given ID, context ID and name. More...
 
virtual CoreExport ~ActionTable ()
 Deletes all the operations maintained by the table and deletes the keyboard accelerator table if in use. More...
 
virtual CoreExport MSTRGetName ()
 Returns the name of the action table. More...
 
virtual CoreExport ActionTableId GetId ()
 Returns the ActionTableID. More...
 
virtual CoreExport ActionContextId GetContextId ()
 Returns the ActionContextId. More...
 
virtual CoreExport ActionCallbackGetCallback ()
 Get the current callback associated with this table. More...
 
virtual CoreExport void SetCallback (ActionCallback *pCallback)
 Sets the callback object used by this ActionTable. More...
 
virtual CoreExport int Count ()
 Returns the number of ActionItems in the table. More...
 
virtual CoreExport ActionItemoperator[] (int i)
 Returns a pointer to the nth ActionItem. More...
 
virtual CoreExport ActionItemGetAction (int cmdId)
 Returns a pointer to the ActionItem associated with the command ID passed. More...
 
virtual CoreExport ActionItemGetActionByIndex (int index)
 Returns a pointer to the nth ActionItem using the same algorithm as the operator[]. More...
 
virtual CoreExport void AppendOperation (ActionItem *pAction)
 Appends an ActionItem to the table. More...
 
virtual CoreExport BOOL DeleteOperation (ActionItem *pAction)
 Removes an operation from the table. More...
 
virtual CoreExport void DeleteThis ()
 Deletes this ActionItem. More...
 
virtual CoreExport BOOL GetButtonText (int cmdId, MSTR &buttonText)
 Retrieves the text that will be used when the ActionItem is on a text button. More...
 
virtual CoreExport BOOL GetMenuText (int cmdId, MSTR &menuText)
 Retrieves the text to use when the item is on a menu (either Quad menu or main menu bar). More...
 
virtual CoreExport BOOL GetDescriptionText (int cmdId, MSTR &descText)
 Retrieves the text that is used for tool tips and menu help. More...
 
virtual CoreExport BOOL IsChecked (int cmdId)
 Returns TRUE if the menu item should be checked or a CUI button should be in the pressed state. More...
 
virtual CoreExport BOOL IsIndeterminate (int cmdId)
 Returns TRUE if the menu item should be indeterminate
More...
 
virtual CoreExport BOOL IsItemVisible (int cmdId)
 Determines if an item is to be visible on a menu. More...
 
virtual CoreExport BOOL IsEnabled (int cmdId)
 Determines if the operation is currently enabled and available. More...
 
virtual CoreExport void WritePersistentActionId (int cmdId, MSTR &outIdString)
 Converts an action item identifier to a string representation The textual representation of action item ids are used in .CUI and .KBD files. More...
 
virtual CoreExport int ReadPersistentActionId (const MSTR &idString)
 Converts an action table string id to the action items numeric id. More...
 
virtual int ReadPersistentActionId (MSTR &idString) MAX_SEALED
 
virtual CoreExport MaxIconGetIcon (int cmdId)
 Returns an optional icon for the command, or NULL if there is none. More...
 
CoreExport void BuildActionTable (HACCEL hDefaults, int numIds, ActionDescription *pOps, HINSTANCE hInst)
 Fills the action table with the given action descriptions. More...
 
virtual CoreExport ActionItemGetCurrentAssignment (ACCEL accel)
 Gets the action assigned to the given accelerator, if any. More...
 
virtual CoreExport void AssignKey (int cmdId, ACCEL accel)
 Assigns the command to the given accelerator. More...
 
virtual CoreExport void RemoveShortcutFromTable (ACCEL accel)
 Removes the given assignment from the shortcut table. More...
 
CoreExport FPInterfaceDescGetDescByID (Interface_ID id)
 
CoreExport FPInterfaceDescGetDesc ()
 
virtual CoreExport BaseInterfaceGetInterface (Interface_ID id)
 
virtual CoreExport Interface_ID GetID ()
 
Keyboard Accelerator Functions
virtual CoreExport HACCEL GetHAccel ()
 Returns the handle of the current keyboard accelerator for the table. More...
 
virtual CoreExport void SetHAccel (HACCEL hAccel)
 Sets the current keyboard accelerator for the table. More...
 
virtual CoreExport HACCEL GetDefaultHAccel ()
 Gets the default keyboard accelerator table used when the user has not assigned any accelerators. More...
 
virtual CoreExport void SetDefaultHAccel (HACCEL accel)
 Sets the default keyboard accelerator table used when the user has not assigned any accelerators. More...
 
- Public Member Functions inherited from FPMixinInterface
 FPMixinInterface ()
 
virtual LifetimeType LifetimeControl ()
 
virtual CoreExport bool RegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual void UnRegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
CoreExport ~FPMixinInterface ()
 
- Public Member Functions inherited from FPInterface
virtual CoreExport FPStatus Invoke (FunctionID fid, TimeValue t=0, FPParams *params=NULL)
 
virtual FPStatus Invoke (FunctionID fid, FPParams *params)
 
virtual CoreExport FPStatus Invoke (FunctionID fid, TimeValue t, FPValue &result, FPParams *params=NULL)
 
virtual FPStatus Invoke (FunctionID fid, FPValue &result, FPParams *params=NULL)
 
virtual CoreExport FunctionID FindFn (const MCHAR *name)
 
virtual CoreExport BOOL IsEnabled (FunctionID actionID)
 
virtual CoreExport BOOL IsChecked (FunctionID actionID)
 
virtual CoreExport BOOL IsVisible (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsEnabled (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsChecked (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsVisible (FunctionID actionID)
 
virtual ActionTableGetActionTable ()
 
virtual void EnableActions (BOOL onOff)
 
- Public Member Functions inherited from BaseInterface
virtual UtilExport ~BaseInterface ()
 Destructor. More...
 
virtual BaseInterfaceAcquireInterface ()
 
virtual void ReleaseInterface ()
 
virtual void DeleteInterface ()
 
virtual BaseInterfaceCloneInterface (void *remapDir=nullptr)
 
- Public Member Functions inherited from InterfaceServer
virtual UtilExport ~InterfaceServer ()
 Destructor. More...
 
template<class InterfaceType >
InterfaceType * GetTypedInterface ()
 

Protected Member Functions

 RO_PROP_FN (kGetId, GetId, TYPE_DWORD)
 
 RO_PROP_FN (kGetName, GetName, TYPE_STRING)
 
 RO_PROP_FN (kGetContextId, GetContextId, TYPE_DWORD)
 
 RO_PROP_FN (kGetContextName, fpGetContextName, TYPE_STRING)
 
 RO_PROP_FN (kNumActionItems, Count, TYPE_INT)
 
 FN_1 (kGetActionItem, TYPE_INTERFACE, GetActionByIndex, TYPE_INDEX)
 
CoreExport const MCHARfpGetContextName () const
 Used internally by Function Publishing. More...
 
- Protected Member Functions inherited from FPMixinInterface
 FPMixinInterface (const FPMixinInterface &rhs)
 
FPMixinInterfaceoperator= (const FPMixinInterface &rhs)
 
- Protected Member Functions inherited from FPInterface
virtual FPStatus _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p)
 
- Protected Member Functions inherited from Noncopyable
 Noncopyable ()
 
 ~Noncopyable ()
 

Protected Attributes

Tab< ActionItem * > mOps
 
- Protected Attributes inherited from FPMixinInterface
Tab< InterfaceNotifyCallback * > * interfaceNotifyCBs
 

Additional Inherited Members

- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary. More...
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary. More...
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
 
- Static Public Attributes inherited from FPInterface
static CoreExport FPInterfaceDesc nullInterface
 

Detailed Description

A table of action items that can be used by plug-ins to export tables of action items that can be used by the UI to attach to keyboard shortcuts, assigned to toolbar buttons, and add to menus.

3ds Max's core code exports several ActionTables for built-in operations in 3ds Max. Plug-ins can also export their own action tables via methods available in ClassDesc.

Every ActionTable also has an ActionContextId associated with it. This ActionContextId can be shared with other tables. When assigning keyboard shortcuts to items in an ActionTable, tables that share a unique context id are forced to have unique shortcuts. Tables with different context ids can have overlapping keyboard shortcut assignments.

All methods of this class are implemented by the system. Note that this class may be sub-classed if required and that many functions can be overridden. See the topic Action System for details on sub-classing this class and ActionItem. For details on implementing an ActionTable please refer to the sample at /maxsdk/samples/modifiers/ffd.

Version
4.0
See also
Class FPMixinInterface, Class ClassDesc, Structure ActionDescription, Class ActionItem, Class ActionCallback, Class ActionContext, Class IActionManager, Class DynamicMenu, Class DynamicMenuCallback, Class Interface.

Member Enumeration Documentation

◆ ActionTableFps

Enumerator
kGetId 
kGetName 
kGetContextId 
kGetContextName 
kNumActionItems 
kGetActionItem 
675  {
676  kGetId,
677  kGetName,
682  };
@ kGetContextId
Definition: actiontable.h:678
@ kGetContextName
Definition: actiontable.h:679
@ kGetId
Definition: actiontable.h:676
@ kGetActionItem
Definition: actiontable.h:681
@ kNumActionItems
Definition: actiontable.h:680
@ kGetName
Definition: actiontable.h:677

Constructor & Destructor Documentation

◆ ActionTable() [1/2]

CoreExport ActionTable ( ActionTableId  id,
ActionContextId  contextId,
const MSTR name,
HACCEL  hDefaults,
int  numIds,
ActionDescription pOps,
HINSTANCE  hInst 
)

This constructor builds the action table using an array of descriptors.

It takes the ID of the table, the context id, a name for the table, a windows accelerator table that gives default keyboard assignments for the operations, the number of items, the table of operation descriptions, and the instance of the module where the string resources in the table are stored. When the action table is constructed the action context ID must be registered with the system using the IActionManager::RegisterActionContext() method.

Parameters
idA unique ID for the ActionTable. Every ActionTable has a unique 32-bit integer ID. For new tables exported by plug-ins, the developer should choose a random 32-bit integer. You can use one of the two DWORDS generated by the gencid.exe program as an ActionTableId.
contextIdThe ActionContextID associated with this table. Several tables may share the same ActionContextID.
nameThe name for the ActionTable.
hDefaultsThe handle of the a windows accelerator table that gives default keyboard assignments for the operations.
numIdsThe number of items in the description array
pOpsPoints to the array of the operator descriptors.
hInstThe handle to the instance of the module where the string resources in the array of operator descriptors are stored.

◆ ActionTable() [2/2]

CoreExport ActionTable ( ActionTableId  id,
ActionContextId  contextId,
const MSTR name 
)

This constructor builds a new empty action table with the given ID, context ID and name.

You then need to add ActionItems to the table separately using the AppendOperation() method.

Parameters
idThe unique ID for the ActionTable.
contextIdThe ActionContextID associated with this table. Several tables may share the same ActionContextID.
nameThe name for the ActionTable.

◆ ~ActionTable()

virtual CoreExport ~ActionTable ( )
virtual

Deletes all the operations maintained by the table and deletes the keyboard accelerator table if in use.

Member Function Documentation

◆ GetHAccel()

virtual CoreExport HACCEL GetHAccel ( )
virtual

Returns the handle of the current keyboard accelerator for the table.

◆ SetHAccel()

virtual CoreExport void SetHAccel ( HACCEL  hAccel)
virtual

Sets the current keyboard accelerator for the table.

◆ GetDefaultHAccel()

virtual CoreExport HACCEL GetDefaultHAccel ( )
virtual

Gets the default keyboard accelerator table used when the user has not assigned any accelerators.

◆ SetDefaultHAccel()

virtual CoreExport void SetDefaultHAccel ( HACCEL  accel)
virtual

Sets the default keyboard accelerator table used when the user has not assigned any accelerators.

◆ GetName()

virtual CoreExport MSTR& GetName ( )
virtual

Returns the name of the action table.

◆ GetId()

virtual CoreExport ActionTableId GetId ( )
virtual

Returns the ActionTableID.

◆ GetContextId()

virtual CoreExport ActionContextId GetContextId ( )
virtual

Returns the ActionContextId.

◆ GetCallback()

virtual CoreExport ActionCallback* GetCallback ( )
virtual

Get the current callback associated with this table.

Returns NULL if the table is not active.

◆ SetCallback()

virtual CoreExport void SetCallback ( ActionCallback pCallback)
virtual

Sets the callback object used by this ActionTable.


Parameters
pCallbackPoints to the callback to set.

◆ Count()

virtual CoreExport int Count ( )
virtual

Returns the number of ActionItems in the table.

◆ operator[]()

virtual CoreExport ActionItem* operator[] ( int  i)
virtual

Returns a pointer to the nth ActionItem.

Parameters
iThe zero based index in the list of ActionItems.

◆ GetAction()

virtual CoreExport ActionItem* GetAction ( int  cmdId)
virtual

Returns a pointer to the ActionItem associated with the command ID passed.

Parameters
cmdIdThe command ID.

◆ GetActionByIndex()

virtual CoreExport ActionItem* GetActionByIndex ( int  index)
virtual

Returns a pointer to the nth ActionItem using the same algorithm as the operator[].

Parameters
indexThe zero based index of the action.
Returns
A pointer to the ActionItem

◆ AppendOperation()

virtual CoreExport void AppendOperation ( ActionItem pAction)
virtual

Appends an ActionItem to the table.

Parameters
pActionA pointer the ActionItem to append.

◆ DeleteOperation()

virtual CoreExport BOOL DeleteOperation ( ActionItem pAction)
virtual

Removes an operation from the table.

Parameters
pActionPoints to the ActionItem to delete.
Returns
TRUE if the operation was deleted; FALSE if it could not be found and wasn't.

◆ DeleteThis()

virtual CoreExport void DeleteThis ( )
virtual

Deletes this ActionItem.

Default implementation:
{ delete this; }

◆ GetButtonText()

virtual CoreExport BOOL GetButtonText ( int  cmdId,
MSTR buttonText 
)
virtual

Retrieves the text that will be used when the ActionItem is on a text button.

Parameters
cmdIdThe unique ID of the command whose button text is retrieved.
[out]buttonTextThe retrieved text.
Returns
TRUE if the command is in the table; otherwise FALSE.

◆ GetMenuText()

virtual CoreExport BOOL GetMenuText ( int  cmdId,
MSTR menuText 
)
virtual

Retrieves the text to use when the item is on a menu (either Quad menu or main menu bar).

This can be different from the button text.

Parameters
cmdIdThe unique ID of the command whose menu text is retrieved.
menuTextStorage for the text.
Returns
TRUE if the command is in the table; otherwise FALSE.
Default Implementation:
{ return GetButtonText(cmdId, menuText); }
virtual CoreExport BOOL GetButtonText(int cmdId, MSTR &buttonText)
Retrieves the text that will be used when the ActionItem is on a text button.

◆ GetDescriptionText()

virtual CoreExport BOOL GetDescriptionText ( int  cmdId,
MSTR descText 
)
virtual

Retrieves the text that is used for tool tips and menu help.

This is also the string that is displayed for the operation in all the lists in the customization dialogs.

Parameters
cmdIdThe unique ID of the command whose description text is retrieved.
descTextThe retrieved text.
Returns
TRUE if the command is in the table; otherwise FALSE.

◆ IsChecked()

virtual CoreExport BOOL IsChecked ( int  cmdId)
virtual

Returns TRUE if the menu item should be checked or a CUI button should be in the pressed state.

Parameters
cmdIdThe unique ID of the command.
Default Implementation:
{ return FALSE; }

◆ IsIndeterminate()

virtual CoreExport BOOL IsIndeterminate ( int  cmdId)
virtual

Returns TRUE if the menu item should be indeterminate

Parameters
cmdIdThe unique ID of the command.
Default Implementation:
{ return FALSE; }

◆ IsItemVisible()

virtual CoreExport BOOL IsItemVisible ( int  cmdId)
virtual

Determines if an item is to be visible on a menu.

Returns TRUE if visible; FALSE if not.

Parameters
cmdIdThe unique ID of the command.
Default Implementation:
{ return TRUE; }

◆ IsEnabled()

virtual CoreExport BOOL IsEnabled ( int  cmdId)
virtual

Determines if the operation is currently enabled and available.

Returns TRUE if enabled; FALSE if disabled.

Parameters
cmdIdThe unique ID of the command.
Default Implementation:
{ return TRUE; }

◆ WritePersistentActionId()

virtual CoreExport void WritePersistentActionId ( int  cmdId,
MSTR outIdString 
)
virtual

Converts an action item identifier to a string representation The textual representation of action item ids are used in .CUI and .KBD files.

The default implementation is to convert the integer action item ID directly to a string.

Parameters
cmdIdThe unique command or action item ID.
outIdStringThe string where the action item ID is written to.

◆ ReadPersistentActionId() [1/2]

virtual CoreExport int ReadPersistentActionId ( const MSTR idString)
virtual

Converts an action table string id to the action items numeric id.

This method can be used to convert string based action item identifiers read from a .CUI or *.KBD file to a numeric identifier. It's default implementation expects the string passed in as argument to contain one number.

Parameters
idStringThe action ID string.
Returns
Returns -1 if the id could not be converted.

◆ ReadPersistentActionId() [2/2]

virtual int ReadPersistentActionId ( MSTR idString)
inlinevirtual
Deprecated:
Deprecated method in terms of implementation as of 3ds Max 2022 - re-implement with const MSTR& method signature
633 { return ReadPersistentActionId(const_cast<const MSTR&>(idString)); }
virtual CoreExport int ReadPersistentActionId(const MSTR &idString)
Converts an action table string id to the action items numeric id.
Definition: strclass.h:738

◆ GetIcon()

virtual CoreExport MaxIcon* GetIcon ( int  cmdId)
virtual

Returns an optional icon for the command, or NULL if there is none.

Parameters
cmdIdThe unique ID of the command.

◆ BuildActionTable()

CoreExport void BuildActionTable ( HACCEL  hDefaults,
int  numIds,
ActionDescription pOps,
HINSTANCE  hInst 
)

Fills the action table with the given action descriptions.

Parameters
hDefaultsThe handle of the a windows accelerator table that provides keyboard assignments for the operations.
numIdsThe number of ID's to add to the action table.
pOpsThe array of action descriptions to build the table from.
hInstThe handle to the instance of the module.

◆ GetCurrentAssignment()

virtual CoreExport ActionItem* GetCurrentAssignment ( ACCEL  accel)
virtual

Gets the action assigned to the given accelerator, if any.

Parameters
accelThe accelerator key you wish to check the assignment for.

◆ AssignKey()

virtual CoreExport void AssignKey ( int  cmdId,
ACCEL  accel 
)
virtual

Assigns the command to the given accelerator.

Also removes any previous assignment to that accelerator.

Parameters
cmdIdThe command ID.
accelThe accelerator key you wish to assign.

◆ RemoveShortcutFromTable()

virtual CoreExport void RemoveShortcutFromTable ( ACCEL  accel)
virtual

Removes the given assignment from the shortcut table.

Parameters
accelThe accelerator key you wish to remove from the shortcut table.

◆ GetDescByID()

CoreExport FPInterfaceDesc* GetDescByID ( Interface_ID  id)
virtual
Remarks
This method is used to directly implement FPInterface::GetDesc() in your public virtual base mixin class, like this;

FPInterfaceDesc* GetDesc() { return GetDescByID(THIS_INTERFACE_ID); }

Then implement a GetDescByID() in the implementing class to avoid link export issues.
Parameters:
Interface_ID id

The unique interface ID by which to get the FPInterfaceDesc.
Default Implementation:
{ return &nullInterface; }

Reimplemented from FPMixinInterface.

◆ GetDesc()

CoreExport FPInterfaceDesc* GetDesc ( )
virtual
Remarks
Returns a pointer to the class which contains the interface metadata.

Implements FPInterface.

◆ GetInterface()

virtual CoreExport BaseInterface* GetInterface ( Interface_ID  id)
virtual
Remarks
Returns a pointer to the interface whose ID is specified.
Parameters:
Interface_ID id

The ID of the interface to return.
Default Implementation:
{ return NULL; }

Reimplemented from FPMixinInterface.

◆ GetID()

virtual CoreExport Interface_ID GetID ( )
virtual
Remarks
This method overrides GetID() in those interfaces that do not publish metadata but instead have a unique Interface_ID for quick internal identification in implementation code that might be shared by a bunch of mixin interfaces.
Returns
The Interface_ID.
Default Implementation:
{ return GetDesc()->ID; }

Reimplemented from FPMixinInterface.

◆ RO_PROP_FN() [1/5]

RO_PROP_FN ( kGetId  ,
GetId  ,
TYPE_DWORD   
)
protected

◆ RO_PROP_FN() [2/5]

RO_PROP_FN ( kGetName  ,
GetName  ,
TYPE_STRING   
)
protected

◆ RO_PROP_FN() [3/5]

RO_PROP_FN ( kGetContextId  ,
GetContextId  ,
TYPE_DWORD   
)
protected

◆ RO_PROP_FN() [4/5]

RO_PROP_FN ( kGetContextName  ,
fpGetContextName  ,
TYPE_STRING   
)
protected

◆ RO_PROP_FN() [5/5]

RO_PROP_FN ( kNumActionItems  ,
Count  ,
TYPE_INT   
)
protected

◆ FN_1()

FN_1 ( kGetActionItem  ,
TYPE_INTERFACE  ,
GetActionByIndex  ,
TYPE_INDEX   
)
protected

◆ fpGetContextName()

CoreExport const MCHAR* fpGetContextName ( ) const
protected

Used internally by Function Publishing.

Member Data Documentation

◆ mOps

Tab<ActionItem*> mOps
protected