BButton* BToolBar::_FindButton(uint32 command) const { for (int32 i = 0; BView* view = ChildAt(i); i++) { BButton* button = dynamic_cast<BButton*>(view); if (button == NULL) continue; BMessage* message = button->Message(); if (message == NULL) continue; if (message->what == command) { return button; // Assumes there is only one button with this message... break; } } return NULL; }