#if wxUSE_GUI
+class WXDLLIMPEXP_FWD_CORE wxTextCtrl;
+class WXDLLIMPEXP_FWD_CORE wxLogFrame;
+class WXDLLIMPEXP_FWD_CORE wxWindow;
+
// ----------------------------------------------------------------------------
// the following log targets are only compiled in if the we're compiling the
// GUI part (andnot just the base one) of the library, they're implemented in
#if wxUSE_TEXTCTRL
// log everything to a text window (GUI only of course)
-class WXDLLEXPORT wxLogTextCtrl : public wxLog
+class WXDLLIMPEXP_CORE wxLogTextCtrl : public wxLog
{
public:
wxLogTextCtrl(wxTextCtrl *pTextCtrl);
// the control we use
wxTextCtrl *m_pTextCtrl;
- DECLARE_NO_COPY_CLASS(wxLogTextCtrl)
+ wxDECLARE_NO_COPY_CLASS(wxLogTextCtrl);
};
#endif // wxUSE_TEXTCTRL
#if wxUSE_LOGGUI
-class WXDLLEXPORT wxLogGui : public wxLog
+class WXDLLIMPEXP_CORE wxLogGui : public wxLog
{
public:
// ctor
wxSUPPRESS_DOLOG_HIDE_WARNING()
+ // return the title to be used for the log dialog, depending on m_bErrors
+ // and m_bWarnings values
+ wxString GetTitle() const;
+
+ // return the icon (one of wxICON_XXX constants) to be used for the dialog
+ // depending on m_bErrors/m_bWarnings
+ int GetSeverityIcon() const;
+
// empty everything
void Clear();
+
wxArrayString m_aMessages; // the log message texts
wxArrayInt m_aSeverity; // one of wxLOG_XXX values
wxArrayLong m_aTimes; // the time of each message
m_bWarnings, // any warnings?
m_bHasMessages; // any messages at all?
+private:
+ // this method is called to show a single log message, it uses
+ // wxMessageBox() by default
+ virtual void DoShowSingleLogMessage(const wxString& message,
+ const wxString& title,
+ int style);
+
+ // this method is called to show multiple log messages, it uses wxLogDialog
+ virtual void DoShowMultipleLogMessages(const wxArrayString& messages,
+ const wxArrayInt& severities,
+ const wxArrayLong& times,
+ const wxString& title,
+ int style);
};
#endif // wxUSE_LOGGUI
#if wxUSE_LOGWINDOW
-class WXDLLEXPORT wxLogWindow : public wxLogPassThrough
+class WXDLLIMPEXP_CORE wxLogWindow : public wxLogPassThrough
{
public:
wxLogWindow(wxWindow *pParent, // the parent frame (can be NULL)
private:
wxLogFrame *m_pLogFrame; // the log frame
- DECLARE_NO_COPY_CLASS(wxLogWindow)
+ wxDECLARE_NO_COPY_CLASS(wxLogWindow);
};
#endif // wxUSE_LOGWINDOW