Add wxTimer::StartOnce().

This is a simple wrapper for wxTimer::Start(timeout, wxTIMER_ONE_SHOT) but is
often more readable and is definitely better than Start(timeout, true) which
many people still use in spite of wxTIMER_ONE_SHOT existence.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74330 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2013-07-03 00:24:10 +00:00
parent dbd5b2ce42
commit 7c60222510
3 changed files with 17 additions and 1 deletions

View File

@@ -597,6 +597,7 @@ All:
- Add IEEE 754 single/double precision support to wxDataStream classes (net147). - Add IEEE 754 single/double precision support to wxDataStream classes (net147).
- Add wxVector<>::const_reverse_iterator (troelsk). - Add wxVector<>::const_reverse_iterator (troelsk).
- Fix thread-safety issue in wxSharedPtr<> (plorkyeran). - Fix thread-safety issue in wxSharedPtr<> (plorkyeran).
- Add wxTimer::StartOnce().
- Add Nepali translation (Him Prasad Gautam). - Add Nepali translation (Him Prasad Gautam).
All (GUI): All (GUI):

View File

@@ -81,6 +81,10 @@ public:
// timer if it is already running // timer if it is already running
virtual bool Start(int milliseconds = -1, bool oneShot = false); virtual bool Start(int milliseconds = -1, bool oneShot = false);
// start the timer for one iteration only, this is just a simple wrapper
// for Start()
bool StartOnce(int milliseconds = -1) { return Start(milliseconds, true); }
// stop the timer, does nothing if the timer is not running // stop the timer, does nothing if the timer is not running
virtual void Stop(); virtual void Stop();

View File

@@ -128,10 +128,21 @@ public:
To make your code more readable you may also use the following symbolic constants: To make your code more readable you may also use the following symbolic constants:
- wxTIMER_CONTINUOUS: Start a normal, continuously running, timer - wxTIMER_CONTINUOUS: Start a normal, continuously running, timer
- wxTIMER_ONE_SHOT: Start a one shot timer - wxTIMER_ONE_SHOT: Start a one shot timer
Alternatively, use StartOnce().
If the timer was already running, it will be stopped by this method before If the timer was already running, it will be stopped by this method before
restarting it. restarting it.
*/ */
virtual bool Start(int milliseconds = -1, bool oneShot = false); virtual bool Start(int milliseconds = -1, bool oneShot = wxTIMER_CONTINUOUS);
/**
Starts the timer for a once-only notification.
This is a simple wrapper for Start() with @c wxTIMER_ONE_SHOT parameter.
@since 2.9.5
*/
bool StartOnce(int milliseconds = -1);
/** /**
Stops the timer. Stops the timer.