Use the usual function keys as shortcuts for stepping. (From memory, hope I got

it right...)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31557 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stephan Aßmus 2009-07-14 11:47:50 +00:00
parent 5422febd0b
commit 095a1f5b8b
2 changed files with 34 additions and 0 deletions

View File

@ -113,6 +113,38 @@ TeamWindow::Create(TeamDebugModel* debugModel, Listener* listener)
}
void
TeamWindow::DispatchMessage(BMessage* message, BHandler* handler)
{
// Handle function key shortcuts for stepping
if (fActiveThread != NULL && message->what == B_KEY_DOWN) {
int32 key;
uint32 modifiers;
if (message->FindInt32("key", &key) == B_OK
&& message->FindInt32("modifiers", (int32*)&modifiers) == B_OK) {
switch (key) {
case B_F10_KEY:
fListener->ThreadActionRequested(this, fActiveThread->ID(),
MSG_THREAD_STEP_OVER);
break;
case B_F11_KEY:
if ((modifiers & B_SHIFT_KEY) != 0) {
fListener->ThreadActionRequested(this,
fActiveThread->ID(), MSG_THREAD_STEP_OUT);
} else {
fListener->ThreadActionRequested(this,
fActiveThread->ID(), MSG_THREAD_STEP_INTO);
}
break;
default:
break;
}
}
}
BWindow::DispatchMessage(message, handler);
}
void
TeamWindow::MessageReceived(BMessage* message)
{

View File

@ -43,6 +43,8 @@ public:
Listener* listener);
// throws
virtual void DispatchMessage(BMessage* message,
BHandler* handler);
virtual void MessageReceived(BMessage* message);
virtual bool QuitRequested();