Debugger: Implement use of connection config roster.
Debugger: - Initialize/Deinitialize roster as appropriate. ConnectionConfigWindow: - Implement config view listener interface, and use roster to retrieve and add appropriate config view when switching between interface types.
This commit is contained in:
@@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
#include "AppMessageCodes.h"
|
#include "AppMessageCodes.h"
|
||||||
#include "CommandLineUserInterface.h"
|
#include "CommandLineUserInterface.h"
|
||||||
|
#include "ConnectionConfigHandlerRoster.h"
|
||||||
#include "ConnectionConfigWindow.h"
|
#include "ConnectionConfigWindow.h"
|
||||||
#include "DebuggerGlobals.h"
|
#include "DebuggerGlobals.h"
|
||||||
#include "DebuggerSettingsManager.h"
|
#include "DebuggerSettingsManager.h"
|
||||||
@@ -303,6 +304,7 @@ Debugger::~Debugger()
|
|||||||
{
|
{
|
||||||
DebuggerUiSettingsFactory::DeleteDefault();
|
DebuggerUiSettingsFactory::DeleteDefault();
|
||||||
ValueHandlerRoster::DeleteDefault();
|
ValueHandlerRoster::DeleteDefault();
|
||||||
|
ConnectionConfigHandlerRoster::DeleteDefault();
|
||||||
|
|
||||||
debugger_global_uninit();
|
debugger_global_uninit();
|
||||||
}
|
}
|
||||||
@@ -323,6 +325,10 @@ Debugger::Init()
|
|||||||
if (error != B_OK)
|
if (error != B_OK)
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
error = ConnectionConfigHandlerRoster::CreateDefault();
|
||||||
|
if (error != B_OK)
|
||||||
|
return error;
|
||||||
|
|
||||||
return fSettingsManager.Init(DebuggerUiSettingsFactory::Default());
|
return fSettingsManager.Init(DebuggerUiSettingsFactory::Default());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,9 +10,11 @@
|
|||||||
#include <MenuField.h>
|
#include <MenuField.h>
|
||||||
#include <LayoutBuilder.h>
|
#include <LayoutBuilder.h>
|
||||||
|
|
||||||
|
#include <AutoDeleter.h>
|
||||||
#include <AutoLocker.h>
|
#include <AutoLocker.h>
|
||||||
|
|
||||||
#include "AppMessageCodes.h"
|
#include "AppMessageCodes.h"
|
||||||
|
#include "ConnectionConfigHandlerRoster.h"
|
||||||
#include "TargetHostInterfaceInfo.h"
|
#include "TargetHostInterfaceInfo.h"
|
||||||
#include "TargetHostInterfaceRoster.h"
|
#include "TargetHostInterfaceRoster.h"
|
||||||
#include "TargetHostInterface.h"
|
#include "TargetHostInterface.h"
|
||||||
@@ -28,6 +30,7 @@ ConnectionConfigWindow::ConnectionConfigWindow()
|
|||||||
:
|
:
|
||||||
BWindow(BRect(), "Create new connection", B_TITLED_WINDOW,
|
BWindow(BRect(), "Create new connection", B_TITLED_WINDOW,
|
||||||
B_AUTO_UPDATE_SIZE_LIMITS | B_CLOSE_ON_ESCAPE),
|
B_AUTO_UPDATE_SIZE_LIMITS | B_CLOSE_ON_ESCAPE),
|
||||||
|
ConnectionConfigView::Listener(),
|
||||||
fConnectionTypeField(NULL),
|
fConnectionTypeField(NULL),
|
||||||
fConfigGroupView(NULL),
|
fConfigGroupView(NULL),
|
||||||
fCloseButton(NULL),
|
fCloseButton(NULL),
|
||||||
@@ -74,6 +77,13 @@ ConnectionConfigWindow::QuitRequested()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
ConnectionConfigWindow::ConfigurationChanged(Settings* settings)
|
||||||
|
{
|
||||||
|
// TODO: implement
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
ConnectionConfigWindow::MessageReceived(BMessage* message)
|
ConnectionConfigWindow::MessageReceived(BMessage* message)
|
||||||
{
|
{
|
||||||
@@ -82,7 +92,6 @@ ConnectionConfigWindow::MessageReceived(BMessage* message)
|
|||||||
BWindow::MessageReceived(message);
|
BWindow::MessageReceived(message);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -161,5 +170,21 @@ ConnectionConfigWindow::_UpdateActiveConfig(TargetHostInterfaceInfo* info)
|
|||||||
delete view;
|
delete view;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ConnectionConfigHandlerRoster* roster
|
||||||
|
= ConnectionConfigHandlerRoster::Default();
|
||||||
|
|
||||||
|
if (roster->HasHandlerFor(info)) {
|
||||||
|
ConnectionConfigView* view = NULL;
|
||||||
|
status_t error = roster->CreateConfigView(info, this, view);
|
||||||
|
if (error != B_OK)
|
||||||
|
return;
|
||||||
|
|
||||||
|
ObjectDeleter<ConnectionConfigView> viewDeleter(view);
|
||||||
|
BLayoutItem* item = fConfigGroupView->GroupLayout()->AddView(view);
|
||||||
|
if (item != NULL) {
|
||||||
|
viewDeleter.Detach();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fConfigGroupView->InvalidateLayout();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,18 +5,21 @@
|
|||||||
#ifndef CONNECTION_CONFIG_WINDOW_H
|
#ifndef CONNECTION_CONFIG_WINDOW_H
|
||||||
#define CONNECTION_CONFIG_WINDOW_H
|
#define CONNECTION_CONFIG_WINDOW_H
|
||||||
|
|
||||||
|
|
||||||
#include <Window.h>
|
#include <Window.h>
|
||||||
|
|
||||||
|
#include "ConnectionConfigView.h"
|
||||||
|
|
||||||
|
|
||||||
class BButton;
|
class BButton;
|
||||||
class BGroupView;
|
class BGroupView;
|
||||||
class BMenu;
|
class BMenu;
|
||||||
class BMenuField;
|
class BMenuField;
|
||||||
|
class Settings;
|
||||||
class TargetHostInterfaceInfo;
|
class TargetHostInterfaceInfo;
|
||||||
|
|
||||||
|
|
||||||
class ConnectionConfigWindow : public BWindow
|
class ConnectionConfigWindow : public BWindow,
|
||||||
|
private ConnectionConfigView::Listener
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ConnectionConfigWindow();
|
ConnectionConfigWindow();
|
||||||
@@ -33,6 +36,10 @@ public:
|
|||||||
|
|
||||||
virtual bool QuitRequested();
|
virtual bool QuitRequested();
|
||||||
|
|
||||||
|
// ConnectionConfigView::Listener
|
||||||
|
|
||||||
|
virtual void ConfigurationChanged(Settings* settings);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void _Init();
|
void _Init();
|
||||||
BMenu* _BuildTypeMenu();
|
BMenu* _BuildTypeMenu();
|
||||||
|
|||||||
Reference in New Issue
Block a user