Added wxMessageOutput as per the discussion on wx-dev.
Added wxApp::DoInit to initialize the global wxMessageOutput instance. Changed wxCommandLineParser to use wxMessageOutput. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16267 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
78
include/wx/msgout.h
Executable file
78
include/wx/msgout.h
Executable file
@@ -0,0 +1,78 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/msgout.h
|
||||
// Purpose: wxMessageOutput class. Shows a message to the user
|
||||
// Author: Mattia Barbon
|
||||
// Modified by:
|
||||
// Created: 17.07.02
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) wxWindows team
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_MSGOUT_H_
|
||||
#define _WX_MSGOUT_H_
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// headers
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "msgout.h"
|
||||
#endif
|
||||
|
||||
#include "wx/defs.h"
|
||||
#include "wx/wxchar.h"
|
||||
|
||||
class WXDLLEXPORT wxMessageOutput
|
||||
{
|
||||
public:
|
||||
virtual ~wxMessageOutput() {};
|
||||
|
||||
// show a message to the user
|
||||
virtual void Printf(const wxChar* format, ...) ATTRIBUTE_PRINTF_2 = 0;
|
||||
// gets the current wxMessageOutput object
|
||||
static wxMessageOutput* Get();
|
||||
// sets the global wxMessageOutput instance; returns the previous one
|
||||
static wxMessageOutput* Set(wxMessageOutput* msgout);
|
||||
private:
|
||||
static wxMessageOutput* ms_msgOut;
|
||||
};
|
||||
|
||||
// sends output to stderr
|
||||
class WXDLLEXPORT wxMessageOutputStderr : public wxMessageOutput
|
||||
{
|
||||
public:
|
||||
wxMessageOutputStderr() {};
|
||||
|
||||
virtual void Printf(const wxChar* format, ...) ATTRIBUTE_PRINTF_2;
|
||||
};
|
||||
|
||||
#if wxUSE_GUI
|
||||
|
||||
// shows output in a message box
|
||||
class WXDLLEXPORT wxMessageOutputMessageBox : public wxMessageOutput
|
||||
{
|
||||
public:
|
||||
wxMessageOutputMessageBox() {};
|
||||
|
||||
virtual void Printf(const wxChar* format, ...) ATTRIBUTE_PRINTF_2;
|
||||
};
|
||||
|
||||
#ifdef __WXMOTIF__
|
||||
|
||||
// use wxLog; this is only required for wxMotif, so we put this code
|
||||
// inside wxUSE_GUI; it will work even without GUI
|
||||
class WXDLLEXPORT wxMessageOutputLog : public wxMessageOutput
|
||||
{
|
||||
public:
|
||||
wxMessageOutputLog() {};
|
||||
|
||||
virtual void Printf(const wxChar* format, ...) ATTRIBUTE_PRINTF_2;
|
||||
};
|
||||
|
||||
#endif // __WXMOTIF__
|
||||
|
||||
#endif // wxUSE_GUI
|
||||
|
||||
#endif
|
||||
// _WX_MSGOUT_H_
|
Reference in New Issue
Block a user