X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/98020767fd54ee8e7d8216fe971af4e64d3d24c7..374e9b153fcb3f4e547929ccc9b80bda76fd6f6e:/include/wx/msgout.h diff --git a/include/wx/msgout.h b/include/wx/msgout.h index 9b9e020fe2..95db8a5c8c 100755 --- a/include/wx/msgout.h +++ b/include/wx/msgout.h @@ -5,7 +5,7 @@ // Modified by: // Created: 17.07.02 // RCS-ID: $Id$ -// Copyright: (c) wxWindows team +// Copyright: (c) Mattia Barbon // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -16,10 +16,6 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ - #pragma interface "msgout.h" -#endif - #include "wx/defs.h" #include "wx/wxchar.h" @@ -28,7 +24,7 @@ // something you can printf() to // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxMessageOutput +class WXDLLIMPEXP_BASE wxMessageOutput { public: virtual ~wxMessageOutput() { } @@ -36,7 +32,8 @@ public: // show a message to the user virtual void Printf(const wxChar* format, ...) ATTRIBUTE_PRINTF_2 = 0; - // gets the current wxMessageOutput object + // gets the current wxMessageOutput object (may be NULL during + // initialization or shutdown) static wxMessageOutput* Get(); // sets the global wxMessageOutput instance; returns the previous one @@ -46,11 +43,25 @@ private: static wxMessageOutput* ms_msgOut; }; +// ---------------------------------------------------------------------------- +// implementation showing the message to the user in "best" possible way: uses +// native message box if available (currently only under Windows) and stderr +// otherwise; unlike wxMessageOutputMessageBox this class is always safe to use +// ---------------------------------------------------------------------------- + +class WXDLLIMPEXP_BASE wxMessageOutputBest : public wxMessageOutput +{ +public: + wxMessageOutputBest() { } + + virtual void Printf(const wxChar* format, ...) ATTRIBUTE_PRINTF_2; +}; + // ---------------------------------------------------------------------------- // implementation which sends output to stderr // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxMessageOutputStderr : public wxMessageOutput +class WXDLLIMPEXP_BASE wxMessageOutputStderr : public wxMessageOutput { public: wxMessageOutputStderr() { } @@ -64,7 +75,7 @@ public: #if wxUSE_GUI -class WXDLLEXPORT wxMessageOutputMessageBox : public wxMessageOutput +class WXDLLIMPEXP_CORE wxMessageOutputMessageBox : public wxMessageOutput { public: wxMessageOutputMessageBox() { } @@ -74,11 +85,23 @@ public: #endif // wxUSE_GUI +// ---------------------------------------------------------------------------- +// implementation using the native way of outputting debug messages +// ---------------------------------------------------------------------------- + +class WXDLLIMPEXP_BASE wxMessageOutputDebug : public wxMessageOutput +{ +public: + wxMessageOutputDebug() { } + + virtual void Printf(const wxChar* format, ...) ATTRIBUTE_PRINTF_2; +}; + // ---------------------------------------------------------------------------- // implementation using wxLog (mainly for backwards compatibility) // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxMessageOutputLog : public wxMessageOutput +class WXDLLIMPEXP_BASE wxMessageOutputLog : public wxMessageOutput { public: wxMessageOutputLog() { }