#include "wx/msw/private.h"
#endif // Windows
-// may be defined to 0 for old behavior (using wxMessageBox) - shouldn't be
-// changed normally (that's why it's here and not in setup.h).
-// Actually it now is in setup.h.
-#ifndef wxUSE_LOG_DIALOG
-#define wxUSE_LOG_DIALOG 1
-#endif
-
#if wxUSE_LOG_DIALOG
#include "wx/listctrl.h"
#include "wx/imaglist.h"
#include "wx/image.h"
-#else // !wxUSE_TEXTFILE
+#else // !wxUSE_LOG_DIALOG
#include "wx/msgdlg.h"
#endif // wxUSE_LOG_DIALOG/!wxUSE_LOG_DIALOG
// we use a global variable to store the frame pointer for wxLogStatus - bad,
// but it's the easiest way
-static wxFrame *gs_pFrame; // FIXME MT-unsafe
+static wxFrame *gs_pFrame = NULL; // FIXME MT-unsafe
// ============================================================================
// implementation
// wxLogWindow
// -----------
+
wxLogWindow::wxLogWindow(wxFrame *pParent,
const wxChar *szTitle,
bool bShow,
bool bDoPass)
{
- m_bPassMessages = bDoPass;
+ PassMessages(bDoPass);
m_pLogFrame = new wxLogFrame(pParent, this, szTitle);
- m_pOldLog = wxLog::SetActiveTarget(this);
if ( bShow )
m_pLogFrame->Show(TRUE);
m_pLogFrame->Show(bShow);
}
-void wxLogWindow::Flush()
-{
- if ( m_pOldLog != NULL )
- m_pOldLog->Flush();
-
- m_bHasMessages = FALSE;
-}
-
void wxLogWindow::DoLog(wxLogLevel level, const wxChar *szString, time_t t)
{
// first let the previous logger show it
- if ( m_pOldLog != NULL && m_bPassMessages ) {
- // bogus cast just to access protected DoLog
- ((wxLogWindow *)m_pOldLog)->DoLog(level, szString, t);
- }
+ wxLogPassThrough::DoLog(level, szString, t);
if ( m_pLogFrame ) {
switch ( level ) {
wxLogWindow::~wxLogWindow()
{
- delete m_pOldLog;
-
// may be NULL if log frame already auto destroyed itself
delete m_pLogFrame;
}