#include "wx/artprov.h"
#include "wx/collpane.h"
#include "wx/arrstr.h"
+#include "wx/msgout.h"
#if wxUSE_THREADS
#include "wx/thread.h"
#if CAN_SAVE_FILES
void OnSave(wxCommandEvent& event);
#endif // CAN_SAVE_FILES
- void OnListSelect(wxListEvent& event);
void OnListItemActivated(wxListEvent& event);
private:
static size_t ms_maxLength;
DECLARE_EVENT_TABLE()
- DECLARE_NO_COPY_CLASS(wxLogDialog)
+ wxDECLARE_NO_COPY_CLASS(wxLogDialog);
};
BEGIN_EVENT_TABLE(wxLogDialog, wxDialog)
#if CAN_SAVE_FILES
EVT_BUTTON(wxID_SAVE, wxLogDialog::OnSave)
#endif // CAN_SAVE_FILES
- EVT_LIST_ITEM_SELECTED(wxID_ANY, wxLogDialog::OnListSelect)
EVT_LIST_ITEM_ACTIVATED(wxID_ANY, wxLogDialog::OnListItemActivated)
END_EVENT_TABLE()
#else
wxLog::OnLog(wxLOG_Status, msg, time(NULL));
#endif
- gs_pFrame = (wxFrame *) NULL;
+ gs_pFrame = NULL;
}
}
#else // !wxUSE_LOG_DIALOG
// start from the most recent message
wxString message;
- str.reserve(nMsgCount*100);
+ const size_t nMsgCount = messages.size();
+ message.reserve(nMsgCount*100);
for ( size_t n = nMsgCount; n > 0; n-- ) {
message << m_aMessages[n - 1] << wxT("\n");
}
#endif // wxUSE_STATUSBAR
break;
- case wxLOG_Trace:
- case wxLOG_Debug:
- #ifdef __WXDEBUG__
- {
- wxString str;
- TimeStamp(&str);
- str += szString;
-
- #if defined(__WXMSW__) && !defined(__WXMICROWIN__)
- // don't prepend debug/trace here: it goes to the
- // debug window anyhow
- str += wxT("\r\n");
- OutputDebugString(str.wx_str());
- #else
- // send them to stderr
- wxFprintf(stderr, wxT("[%s] %s\n"),
- level == wxLOG_Trace ? wxT("Trace")
- : wxT("Debug"),
- str.c_str());
- fflush(stderr);
- #endif
- }
- #endif // __WXDEBUG__
-
- break;
-
case wxLOG_FatalError:
// show this one immediately
wxMessageBox(szString, _("Fatal error"), wxICON_HAND);
m_aTimes.Add((long)t);
m_bHasMessages = true;
break;
+
+ default:
+ // let the base class deal with debug/trace messages as well as any
+ // custom levels
+ wxLog::DoLog(level, szString, t);
}
}
DECLARE_EVENT_TABLE()
- DECLARE_NO_COPY_CLASS(wxLogFrame)
+ wxDECLARE_NO_COPY_CLASS(wxLogFrame);
};
BEGIN_EVENT_TABLE(wxLogFrame, wxFrame)
void wxLogWindow::OnFrameDelete(wxFrame * WXUNUSED(frame))
{
- m_pLogFrame = (wxLogFrame *)NULL;
+ m_pLogFrame = NULL;
}
wxLogWindow::~wxLogWindow()
m_listctrl->SetSize(wxDefaultCoord, wxMin(height, heightMax));
}
-void wxLogDialog::OnListSelect(wxListEvent& event)
-{
- // we can't just disable the control because this looks ugly under Windows
- // (wrong bg colour, no scrolling...), but we still want to disable
- // selecting items - it makes no sense here
- m_listctrl->SetItemState(event.GetIndex(), 0, wxLIST_STATE_SELECTED);
-}
-
void wxLogDialog::OnListItemActivated(wxListEvent& event)
{
// show the activated item in a message box