| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        wx/msgout.h
 
- // Purpose:     interface of wxMessageOutput and derived classes
 
- // Author:      Vadim Zeitlin
 
- // Copyright:   (c) 2009 Vadim Zeitlin
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- /**
 
-     Simple class allowing to write strings to various output channels.
 
-     wxMessageOutput is a low-level class and doesn't provide any of the
 
-     conveniences of wxLog. It simply allows to write a message to some output
 
-     channel: usually file or standard error but possibly also a message box.
 
-     While use of wxLog and related functions is preferable in many cases
 
-     sometimes this simple interface may be more convenient.
 
-     This class itself is an abstract base class for various concrete derived
 
-     classes:
 
-         - wxMessageOutputStderr
 
-         - wxMessageOutputBest
 
-         - wxMessageOutputMessageBox
 
-         - wxMessageOutputLog
 
-     It also provides access to the global message output object which is
 
-     created by wxAppTraits::CreateMessageOutput() which creates an object of
 
-     class wxMessageOutputStderr in console applications and wxMessageOutputBest
 
-     in the GUI ones but may be overridden in user-defined traits class.
 
-     Example of using this class:
 
-     @code
 
-         wxMessageOutputDebug().Printf("name=%s, preparing to greet...", name);
 
-         wxMessageOutput::Get()->Printf("Hello, %s!", name);
 
-     @endcode
 
-     @library{wxbase}
 
-     @category{logging}
 
-  */
 
- class wxMessageOutput
 
- {
 
- public:
 
-     /**
 
-         Return the global message output object.
 
-         This object is never @NULL while the program is running but may be
 
-         @NULL during initialization (before wxApp object is instantiated) or
 
-         shutdown.(after wxApp destruction).
 
-         @see wxAppTraits::CreateMessageOutput()
 
-      */
 
-     static wxMessageOutput* Get();
 
-     /**
 
-         Sets the global message output object.
 
-         Using this function may be a simpler alternative to changing the
 
-         message output object used for your program than overriding
 
-         wxAppTraits::CreateMessageOutput().
 
-         Remember to delete the returned pointer or restore it later with
 
-         another call to Set().
 
-      */
 
-     static wxMessageOutput* Set(wxMessageOutput* msgout);
 
-     /**
 
-         Output a message.
 
-         This function uses the same conventions as standard @c printf().
 
-      */
 
-     void Printf(const wxString& format, ...);
 
-     /**
 
-         Method called by Printf() to really output the text.
 
-         This method is overridden in various derived classes and is also the
 
-         one you should override if you implement a custom message output
 
-         object.
 
-         It may also be called directly instead of Printf(). This is especially
 
-         useful when outputting a user-defined string because it can be simply
 
-         called with this string instead of using
 
-         @code
 
-             msgout.Printf("%s", str);
 
-         @endcode
 
-         (notice that passing user-defined string to Printf() directly is, of
 
-         course, a security risk).
 
-      */
 
-     virtual void Output(const wxString& str) = 0;
 
- };
 
- /**
 
-     Output messages to stderr or another STDIO file stream.
 
-     Implements wxMessageOutput by using stderr or specified file.
 
-     @library{wxbase}
 
-     @category{logging}
 
-  */
 
- class wxMessageOutputStderr : public wxMessageOutput
 
- {
 
- public:
 
-     /**
 
-         Create a new message output object associated with standard error
 
-         stream by default.
 
-         @param fp
 
-             Non-null STDIO file stream. Notice that this object does @e not
 
-             take ownership of this pointer, i.e. the caller is responsible for
 
-             both ensuring that its life-time is great er than life-time of this
 
-             object and for deleting it if necessary.
 
-      */
 
-     wxMessageOutputStderr(FILE *fp = stderr);
 
- };
 
- /**
 
-     Flags used with wxMessageOutputBest.
 
-     See wxMessageOutputBest::wxMessageOutputBest().
 
-  */
 
- enum wxMessageOutputFlags
 
- {
 
-     wxMSGOUT_PREFER_STDERR = 0, ///< use stderr if available (this is the default)
 
-     wxMSGOUT_PREFER_MSGBOX = 1  ///< always use message box if available
 
- };
 
- /**
 
-     Output messages in the best possible way.
 
-     Some systems (e.g. MSW) are capable of showing message boxes even from
 
-     console programs. If this is the case, this class will use message box if
 
-     standard error stream is not available (e.g. running console program not
 
-     from console under Windows) or possibly even always, depending on the value
 
-     of flags constructor argument.
 
-     @library{wxbase}
 
-     @category{logging}
 
-  */
 
- class wxMessageOutputBest : public wxMessageOutputStderr
 
- {
 
- public:
 
-     /**
 
-         Create a new message output object.
 
-         @param flags
 
-             May be either @c wxMSGOUT_PREFER_STDERR (default) meaning that
 
-             standard error will be used if it's available (e.g. program is
 
-             being run from console under Windows) or @c wxMSGOUT_PREFER_MSGBOX
 
-             meaning that a message box will always be used if the current
 
-             system supports showing message boxes from console programs
 
-             (currently only Windows does).
 
-      */
 
-     wxMessageOutputBest(wxMessageOutputFlags flags = wxMSGOUT_PREFER_STDERR);
 
- };
 
- /**
 
-     Output messages to the system debug output channel.
 
-     Under MSW this class outputs messages to the so called debug output. Under
 
-     the other systems it simply uses the standard error stream.
 
-     @library{wxbase}
 
-     @category{logging}
 
-  */
 
- class wxMessageOutputDebug : public wxMessageOutputStderr
 
- {
 
- public:
 
-     /// Default constructor.
 
-     wxMessageOutputDebug();
 
- };
 
- /**
 
-     Output messages by showing them in a message box.
 
-     This class is only available to GUI applications, unlike all the other
 
-     wxMessageOutput-derived classes.
 
-     @library{wxcore}
 
-     @category{logging}
 
-  */
 
- class wxMessageOutputMessageBox : public wxMessageOutput
 
- {
 
- public:
 
-     /// Default constructor.
 
-     wxMessageOutputMessageBox();
 
- };
 
 
  |