Shortcut
char Shortcut(int32 buttonIndex) const;
char Shortcut(uint32* _modifiers = NULL) const;
class Shortcut;
Shortcut* _FindShortcut(uint32 key, uint32 modifiers);
char Shortcut() const { return fShortcut; }
if (byte == fAlert->Shortcut(i) && fAlert->ButtonAt(i)) {
Shortcut* shortcut = new(std::nothrow) Shortcut(*_key, *_modifiers, item);
Shortcut::CastToTree(&fShortcuts)->Insert(shortcut);
Shortcut* shortcut = new(std::nothrow) Shortcut(key, modifiers, message, target);
Shortcut::CastToTree(&fShortcuts)->Insert(shortcut);
Shortcut* shortcut = _FindShortcut(key, modifiers);
if (shortcut != NULL && Shortcut::CastToTree(&fShortcuts)->Remove(shortcut))
class BWindow::Shortcut : public SplayTreeLink<BWindow::Shortcut> {
typedef BWindow::Shortcut NodeType;
Shortcut(uint32 key, uint32 modifiers,
Shortcut(uint32 key, uint32 modifiers,
~Shortcut();
BWindow::Shortcut::Shortcut(uint32 key, uint32 modifiers, BMenuItem* item)
BWindow::Shortcut::Shortcut(uint32 key, uint32 modifiers, BMessage* message,
BWindow::Shortcut::~Shortcut()
BWindow::Shortcut::Compare(uint32 key, uint32 preparedModifiers) const
BWindow::Shortcut::Modifiers() const
if (rawChar == B_ENTER && (mods & Shortcut::AllowedModifiers()) == 0)
BWindow::Shortcut::AllowedModifiers()
BWindow::Shortcut::PrepareModifiers(uint32 modifiers)
BWindow::Shortcut::PrepareKey(uint32 key)
char key = Shortcut::PrepareKey(bytes[0]);
Shortcut* shortcut = _FindShortcut(key, modifiers
BWindow::Shortcut*
key = Shortcut::PrepareKey(key);
uint32 preparedModifiers = Shortcut::PrepareModifiers(modifiers);
Shortcut::SplayTree* shortcuts = Shortcut::CastToTree(&fShortcuts);
Shortcut* shortcut = shortcuts->FindClosest(Shortcut::TreeKey(key, preparedModifiers),
Shortcut::SplayTree* shortcuts = Shortcut::CastToTree(&fShortcuts);
Shortcut* shortcut = shortcuts->Root();
if (menu->ItemAt(mountIndex + 1) != NULL && menu->ItemAt(mountIndex + 1)->Shortcut() == 'U') {
item->SetShortcut(item->Shortcut(), B_COMMAND_KEY | (modifiers() & B_SHIFT_KEY));
if (item->Shortcut() != 0)
item->SetShortcut(item->Shortcut(), B_NO_COMMAND_KEY);
if (item->Shortcut() == 0) {
item->SetShortcut(item->Shortcut(), B_NO_COMMAND_KEY | (modifiers() & B_SHIFT_KEY));
item->SetShortcut(item->Shortcut(), B_COMMAND_KEY | (modifiers() & B_SHIFT_KEY));
item->SetShortcut(item->Shortcut(), B_COMMAND_KEY);
item->SetShortcut(item->Shortcut(), B_COMMAND_KEY | (modifiers() & B_SHIFT_KEY));
item->SetShortcut(item->Shortcut(), B_COMMAND_KEY | (modifiers() & B_SHIFT_KEY));
item->SetShortcut(item->Shortcut(), B_COMMAND_KEY | (modifiers() & B_SHIFT_KEY));
if (item->Shortcut() == key)