24#ifndef DATA_MONITOR_DLG_
25#define DATA_MONITOR_DLG_
33#include "std_filesystem.h"
41 enum class Format { kVdr, kDefault, kCsv };
43 DataLogger(wxWindow* parent,
const fs::path& path);
47 void SetLogging(
bool logging);
49 void SetLogfile(
const fs::path& path);
51 fs::path GetLogfile()
const {
return m_path; }
55 void SetFormat(Format format);
57 std::string GetFileDlgTypes()
const;
59 fs::path GetDefaultLogfile();
67 std::ofstream m_stream;
70 const NavmsgTimePoint m_log_start;
87 static void OnFilterListChange();
88 void OnFilterUpdate(
const std::string& name)
const;
89 void OnFilterApply(
const std::string& name);
92 wxWindow* m_quick_filter;
94 obs::Listener m_filter_list_lstnr;
95 obs::Listener m_filter_update_lstnr;
96 obs::Listener m_filter_apply_lstnr;
97 std::string m_current_filter;
obs::EventVar OnNewLogfile
Notified with new path on filename change.
Create a stream of input messages.
Overall logging handler, outputs to screen and log file.
void Add(const Logline &ll) override
Add an input line to log output.
bool IsVisible() const override
Return true if log is visible i.e., if it's any point using Add().
Generic event handling between for example MVC Model and Controller based on a shared EventVar variab...
Provide a data stream of input messages for the Data Monitor.