Ember
Loading...
Searching...
No Matches
Ember::Monitor::MonitorFrame Class Reference

Main application frame owning the TCP server, tree builder, codec, state manager, and AUI layout (ConnectionPanel, MainPanel, RightSidePanel, MonitorNavigatorTab, PropertiesTab). More...

#include <MonitorFrame.h>

Inheritance diagram for Ember::Monitor::MonitorFrame:

Public Member Functions

 MonitorFrame (const wxString &title, const wxPoint &pos, const wxSize &size)
 Constructs the frame with the given title, position, and size.
 ~MonitorFrame ()
 Destroys the frame and releases resources.

Private Types

enum class  ConnectionState { Idle , Connected , AwaitingTree , TreeReady }

Private Member Functions

void CreateMenuBar ()
void CreateLayout ()
void SetupCallbacks ()
void OnClose (wxCloseEvent &event)
void OnQuit (wxCommandEvent &event)
void OnAbout (wxCommandEvent &event)
void OnPollTimer (wxTimerEvent &event)
void OnFrameResize (wxSizeEvent &event)
void OnClientConnect (const std::string &address)
void OnClientDisconnect ()
void OnServerMessage (const Network::MessageFrame &frame)
void HandleHandshake (const Network::MessageFrame &frame)
void HandleTreeInit (const Network::MessageFrame &frame)
void HandleTickUpdate (const Network::MessageFrame &frame)
void HandleBlackboardUpdate (const Network::MessageFrame &frame)
void HandleTreeReset (const Network::MessageFrame &frame)
void HandleDisconnect (const Network::MessageFrame &frame)
void OnNodeSelected (EmberCore::ITreeNode *node)
void RefreshVisualization ()
void UpdateStatusBar ()
 wxDECLARE_EVENT_TABLE ()

Private Attributes

bool m_inNodeSelection = false
TCPServer m_server
Network::TreeBuilder m_treeBuilder
Network::FlatBufferCodec m_codec
std::shared_ptr< Network::StateManagerm_stateManager
std::shared_ptr< EmberCore::BehaviorTreem_currentTree
std::string m_currentTreeId
ConnectionState m_connectionState = ConnectionState::Idle
bool m_stateChanged = false
Network::MessageFrame m_pendingTickUpdate
bool m_hasPendingTickUpdate = false
wxAuiManager * m_auiManager
ConnectionPanelm_connectionPanel
MainPanelm_mainPanel
RightSidePanelm_rightPanel
MonitorNavigatorTabm_navigatorTab
PropertiesTabm_propertiesTab
wxStatusBar * m_statusBar
wxTimer m_pollTimer
EmberUI::ProportionalLayout m_layout
wxSize m_lastClientSize

Detailed Description

Main application frame owning the TCP server, tree builder, codec, state manager, and AUI layout (ConnectionPanel, MainPanel, RightSidePanel, MonitorNavigatorTab, PropertiesTab).

Definition at line 27 of file MonitorFrame.h.

Member Enumeration Documentation

◆ ConnectionState

Enumerator
Idle 
Connected 
AwaitingTree 
TreeReady 

Definition at line 62 of file MonitorFrame.h.

Constructor & Destructor Documentation

◆ MonitorFrame()

Ember::Monitor::MonitorFrame::MonitorFrame ( const wxString & title,
const wxPoint & pos,
const wxSize & size )

Constructs the frame with the given title, position, and size.

◆ ~MonitorFrame()

Ember::Monitor::MonitorFrame::~MonitorFrame ( )

Destroys the frame and releases resources.

Definition at line 32 of file MonitorFrame.cpp.

Member Function Documentation

◆ CreateLayout()

void Ember::Monitor::MonitorFrame::CreateLayout ( )
private

Definition at line 55 of file MonitorFrame.cpp.

◆ CreateMenuBar()

void Ember::Monitor::MonitorFrame::CreateMenuBar ( )
private

Definition at line 41 of file MonitorFrame.cpp.

◆ HandleBlackboardUpdate()

void Ember::Monitor::MonitorFrame::HandleBlackboardUpdate ( const Network::MessageFrame & frame)
private

Definition at line 332 of file MonitorFrame.cpp.

◆ HandleDisconnect()

void Ember::Monitor::MonitorFrame::HandleDisconnect ( const Network::MessageFrame & frame)
private

Definition at line 352 of file MonitorFrame.cpp.

◆ HandleHandshake()

void Ember::Monitor::MonitorFrame::HandleHandshake ( const Network::MessageFrame & frame)
private

Definition at line 240 of file MonitorFrame.cpp.

◆ HandleTickUpdate()

void Ember::Monitor::MonitorFrame::HandleTickUpdate ( const Network::MessageFrame & frame)
private

Definition at line 319 of file MonitorFrame.cpp.

◆ HandleTreeInit()

void Ember::Monitor::MonitorFrame::HandleTreeInit ( const Network::MessageFrame & frame)
private

Definition at line 266 of file MonitorFrame.cpp.

◆ HandleTreeReset()

void Ember::Monitor::MonitorFrame::HandleTreeReset ( const Network::MessageFrame & frame)
private

Definition at line 344 of file MonitorFrame.cpp.

◆ OnAbout()

void Ember::Monitor::MonitorFrame::OnAbout ( wxCommandEvent & event)
private

Definition at line 169 of file MonitorFrame.cpp.

◆ OnClientConnect()

void Ember::Monitor::MonitorFrame::OnClientConnect ( const std::string & address)
private

Definition at line 190 of file MonitorFrame.cpp.

◆ OnClientDisconnect()

void Ember::Monitor::MonitorFrame::OnClientDisconnect ( )
private

Definition at line 197 of file MonitorFrame.cpp.

◆ OnClose()

void Ember::Monitor::MonitorFrame::OnClose ( wxCloseEvent & event)
private

Definition at line 156 of file MonitorFrame.cpp.

◆ OnFrameResize()

void Ember::Monitor::MonitorFrame::OnFrameResize ( wxSizeEvent & event)
private

Definition at line 146 of file MonitorFrame.cpp.

◆ OnNodeSelected()

void Ember::Monitor::MonitorFrame::OnNodeSelected ( EmberCore::ITreeNode * node)
private

Definition at line 354 of file MonitorFrame.cpp.

◆ OnPollTimer()

void Ember::Monitor::MonitorFrame::OnPollTimer ( wxTimerEvent & event)
private

Definition at line 174 of file MonitorFrame.cpp.

◆ OnQuit()

void Ember::Monitor::MonitorFrame::OnQuit ( wxCommandEvent & event)
private

Definition at line 167 of file MonitorFrame.cpp.

◆ OnServerMessage()

void Ember::Monitor::MonitorFrame::OnServerMessage ( const Network::MessageFrame & frame)
private

Definition at line 212 of file MonitorFrame.cpp.

◆ RefreshVisualization()

void Ember::Monitor::MonitorFrame::RefreshVisualization ( )
private

Definition at line 369 of file MonitorFrame.cpp.

◆ SetupCallbacks()

void Ember::Monitor::MonitorFrame::SetupCallbacks ( )
private

Definition at line 112 of file MonitorFrame.cpp.

◆ UpdateStatusBar()

void Ember::Monitor::MonitorFrame::UpdateStatusBar ( )
private

Definition at line 374 of file MonitorFrame.cpp.

◆ wxDECLARE_EVENT_TABLE()

Ember::Monitor::MonitorFrame::wxDECLARE_EVENT_TABLE ( )
private

Member Data Documentation

◆ m_auiManager

wxAuiManager* Ember::Monitor::MonitorFrame::m_auiManager
private

Definition at line 76 of file MonitorFrame.h.

◆ m_codec

Network::FlatBufferCodec Ember::Monitor::MonitorFrame::m_codec
private

Definition at line 66 of file MonitorFrame.h.

◆ m_connectionPanel

ConnectionPanel* Ember::Monitor::MonitorFrame::m_connectionPanel
private

Definition at line 77 of file MonitorFrame.h.

◆ m_connectionState

ConnectionState Ember::Monitor::MonitorFrame::m_connectionState = ConnectionState::Idle
private

Definition at line 71 of file MonitorFrame.h.

◆ m_currentTree

std::shared_ptr<EmberCore::BehaviorTree> Ember::Monitor::MonitorFrame::m_currentTree
private

Definition at line 68 of file MonitorFrame.h.

◆ m_currentTreeId

std::string Ember::Monitor::MonitorFrame::m_currentTreeId
private

Definition at line 70 of file MonitorFrame.h.

◆ m_hasPendingTickUpdate

bool Ember::Monitor::MonitorFrame::m_hasPendingTickUpdate = false
private

Definition at line 74 of file MonitorFrame.h.

◆ m_inNodeSelection

bool Ember::Monitor::MonitorFrame::m_inNodeSelection = false
private

Definition at line 60 of file MonitorFrame.h.

◆ m_lastClientSize

wxSize Ember::Monitor::MonitorFrame::m_lastClientSize
private

Definition at line 87 of file MonitorFrame.h.

◆ m_layout

EmberUI::ProportionalLayout Ember::Monitor::MonitorFrame::m_layout
private

Definition at line 86 of file MonitorFrame.h.

◆ m_mainPanel

MainPanel* Ember::Monitor::MonitorFrame::m_mainPanel
private

Definition at line 78 of file MonitorFrame.h.

◆ m_navigatorTab

MonitorNavigatorTab* Ember::Monitor::MonitorFrame::m_navigatorTab
private

Definition at line 80 of file MonitorFrame.h.

◆ m_pendingTickUpdate

Network::MessageFrame Ember::Monitor::MonitorFrame::m_pendingTickUpdate
private

Definition at line 73 of file MonitorFrame.h.

◆ m_pollTimer

wxTimer Ember::Monitor::MonitorFrame::m_pollTimer
private

Definition at line 84 of file MonitorFrame.h.

◆ m_propertiesTab

PropertiesTab* Ember::Monitor::MonitorFrame::m_propertiesTab
private

Definition at line 81 of file MonitorFrame.h.

◆ m_rightPanel

RightSidePanel* Ember::Monitor::MonitorFrame::m_rightPanel
private

Definition at line 79 of file MonitorFrame.h.

◆ m_server

TCPServer Ember::Monitor::MonitorFrame::m_server
private

Definition at line 64 of file MonitorFrame.h.

◆ m_stateChanged

bool Ember::Monitor::MonitorFrame::m_stateChanged = false
private

Definition at line 72 of file MonitorFrame.h.

◆ m_stateManager

std::shared_ptr<Network::StateManager> Ember::Monitor::MonitorFrame::m_stateManager
private

Definition at line 67 of file MonitorFrame.h.

◆ m_statusBar

wxStatusBar* Ember::Monitor::MonitorFrame::m_statusBar
private

Definition at line 82 of file MonitorFrame.h.

◆ m_treeBuilder

Network::TreeBuilder Ember::Monitor::MonitorFrame::m_treeBuilder
private

Definition at line 65 of file MonitorFrame.h.


The documentation for this class was generated from the following files: