struct CCL::ICommandTable

Overview

Command Table - Access singleton instance via System::GetCommandTable () More…

#include <icommandtable.h>

struct ICommandTable: public CCL::IUnknown
{
    // enums

    enum CommandLoadHint;

    // fields

    int loadHint = 0;

    // methods

    DECLARE_STRINGID_MEMBER (kCommandsLoaded);
    virtual tbool CCL_API loadBlocklist (UrlRef path) = 0;
    virtual tbool CCL_API saveCommands (UrlRef path) const = 0;
    virtual StringRef CCL_API getActiveSchemeName (tbool* modified = nullptr) const = 0;
    virtual const FileType&CCL_API getCommandFileType () const = 0;
    virtual void CCL_API addHandler (ICommandHandler* handler) = 0;
    virtual void CCL_API removeHandler (ICommandHandler* handler) = 0;

    virtual tbool CCL_API performCommand (
        const CommandMsg& msg,
        tbool deferred = false
    ) = 0;

    virtual IParameter*CCL_API getCommandParam (
        StringID category,
        StringID name,
        tbool create = true
    ) = 0;

    virtual void CCL_API registerCommand (const CommandDescription& description) = 0;
    virtual ICommand*CCL_API findCommand (StringID category, StringID name) const = 0;
    virtual IUnknownIterator*CCL_API newCommandIterator () const = 0;
    virtual IUnknownIterator*CCL_API newCategoryIterator () const = 0;
    virtual void CCL_API unregisterCommand (StringID category, StringID name) = 0;
    virtual void CCL_API assignKey (ICommand& command, const KeyEvent& key) = 0;
    virtual IUnknownIterator*CCL_API lookupKeyBindings (const ICommand& command) const = 0;

    virtual void CCL_API addCommandAlias (
        CStringPtr category,
        CStringPtr name,
        CStringPtr aliasCategory,
        CStringPtr aliasName
    ) = 0;

    virtual void CCL_API addFilter (ICommandFilter* filter) = 0;
    virtual void CCL_API removeFilter (ICommandFilter* filter) = 0;
    virtual void CCL_API beginTransaction (StringRef title) = 0;
    virtual void CCL_API endTransaction () = 0;
    virtual tbool CCL_API isTransactionActive () const = 0;
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;

Detailed Documentation

Command Table - Access singleton instance via System::GetCommandTable ()

Methods

DECLARE_STRINGID_MEMBER (kCommandsLoaded)

< signaled when transaction starts - msg[0] : transaction title

< signaled when transaction ends Load commands from file.

virtual tbool CCL_API loadBlocklist (UrlRef path) = 0

Load list of commands to be ignored on load.

virtual tbool CCL_API saveCommands (UrlRef path) const = 0

Save commands to file.

virtual StringRef CCL_API getActiveSchemeName (tbool* modified = nullptr) const = 0

Get name of active command scheme loaded from file.

virtual const FileType&CCL_API getCommandFileType () const = 0

Get file type of command scheme files.

virtual void CCL_API addHandler (ICommandHandler* handler) = 0

Add global command handler.

virtual void CCL_API removeHandler (ICommandHandler* handler) = 0

Remove global command handler.

virtual tbool CCL_API performCommand (
    const CommandMsg& msg,
    tbool deferred = false
) = 0

Perform given command.

virtual IParameter*CCL_API getCommandParam (
    StringID category,
    StringID name,
    tbool create = true
) = 0

Get a parameter that triggers the given command.

Parameters are owned by the table.

virtual void CCL_API registerCommand (const CommandDescription& description) = 0

Register command.

virtual ICommand*CCL_API findCommand (StringID category, StringID name) const = 0

Find registered command.

virtual IUnknownIterator*CCL_API newCommandIterator () const = 0

Create iterator of registered ICommand objects (flat).

virtual IUnknownIterator*CCL_API newCategoryIterator () const = 0

Create iterator of unique ICommandCategory objects.

virtual void CCL_API unregisterCommand (StringID category, StringID name) = 0

Unregister command.

virtual void CCL_API assignKey (ICommand& command, const KeyEvent& key) = 0

Assign a key to a command .

virtual IUnknownIterator*CCL_API lookupKeyBindings (const ICommand& command) const = 0

Create iterator of IKeyBinding objects for the given command.

virtual void CCL_API addCommandAlias (
    CStringPtr category,
    CStringPtr name,
    CStringPtr aliasCategory,
    CStringPtr aliasName
) = 0

Add an alias name for a command.

virtual void CCL_API addFilter (ICommandFilter* filter) = 0

Add global command filter.

virtual void CCL_API removeFilter (ICommandFilter* filter) = 0

Remove global command filter.

virtual void CCL_API beginTransaction (StringRef title) = 0

Begin Transaction.

virtual void CCL_API endTransaction () = 0

End Transaction.

virtual tbool CCL_API isTransactionActive () const = 0

Returns true of transaction is active.