Debugger: Cleanups.
General: - Move all smaller prompt/edit windows to a dedicated subfolder. Debugger/TeamsWindow/StartTeamWindow: - Move management of StartTeamWindow to application, rather than Teams window. TeamWindow: - Add top level menu item for commands that aren't specific to the current team. This currently consists of requesting that the Teams window be shown, and directly starting a new team. Fixes part of #11659 (no way to start additional teams if Debugger was initially started with a specific team).
This commit is contained in:
parent
1986ab9f31
commit
edf74e6ca8
src/apps/debugger
@ -28,6 +28,7 @@
|
||||
#include "MessageCodes.h"
|
||||
#include "SettingsManager.h"
|
||||
#include "SignalSet.h"
|
||||
#include "StartTeamWindow.h"
|
||||
#include "TeamDebugger.h"
|
||||
#include "TeamsWindow.h"
|
||||
#include "TypeHandlerRoster.h"
|
||||
@ -369,6 +370,7 @@ private:
|
||||
TeamDebuggerList fTeamDebuggers;
|
||||
int32 fRunningTeamDebuggers;
|
||||
TeamsWindow* fTeamsWindow;
|
||||
StartTeamWindow* fStartTeamWindow;
|
||||
};
|
||||
|
||||
|
||||
@ -398,7 +400,8 @@ Debugger::Debugger()
|
||||
:
|
||||
BApplication(kDebuggerSignature),
|
||||
fRunningTeamDebuggers(0),
|
||||
fTeamsWindow(NULL)
|
||||
fTeamsWindow(NULL),
|
||||
fStartTeamWindow(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
@ -449,6 +452,23 @@ Debugger::MessageReceived(BMessage* message)
|
||||
Quit();
|
||||
break;
|
||||
}
|
||||
case MSG_SHOW_START_TEAM_WINDOW:
|
||||
{
|
||||
BMessenger messenger(fStartTeamWindow);
|
||||
if (!messenger.IsValid()) {
|
||||
fStartTeamWindow = StartTeamWindow::Create();
|
||||
if (fStartTeamWindow == NULL)
|
||||
break;
|
||||
fStartTeamWindow->Show();
|
||||
} else
|
||||
fStartTeamWindow->Activate();
|
||||
break;
|
||||
}
|
||||
case MSG_START_TEAM_WINDOW_CLOSED:
|
||||
{
|
||||
fStartTeamWindow = NULL;
|
||||
break;
|
||||
}
|
||||
case MSG_DEBUG_THIS_TEAM:
|
||||
{
|
||||
int32 teamID;
|
||||
|
@ -38,6 +38,7 @@ SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface gui inspector_window ] ;
|
||||
SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface gui model ] ;
|
||||
SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface gui team_window ] ;
|
||||
SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface gui teams_window ] ;
|
||||
SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface gui utility_windows ] ;
|
||||
SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface gui util ] ;
|
||||
SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface gui value ] ;
|
||||
SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface util ] ;
|
||||
@ -265,17 +266,13 @@ Application Debugger :
|
||||
MemoryView.cpp
|
||||
|
||||
# user_interface/gui/teams_window
|
||||
StartTeamWindow.cpp
|
||||
TeamsWindow.cpp
|
||||
TeamsListView.cpp
|
||||
|
||||
# user_interface/gui/team_window
|
||||
BreakConditionConfigWindow.cpp
|
||||
BreakpointEditWindow.cpp
|
||||
BreakpointListView.cpp
|
||||
BreakpointsView.cpp
|
||||
ConsoleOutputView.cpp
|
||||
ExpressionPromptWindow.cpp
|
||||
ImageFunctionsView.cpp
|
||||
ImageListView.cpp
|
||||
RegistersView.cpp
|
||||
@ -284,7 +281,6 @@ Application Debugger :
|
||||
TeamWindow.cpp
|
||||
ThreadListView.cpp
|
||||
VariablesView.cpp
|
||||
WatchPromptWindow.cpp
|
||||
|
||||
# user_interface/gui/util
|
||||
ActionMenuItem.cpp
|
||||
@ -292,6 +288,12 @@ Application Debugger :
|
||||
SettingsMenu.cpp
|
||||
TargetAddressTableColumn.cpp
|
||||
|
||||
# user_interface/gui/utility_windows
|
||||
BreakConditionConfigWindow.cpp
|
||||
BreakpointEditWindow.cpp
|
||||
ExpressionPromptWindow.cpp
|
||||
StartTeamWindow.cpp
|
||||
WatchPromptWindow.cpp
|
||||
|
||||
# user_interface/gui/value
|
||||
TableCellBoolRenderer.cpp
|
||||
|
@ -65,6 +65,8 @@ enum {
|
||||
MSG_BREAK_CONDITION_CONFIG_WINDOW_CLOSED = 'bccw',
|
||||
MSG_SHOW_BREAKPOINT_EDIT_WINDOW = 'sbew',
|
||||
MSG_BREAKPOINT_EDIT_WINDOW_CLOSED = 'bewc',
|
||||
MSG_SHOW_START_TEAM_WINDOW = 'sstw',
|
||||
MSG_START_TEAM_WINDOW_CLOSED = 'stwc',
|
||||
MSG_START_NEW_TEAM = 'sttt',
|
||||
MSG_DEBUG_THIS_TEAM = 'dbtt',
|
||||
MSG_SHOW_INSPECTOR_WINDOW = 'sirw',
|
||||
|
@ -1080,9 +1080,19 @@ TeamWindow::_Init()
|
||||
fSourcePathView->AddFilter(filter);
|
||||
|
||||
// add menus and menu items
|
||||
BMenu* menu = new BMenu("Team");
|
||||
BMenu* menu = new BMenu("Debugger");
|
||||
fMenuBar->AddItem(menu);
|
||||
BMenuItem* item = new BMenuItem("Restart", new BMessage(
|
||||
BMenuItem* item = new BMenuItem("Start new team" B_UTF8_ELLIPSIS,
|
||||
new BMessage(MSG_SHOW_START_TEAM_WINDOW));
|
||||
menu->AddItem(item);
|
||||
item->SetTarget(be_app);
|
||||
item = new BMenuItem("Show Teams window" B_UTF8_ELLIPSIS,
|
||||
new BMessage(MSG_SHOW_TEAMS_WINDOW));
|
||||
menu->AddItem(item);
|
||||
item->SetTarget(be_app);
|
||||
menu = new BMenu("Team");
|
||||
fMenuBar->AddItem(menu);
|
||||
item = new BMenuItem("Restart", new BMessage(
|
||||
MSG_TEAM_RESTART_REQUESTED), 'R', B_SHIFT_KEY);
|
||||
menu->AddItem(item);
|
||||
item->SetTarget(this);
|
||||
|
@ -23,7 +23,6 @@
|
||||
|
||||
#include "MessageCodes.h"
|
||||
#include "SettingsManager.h"
|
||||
#include "StartTeamWindow.h"
|
||||
#include "TeamsWindow.h"
|
||||
#include "TeamsListView.h"
|
||||
|
||||
@ -38,7 +37,6 @@ TeamsWindow::TeamsWindow(SettingsManager* settingsManager)
|
||||
BWindow(BRect(100, 100, 500, 250), "Teams", B_DOCUMENT_WINDOW,
|
||||
B_ASYNCHRONOUS_CONTROLS),
|
||||
fTeamsListView(NULL),
|
||||
fStartTeamWindow(NULL),
|
||||
fAttachTeamButton(NULL),
|
||||
fCreateTeamButton(NULL),
|
||||
fSettingsManager(settingsManager)
|
||||
@ -51,7 +49,6 @@ TeamsWindow::TeamsWindow(SettingsManager* settingsManager)
|
||||
|
||||
TeamsWindow::~TeamsWindow()
|
||||
{
|
||||
BMessenger(fStartTeamWindow).SendMessage(B_QUIT_REQUESTED);
|
||||
}
|
||||
|
||||
|
||||
@ -92,19 +89,6 @@ void
|
||||
TeamsWindow::MessageReceived(BMessage* message)
|
||||
{
|
||||
switch (message->what) {
|
||||
case MSG_START_NEW_TEAM:
|
||||
{
|
||||
BMessenger messenger(fStartTeamWindow);
|
||||
if (!messenger.IsValid()) {
|
||||
fStartTeamWindow = StartTeamWindow::Create();
|
||||
if (fStartTeamWindow == NULL)
|
||||
break;
|
||||
}
|
||||
|
||||
fStartTeamWindow->Show();
|
||||
break;
|
||||
}
|
||||
|
||||
case MSG_DEBUG_THIS_TEAM:
|
||||
{
|
||||
TeamRow* row = dynamic_cast<TeamRow*>(
|
||||
@ -172,7 +156,7 @@ TeamsWindow::_Init()
|
||||
.Add(fAttachTeamButton = new BButton("Attach", new BMessage(
|
||||
MSG_DEBUG_THIS_TEAM)))
|
||||
.Add(fCreateTeamButton = new BButton("Start new team"
|
||||
B_UTF8_ELLIPSIS, new BMessage(MSG_START_NEW_TEAM)))
|
||||
B_UTF8_ELLIPSIS, new BMessage(MSG_SHOW_START_TEAM_WINDOW)))
|
||||
.End()
|
||||
.End();
|
||||
|
||||
@ -181,6 +165,7 @@ TeamsWindow::_Init()
|
||||
MSG_TEAM_SELECTION_CHANGED));
|
||||
|
||||
fAttachTeamButton->SetEnabled(false);
|
||||
fCreateTeamButton->SetTarget(be_app);
|
||||
}
|
||||
|
||||
|
||||
|
@ -14,7 +14,6 @@ class BListView;
|
||||
class BFile;
|
||||
class BMessage;
|
||||
class SettingsManager;
|
||||
class StartTeamWindow;
|
||||
class TeamsListView;
|
||||
|
||||
class TeamsWindow : public BWindow {
|
||||
@ -38,7 +37,6 @@ private:
|
||||
private:
|
||||
team_id fCurrentTeam;
|
||||
TeamsListView* fTeamsListView;
|
||||
StartTeamWindow* fStartTeamWindow;
|
||||
BButton* fAttachTeamButton;
|
||||
BButton* fCreateTeamButton;
|
||||
SettingsManager* fSettingsManager;
|
||||
|
@ -152,8 +152,10 @@ StartTeamWindow::MessageReceived(BMessage* message)
|
||||
messageString.String(), "Close");
|
||||
if (alert != NULL)
|
||||
alert->Go();
|
||||
} else
|
||||
} else {
|
||||
be_app->PostMessage(MSG_START_TEAM_WINDOW_CLOSED);
|
||||
PostMessage(B_QUIT_REQUESTED);
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
Loading…
x
Reference in New Issue
Block a user