deprecate integer trace masks and don't define the methods related to them if WXWIN_COMPATIBILITY_2_8==0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59732 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
b895ab50e2
commit
34085a0d4f
@ -15,14 +15,15 @@
|
|||||||
#include "wx/defs.h"
|
#include "wx/defs.h"
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// common constants for use in wxUSE_LOG/!wxUSE_LOG
|
// types
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
// the trace masks have been superceded by symbolic trace constants, they're
|
// NB: this is needed even if wxUSE_LOG == 0
|
||||||
// for compatibility only andwill be removed soon - do NOT use them
|
typedef unsigned long wxLogLevel;
|
||||||
|
|
||||||
// meaning of different bits of the trace mask (which allows selectively
|
// the trace masks have been superseded by symbolic trace constants, they're
|
||||||
// enable/disable some trace messages)
|
// for compatibility only and will be removed soon - do NOT use them
|
||||||
|
#if WXWIN_COMPATIBILITY_2_8
|
||||||
#define wxTraceMemAlloc 0x0001 // trace memory allocation (new/delete)
|
#define wxTraceMemAlloc 0x0001 // trace memory allocation (new/delete)
|
||||||
#define wxTraceMessages 0x0002 // trace window messages/X callbacks
|
#define wxTraceMessages 0x0002 // trace window messages/X callbacks
|
||||||
#define wxTraceResAlloc 0x0004 // trace GDI resource allocation
|
#define wxTraceResAlloc 0x0004 // trace GDI resource allocation
|
||||||
@ -32,13 +33,8 @@
|
|||||||
#define wxTraceOleCalls 0x0100 // OLE interface calls
|
#define wxTraceOleCalls 0x0100 // OLE interface calls
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// types
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
// NB: these types are needed even if wxUSE_LOG == 0
|
|
||||||
typedef unsigned long wxTraceMask;
|
typedef unsigned long wxTraceMask;
|
||||||
typedef unsigned long wxLogLevel;
|
#endif // WXWIN_COMPATIBILITY_2_8
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// headers
|
// headers
|
||||||
@ -191,9 +187,6 @@ public:
|
|||||||
// gets duplicate counting status
|
// gets duplicate counting status
|
||||||
static bool GetRepetitionCounting() { return ms_bRepetCounting; }
|
static bool GetRepetitionCounting() { return ms_bRepetCounting; }
|
||||||
|
|
||||||
// trace mask (see wxTraceXXX constants for details)
|
|
||||||
static void SetTraceMask(wxTraceMask ulMask) { ms_ulTraceMask = ulMask; }
|
|
||||||
|
|
||||||
// add string trace mask
|
// add string trace mask
|
||||||
static void AddTraceMask(const wxString& str);
|
static void AddTraceMask(const wxString& str);
|
||||||
|
|
||||||
@ -221,9 +214,6 @@ public:
|
|||||||
// gets the verbose status
|
// gets the verbose status
|
||||||
static bool GetVerbose() { return ms_bVerbose; }
|
static bool GetVerbose() { return ms_bVerbose; }
|
||||||
|
|
||||||
// get trace mask
|
|
||||||
static wxTraceMask GetTraceMask() { return ms_ulTraceMask; }
|
|
||||||
|
|
||||||
// is this trace mask in the list?
|
// is this trace mask in the list?
|
||||||
static bool IsAllowedTraceMask(const wxString& mask);
|
static bool IsAllowedTraceMask(const wxString& mask);
|
||||||
|
|
||||||
@ -260,6 +250,14 @@ public:
|
|||||||
wxDEPRECATED( static wxChar *SetLogBuffer(wxChar *buf, size_t size = 0) );
|
wxDEPRECATED( static wxChar *SetLogBuffer(wxChar *buf, size_t size = 0) );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// don't use integer masks any more, use string trace masks instead
|
||||||
|
#if WXWIN_COMPATIBILITY_2_8
|
||||||
|
wxDEPRECATED_INLINE( static void SetTraceMask(wxTraceMask ulMask),
|
||||||
|
ms_ulTraceMask = ulMask; )
|
||||||
|
wxDEPRECATED_BUT_USED_INTERNALLY_INLINE( static wxTraceMask GetTraceMask(),
|
||||||
|
return ms_ulTraceMask; )
|
||||||
|
#endif // WXWIN_COMPATIBILITY_2_8
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// the logging functions that can be overridden
|
// the logging functions that can be overridden
|
||||||
|
|
||||||
@ -343,8 +341,12 @@ private:
|
|||||||
// disabled
|
// disabled
|
||||||
static wxString ms_timestamp;
|
static wxString ms_timestamp;
|
||||||
|
|
||||||
|
#if WXWIN_COMPATIBILITY_2_8
|
||||||
static wxTraceMask ms_ulTraceMask; // controls wxLogTrace behaviour
|
static wxTraceMask ms_ulTraceMask; // controls wxLogTrace behaviour
|
||||||
static wxArrayString ms_aTraceMasks; // more powerful filter for wxLogTrace
|
#endif // WXWIN_COMPATIBILITY_2_8
|
||||||
|
|
||||||
|
// currently enabled trace masks
|
||||||
|
static wxArrayString ms_aTraceMasks;
|
||||||
};
|
};
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@ -740,7 +742,9 @@ DECLARE_LOG_FUNCTION2(SysError, unsigned long, lErrCode);
|
|||||||
// and this one does nothing if all of level bits are not set in
|
// and this one does nothing if all of level bits are not set in
|
||||||
// wxLog::GetActive()->GetTraceMask() -- it's deprecated in favour of
|
// wxLog::GetActive()->GetTraceMask() -- it's deprecated in favour of
|
||||||
// string identifiers
|
// string identifiers
|
||||||
|
#if WXWIN_COMPATIBILITY_2_8
|
||||||
DECLARE_LOG_FUNCTION2(Trace, wxTraceMask, mask);
|
DECLARE_LOG_FUNCTION2(Trace, wxTraceMask, mask);
|
||||||
|
#endif // wxDEBUG_LEVEL
|
||||||
#ifdef __WATCOMC__
|
#ifdef __WATCOMC__
|
||||||
// workaround for http://bugzilla.openwatcom.org/show_bug.cgi?id=351
|
// workaround for http://bugzilla.openwatcom.org/show_bug.cgi?id=351
|
||||||
DECLARE_LOG_FUNCTION2(Trace, int, mask);
|
DECLARE_LOG_FUNCTION2(Trace, int, mask);
|
||||||
|
@ -27,11 +27,6 @@ enum wxLogLevelValues
|
|||||||
wxLOG_Max = 10000
|
wxLOG_Max = 10000
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
The type used for trace masks.
|
|
||||||
*/
|
|
||||||
typedef unsigned long wxTraceMask;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
The type used to specify a log level.
|
The type used to specify a log level.
|
||||||
|
|
||||||
@ -613,24 +608,11 @@ public:
|
|||||||
but may be activated, for example, in order to help the user find some program
|
but may be activated, for example, in order to help the user find some program
|
||||||
problem.
|
problem.
|
||||||
|
|
||||||
As for the (real) trace messages, their handling depends on the settings of
|
As for the (real) trace messages, their handling depends on the currently
|
||||||
the (application global) @e trace mask which can either be specified using
|
enabled trace masks: if AddTraceMask() was called for the mask of the given
|
||||||
SetTraceMask(), GetTraceMask() and wxLogTrace() which takes an integer mask
|
message, it will be logged, otherwise nothing happens.
|
||||||
or using AddTraceMask() for string trace masks.
|
|
||||||
|
|
||||||
The difference between bit-wise and string trace masks is that a message using
|
|
||||||
integer trace mask will only be logged if all bits of the mask are set in the
|
|
||||||
current mask while a message using string mask will be logged simply if the
|
|
||||||
mask had been added before to the list of allowed ones.
|
|
||||||
For example,
|
For example,
|
||||||
|
|
||||||
@code
|
|
||||||
wxLogTrace( wxTraceRefCount|wxTraceOleCalls, "Active object ref count: %d", nRef );
|
|
||||||
@endcode
|
|
||||||
|
|
||||||
will do something only if the current trace mask contains both @c wxTraceRefCount
|
|
||||||
and @c wxTraceOle, but:
|
|
||||||
|
|
||||||
@code
|
@code
|
||||||
wxLogTrace( wxTRACE_OleCalls, "IFoo::Bar() called" );
|
wxLogTrace( wxTRACE_OleCalls, "IFoo::Bar() called" );
|
||||||
@endcode
|
@endcode
|
||||||
@ -641,11 +623,6 @@ public:
|
|||||||
wxLog::AddTraceMask( wxTRACE_OleCalls);
|
wxLog::AddTraceMask( wxTRACE_OleCalls);
|
||||||
@endcode
|
@endcode
|
||||||
|
|
||||||
Using string masks is simpler and allows you to easily add custom ones, so this
|
|
||||||
is the preferred way of working with trace messages. The integer trace mask is
|
|
||||||
kept for compatibility and for additional (but very rarely needed) flexibility
|
|
||||||
only.
|
|
||||||
|
|
||||||
The standard trace masks are given in wxLogTrace() documentation.
|
The standard trace masks are given in wxLogTrace() documentation.
|
||||||
|
|
||||||
Finally, the @e wxLog::DoLog() function automatically prepends a time stamp
|
Finally, the @e wxLog::DoLog() function automatically prepends a time stamp
|
||||||
@ -766,6 +743,7 @@ public:
|
|||||||
static const wxString& GetTimestamp();
|
static const wxString& GetTimestamp();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@deprecated
|
||||||
Returns the current trace mask, see Customization() section for details.
|
Returns the current trace mask, see Customization() section for details.
|
||||||
*/
|
*/
|
||||||
static wxTraceMask GetTraceMask();
|
static wxTraceMask GetTraceMask();
|
||||||
@ -848,7 +826,8 @@ public:
|
|||||||
static void DisableTimestamp();
|
static void DisableTimestamp();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Sets the trace mask, see @ref log_derivingyours section for details.
|
@deprecated
|
||||||
|
Sets the trace mask, see @ref log_tracemasks section for details.
|
||||||
*/
|
*/
|
||||||
static void SetTraceMask(wxTraceMask mask);
|
static void SetTraceMask(wxTraceMask mask);
|
||||||
|
|
||||||
@ -1112,15 +1091,15 @@ void wxVLogError(const char* formatString, va_list argPtr);
|
|||||||
function is that usually there are a lot of trace messages, so it might
|
function is that usually there are a lot of trace messages, so it might
|
||||||
make sense to separate them from other debug messages.
|
make sense to separate them from other debug messages.
|
||||||
|
|
||||||
wxLogDebug(const char*,const char*,...) and
|
wxLogTrace(const char*,const char*,...) and can be used instead of
|
||||||
wxLogDebug(wxTraceMask,const char*,...) can be used instead if you would
|
wxLogDebug() if you would like to be able to separate trace messages into
|
||||||
like to be able to separate trace messages into different categories which
|
different categories which can be enabled or disabled with
|
||||||
can be enabled or disabled with the static functions provided in wxLog.
|
wxLog::AddTraceMask() and wxLog::RemoveTraceMask().
|
||||||
|
|
||||||
@header{wx/log.h}
|
@header{wx/log.h}
|
||||||
*/
|
*/
|
||||||
void wxLogTrace(const char* formatString, ... );
|
void wxLogTrace(const char *mask, const char* formatString, ... );
|
||||||
void wxVLogTrace(const char* formatString, va_list argPtr);
|
void wxVLogTrace(const char *mask, const char* formatString, va_list argPtr);
|
||||||
//@}
|
//@}
|
||||||
|
|
||||||
/** @addtogroup group_funcmacro_log */
|
/** @addtogroup group_funcmacro_log */
|
||||||
@ -1178,7 +1157,7 @@ void wxVLogTrace(const char* mask,
|
|||||||
This version of wxLogTrace() only logs the message if all the bits
|
This version of wxLogTrace() only logs the message if all the bits
|
||||||
corresponding to the @a mask are set in the wxLog trace mask which can be
|
corresponding to the @a mask are set in the wxLog trace mask which can be
|
||||||
set by calling wxLog::SetTraceMask(). This version is less flexible than
|
set by calling wxLog::SetTraceMask(). This version is less flexible than
|
||||||
wxLogDebug(const char*,const char*,...) because it doesn't allow defining
|
wxLogTrace(const char*,const char*,...) because it doesn't allow defining
|
||||||
the user trace masks easily. This is why it is deprecated in favour of
|
the user trace masks easily. This is why it is deprecated in favour of
|
||||||
using string trace masks.
|
using string trace masks.
|
||||||
|
|
||||||
|
@ -331,6 +331,9 @@ void wxDoLogVerboseUtf8(const char *format, ...)
|
|||||||
}
|
}
|
||||||
#endif // wxUSE_UNICODE_UTF8
|
#endif // wxUSE_UNICODE_UTF8
|
||||||
|
|
||||||
|
// deprecated (but not declared as such because we don't want to complicate
|
||||||
|
// DECLARE_LOG_FUNCTION macros even more) overloads for wxTraceMask
|
||||||
|
#if WXWIN_COMPATIBILITY_2_8
|
||||||
void wxVLogTrace(wxTraceMask mask, const wxString& format, va_list argptr)
|
void wxVLogTrace(wxTraceMask mask, const wxString& format, va_list argptr)
|
||||||
{
|
{
|
||||||
// we check that all of mask bits are set in the current mask, so
|
// we check that all of mask bits are set in the current mask, so
|
||||||
@ -361,7 +364,10 @@ void wxDoLogVerboseUtf8(const char *format, ...)
|
|||||||
}
|
}
|
||||||
#endif // wxUSE_UNICODE_UTF8
|
#endif // wxUSE_UNICODE_UTF8
|
||||||
|
|
||||||
|
#endif // WXWIN_COMPATIBILITY_2_8
|
||||||
|
|
||||||
#ifdef __WATCOMC__
|
#ifdef __WATCOMC__
|
||||||
|
#if WXWIN_COMPATIBILITY_2_8
|
||||||
// workaround for http://bugzilla.openwatcom.org/show_bug.cgi?id=351
|
// workaround for http://bugzilla.openwatcom.org/show_bug.cgi?id=351
|
||||||
void wxDoLogTraceWchar(int mask, const wxChar *format, ...)
|
void wxDoLogTraceWchar(int mask, const wxChar *format, ...)
|
||||||
{
|
{
|
||||||
@ -370,6 +376,7 @@ void wxDoLogVerboseUtf8(const char *format, ...)
|
|||||||
wxVLogTrace(mask, format, argptr);
|
wxVLogTrace(mask, format, argptr);
|
||||||
va_end(argptr);
|
va_end(argptr);
|
||||||
}
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_2_8
|
||||||
|
|
||||||
void wxDoLogTraceWchar(const char *mask, const wxChar *format, ...)
|
void wxDoLogTraceWchar(const char *mask, const wxChar *format, ...)
|
||||||
{
|
{
|
||||||
@ -387,8 +394,10 @@ void wxDoLogVerboseUtf8(const char *format, ...)
|
|||||||
va_end(argptr);
|
va_end(argptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if WXWIN_COMPATIBILITY_2_8
|
||||||
void wxVLogTrace(int mask, const wxString& format, va_list argptr)
|
void wxVLogTrace(int mask, const wxString& format, va_list argptr)
|
||||||
{ wxVLogTrace((wxTraceMask)mask, format, argptr); }
|
{ wxVLogTrace((wxTraceMask)mask, format, argptr); }
|
||||||
|
#endif // WXWIN_COMPATIBILITY_2_8
|
||||||
void wxVLogTrace(const char *mask, const wxString& format, va_list argptr)
|
void wxVLogTrace(const char *mask, const wxString& format, va_list argptr)
|
||||||
{ wxVLogTrace(wxString(mask), format, argptr); }
|
{ wxVLogTrace(wxString(mask), format, argptr); }
|
||||||
void wxVLogTrace(const wchar_t *mask, const wxString& format, va_list argptr)
|
void wxVLogTrace(const wchar_t *mask, const wxString& format, va_list argptr)
|
||||||
@ -975,7 +984,10 @@ size_t wxLog::ms_suspendCount = 0;
|
|||||||
|
|
||||||
wxString wxLog::ms_timestamp(wxS("%X")); // time only, no date
|
wxString wxLog::ms_timestamp(wxS("%X")); // time only, no date
|
||||||
|
|
||||||
|
#if WXWIN_COMPATIBILITY_2_8
|
||||||
wxTraceMask wxLog::ms_ulTraceMask = (wxTraceMask)0;
|
wxTraceMask wxLog::ms_ulTraceMask = (wxTraceMask)0;
|
||||||
|
#endif // wxDEBUG_LEVEL
|
||||||
|
|
||||||
wxArrayString wxLog::ms_aTraceMasks;
|
wxArrayString wxLog::ms_aTraceMasks;
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user