![]() |
Ember
|
Log panel tab that displays application logs with filtering and control capabilities. More...
#include <LogTab.h>
Public Member Functions | |
| LogTab (wxWindow *parent) | |
| virtual | ~LogTab () |
| wxWindow * | GetWidget () override |
| Returns the wxWidgets window used as the tab content. | |
| wxString | GetTitle () const override |
| Returns the display title of the tab. | |
| wxString | GetTabType () const override |
| Returns the tab type identifier. | |
| void | Initialize () override |
| Called once when the tab is first created. | |
| void | Refresh () override |
| Refreshes the tab content. | |
| void | OnActivated () override |
| Called when the tab becomes active. | |
| void | OnDeactivated () override |
| Called when the tab becomes inactive. | |
| void | OnClosed () override |
| Called when the tab is closed. | |
| void | RefreshLogList () |
| void | ScrollToBottom () |
| void | SetLevelFilter (EmberCore::LogLevel level) |
| void | SetCategoryFilter (const wxString &category) |
| void | SetSearchFilter (const wxString &searchText) |
| void | ClearFilters () |
| void | SetConsoleLoggingEnabled (bool enabled) |
| void | SetFileLoggingEnabled (bool enabled) |
| void | ClearLogs () |
| void | CopySelectedToClipboard () |
| void | ExportLogs () |
| Public Member Functions inherited from ITab | |
| virtual | ~ITab ()=default |
| virtual wxBitmap | GetIcon () const |
| Returns the tab icon bitmap; defaults to null. | |
| 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 ¶meter="") |
| Executes an operation with optional parameter; returns true on success. | |
Private Types | |
| enum | { ID_LEVEL_FILTER = wxID_HIGHEST + 1 , ID_CATEGORY_FILTER , ID_SEARCH_CTRL , ID_AUTO_SCROLL , ID_PAUSE_BTN , ID_CONSOLE_CHECK , ID_FILE_CHECK , ID_CLEAR_BTN , ID_COPY_BTN , ID_EXPORT_BTN , ID_LOG_LIST } |
Private Member Functions | |
| void | LoadSettings () |
| void | CreateLayout () |
| void | CreateToolbar () |
| void | CreateLogList () |
| void | SetupEventHandlers () |
| void | OnLevelFilterChanged (wxCommandEvent &event) |
| void | OnCategoryFilterChanged (wxCommandEvent &event) |
| void | OnSearchTextChanged (wxCommandEvent &event) |
| void | OnAutoScrollToggled (wxCommandEvent &event) |
| void | OnConsoleToggled (wxCommandEvent &event) |
| void | OnFileToggled (wxCommandEvent &event) |
| void | OnClearClicked (wxCommandEvent &event) |
| void | OnCopyClicked (wxCommandEvent &event) |
| void | OnExportClicked (wxCommandEvent &event) |
| void | OnListItemSelected (wxListEvent &event) |
| void | OnListItemRightClick (wxListEvent &event) |
| void | OnLogUpdated () |
| void | OnPauseToggled (wxCommandEvent &event) |
| void | UpdatePauseButtonAppearance () |
| void | UpdateLogCountDisplay () |
| wxColour | GetLevelColor (EmberCore::LogLevel level) const |
| wxString | GetLevelString (EmberCore::LogLevel level) const |
| void | PopulateList (const std::vector< std::shared_ptr< EmberCore::LogEntry > > &entries) |
| void | UpdateCategoryChoices () |
| wxString | FormatTimestamp (const std::chrono::system_clock::time_point ×tamp) const |
| wxDECLARE_EVENT_TABLE () | |
Private Attributes | |
| wxChoice * | m_levelFilter |
| wxComboBox * | m_categoryFilter |
| wxSearchCtrl * | m_searchCtrl |
| wxCheckBox * | m_autoScrollCheck |
| wxButton * | m_pauseBtn |
| wxCheckBox * | m_consoleCheck |
| wxCheckBox * | m_fileCheck |
| wxButton * | m_clearBtn |
| wxButton * | m_copyBtn |
| wxButton * | m_exportBtn |
| wxStaticText * | m_logCountLabel |
| VirtualLogListCtrl * | m_logList |
| EmberCore::LogLevel | m_currentLevelFilter |
| wxString | m_currentCategoryFilter |
| wxString | m_currentSearchFilter |
| bool | m_autoScroll |
| bool | m_paused |
| bool | m_updatingCategories |
| std::vector< std::shared_ptr< EmberCore::LogEntry > > | m_filteredEntries |
| std::set< std::string > | m_knownCategories |
| EmberCore::Logger::ObserverId | m_observerId |
Friends | |
| class | VirtualLogListCtrl |
Log panel tab that displays application logs with filtering and control capabilities.
Features:
|
private |
| EmberForge::LogTab::LogTab | ( | wxWindow * | parent | ) |
|
virtual |
Definition at line 105 of file LogTab.cpp.
| void EmberForge::LogTab::ClearFilters | ( | ) |
Definition at line 449 of file LogTab.cpp.
| void EmberForge::LogTab::ClearLogs | ( | ) |
Definition at line 469 of file LogTab.cpp.
| void EmberForge::LogTab::CopySelectedToClipboard | ( | ) |
Definition at line 475 of file LogTab.cpp.
|
private |
Definition at line 162 of file LogTab.cpp.
|
private |
Definition at line 272 of file LogTab.cpp.
|
private |
Definition at line 268 of file LogTab.cpp.
| void EmberForge::LogTab::ExportLogs | ( | ) |
Definition at line 507 of file LogTab.cpp.
|
private |
Definition at line 345 of file LogTab.cpp.
|
private |
Definition at line 361 of file LogTab.cpp.
|
private |
Definition at line 387 of file LogTab.cpp.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
overridevirtual |
Called once when the tab is first created.
Reimplemented from ITab.
Definition at line 112 of file LogTab.cpp.
|
private |
Definition at line 131 of file LogTab.cpp.
|
overridevirtual |
Called when the tab becomes active.
Reimplemented from ITab.
Definition at line 418 of file LogTab.cpp.
|
private |
Definition at line 561 of file LogTab.cpp.
|
private |
Definition at line 546 of file LogTab.cpp.
|
private |
Definition at line 572 of file LogTab.cpp.
|
overridevirtual |
|
private |
Definition at line 568 of file LogTab.cpp.
|
private |
Definition at line 574 of file LogTab.cpp.
|
overridevirtual |
Called when the tab becomes inactive.
Reimplemented from ITab.
Definition at line 420 of file LogTab.cpp.
|
private |
Definition at line 576 of file LogTab.cpp.
|
private |
Definition at line 570 of file LogTab.cpp.
|
private |
Definition at line 540 of file LogTab.cpp.
|
private |
Definition at line 582 of file LogTab.cpp.
|
private |
Definition at line 578 of file LogTab.cpp.
|
private |
Definition at line 595 of file LogTab.cpp.
|
private |
Definition at line 603 of file LogTab.cpp.
|
private |
Definition at line 556 of file LogTab.cpp.
|
private |
Definition at line 303 of file LogTab.cpp.
|
overridevirtual |
| void EmberForge::LogTab::RefreshLogList | ( | ) |
Definition at line 282 of file LogTab.cpp.
| void EmberForge::LogTab::ScrollToBottom | ( | ) |
Definition at line 404 of file LogTab.cpp.
| void EmberForge::LogTab::SetCategoryFilter | ( | const wxString & | category | ) |
Definition at line 439 of file LogTab.cpp.
| void EmberForge::LogTab::SetConsoleLoggingEnabled | ( | bool | enabled | ) |
Definition at line 462 of file LogTab.cpp.
| void EmberForge::LogTab::SetFileLoggingEnabled | ( | bool | enabled | ) |
Definition at line 466 of file LogTab.cpp.
| void EmberForge::LogTab::SetLevelFilter | ( | EmberCore::LogLevel | level | ) |
Definition at line 434 of file LogTab.cpp.
| void EmberForge::LogTab::SetSearchFilter | ( | const wxString & | searchText | ) |
Definition at line 444 of file LogTab.cpp.
|
private |
Definition at line 278 of file LogTab.cpp.
|
private |
Definition at line 311 of file LogTab.cpp.
|
private |
Definition at line 628 of file LogTab.cpp.
|
private |
Definition at line 613 of file LogTab.cpp.
|
private |
|
friend |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |