Mostly replace ungrammatical "allows to do" with correct "allows doing". Closes https://github.com/wxWidgets/wxWidgets/pull/1183
		
			
				
	
	
		
			186 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			186 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | |
| // 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 writing 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();
 | |
| };
 |