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);
45 explicit DataLogger(wxWindow* parent);
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;
75class DataMonitor :
public wxFrame,
public NmeaLog {
77 explicit DataMonitor(wxWindow* parent);
87 static void OnFilterListChange();
88 void OnFilterUpdate(
const std::string& name)
const;
89 void OnFilterApply(
const std::string& name);
92 wxWindow* m_quick_filter;
97 std::string m_current_filter;
obs::EventVar OnNewLogfile
Notified with new path on filename change.
Create a stream of input messages.
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...
Define an action to be performed when a KeyProvider is notified.
Provide a data stream of input messages for the Data Monitor.