// Created: 20.09.99 (extracted from src/common/log.cpp)
// RCS-ID: $Id$
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
// headers
// ----------------------------------------------------------------------------
-// no #pragma implementation "log.h" because it's already in src/common/log.cpp
+#ifdef __GNUG__
+ #pragma implementation "logg.h"
+#endif
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#pragma hdrstop
#endif
-#if !wxUSE_GUI
- #error "This file can't be compiled without GUI!"
-#endif
-
#ifndef WX_PRECOMP
#include "wx/app.h"
#include "wx/button.h"
#include "wx/msw/private.h"
#endif // Windows
+#ifdef __WXPM__
+ #include <time.h>
+#endif
+
#if wxUSE_LOG_DIALOG
#include "wx/listctrl.h"
#include "wx/imaglist.h"
#include "wx/msgdlg.h"
#endif // wxUSE_LOG_DIALOG/!wxUSE_LOG_DIALOG
+#if defined(__MWERKS__) && wxUSE_UNICODE
+ #include <wtime.h>
+#endif
+
// the suffix we add to the button to show that the dialog can be expanded
#define EXPAND_SUFFIX _T(" >>")
// allows to exclude the usage of wxDateTime
static wxString TimeStamp(const wxChar *format, time_t t)
{
+#ifdef __WXWINCE__
+ // FIXME
+ return wxEmptyString;
+#else
wxChar buf[4096];
if ( !wxStrftime(buf, WXSIZEOF(buf), format, localtime(&t)) )
{
wxFAIL_MSG(_T("strftime() failed"));
}
return wxString(buf);
+#endif
}
static wxString ms_details;
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxLogDialog)
};
BEGIN_EVENT_TABLE(wxLogDialog, wxDialog)
wxASSERT( gs_pFrame == NULL ); // should be reset!
gs_pFrame = pFrame;
+#ifdef __WXWINCE__
+ wxLog::OnLog(wxLOG_Status, msg, 0);
+#else
wxLog::OnLog(wxLOG_Status, msg, time(NULL));
+#endif
gs_pFrame = (wxFrame *) NULL;
}
}
#endif // wxUSE_FILE
void OnClear(wxCommandEvent& event);
- void OnIdle(wxIdleEvent&);
-
// accessors
wxTextCtrl *TextCtrl() const { return m_pTextCtrl; }
wxLogWindow *m_log;
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxLogFrame)
};
BEGIN_EVENT_TABLE(wxLogFrame, wxFrame)
wxLog::DoLog(level, szString, t);
}
}
-
- m_bHasMessages = TRUE;
}
void wxLogWindow::DoLogString(const wxChar *szString, time_t WXUNUSED(t))
switch ( style & wxICON_MASK )
{
case wxICON_ERROR:
- bitmap = wxArtProvider::GetIcon(wxART_ERROR, wxART_MESSAGE_BOX); break;
+ bitmap = wxArtProvider::GetIcon(wxART_ERROR, wxART_MESSAGE_BOX);
+#ifdef __WXPM__
+ bitmap.SetId(wxICON_SMALL_ERROR);
+#endif
+ break;
+
case wxICON_INFORMATION:
- bitmap = wxArtProvider::GetIcon(wxART_INFORMATION, wxART_MESSAGE_BOX); break;
+ bitmap = wxArtProvider::GetIcon(wxART_INFORMATION, wxART_MESSAGE_BOX);
+#ifdef __WXPM__
+ bitmap.SetId(wxICON_SMALL_INFO);
+#endif
+ break;
+
case wxICON_WARNING:
- bitmap = wxArtProvider::GetIcon(wxART_WARNING, wxART_MESSAGE_BOX); break;
+ bitmap = wxArtProvider::GetIcon(wxART_WARNING, wxART_MESSAGE_BOX);
+#ifdef __WXPM__
+ bitmap.SetId(wxICON_SMALL_WARNING);
+#endif
+ break;
+
default:
wxFAIL_MSG(_T("incorrect log style"));
}
SetSizer(sizerTop);
// see comments in OnDetails()
+ //
+ // Note: Doing this, this way, triggered a nasty bug in
+ // wxTopLevelWindowGTK::GtkOnSize which took -1 literally once
+ // either of maxWidth or maxHeight was set. This symptom has been
+ // fixed there, but it is a problem that remains as long as we allow
+ // unchecked access to the internal size members. We really need to
+ // encapuslate window sizes more cleanly and make it clear when -1 will
+ // be substituted and when it will not.
+
wxSize size = sizerTop->Fit(this);
m_maxHeight = size.y;
SetSizeHints(size.x, size.y, m_maxWidth, m_maxHeight);
{
m_btnDetails->SetLabel(ms_details + EXPAND_SUFFIX);
- sizer->Remove(m_listctrl);
+ sizer->Detach( m_listctrl );
#if wxUSE_STATLINE
- sizer->Remove(m_statline);
+ sizer->Detach( m_statline );
#endif // wxUSE_STATLINE
#if wxUSE_FILE
- sizer->Remove(m_btnSave);
+ sizer->Detach( m_btnSave );
#endif // wxUSE_FILE
}
else // show details now
// we have to reset min size constraints or Fit() would never reduce the
// dialog size when collapsing it and we have to reset max constraint
// because it wouldn't expand it otherwise
+
m_minHeight =
m_maxHeight = -1;
#endif // !(wxUSE_LOGGUI || wxUSE_LOGWINDOW)
-#if wxUSE_TEXTCTRL
+#if wxUSE_LOG && wxUSE_TEXTCTRL
// ----------------------------------------------------------------------------
// wxLogTextCtrl implementation
m_pTextCtrl->AppendText(msg);
}
-#endif // wxUSE_TEXTCTRL
+#endif // wxUSE_LOG && wxUSE_TEXTCTRL