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:
@@ -28,6 +28,7 @@
|
|||||||
#include "MessageCodes.h"
|
#include "MessageCodes.h"
|
||||||
#include "SettingsManager.h"
|
#include "SettingsManager.h"
|
||||||
#include "SignalSet.h"
|
#include "SignalSet.h"
|
||||||
|
#include "StartTeamWindow.h"
|
||||||
#include "TeamDebugger.h"
|
#include "TeamDebugger.h"
|
||||||
#include "TeamsWindow.h"
|
#include "TeamsWindow.h"
|
||||||
#include "TypeHandlerRoster.h"
|
#include "TypeHandlerRoster.h"
|
||||||
@@ -369,6 +370,7 @@ private:
|
|||||||
TeamDebuggerList fTeamDebuggers;
|
TeamDebuggerList fTeamDebuggers;
|
||||||
int32 fRunningTeamDebuggers;
|
int32 fRunningTeamDebuggers;
|
||||||
TeamsWindow* fTeamsWindow;
|
TeamsWindow* fTeamsWindow;
|
||||||
|
StartTeamWindow* fStartTeamWindow;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -398,7 +400,8 @@ Debugger::Debugger()
|
|||||||
:
|
:
|
||||||
BApplication(kDebuggerSignature),
|
BApplication(kDebuggerSignature),
|
||||||
fRunningTeamDebuggers(0),
|
fRunningTeamDebuggers(0),
|
||||||
fTeamsWindow(NULL)
|
fTeamsWindow(NULL),
|
||||||
|
fStartTeamWindow(NULL)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -449,6 +452,23 @@ Debugger::MessageReceived(BMessage* message)
|
|||||||
Quit();
|
Quit();
|
||||||
break;
|
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:
|
case MSG_DEBUG_THIS_TEAM:
|
||||||
{
|
{
|
||||||
int32 teamID;
|
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 model ] ;
|
||||||
SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface gui team_window ] ;
|
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 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 util ] ;
|
||||||
SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface gui value ] ;
|
SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface gui value ] ;
|
||||||
SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface util ] ;
|
SEARCH_SOURCE += [ FDirName $(SUBDIR) user_interface util ] ;
|
||||||
@@ -265,17 +266,13 @@ Application Debugger :
|
|||||||
MemoryView.cpp
|
MemoryView.cpp
|
||||||
|
|
||||||
# user_interface/gui/teams_window
|
# user_interface/gui/teams_window
|
||||||
StartTeamWindow.cpp
|
|
||||||
TeamsWindow.cpp
|
TeamsWindow.cpp
|
||||||
TeamsListView.cpp
|
TeamsListView.cpp
|
||||||
|
|
||||||
# user_interface/gui/team_window
|
# user_interface/gui/team_window
|
||||||
BreakConditionConfigWindow.cpp
|
|
||||||
BreakpointEditWindow.cpp
|
|
||||||
BreakpointListView.cpp
|
BreakpointListView.cpp
|
||||||
BreakpointsView.cpp
|
BreakpointsView.cpp
|
||||||
ConsoleOutputView.cpp
|
ConsoleOutputView.cpp
|
||||||
ExpressionPromptWindow.cpp
|
|
||||||
ImageFunctionsView.cpp
|
ImageFunctionsView.cpp
|
||||||
ImageListView.cpp
|
ImageListView.cpp
|
||||||
RegistersView.cpp
|
RegistersView.cpp
|
||||||
@@ -284,7 +281,6 @@ Application Debugger :
|
|||||||
TeamWindow.cpp
|
TeamWindow.cpp
|
||||||
ThreadListView.cpp
|
ThreadListView.cpp
|
||||||
VariablesView.cpp
|
VariablesView.cpp
|
||||||
WatchPromptWindow.cpp
|
|
||||||
|
|
||||||
# user_interface/gui/util
|
# user_interface/gui/util
|
||||||
ActionMenuItem.cpp
|
ActionMenuItem.cpp
|
||||||
@@ -292,6 +288,12 @@ Application Debugger :
|
|||||||
SettingsMenu.cpp
|
SettingsMenu.cpp
|
||||||
TargetAddressTableColumn.cpp
|
TargetAddressTableColumn.cpp
|
||||||
|
|
||||||
|
# user_interface/gui/utility_windows
|
||||||
|
BreakConditionConfigWindow.cpp
|
||||||
|
BreakpointEditWindow.cpp
|
||||||
|
ExpressionPromptWindow.cpp
|
||||||
|
StartTeamWindow.cpp
|
||||||
|
WatchPromptWindow.cpp
|
||||||
|
|
||||||
# user_interface/gui/value
|
# user_interface/gui/value
|
||||||
TableCellBoolRenderer.cpp
|
TableCellBoolRenderer.cpp
|
||||||
|
|||||||
@@ -65,6 +65,8 @@ enum {
|
|||||||
MSG_BREAK_CONDITION_CONFIG_WINDOW_CLOSED = 'bccw',
|
MSG_BREAK_CONDITION_CONFIG_WINDOW_CLOSED = 'bccw',
|
||||||
MSG_SHOW_BREAKPOINT_EDIT_WINDOW = 'sbew',
|
MSG_SHOW_BREAKPOINT_EDIT_WINDOW = 'sbew',
|
||||||
MSG_BREAKPOINT_EDIT_WINDOW_CLOSED = 'bewc',
|
MSG_BREAKPOINT_EDIT_WINDOW_CLOSED = 'bewc',
|
||||||
|
MSG_SHOW_START_TEAM_WINDOW = 'sstw',
|
||||||
|
MSG_START_TEAM_WINDOW_CLOSED = 'stwc',
|
||||||
MSG_START_NEW_TEAM = 'sttt',
|
MSG_START_NEW_TEAM = 'sttt',
|
||||||
MSG_DEBUG_THIS_TEAM = 'dbtt',
|
MSG_DEBUG_THIS_TEAM = 'dbtt',
|
||||||
MSG_SHOW_INSPECTOR_WINDOW = 'sirw',
|
MSG_SHOW_INSPECTOR_WINDOW = 'sirw',
|
||||||
|
|||||||
@@ -1080,9 +1080,19 @@ TeamWindow::_Init()
|
|||||||
fSourcePathView->AddFilter(filter);
|
fSourcePathView->AddFilter(filter);
|
||||||
|
|
||||||
// add menus and menu items
|
// add menus and menu items
|
||||||
BMenu* menu = new BMenu("Team");
|
BMenu* menu = new BMenu("Debugger");
|
||||||
fMenuBar->AddItem(menu);
|
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);
|
MSG_TEAM_RESTART_REQUESTED), 'R', B_SHIFT_KEY);
|
||||||
menu->AddItem(item);
|
menu->AddItem(item);
|
||||||
item->SetTarget(this);
|
item->SetTarget(this);
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
|
|
||||||
#include "MessageCodes.h"
|
#include "MessageCodes.h"
|
||||||
#include "SettingsManager.h"
|
#include "SettingsManager.h"
|
||||||
#include "StartTeamWindow.h"
|
|
||||||
#include "TeamsWindow.h"
|
#include "TeamsWindow.h"
|
||||||
#include "TeamsListView.h"
|
#include "TeamsListView.h"
|
||||||
|
|
||||||
@@ -38,7 +37,6 @@ TeamsWindow::TeamsWindow(SettingsManager* settingsManager)
|
|||||||
BWindow(BRect(100, 100, 500, 250), "Teams", B_DOCUMENT_WINDOW,
|
BWindow(BRect(100, 100, 500, 250), "Teams", B_DOCUMENT_WINDOW,
|
||||||
B_ASYNCHRONOUS_CONTROLS),
|
B_ASYNCHRONOUS_CONTROLS),
|
||||||
fTeamsListView(NULL),
|
fTeamsListView(NULL),
|
||||||
fStartTeamWindow(NULL),
|
|
||||||
fAttachTeamButton(NULL),
|
fAttachTeamButton(NULL),
|
||||||
fCreateTeamButton(NULL),
|
fCreateTeamButton(NULL),
|
||||||
fSettingsManager(settingsManager)
|
fSettingsManager(settingsManager)
|
||||||
@@ -51,7 +49,6 @@ TeamsWindow::TeamsWindow(SettingsManager* settingsManager)
|
|||||||
|
|
||||||
TeamsWindow::~TeamsWindow()
|
TeamsWindow::~TeamsWindow()
|
||||||
{
|
{
|
||||||
BMessenger(fStartTeamWindow).SendMessage(B_QUIT_REQUESTED);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -92,19 +89,6 @@ void
|
|||||||
TeamsWindow::MessageReceived(BMessage* message)
|
TeamsWindow::MessageReceived(BMessage* message)
|
||||||
{
|
{
|
||||||
switch (message->what) {
|
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:
|
case MSG_DEBUG_THIS_TEAM:
|
||||||
{
|
{
|
||||||
TeamRow* row = dynamic_cast<TeamRow*>(
|
TeamRow* row = dynamic_cast<TeamRow*>(
|
||||||
@@ -172,7 +156,7 @@ TeamsWindow::_Init()
|
|||||||
.Add(fAttachTeamButton = new BButton("Attach", new BMessage(
|
.Add(fAttachTeamButton = new BButton("Attach", new BMessage(
|
||||||
MSG_DEBUG_THIS_TEAM)))
|
MSG_DEBUG_THIS_TEAM)))
|
||||||
.Add(fCreateTeamButton = new BButton("Start new 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()
|
||||||
.End();
|
.End();
|
||||||
|
|
||||||
@@ -181,6 +165,7 @@ TeamsWindow::_Init()
|
|||||||
MSG_TEAM_SELECTION_CHANGED));
|
MSG_TEAM_SELECTION_CHANGED));
|
||||||
|
|
||||||
fAttachTeamButton->SetEnabled(false);
|
fAttachTeamButton->SetEnabled(false);
|
||||||
|
fCreateTeamButton->SetTarget(be_app);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ class BListView;
|
|||||||
class BFile;
|
class BFile;
|
||||||
class BMessage;
|
class BMessage;
|
||||||
class SettingsManager;
|
class SettingsManager;
|
||||||
class StartTeamWindow;
|
|
||||||
class TeamsListView;
|
class TeamsListView;
|
||||||
|
|
||||||
class TeamsWindow : public BWindow {
|
class TeamsWindow : public BWindow {
|
||||||
@@ -38,7 +37,6 @@ private:
|
|||||||
private:
|
private:
|
||||||
team_id fCurrentTeam;
|
team_id fCurrentTeam;
|
||||||
TeamsListView* fTeamsListView;
|
TeamsListView* fTeamsListView;
|
||||||
StartTeamWindow* fStartTeamWindow;
|
|
||||||
BButton* fAttachTeamButton;
|
BButton* fAttachTeamButton;
|
||||||
BButton* fCreateTeamButton;
|
BButton* fCreateTeamButton;
|
||||||
SettingsManager* fSettingsManager;
|
SettingsManager* fSettingsManager;
|
||||||
|
|||||||
+3
-1
@@ -152,8 +152,10 @@ StartTeamWindow::MessageReceived(BMessage* message)
|
|||||||
messageString.String(), "Close");
|
messageString.String(), "Close");
|
||||||
if (alert != NULL)
|
if (alert != NULL)
|
||||||
alert->Go();
|
alert->Go();
|
||||||
} else
|
} else {
|
||||||
|
be_app->PostMessage(MSG_START_TEAM_WINDOW_CLOSED);
|
||||||
PostMessage(B_QUIT_REQUESTED);
|
PostMessage(B_QUIT_REQUESTED);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
Reference in New Issue
Block a user