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

Monitor's property inspector displaying read-only node properties and live status. More...

#include <PropertiesTab.h>

Inheritance diagram for Ember::Monitor::PropertiesTab:
EmberUI::PropertiesTabBase ITab

Public Member Functions

 PropertiesTab (wxWindow *parent)
 ~PropertiesTab () override=default
wxString GetTabType () const override
 Returns the tab type identifier.
void Refresh () override
 Refreshes the tab content.
void SetStateManager (std::shared_ptr< Network::StateManager > stateManager)
 Assigns the state manager used for live status lookups.
void ClearNode ()
 Clears the currently selected node and resets the property display.
Public Member Functions inherited from EmberUI::PropertiesTabBase
 PropertiesTabBase (wxWindow *parent)
virtual ~PropertiesTabBase ()=default
wxWindow * GetWidget () override
 Returns the wxWidgets window used as the tab content.
wxString GetTitle () const override
 Returns the display title of the tab.
void SetSelectedNode (EmberCore::ITreeNode *node)
 Sets the node whose properties are displayed.
void ClearSelection ()
 Clears the current selection.
void SetSelectionHighlightColor (const wxColour &color)
 Sets the highlight color for the selected node.
Public Member Functions inherited from ITab
virtual ~ITab ()=default
virtual wxBitmap GetIcon () const
 Returns the tab icon bitmap; defaults to null.
virtual void Initialize ()
 Called once when the tab is first created.
virtual void OnActivated ()
 Called when the tab becomes active.
virtual void OnDeactivated ()
 Called when the tab becomes inactive.
virtual void OnClosed ()
 Called when the tab is closed.
virtual bool IsValid () const
 Returns true if the tab is in a valid state.
virtual bool CanClose () const
 Returns true if the tab can be closed.
virtual bool CanMove () const
 Returns true if the tab can be moved/reordered.
virtual wxString SerializeState () const
 Serializes tab state to a string for persistence.
virtual void DeserializeState (const wxString &state)
 Restores tab state from a serialized string.
virtual bool HasUnsavedChanges () const
 Returns true if the tab has unsaved changes.
virtual bool Save ()
 Saves the tab content; returns true on success.
virtual bool SupportsOperation (const wxString &operation) const
 Returns true if the tab supports the given operation.
virtual bool ExecuteOperation (const wxString &operation, const wxString &parameter="")
 Executes an operation with optional parameter; returns true on success.

Protected Member Functions

void CreateContentLayout (wxPanel *contentPanel) override
 Builds the content layout for the property panel.
void PopulateProperties () override
 Fills the property grid with node properties and status.
Protected Member Functions inherited from EmberUI::PropertiesTabBase
void InitLayout ()
 Initializes the tab layout (stack, placeholder, content panels).
void SetupPropertyGrid (wxPanel *parent)
 Creates and configures the property grid in the given parent.
void AddBasicNodeInfo ()
 Adds basic node info (name, type) to the property grid.
virtual wxString GetPlaceholderText () const
 Returns placeholder text when no node is selected.
virtual void OnNodeCleared ()
 Called when selection is cleared; subclasses may override.

Private Member Functions

void AddStatusProperties ()
void DisableAllProperties ()
wxString StatusToString (int status) const

Private Attributes

std::shared_ptr< Network::StateManagerm_stateManager

Additional Inherited Members

Protected Attributes inherited from EmberUI::PropertiesTabBase
wxSimplebook * m_stack
wxPanel * m_placeholderPanel
wxPanel * m_contentPanel
wxPropertyGrid * m_propertyGrid
EmberCore::ITreeNodem_selectedNode
wxColour m_selectionHighlight
Static Protected Attributes inherited from EmberUI::PropertiesTabBase
static const wxColour kBgColor
static const wxColour kCaptionBgColor
static const wxColour kTextColor
static const wxColour kLineColor
static const wxColour kCellBgColor

Detailed Description

Monitor's property inspector displaying read-only node properties and live status.

Definition at line 13 of file PropertiesTab.h.

Constructor & Destructor Documentation

◆ PropertiesTab()

PropertiesTab::PropertiesTab ( wxWindow * parent)
explicit

Definition at line 6 of file PropertiesTab.cpp.

◆ ~PropertiesTab()

Ember::Monitor::PropertiesTab::~PropertiesTab ( )
overridedefault

Member Function Documentation

◆ AddStatusProperties()

void PropertiesTab::AddStatusProperties ( )
private

Definition at line 39 of file PropertiesTab.cpp.

◆ ClearNode()

void PropertiesTab::ClearNode ( )

Clears the currently selected node and resets the property display.

Definition at line 20 of file PropertiesTab.cpp.

◆ CreateContentLayout()

void PropertiesTab::CreateContentLayout ( wxPanel * contentPanel)
overrideprotectedvirtual

Builds the content layout for the property panel.

Implements EmberUI::PropertiesTabBase.

Definition at line 8 of file PropertiesTab.cpp.

◆ DisableAllProperties()

void PropertiesTab::DisableAllProperties ( )
private

Definition at line 61 of file PropertiesTab.cpp.

◆ GetTabType()

wxString Ember::Monitor::PropertiesTab::GetTabType ( ) const
inlineoverridevirtual

Returns the tab type identifier.

Implements ITab.

Definition at line 19 of file PropertiesTab.h.

◆ PopulateProperties()

void PropertiesTab::PopulateProperties ( )
overrideprotectedvirtual

Fills the property grid with node properties and status.

Implements EmberUI::PropertiesTabBase.

Definition at line 30 of file PropertiesTab.cpp.

◆ Refresh()

void PropertiesTab::Refresh ( )
overridevirtual

Refreshes the tab content.

Reimplemented from ITab.

Definition at line 22 of file PropertiesTab.cpp.

◆ SetStateManager()

void PropertiesTab::SetStateManager ( std::shared_ptr< Network::StateManager > stateManager)

Assigns the state manager used for live status lookups.

Definition at line 16 of file PropertiesTab.cpp.

◆ StatusToString()

wxString PropertiesTab::StatusToString ( int status) const
private

Definition at line 70 of file PropertiesTab.cpp.

Member Data Documentation

◆ m_stateManager

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

Definition at line 39 of file PropertiesTab.h.


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