The following code snippets show how to add a command to list of available commands:
DsAddinUserCommand pNotepad(m_sApiUuid, L"Notepad", L"^C^CNotepad", L"Opens Notepad", L"path_and_file_name.bmp", L"path_and_file_name.png");
DsAddinUserCommand.cpp
// DsAddinUserCommand constructor
DsAddinUserCommand::DsAddinUserCommand( _bstr_t ApiUuid, _bstr_t UserCmdName, _bstr_t CmdString, _bstr_t Description, _bstr_t SmallIcon, _bstr_t LargeIcon )
{
CDsAddinConnection *dsConnection = getMyApp();
dsCreateCommandError_e commandErr;
// User command dependent on pre-defined command
ICommand* pCommand = dsConnection->m_DsApp->CreateCommand( ApiUuid, UserCmdName, &commandErr );
m_DsUserCommand = dsConnection->m_DsApp->CreateUserCommand( ApiUuid, UserCmdName, CmdString, Description, SmallIcon, LargeIcon, &commandErr );
}
dsString emptyStr = L"";
dsString UserCommandName = L"qAddin1_Notepad";
dsString Description = L"Opens Notepad";
dsString UserCmdString = L"^C^CqAddin1_Notepad";
const int MENU_POSITION = 9; //Menu should be between "Modify" and "Tools" menus
dsApplication_c *dsApp = getDsApp();
dsCreateCommandError_e Error;
// User command dependent on pre-defined command
dsApp->CreateCommand(myApplication::appID, UserCommandName, &Error, &pCmd );
if(( Error == 0 ) )
{
RegisterCommandExecuteNotifyHook( pCmd );
dsUserCommand_ptr pUserCmd;
dsApp->CreateUserCommand( myApplication::appID, UserCommandName, UserCmdString, Description, L"path_and_file_name.bmp", L"path_and_file_name.png", dsUIState_Document, &Error, &pUserCmd );