interface revisions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56444 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
89ff7d649f
commit
6a93e7940b
@ -7,26 +7,28 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
@class wxList
|
||||
|
||||
The wxList<T> class provides linked list functionality. It has been rewritten
|
||||
to be type safe and to provide the full API of the STL std::list container and
|
||||
should be used like it. The exception is that wxList<T> actually stores
|
||||
pointers and therefore its iterators return pointers and not references
|
||||
to the actual objets in the list (see example below) and @e value_type
|
||||
is defined as @e T*. wxList<T> destroys an object after removing it only
|
||||
if wxList::DeleteContents has been called.
|
||||
The wxList<T> class provides linked list functionality.
|
||||
|
||||
This class has been rewritten to be type safe and to provide the full API of
|
||||
the STL std::list container and should be used like it.
|
||||
The exception is that wxList<T> actually stores pointers and therefore its
|
||||
iterators return pointers and not references to the actual objets in the list
|
||||
(see example below) and @e value_type is defined as @e T*.
|
||||
wxList<T> destroys an object after removing it only if wxList::DeleteContents
|
||||
has been called.
|
||||
|
||||
wxList<T> is not a real template and it requires that you declare and define
|
||||
each wxListT class in your program. This is done with @e WX_DECLARE_LIST
|
||||
and @e WX_DEFINE_LIST macros (see example). We hope that we'll be able
|
||||
to provide a proper template class providing both the STL std::list
|
||||
and the old wxList API in the future.
|
||||
and @e WX_DEFINE_LIST macros (see example). We hope that we'll be able to
|
||||
provide a proper template class providing both the STL std::list and the old
|
||||
wxList API in the future.
|
||||
|
||||
Please refer to the STL std::list documentation for further
|
||||
information on how to use the class. Below we documented both
|
||||
the supported STL and the legacy API that originated from the
|
||||
old wxList class and which can still be used alternatively for
|
||||
the the same class.
|
||||
Please refer to the STL std::list documentation for further information on how
|
||||
to use the class. Below we documented both the supported STL and the legacy API
|
||||
that originated from the old wxList class and which can still be used alternatively
|
||||
for the the same class.
|
||||
|
||||
Note that if you compile wxWidgets in STL mode (wxUSE_STL defined as 1)
|
||||
then wxList<T> will actually derive from std::list and just add a legacy
|
||||
@ -78,6 +80,11 @@
|
||||
}
|
||||
@endcode
|
||||
|
||||
For compatibility with previous versions wxList and wxStringList classes are
|
||||
still defined, but their usage is deprecated and they will disappear in the
|
||||
future versions completely.
|
||||
The use of the latter is especially discouraged as it is not only unsafe but
|
||||
is also much less efficient than wxArrayString class.
|
||||
|
||||
@library{wxbase}
|
||||
@category{data}
|
||||
@ -199,17 +206,17 @@ public:
|
||||
wxList<T>::compatibility_iterator Item(size_t index) const;
|
||||
|
||||
/**
|
||||
@note This function is deprecated, use Find() instead.
|
||||
@deprecated This function is deprecated, use Find() instead.
|
||||
*/
|
||||
wxList<T>::compatibility_iterator Member(T* object) const;
|
||||
|
||||
/**
|
||||
@note This function is deprecated, use Item() instead.
|
||||
@deprecated This function is deprecated, use Item() instead.
|
||||
*/
|
||||
wxList<T>::compatibility_iterator Nth(int n) const;
|
||||
|
||||
/**
|
||||
@note This function is deprecated, use wxList::GetCount instead.
|
||||
@deprecated This function is deprecated, use wxList::GetCount instead.
|
||||
Returns the number of elements in the list.
|
||||
*/
|
||||
int Number() const;
|
||||
@ -351,20 +358,18 @@ public:
|
||||
void remove(const_reference v);
|
||||
|
||||
/**
|
||||
Returns a reverse iterator pointing to the end of the
|
||||
reversed list.
|
||||
Returns a reverse iterator pointing to the end of the reversed list.
|
||||
*/
|
||||
reverse_iterator rend();
|
||||
|
||||
/**
|
||||
Returns a const reverse iterator pointing to the end of the
|
||||
reversed list.
|
||||
Returns a const reverse iterator pointing to the end of the reversed list.
|
||||
*/
|
||||
const_reverse_iterator rend() const;
|
||||
|
||||
/**
|
||||
Resizes the list. If the the list is enlarges items with
|
||||
the value @e v are appended to the list.
|
||||
Resizes the list.
|
||||
If the the list is enlarges items with the value @e v are appended to the list.
|
||||
*/
|
||||
void resize(size_type n);
|
||||
|
||||
@ -384,13 +389,14 @@ public:
|
||||
/**
|
||||
@class wxNode
|
||||
|
||||
wxNodeBase is the node structure used in linked lists (see
|
||||
wxList) and derived classes. You should never use wxNodeBase
|
||||
class directly, however, because it works with untyped (@c void *) data and
|
||||
this is unsafe. Use wxNodeBase-derived classes which are automatically defined
|
||||
by WX_DECLARE_LIST and WX_DEFINE_LIST macros instead as described in
|
||||
wxList documentation (see example there). Also note that
|
||||
although there is a class called wxNode, it is defined for backwards
|
||||
wxNodeBase is the node structure used in linked lists (see wxList) and derived
|
||||
classes. You should never use wxNodeBase class directly, however, because it
|
||||
works with untyped (@c void *) data and this is unsafe.
|
||||
Use wxNodeBase-derived classes which are automatically defined by WX_DECLARE_LIST
|
||||
and WX_DEFINE_LIST macros instead as described in wxList documentation
|
||||
(see example there).
|
||||
|
||||
Also note that although there is a class called wxNode, it is defined for backwards
|
||||
compatibility only and usage of this class is strongly deprecated.
|
||||
|
||||
In the documentation below, the type @c T should be thought of as a
|
||||
@ -400,7 +406,7 @@ public:
|
||||
helps to think of it as if it were.
|
||||
|
||||
@library{wxbase}
|
||||
@category{FIXME}
|
||||
@category{data}
|
||||
|
||||
@see wxList<T>, wxHashTable
|
||||
*/
|
||||
|
@ -51,6 +51,7 @@ public:
|
||||
Called if the user closes the window interactively, will not be
|
||||
called if it is destroyed for another reason (such as when program
|
||||
exits).
|
||||
|
||||
Return @true from here to allow the frame to close, @false to
|
||||
prevent this from happening.
|
||||
|
||||
@ -81,16 +82,13 @@ public:
|
||||
/**
|
||||
@class wxLogInterposerTemp
|
||||
|
||||
A special version of wxLogChain which uses itself as the
|
||||
new log target. It forwards log messages to the previously installed one in
|
||||
addition to
|
||||
processing them itself. Unlike wxLogInterposer, it doesn't
|
||||
delete the old target which means it can be used to temporarily redirect log
|
||||
output.
|
||||
A special version of wxLogChain which uses itself as the new log target.
|
||||
It forwards log messages to the previously installed one in addition to
|
||||
processing them itself. Unlike wxLogInterposer, it doesn't delete the old
|
||||
target which means it can be used to temporarily redirect log output.
|
||||
|
||||
As per wxLogInterposer, this class must be derived from to implement
|
||||
wxLog::DoLog
|
||||
and/or wxLog::DoLogString methods.
|
||||
wxLog::DoLog and/or wxLog::DoLogString methods.
|
||||
|
||||
@library{wxbase}
|
||||
@category{logging}
|
||||
@ -101,6 +99,7 @@ public:
|
||||
/**
|
||||
The default constructor installs this object as the current active log target.
|
||||
*/
|
||||
wxLogInterposerTemp();
|
||||
};
|
||||
|
||||
|
||||
@ -159,8 +158,7 @@ public:
|
||||
|
||||
/**
|
||||
Returns @true if the messages are passed to the previously active log
|
||||
target (default) or @false if PassMessages()
|
||||
had been called.
|
||||
target (default) or @false if PassMessages() had been called.
|
||||
*/
|
||||
bool IsPassingMessages() const;
|
||||
|
||||
@ -173,9 +171,10 @@ public:
|
||||
void PassMessages(bool passMessages);
|
||||
|
||||
/**
|
||||
Sets another log target to use (may be @NULL). The log target specified
|
||||
in the wxLogChain(wxLog*) constructor or in a previous call to
|
||||
this function is deleted.
|
||||
Sets another log target to use (may be @NULL).
|
||||
|
||||
The log target specified in the wxLogChain(wxLog*) constructor or in a
|
||||
previous call to this function is deleted.
|
||||
This doesn't change the old log target value (the one the messages are
|
||||
forwarded to) which still remains the same as was active when wxLogChain
|
||||
object was created.
|
||||
@ -436,8 +435,7 @@ public:
|
||||
by the new lines.
|
||||
|
||||
All the messages collected so far can be shown to the user (and the current
|
||||
buffer cleared) by calling the overloaded wxLogBuffer::Flush
|
||||
method.
|
||||
buffer cleared) by calling the overloaded wxLogBuffer::Flush method.
|
||||
|
||||
@library{wxbase}
|
||||
@category{logging}
|
||||
@ -455,8 +453,8 @@ public:
|
||||
/**
|
||||
Returns the current buffer contains. Messages from different log function calls
|
||||
are separated with the new lines in the buffer.
|
||||
The buffer can be cleared by Flush() which will
|
||||
also show the current contents to the user.
|
||||
The buffer can be cleared by Flush() which will also show the current
|
||||
contents to the user.
|
||||
*/
|
||||
const wxString GetBuffer();
|
||||
};
|
||||
@ -466,17 +464,15 @@ public:
|
||||
/**
|
||||
@class wxLogInterposer
|
||||
|
||||
A special version of wxLogChain which uses itself as the
|
||||
new log target. It forwards log messages to the previously installed one in
|
||||
addition to
|
||||
A special version of wxLogChain which uses itself as the new log target.
|
||||
It forwards log messages to the previously installed one in addition to
|
||||
processing them itself.
|
||||
|
||||
Unlike wxLogChain which is usually used directly as is,
|
||||
this class must be derived from to implement wxLog::DoLog
|
||||
and/or wxLog::DoLogString methods.
|
||||
Unlike wxLogChain which is usually used directly as is, this class must be
|
||||
derived from to implement wxLog::DoLog and/or wxLog::DoLogString methods.
|
||||
|
||||
wxLogInterposer destroys the previous log target in its destructor. If you
|
||||
don't want this to happen, use wxLogInterposerTemp instead.
|
||||
wxLogInterposer destroys the previous log target in its destructor.
|
||||
If you don't want this to happen, use wxLogInterposerTemp instead.
|
||||
|
||||
@library{wxbase}
|
||||
@category{logging}
|
||||
@ -487,6 +483,7 @@ public:
|
||||
/**
|
||||
The default constructor installs this object as the current active log target.
|
||||
*/
|
||||
wxLogInterposer();
|
||||
};
|
||||
|
||||
|
||||
@ -530,116 +527,132 @@ public:
|
||||
Otherwise, it is completely hidden behind the @e wxLogXXX() functions and
|
||||
you may not even know about its existence.
|
||||
|
||||
@section overview_wxLog_deriving Deriving your own log target
|
||||
|
||||
There are two functions which must be implemented by any derived class to
|
||||
actually process the log messages: DoLog() and
|
||||
DoLogString(). The second function receives a string
|
||||
which just has to be output in some way and the easiest way to write a new log
|
||||
target is to override just this function in the derived class. If more control
|
||||
over the output format is needed, then the first function must be overridden
|
||||
which allows to construct custom messages depending on the log level or even
|
||||
do completely different things depending on the message severity (for example,
|
||||
throw away all messages except warnings and errors, show warnings on the
|
||||
screen and forward the error messages to the user's (or programmer's) cell
|
||||
phone - maybe depending on whether the timestamp tells us if it is day or
|
||||
night in the current time zone).
|
||||
There also functions to support message buffering. Why are they needed?
|
||||
Some of wxLog implementations, most notably the standard wxLogGui class,
|
||||
buffer the messages (for example, to avoid showing the user a zillion of modal
|
||||
message boxes one after another -- which would be really annoying).
|
||||
Flush() shows them all and clears the buffer contents.
|
||||
This function doesn't do anything if the buffer is already empty.
|
||||
See also:
|
||||
@li Flush()
|
||||
@li FlushActive()
|
||||
@section log_derivingyours Deriving your own log target
|
||||
|
||||
@section overview_wxLog_Trace_Masks Using trace masks
|
||||
There are two functions which must be implemented by any derived class to
|
||||
actually process the log messages: DoLog() and DoLogString().
|
||||
The second function receives a string which just has to be output in some way
|
||||
and the easiest way to write a new log target is to override just this function
|
||||
in the derived class.
|
||||
|
||||
The functions below allow some limited customization of wxLog behaviour
|
||||
without writing a new log target class (which, aside from being a matter of
|
||||
several minutes, allows you to do anything you want).
|
||||
The verbose messages are the trace messages which are not disabled in the
|
||||
release mode and are generated by wxLogVerbose(). They
|
||||
are not normally shown to the user because they present little interest, but
|
||||
may be activated, for example, in order to help the user find some program
|
||||
problem.
|
||||
As for the (real) trace messages, their handling depends on the settings of
|
||||
the (application global) @e trace mask which can either be specified using
|
||||
SetTraceMask(), GetTraceMask() and wxLogTrace() which takes an integer mask
|
||||
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,
|
||||
If more control over the output format is needed, then the first function must
|
||||
be overridden which allows to construct custom messages depending on the log level
|
||||
or even do completely different things depending on the message severity
|
||||
(for example, throw away all messages except warnings and errors, show warnings
|
||||
on the screen and forward the error messages to the user's (or programmer's) cell
|
||||
phone - maybe depending on whether the timestamp tells us if it is day or
|
||||
night in the current time zone).
|
||||
|
||||
@code
|
||||
wxLogTrace( wxTraceRefCount|wxTraceOleCalls, "Active object ref count: %d", nRef );
|
||||
@endcode
|
||||
There also functions to support message buffering. Why are they needed?
|
||||
Some of wxLog implementations, most notably the standard wxLogGui class,
|
||||
buffer the messages (for example, to avoid showing the user a zillion of modal
|
||||
message boxes one after another -- which would be really annoying).
|
||||
|
||||
will do something only if the current trace mask contains both
|
||||
@c wxTraceRefCount and @c wxTraceOle, but
|
||||
Flush() shows them all and clears the buffer contents.
|
||||
This function doesn't do anything if the buffer is already empty.
|
||||
|
||||
@code
|
||||
wxLogTrace( wxTRACE_OleCalls, "IFoo::Bar() called" );
|
||||
@endcode
|
||||
See also:
|
||||
@li Flush()
|
||||
@li FlushActive()
|
||||
|
||||
will log the message if it was preceded by
|
||||
|
||||
@code
|
||||
wxLog::AddTraceMask( wxTRACE_OleCalls);
|
||||
@endcode
|
||||
@section log_tracemasks Using trace masks
|
||||
|
||||
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.
|
||||
Finally, the @e wxLog::DoLog() function automatically prepends a time stamp
|
||||
to all the messages. The format of the time stamp may be changed: it can be
|
||||
any string with % specifications fully described in the documentation of the
|
||||
standard @e strftime() function. For example, the default format is
|
||||
"[%d/%b/%y %H:%M:%S] " which gives something like "[17/Sep/98 22:10:16] "
|
||||
(without quotes) for the current date. Setting an empty string as the time
|
||||
format disables timestamping of the messages completely.
|
||||
See also
|
||||
@li AddTraceMask()
|
||||
@li RemoveTraceMask()
|
||||
@li ClearTraceMasks()
|
||||
@li GetTraceMasks()
|
||||
@li IsAllowedTraceMask()
|
||||
@li SetVerbose()
|
||||
@li GetVerbose()
|
||||
@li SetTimestamp()
|
||||
@li GetTimestamp()
|
||||
@li SetTraceMask()
|
||||
@li GetTraceMask()
|
||||
@li SetRepetitionCounting()
|
||||
@li GetRepetitionCounting()
|
||||
The functions below allow some limited customization of wxLog behaviour
|
||||
without writing a new log target class (which, aside from being a matter of
|
||||
several minutes, allows you to do anything you want).
|
||||
The verbose messages are the trace messages which are not disabled in the
|
||||
release mode and are generated by wxLogVerbose().
|
||||
They are not normally shown to the user because they present little interest,
|
||||
but may be activated, for example, in order to help the user find some program
|
||||
problem.
|
||||
|
||||
@note Timestamping is disabled for Visual C++ users in debug builds by
|
||||
default because otherwise it would be impossible to directly go to the line
|
||||
from which the log message was generated by simply clicking in the debugger
|
||||
window on the corresponding error message. If you wish to enable it, please
|
||||
use SetTimestamp() explicitly.
|
||||
As for the (real) trace messages, their handling depends on the settings of
|
||||
the (application global) @e trace mask which can either be specified using
|
||||
SetTraceMask(), GetTraceMask() and wxLogTrace() which takes an integer mask
|
||||
or using AddTraceMask() for string trace masks.
|
||||
|
||||
@section overview_wxLog_Target Manipulating the log target
|
||||
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,
|
||||
|
||||
@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
|
||||
wxLogTrace( wxTRACE_OleCalls, "IFoo::Bar() called" );
|
||||
@endcode
|
||||
|
||||
will log the message if it was preceded by:
|
||||
|
||||
@code
|
||||
wxLog::AddTraceMask( wxTRACE_OleCalls);
|
||||
@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.
|
||||
|
||||
Finally, the @e wxLog::DoLog() function automatically prepends a time stamp
|
||||
to all the messages. The format of the time stamp may be changed: it can be
|
||||
any string with % specifications fully described in the documentation of the
|
||||
standard @e strftime() function. For example, the default format is
|
||||
"[%d/%b/%y %H:%M:%S] " which gives something like "[17/Sep/98 22:10:16] "
|
||||
(without quotes) for the current date. Setting an empty string as the time
|
||||
format disables timestamping of the messages completely.
|
||||
|
||||
See also
|
||||
@li AddTraceMask()
|
||||
@li RemoveTraceMask()
|
||||
@li ClearTraceMasks()
|
||||
@li GetTraceMasks()
|
||||
@li IsAllowedTraceMask()
|
||||
@li SetVerbose()
|
||||
@li GetVerbose()
|
||||
@li SetTimestamp()
|
||||
@li GetTimestamp()
|
||||
@li SetTraceMask()
|
||||
@li GetTraceMask()
|
||||
@li SetRepetitionCounting()
|
||||
@li GetRepetitionCounting()
|
||||
|
||||
@note Timestamping is disabled for Visual C++ users in debug builds by
|
||||
default because otherwise it would be impossible to directly go to the line
|
||||
from which the log message was generated by simply clicking in the debugger
|
||||
window on the corresponding error message. If you wish to enable it, please
|
||||
use SetTimestamp() explicitly.
|
||||
|
||||
|
||||
@section log_target Manipulating the log target
|
||||
|
||||
The functions in this section work with and manipulate the active log
|
||||
target. The OnLog() is called by the @e wxLogXXX() functions
|
||||
and invokes the DoLog() of the active log target if any.
|
||||
|
||||
Get/Set methods are used to install/query the current active target and,
|
||||
finally, DontCreateOnDemand() disables the automatic creation of a standard
|
||||
log target if none actually exists. It is only useful when the application
|
||||
is terminating and shouldn't be used in other situations because it may
|
||||
easily lead to a loss of messages.
|
||||
|
||||
See also:
|
||||
@li OnLog()
|
||||
@li GetActiveTarget()
|
||||
@li SetActiveTarget()
|
||||
@li DontCreateOnDemand()
|
||||
@li Suspend()
|
||||
@li Resume()
|
||||
|
||||
The functions in this section work with and manipulate the active log
|
||||
target. The OnLog() is called by the @e wxLogXXX() functions
|
||||
and invokes the DoLog() of the active log target if any.
|
||||
Get/Set methods are used to install/query the current active target and,
|
||||
finally, DontCreateOnDemand() disables the automatic creation of a standard
|
||||
log target if none actually exists. It is only useful when the application
|
||||
is terminating and shouldn't be used in other situations because it may
|
||||
easily lead to a loss of messages. See also
|
||||
@li OnLog()
|
||||
@li GetActiveTarget()
|
||||
@li SetActiveTarget()
|
||||
@li DontCreateOnDemand()
|
||||
@li Suspend()
|
||||
@li Resume()
|
||||
|
||||
@library{wxcore}
|
||||
@category{logging}
|
||||
@ -650,16 +663,14 @@ class wxLog
|
||||
{
|
||||
public:
|
||||
/**
|
||||
Add the @a mask to the list of allowed masks for
|
||||
wxLogTrace().
|
||||
Add the @a mask to the list of allowed masks for wxLogTrace().
|
||||
|
||||
@see RemoveTraceMask(), GetTraceMasks()
|
||||
*/
|
||||
static void AddTraceMask(const wxString& mask);
|
||||
|
||||
/**
|
||||
Removes all trace masks previously set with
|
||||
AddTraceMask().
|
||||
Removes all trace masks previously set with AddTraceMask().
|
||||
|
||||
@see RemoveTraceMask()
|
||||
*/
|
||||
@ -667,7 +678,8 @@ public:
|
||||
|
||||
/**
|
||||
Disables time stamping of the log messages.
|
||||
This function is new since wxWidgets version 2.9
|
||||
|
||||
@since 2.9.0
|
||||
*/
|
||||
static void SetTimestamp(const wxString& format);
|
||||
|
||||
@ -675,6 +687,7 @@ public:
|
||||
Called to process the message of the specified severity. @a msg is the text
|
||||
of the message as specified in the call of @e wxLogXXX() function which
|
||||
generated it and @a timestamp is the moment when the message was generated.
|
||||
|
||||
The base class version prepends the timestamp to the message, adds a prefix
|
||||
corresponding to the log level and then calls
|
||||
DoLogString() with the resulting string.
|
||||
@ -685,6 +698,7 @@ public:
|
||||
/**
|
||||
Called to log the specified string. The timestamp is already included in the
|
||||
string but still passed to this function.
|
||||
|
||||
A simple implementation may just send the string to @c stdout or, better,
|
||||
@c stderr.
|
||||
*/
|
||||
@ -694,14 +708,14 @@ public:
|
||||
Instructs wxLog to not create new log targets on the fly if there is none
|
||||
currently. (Almost) for internal use only: it is supposed to be called by the
|
||||
application shutdown code.
|
||||
Note that this function also calls
|
||||
ClearTraceMasks().
|
||||
|
||||
Note that this function also calls ClearTraceMasks().
|
||||
*/
|
||||
static void DontCreateOnDemand();
|
||||
|
||||
/**
|
||||
Shows all the messages currently in buffer and clears it. If the buffer
|
||||
is already empty, nothing happens.
|
||||
Shows all the messages currently in buffer and clears it.
|
||||
If the buffer is already empty, nothing happens.
|
||||
*/
|
||||
virtual void Flush();
|
||||
|
||||
@ -733,8 +747,7 @@ public:
|
||||
static const wxString GetTimestamp();
|
||||
|
||||
/**
|
||||
Returns the current trace mask, see Customization() section
|
||||
for details.
|
||||
Returns the current trace mask, see Customization() section for details.
|
||||
*/
|
||||
static wxTraceMask GetTraceMask();
|
||||
|
||||
@ -751,38 +764,12 @@ public:
|
||||
static bool GetVerbose();
|
||||
|
||||
/**
|
||||
Returns @true if the @a mask is one of allowed masks for
|
||||
wxLogTrace().
|
||||
Returns @true if the @a mask is one of allowed masks for wxLogTrace().
|
||||
|
||||
See also: AddTraceMask(), RemoveTraceMask()
|
||||
*/
|
||||
static bool IsAllowedTraceMask(const wxString& mask);
|
||||
|
||||
/**
|
||||
There are two functions which must be implemented by any derived class to
|
||||
actually process the log messages: DoLog() and
|
||||
DoLogString(). The second function receives a string
|
||||
which just has to be output in some way and the easiest way to write a new log
|
||||
target is to override just this function in the derived class. If more control
|
||||
over the output format is needed, then the first function must be overridden
|
||||
which allows you to construct custom messages depending on the log level or even
|
||||
do completely different things depending on the message severity (for example,
|
||||
throw away all messages except warnings and errors, show warnings on the
|
||||
screen and forward the error messages to the user's (or programmer's) cell
|
||||
phone - maybe depending on whether the timestamp tells us if it is day or
|
||||
night in the current time zone).
|
||||
There also functions to support message buffering. Why are they needed?
|
||||
Some of wxLog implementations, most notably the standard wxLogGui class,
|
||||
buffer the messages (for example, to avoid showing the user a zillion of modal
|
||||
message boxes one after another -- which would be really annoying).
|
||||
Flush() shows them all and clears the buffer contents.
|
||||
This function doesn't do anything if the buffer is already empty.
|
||||
Flush()
|
||||
|
||||
FlushActive()
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
Forwards the message at specified level to the @e DoLog() function of the
|
||||
active log target if there is any, does nothing otherwise.
|
||||
@ -792,7 +779,8 @@ public:
|
||||
/**
|
||||
Remove the @a mask from the list of allowed masks for
|
||||
wxLogTrace().
|
||||
See also: AddTraceMask()
|
||||
|
||||
@see AddTraceMask()
|
||||
*/
|
||||
static void RemoveTraceMask(const wxString& mask);
|
||||
|
||||
@ -834,8 +822,7 @@ public:
|
||||
static void SetTimestamp(const wxString& format);
|
||||
|
||||
/**
|
||||
Sets the trace mask, see Customization()
|
||||
section for details.
|
||||
Sets the trace mask, see @ref log_derivingyours section for details.
|
||||
*/
|
||||
static void SetTraceMask(wxTraceMask mask);
|
||||
|
||||
@ -846,14 +833,16 @@ public:
|
||||
static void SetVerbose(bool verbose = true);
|
||||
|
||||
/**
|
||||
Suspends the logging until Resume() is called. Note that
|
||||
the latter must be called the same number of times as the former to undo it,
|
||||
i.e. if you call Suspend() twice you must call Resume() twice as well.
|
||||
Suspends the logging until Resume() is called.
|
||||
|
||||
Note that the latter must be called the same number of times as the former
|
||||
to undo it, i.e. if you call Suspend() twice you must call Resume() twice as well.
|
||||
|
||||
Note that suspending the logging means that the log sink won't be be flushed
|
||||
periodically, it doesn't have any effect if the current log target does the
|
||||
logging immediately without waiting for Flush() to be
|
||||
called (the standard GUI log target only shows the log dialog when it is
|
||||
flushed, so Suspend() works as expected with it).
|
||||
logging immediately without waiting for Flush() to be called (the standard
|
||||
GUI log target only shows the log dialog when it is flushed, so Suspend()
|
||||
works as expected with it).
|
||||
|
||||
@see Resume(), wxLogNull
|
||||
*/
|
||||
@ -876,7 +865,7 @@ public:
|
||||
For instance, the example of the overview:
|
||||
|
||||
@code
|
||||
wxFile file;
|
||||
wxFile file;
|
||||
|
||||
// wxFile.Open() normally complains if file can't be opened, we don't want it
|
||||
{
|
||||
@ -891,7 +880,7 @@ public:
|
||||
would be better written as:
|
||||
|
||||
@code
|
||||
wxFile file;
|
||||
wxFile file;
|
||||
|
||||
// don't try to open file if it doesn't exist, we are prepared to deal with
|
||||
// this ourselves - but all other errors are not expected
|
||||
@ -921,6 +910,7 @@ public:
|
||||
/**
|
||||
Resumes logging.
|
||||
*/
|
||||
~wxLogNull();
|
||||
};
|
||||
|
||||
|
||||
|
@ -29,10 +29,9 @@
|
||||
If a native (i.e. supported directly by the compiler) 64 bit integer type was
|
||||
found to exist, @e wxLongLong_t macro will be defined to correspond to it.
|
||||
Also, in this case only, two additional macros will be defined:
|
||||
wxLongLongFmtSpec() for printing 64 bit integers
|
||||
using the standard @c printf() function (but see also
|
||||
wxLongLong::ToString for a more portable solution) and
|
||||
wxLL() for defining 64 bit integer compile-time constants.
|
||||
- wxLongLongFmtSpec() for printing 64 bit integers using the standard @c printf()
|
||||
function (but see also wxLongLong::ToString for a more portable solution);
|
||||
- wxLL() for defining 64 bit integer compile-time constants.
|
||||
|
||||
@library{wxbase}
|
||||
@category{data}
|
||||
@ -40,6 +39,16 @@
|
||||
class wxLongLong
|
||||
{
|
||||
public:
|
||||
/**
|
||||
Default constructor initializes the object to 0.
|
||||
*/
|
||||
wxLongLong();
|
||||
|
||||
/**
|
||||
Constructor from native long long (only for compilers supporting it).
|
||||
*/
|
||||
wxLongLong(wxLongLong_t ll);
|
||||
|
||||
/**
|
||||
Constructor from 2 longs: the high and low part are combined into one
|
||||
wxLongLong.
|
||||
@ -49,16 +58,17 @@ public:
|
||||
//@{
|
||||
/**
|
||||
Returns an absolute value of wxLongLong - either making a copy (const version)
|
||||
or modifying it in place (the second one). Not in wxULongLong.
|
||||
or modifying it in place (the second one). Not in wxULongLong.
|
||||
*/
|
||||
wxLongLong Abs();
|
||||
const wxLongLong& Abs();
|
||||
wxLongLong Abs() const;
|
||||
wxLongLong& Abs();
|
||||
//@}
|
||||
|
||||
/**
|
||||
This allows to convert a double value to wxLongLong type. Such conversion is
|
||||
not always possible in which case the result will be silently truncated in a
|
||||
platform-dependent way. Not in wxULongLong.
|
||||
This allows to convert a double value to wxLongLong type.
|
||||
|
||||
Such conversion is not always possible in which case the result will be
|
||||
silently truncated in a platform-dependent way. Not in wxULongLong.
|
||||
*/
|
||||
wxLongLong Assign(double d);
|
||||
|
||||
@ -73,7 +83,7 @@ public:
|
||||
unsigned long GetLo() const;
|
||||
|
||||
/**
|
||||
Convert to native long long (only for compilers supporting it)
|
||||
Convert to native long long (only for compilers supporting it).
|
||||
*/
|
||||
wxLongLong_t GetValue() const;
|
||||
|
||||
@ -94,48 +104,83 @@ public:
|
||||
*/
|
||||
wxString ToString() const;
|
||||
|
||||
|
||||
/**
|
||||
Adds 2 wxLongLongs together and returns the result.
|
||||
*/
|
||||
wxLongLong operator+(const wxLongLong& ll) const;
|
||||
|
||||
//@{
|
||||
/**
|
||||
Pre/post increment operator.
|
||||
*/
|
||||
wxLongLong operator++();
|
||||
wxLongLong operator++(int );
|
||||
//@}
|
||||
|
||||
/**
|
||||
Add another wxLongLong to this one.
|
||||
*/
|
||||
wxLongLong operator+(const wxLongLong& ll);
|
||||
wxLongLong& operator+(const wxLongLong& ll);
|
||||
|
||||
|
||||
/**
|
||||
Subtracts 2 wxLongLongs and returns the result.
|
||||
*/
|
||||
wxLongLong operator-(const wxLongLong& ll) const;
|
||||
|
||||
/**
|
||||
Subtracts another wxLongLong from this one.
|
||||
*/
|
||||
wxLongLong& operator-(const wxLongLong& ll);
|
||||
|
||||
|
||||
//@{
|
||||
/**
|
||||
Pre/post increment operator.
|
||||
*/
|
||||
wxLongLong operator++();
|
||||
wxLongLong operator++(int);
|
||||
//@}
|
||||
|
||||
//@{
|
||||
/**
|
||||
Pre/post decrement operator.
|
||||
*/
|
||||
wxLongLong operator--();
|
||||
wxLongLong operator--(int );
|
||||
wxLongLong operator--(int);
|
||||
//@}
|
||||
|
||||
/**
|
||||
Subtracts another wxLongLong from this one.
|
||||
Returns the value of this wxLongLong with opposite sign. Not in wxULongLong.
|
||||
*/
|
||||
wxLongLong operator-(const wxLongLong& ll);
|
||||
wxLongLong operator-() const;
|
||||
|
||||
/**
|
||||
Assignment operator from unsigned long long. The sign bit will be copied too.
|
||||
|
||||
@since 2.7.0
|
||||
*/
|
||||
wxLongLong& operator operator=(const wxULongLong& ll);
|
||||
wxLongLong& operator=(const wxULongLong& ll);
|
||||
|
||||
/**
|
||||
Assignment operator from native long long (only for compilers supporting it).
|
||||
*/
|
||||
wxLongLong& operator=(wxLongLong_t ll);
|
||||
|
||||
/**
|
||||
Assignment operator from native unsigned long long (only for compilers supporting it).
|
||||
|
||||
@since 2.7.0
|
||||
*/
|
||||
wxLongLong& operator=(wxULongLong_t ll);
|
||||
|
||||
/**
|
||||
Assignment operator from long.
|
||||
|
||||
@since 2.7.0
|
||||
*/
|
||||
wxLongLong& operator=(long l);
|
||||
|
||||
/**
|
||||
Assignment operator from unsigned long.
|
||||
|
||||
@since 2.7.0
|
||||
*/
|
||||
wxLongLong& operator=(unsigned long l);
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user