Ember
Loading...
Searching...
No Matches
PropertiesTab.h
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4
7#include <wx/wx.h>
8
9namespace Ember {
10namespace Monitor {
11
14 public:
15 explicit PropertiesTab(wxWindow *parent);
16 ~PropertiesTab() override = default;
17
18 // ITab
19 wxString GetTabType() const override { return "MonitorProperties"; }
20 void Refresh() override; // NOLINT(overloaded-virtual) -- overrides ITab::Refresh, not wxWindow::Refresh
21
22 using PropertiesTabBase::SetSelectedNode;
24 void SetStateManager(std::shared_ptr<Network::StateManager> stateManager);
26 void ClearNode();
27
28 protected:
30 void CreateContentLayout(wxPanel *contentPanel) override;
32 void PopulateProperties() override;
33
34 private:
37 wxString StatusToString(int status) const;
38
39 std::shared_ptr<Network::StateManager> m_stateManager;
40};
41
42} // namespace Monitor
43} // namespace Ember
Shared base class for property editors (wxPanel, ITab).
wxString StatusToString(int status) const
void ClearNode()
Clears the currently selected node and resets the property display.
void CreateContentLayout(wxPanel *contentPanel) override
Builds the content layout for the property panel.
wxString GetTabType() const override
Returns the tab type identifier.
void SetStateManager(std::shared_ptr< Network::StateManager > stateManager)
Assigns the state manager used for live status lookups.
void PopulateProperties() override
Fills the property grid with node properties and status.
void Refresh() override
Refreshes the tab content.
~PropertiesTab() override=default
PropertiesTab(wxWindow *parent)
std::shared_ptr< Network::StateManager > m_stateManager