19 : wxListCtrl(parent, id, wxDefaultPosition, wxDefaultSize,
20 wxLC_REPORT | wxLC_VIRTUAL | wxLC_SINGLE_SEL | wxLC_HRULES | wxLC_VRULES),
23 SetBackgroundColour(wxColour(30, 30, 30));
24 SetForegroundColour(wxColour(220, 220, 220));
27 InsertColumn(0,
"Time", wxLIST_FORMAT_LEFT, 85);
28 InsertColumn(1,
"Level", wxLIST_FORMAT_CENTER, 70);
29 InsertColumn(2,
"Category", wxLIST_FORMAT_LEFT, 100);
30 InsertColumn(3,
"Message", wxLIST_FORMAT_LEFT, 500);
163 wxBoxSizer *mainSizer =
new wxBoxSizer(wxVERTICAL);
169 wxPanel *toolbarPanel =
new wxPanel(
this, wxID_ANY);
170 toolbarPanel->SetBackgroundColour(wxColour(60, 60, 63));
172 wxBoxSizer *toolbarSizer =
new wxBoxSizer(wxVERTICAL);
175 wxBoxSizer *filterRow =
new wxBoxSizer(wxHORIZONTAL);
178 wxStaticText *levelLabel =
new wxStaticText(toolbarPanel, wxID_ANY,
"Level:");
179 levelLabel->SetForegroundColour(wxColour(200, 200, 200));
180 filterRow->Add(levelLabel, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 5);
182 wxArrayString levelChoices;
183 levelChoices.Add(
"All");
184 levelChoices.Add(
"Trace");
185 levelChoices.Add(
"Info");
186 levelChoices.Add(
"Warning");
187 levelChoices.Add(
"Error");
188 levelChoices.Add(
"Critical");
191 filterRow->Add(
m_levelFilter, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 10);
194 wxStaticText *categoryLabel =
new wxStaticText(toolbarPanel, wxID_ANY,
"Category:");
195 categoryLabel->SetForegroundColour(wxColour(200, 200, 200));
196 filterRow->Add(categoryLabel, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 5);
205 filterRow->Add(
m_searchCtrl, 1, wxALIGN_CENTER_VERTICAL | wxRIGHT, 10);
216 filterRow->Add(
m_pauseBtn, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 5);
218 toolbarSizer->Add(filterRow, 0, wxEXPAND | wxALL, 3);
221 wxBoxSizer *controlRow =
new wxBoxSizer(wxHORIZONTAL);
227 controlRow->Add(
m_consoleCheck, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 5);
231 m_fileCheck->SetForegroundColour(wxColour(200, 200, 200));
233 controlRow->Add(
m_fileCheck, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 10);
236 controlRow->Add(
new wxStaticLine(toolbarPanel, wxID_ANY, wxDefaultPosition, wxSize(1, 20), wxLI_VERTICAL), 0,
237 wxALIGN_CENTER_VERTICAL | wxRIGHT, 10);
241 controlRow->Add(
m_clearBtn, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 5);
244 controlRow->Add(
m_copyBtn, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 5);
247 controlRow->Add(
m_exportBtn, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 5);
249 controlRow->AddStretchSpacer();
252 m_logCountLabel =
new wxStaticText(toolbarPanel, wxID_ANY,
"Showing 0 of 0 logs");
254 controlRow->Add(
m_logCountLabel, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, 10);
256 toolbarSizer->Add(controlRow, 0, wxEXPAND | wxALL, 3);
258 toolbarPanel->SetSizer(toolbarSizer);
259 mainSizer->Add(toolbarPanel, 0, wxEXPAND);
263 mainSizer->Add(
m_logList, 1, wxEXPAND | wxALL, 2);