/* AddHotkeyName * Add the key name from the Command id value ( m_Idcommand member value) * aText = a wxString. returns aText + key name * aList = pointer to a EDA_HOTKEY list of commands * aCommandId = Command Id value * aShortCutType = IS_HOTKEY to add <tab><keyname> (shortcuts in menus, same as hotkeys) * IS_ACCELERATOR to add <tab><Shift+keyname> (accelerators in menus, not hotkeys) * IS_COMMENT to add <spaces><(keyname)> mainly in tool tips * Return a wxString (aTest + key name) if key found or aText without modification */ wxString AddHotkeyName( const wxString& aText, EDA_HOTKEY** aList, int aCommandId, HOTKEY_ACTION_TYPE aShortCutType ) { wxString msg = aText; wxString keyname; if( aList ) keyname = KeyNameFromCommandId( aList, aCommandId ); if( !keyname.IsEmpty() ) { switch( aShortCutType ) { case IS_HOTKEY: msg << wxT( "\t" ) << keyname; break; case IS_ACCELERATOR: AddModifierToKey( msg, keyname ); break; case IS_COMMENT: msg << wxT( " (" ) << keyname << wxT( ")" ); break; } } #ifdef USING_MAC_CMD // On OSX, the modifier euqivalent to the Ctrl key of PCs // is the Cmd key, but in code we should use Ctrl as prefix in menus msg.Replace( MODIFIER_CMD_MAC, MODIFIER_CTRL_BASE ); #endif return msg; }
/* AddHotkeyName * Add the key name from the Command id value ( m_Idcommand member value) * aText = a wxString. returns aText + key name * aList = pointer to a EDA_HOTKEY list of commands * aCommandId = Command Id value * aShortCutType = IS_HOTKEY to add <tab><keyname> (shortcuts in menus, same as hotkeys) * IS_ACCELERATOR to add <tab><Shift+keyname> (accelerators in menus, not hotkeys) * IS_COMMENT to add <spaces><(keyname)> mainly in tool tips * Return a wxString (aTest + key name) if key found or aText without modification */ wxString AddHotkeyName( const wxString& aText, EDA_HOTKEY** aList, int aCommandId, HOTKEY_ACTION_TYPE aShortCutType ) { wxString msg = aText; wxString keyname; if( aList ) keyname = KeyNameFromCommandId( aList, aCommandId ); if( !keyname.IsEmpty() ) { switch( aShortCutType ) { case IS_HOTKEY: msg << wxT( "\t" ) << keyname; break; case IS_ACCELERATOR: AddModifierToKey( msg, keyname ); break; case IS_COMMENT: msg << wxT( " (" ) << keyname << wxT( ")" ); break; } } return msg; }
/* AddHotkeyName * Add the key name from the Command id value ( m_Idcommand member value) * aText = a wxString. returns aText + key name * aList = pointer to a EDA_HOTKEY_CONFIG DescrList of commands * aCommandId = Command Id value * aShortCutType = IS_HOTKEY to add <tab><keyname> (active shortcuts in menus) * IS_ACCELERATOR to add <tab><Shift+keyname> (active accelerators in menus) * IS_COMMENT to add <spaces><(keyname)> * Return a wxString (aText + key name) if key found or aText without modification */ wxString AddHotkeyName( const wxString& aText, struct EDA_HOTKEY_CONFIG* aDescList, int aCommandId, HOTKEY_ACTION_TYPE aShortCutType ) { wxString msg = aText; wxString keyname; EDA_HOTKEY** list; if( aDescList ) { for( ; aDescList->m_HK_InfoList != NULL; aDescList++ ) { list = aDescList->m_HK_InfoList; keyname = KeyNameFromCommandId( list, aCommandId ); if( !keyname.IsEmpty() ) { switch( aShortCutType ) { case IS_HOTKEY: msg << wxT( "\t" ) << keyname; break; case IS_ACCELERATOR: AddModifierToKey( msg, keyname ); break; case IS_COMMENT: msg << wxT( " (" ) << keyname << wxT( ")" ); break; } break; } } } return msg; }