WxLogTextCtrl
wxLogMessage등의 로그 메시지를 Text Widget에 출력한다.
How to use
wxLogTextCtrl
자체로 출력할 수 있는 기능은 없다. 따라서 생성자에 wxTextCtrl의 포인터를 넘겨줘야 한다. 이후 wxLog::SetActiveTarget()
정적 메서드를 사용하여 wxLogTextCtrl
를 등록하면 된다.
Simple example
LogMessagePanel::LogMessagePanel(wxWindow * parent
, wxWindowID id, wxPoint const & pos, wxSize const & size)
: wxPanel(parent, id, pos, size)
{
int const kHeight = 150;
int const kProportion = 1;
int const kBorder = 5;
_log_text = new wxTextCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition,
wxSize(-1, kHeight), wxTE_MULTILINE | wxTE_READONLY);
_log_ctrl = new wxLogTextCtrl(_log_text);
wxLog::SetActiveTarget(_log_ctrl);
wxBoxSizer * vbox = new wxBoxSizer(wxVERTICAL);
vbox->Add(_log_text, kProportion, wxEXPAND | wxTOP | wxBOTTOM, kBorder);
SetSizer(vbox);
}