// Created: 20.09.99 (extracted from src/common/log.cpp)
// RCS-ID: $Id$
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
// Created: 20.09.99 (extracted from src/common/log.cpp)
// RCS-ID: $Id$
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
// the suffix we add to the button to show that the dialog can be expanded
#define EXPAND_SUFFIX _T(" >>")
// 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)
{
// allows to exclude the usage of wxDateTime
static wxString TimeStamp(const wxChar *format, time_t t)
{
wxChar buf[4096];
if ( !wxStrftime(buf, WXSIZEOF(buf), format, localtime(&t)) )
{
wxChar buf[4096];
if ( !wxStrftime(buf, WXSIZEOF(buf), format, localtime(&t)) )
{
#if wxUSE_FILE && wxUSE_FILEDLG
// pass an uninitialized file object, the function will ask the user for the
#if wxUSE_FILE && wxUSE_FILEDLG
// pass an uninitialized file object, the function will ask the user for the
-// filename and try to open it, returns TRUE on success (file was opened),
-// FALSE if file couldn't be opened/created and -1 if the file selection
+// filename and try to open it, returns true on success (file was opened),
+// false if file couldn't be opened/created and -1 if the file selection
// wxLogGui implementation (FIXME MT-unsafe)
// ----------------------------------------------------------------------------
// wxLogGui implementation (FIXME MT-unsafe)
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// wxLogWindow and wxLogFrame implementation
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// wxLogWindow and wxLogFrame implementation
// ----------------------------------------------------------------------------
-wxLogFrame::wxLogFrame(wxFrame *pParent, wxLogWindow *log, const wxChar *szTitle)
- : wxFrame(pParent, -1, szTitle)
+wxLogFrame::wxLogFrame(wxWindow *pParent, wxLogWindow *log, const wxChar *szTitle)
+ : wxFrame(pParent, wxID_ANY, szTitle)
- m_pTextCtrl = new wxTextCtrl(this, -1, wxEmptyString, wxDefaultPosition,
+ m_pTextCtrl = new wxTextCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition,
- : wxDialog(parent, -1, caption,
+ : wxDialog(parent, wxID_ANY, caption,
wxDefaultPosition, wxDefaultSize,
wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER)
{
wxDefaultPosition, wxDefaultSize,
wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER)
{
- do
- {
- m_messages.Add(msg.BeforeFirst(_T('\n')));
- msg = msg.AfterFirst(_T('\n'));
-
- m_severity.Add(severity[n]);
- m_times.Add(times[n]);
- }
- while ( !!msg );
+ msg.Replace(wxT("\n"), wxT(" "));
+ m_messages.Add(msg);
+ m_severity.Add(severity[n]);
+ m_times.Add(times[n]);
// this "Ok" button has wxID_CANCEL id - not very logical, but this allows
// to close the log dialog with <Esc> which wouldn't work otherwise (as it
// translates into click on cancel button)
// this "Ok" button has wxID_CANCEL id - not very logical, but this allows
// to close the log dialog with <Esc> which wouldn't work otherwise (as it
// translates into click on cancel button)
wxButton *btnOk = new wxButton(this, wxID_CANCEL, _("OK"));
sizerButtons->Add(btnOk, 0, wxCENTRE | wxBOTTOM, MARGIN/2);
m_btnDetails = new wxButton(this, wxID_MORE, ms_details + EXPAND_SUFFIX);
sizerButtons->Add(m_btnDetails, 0, wxCENTRE | wxTOP, MARGIN/2 - 1);
wxButton *btnOk = new wxButton(this, wxID_CANCEL, _("OK"));
sizerButtons->Add(btnOk, 0, wxCENTRE | wxBOTTOM, MARGIN/2);
m_btnDetails = new wxButton(this, wxID_MORE, ms_details + EXPAND_SUFFIX);
sizerButtons->Add(m_btnDetails, 0, wxCENTRE | wxTOP, MARGIN/2 - 1);
- sizerAll->Add(new wxStaticBitmap(this, -1, bitmap), 0);
-#endif // !Win16
+ sizerAll->Add(new wxStaticBitmap(this, wxID_ANY, bitmap), 0,
+ wxALIGN_CENTRE_VERTICAL);
const wxString& message = messages.Last();
sizerAll->Add(CreateTextSizer(message), 1,
const wxString& message = messages.Last();
sizerAll->Add(CreateTextSizer(message), 1,
sizerTop->Add(sizerAll, 0, wxALL | wxEXPAND, MARGIN);
sizerTop->Add(sizerAll, 0, wxALL | wxEXPAND, MARGIN);
for ( size_t icon = 0; icon < WXSIZEOF(icons); icon++ )
{
wxBitmap bmp = wxArtProvider::GetBitmap(icons[icon], wxART_MESSAGE_BOX,
for ( size_t icon = 0; icon < WXSIZEOF(icons); icon++ )
{
wxBitmap bmp = wxArtProvider::GetBitmap(icons[icon], wxART_MESSAGE_BOX,
SetSizeHints(size.x, size.y, m_maxWidth, m_maxHeight);
// don't change the width when expanding/collapsing
SetSizeHints(size.x, size.y, m_maxWidth, m_maxHeight);
// don't change the width when expanding/collapsing
#ifdef __WXGTK__
// VS: this is neccessary in order to force frame redraw under
// WindowMaker or fvwm2 (and probably other broken WMs).
// Otherwise, detailed list wouldn't be displayed.
#ifdef __WXGTK__
// VS: this is neccessary in order to force frame redraw under
// WindowMaker or fvwm2 (and probably other broken WMs).
// Otherwise, detailed list wouldn't be displayed.
#if wxUSE_FILE && wxUSE_FILEDLG
// pass an uninitialized file object, the function will ask the user for the
#if wxUSE_FILE && wxUSE_FILEDLG
// pass an uninitialized file object, the function will ask the user for the
-// filename and try to open it, returns TRUE on success (file was opened),
-// FALSE if file couldn't be opened/created and -1 if the file selection
+// filename and try to open it, returns true on success (file was opened),
+// false if file couldn't be opened/created and -1 if the file selection
- wxString filename = wxSaveFileSelector(wxT("log"), wxT("txt"), wxT("log.txt"));
+ wxString filename = wxSaveFileSelector(wxT("log"), wxT("txt"), wxT("log.txt"), parent);
wxString strMsg;
strMsg.Printf(_("Append log to file '%s' (choosing [No] will overwrite it)?"),
filename.c_str());
switch ( wxMessageBox(strMsg, _("Question"),
wxICON_QUESTION | wxYES_NO | wxCANCEL) ) {
case wxYES:
wxString strMsg;
strMsg.Printf(_("Append log to file '%s' (choosing [No] will overwrite it)?"),
filename.c_str());
switch ( wxMessageBox(strMsg, _("Question"),
wxICON_QUESTION | wxYES_NO | wxCANCEL) ) {
case wxYES:
// ----------------------------------------------------------------------------
// wxLogTextCtrl implementation
// ----------------------------------------------------------------------------
// wxLogTextCtrl implementation
-#if defined(__WXMAC__)
- // VZ: this is a bug in wxMac, it *must* accept '\n' as new line, the
- // translation must be done in wxTextCtrl, not here! (FIXME)
- msg << szString << wxT('\r');
-#else