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().
Provide a data stream of input messages for the Data Monitor.