void OnSearchText(wxCommandEvent &event)
bool IsNodeInExecutionPath(int64_t nodeId) const override
Returns true if the node is in the current execution path.
void NavigateToResult(size_t index)
void ClearTree()
Clears the displayed tree.
MonitorTreeCanvas * GetTreeCanvas() const
Returns the tree canvas widget.
std::shared_ptr< Ember::Network::TCPTreeAdapter > m_adapter
void GetExecutionPathIds(std::set< int64_t > &outIds) const override
Fills outIds with node IDs in the execution path.
void SetTree(std::shared_ptr< Ember::Network::TCPTreeAdapter > adapter, std::shared_ptr< Network::StateManager > stateManager)
Loads the tree from the given adapter and state manager.
void CollectSearchResults(const wxString &query)
void OnSearchEnter(wxCommandEvent &event)
std::shared_ptr< Network::StateManager > m_stateManager
MainPanel(wxWindow *parent)
std::function< void(EmberCore::ITreeNode *)> NodeSelectionCallback
wxStaticText * m_searchStatus
void CreateLayout() override
Hook: creates the panel layout. Override to customize.
int GetNodeStatus(int64_t nodeId) const override
Returns the status code for the given node.
std::vector< EmberCore::ITreeNode * > m_searchResults
MonitorTreeCanvas * m_treeCanvas
wxSearchCtrl * m_searchCtrl
~MainPanel() override=default
void OnSearchCancel(wxCommandEvent &event)
void SetNodeSelectionCallback(NodeSelectionCallback callback)
Registers a callback invoked when a node is selected in the tree.