about summary refs log tree commit diff stats
path: root/src/log_dialog.cpp
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-03-09 13:07:35 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-03-09 13:07:35 -0400
commitd3457700075fab2dac25bcff2775b7ae5a436a28 (patch)
treecfa18a1875e171e53234b2487fd9ba25b31146fa /src/log_dialog.cpp
parent7f907a8985b1e2193e210ecc7e18f60c7eea2094 (diff)
downloadlingo-ap-tracker-d3457700075fab2dac25bcff2775b7ae5a436a28.tar.gz
lingo-ap-tracker-d3457700075fab2dac25bcff2775b7ae5a436a28.tar.bz2
lingo-ap-tracker-d3457700075fab2dac25bcff2775b7ae5a436a28.zip
Created log window
Diffstat (limited to 'src/log_dialog.cpp')
-rw-r--r--src/log_dialog.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/log_dialog.cpp b/src/log_dialog.cpp new file mode 100644 index 0000000..3f0a8ad --- /dev/null +++ b/src/log_dialog.cpp
@@ -0,0 +1,37 @@
1#include "log_dialog.h"
2
3#include "logger.h"
4
5wxDEFINE_EVENT(LOG_MESSAGE, wxCommandEvent);
6
7LogDialog::LogDialog(wxWindow* parent)
8 : wxDialog(parent, wxID_ANY, "Debug Log", wxDefaultPosition, wxDefaultSize,
9 wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER) {
10 SetSize(FromDIP(wxSize{512, 280}));
11
12 text_area_ =
13 new wxTextCtrl(this, wxID_ANY, "", wxDefaultPosition, wxDefaultSize,
14 wxTE_MULTILINE | wxTE_READONLY | wxTE_DONTWRAP);
15 text_area_->SetValue(TrackerReadPastLog());
16
17 wxBoxSizer* top_sizer = new wxBoxSizer(wxVERTICAL);
18 top_sizer->Add(text_area_,
19 wxSizerFlags().DoubleBorder().Expand().Proportion(1));
20
21 SetSizer(top_sizer);
22
23 Bind(LOG_MESSAGE, &LogDialog::OnLogMessage, this);
24}
25
26void LogDialog::LogMessage(const std::string& message) {
27 wxCommandEvent* event = new wxCommandEvent(LOG_MESSAGE);
28 event->SetString(message);
29 QueueEvent(event);
30}
31
32void LogDialog::OnLogMessage(wxCommandEvent& event) {
33 if (!text_area_->IsEmpty()) {
34 text_area_->AppendText("\n");
35 }
36 text_area_->AppendText(event.GetString());
37}