Commit graph

65 commits

Author SHA1 Message Date
Tobias Taschner
48dba42e7e
Remove mentions of C++11 in docs
Since wxWidgets now requires C++11 it's not necessary to point
out C++11 features as such explicitly.
2022-10-19 21:50:30 +02:00
Vadim Zeitlin
4f4c5fcfdf Use nullptr instead of NULL in the code and documentation
This is a combination of running clang-tidy with modernize-use-nullptr
check for some ports (GTK, X11, OSX) and manual changes to the ports for
which it couldn't be used easily (MSW, DFB) and also manually updating
the docs.

Also replace NULL with null or nullptr in the comments as this is more
consistent with the use of nullptr in the code and makes it simpler to
grep for the remaining occurrences of NULL itself.

And also use null in the assert messages.

Only a few occurrences of "NULL" are still left in non-C files, mostly
corresponding to unclear comments or string output which it might not be
safe to change.
2022-10-18 01:25:25 +02:00
Vadim Zeitlin
bd92523bc5 Fix use of Doxygen @addtogroup command
Put Doxygen grouping constructs ("@{" and "@}") in Doxygen comments
rather than plain C++ ones to make them actually take effect. Some old
Doxygen versions (~1.8.5) did recognize them even in plain comments, but
the currently uses 1.9.1 one does not and @addtogroup didn't have any
effect as the result.

This fixes the problem with the "Functions by Category" pages being
empty in the resulting HTML documentation.

See #22572.
2022-08-03 18:28:06 +02:00
Vadim Zeitlin
6917b6b0f1 Document wxTHREAD_WAIT_DEFAULT value change
It has been a long-time coming, see b95a7c3144 (Allow wxThread::Wait()
and Delete() to block, even under wxMSW., 2011-03-14), but do still
document that it has finally changed.
2022-08-03 17:39:48 +02:00
Artur Wieczorek
5e2da5a106 Get rid of v2.8 code 2022-08-02 08:26:29 +02:00
Lauri Nurmi
aace36b17f Add static SetNameForCurrent for setting name of non-wxThreads
Co-authored-by: PB <PBforDev@gmail.com>
2021-11-05 16:11:56 +02:00
Lauri Nurmi
fc756d06a6 Add wxThread::SetName for naming threads for debugging purposes
Such thread names can be shown by some debuggers, and depending on
the OS and compiler versions used, they can be visible in process
lists and crash dumps.

Co-authored-by: PB <PBforDev@gmail.com>
2021-11-05 16:11:55 +02:00
Vadim Zeitlin
66c8437952 Add notes about standard threading classes to the documentation
There is no reason to use wxMutex and wxCondition in C++11 programs as
they have about the same API as the corresponding standard classes but
are, well, non-standard.

wxThread API is different from std::thread, so it's a less obvious
replacement, but still at least mention the standard class in its
documentation.
2020-06-01 15:10:24 +02:00
Vadim Zeitlin
192e8befb8 Fix example showing wxMutex usage in documentation
Fix wrong use of pointer and wrong variable name.

Closes #18778.
2020-06-01 15:04:45 +02:00
Lauri Nurmi
84f7e925e5 Fix wxThread::SetPriority() documentation
The documentation's notes about MSW limitations about setting priority
before creating the thread do not appear to be true (anymore). Thread
priority is already set by Create() if SetPriority() was called earlier.
Setting it immediately just failed, because the thread did not exist
yet, but this was fixed by the previous commit.
2019-12-28 00:06:28 +01:00
Artur Wieczorek
5925893eed Fix various doxygen issues in the documentation 2019-10-20 11:53:49 +02:00
Artur Wieczorek
a771da5623 Don’t use void for functions without arguments 2019-10-02 00:54:14 +02:00
Kvaz1r
3fffc0782c Make wxThread::OnExit() protected rather than private
This allows calling the base class version from the derived classes and
also, at least as importantly, make sure that the function is actually
documented as private functions are not extracted by Doxygen by default.

Closes #16749.

Closes https://github.com/wxWidgets/wxWidgets/pull/1543
2019-09-12 00:55:32 +02:00
Vadim Zeitlin
8fbca5cb70 Remove all trailing spaces
No real changes, just clean up sources by removing trailing spaces from
all the non-generated files.

This should hopefully avoid future commits mixing significant changes
with insignificant whitespace ones.
2019-01-30 17:35:54 +01:00
Vadim Zeitlin
5b2e992947 Document wxThread::Delete() behaviour more precisely
Delete() doesn't (and can't, under Unix) wait for the detached threads,
although it does do it under MSW (but arguably shouldn't), so it can't
retrieve the thread exit code there.

Document that its "rc" argument is only useful with joinable threads.

Closes #18240.
2018-12-16 00:02:07 +01:00
Vadim Zeitlin
cec14a334c Document that wxThread::SetPriority() is broken under Unix
The code setting thread priority doesn't work without changing the
scheduling policy as thread priorities are simply ignored when using the
default SCHED_OTHER (at least under Linux and NetBSD, but probably other
systems too).

See #18195.
2018-08-16 13:14:19 +02:00
Catalin
71ad2d64ef Remove obsolete symbols and platforms from the documentation
Don't mention pre-XP Windows versions and other obsolete platforms such as
OS/2 and the symbols which were only useful for them.

Closes https://github.com/wxWidgets/wxWidgets/pull/137
2015-12-03 22:05:55 +01:00
Cătălin Răceanu
5ba2943d1c Correct wxThread::Delete() default parameter documentation.
It is actually wxTHREAD_WAIT_DEFAULT and not always wxTHREAD_WAIT_BLOCK.

Closes https://github.com/wxWidgets/wxWidgets/pull/107
2015-10-05 00:31:06 +02:00
Vadim Zeitlin
00dacea7de Correct the default value of wxThread::Wait() flags in the documentation.
It is wxTHREAD_WAIT_DEFAULT, which can be/still is different from
wxTHREAD_WAIT_BLOCK.
2015-08-02 02:44:41 +02:00
Vadim Zeitlin
055fa773bf Simplify wxThreadHelper example to use Bind().
Avoid confusing people with (unnecessary in this case) custom event types and
make the example code simpler and safer.
2015-06-28 16:43:11 +02:00
Vadim Zeitlin
ad72c3429f Improve wxThread::SetPriority() comment and documentation.
Don't claim that SetPriority() can only be called before the thread is
created, this is just wrong.

Do document that it must be done after creating the thread in wxMSW (this is a
limitation of this port as POSIX implementation allows calling it at any
moment and could be lifted in the future).

Closes #16809.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78418 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-27 11:03:08 +00:00
Vadim Zeitlin
ccaebf6520 Add wxThread::MSWGetHandle().
Under MSW a thread has both an ID, returned by wxThread::GetId(), and a
handle, which couldn't be retrieved so far. Add an accessor to do it.

Closes #16170.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76418 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-27 22:41:50 +00:00
Vadim Zeitlin
37c6e7834c Add missing semicolons to the example in wxThread documentation.
wxDEFINE_EVENT() needs a semicolon after it.

Closes #16026.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76010 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-25 17:26:39 +00:00
Vadim Zeitlin
b60a0beb6d Compilation fix for the example in wxThread documentation.
Make MyThread a friend to allow it accessing the private fields of MyFrame.

Notice that this example still remains badly written and should be ideally
entirely redone using conditions and mutexes.

See #15881.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75637 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-17 14:32:57 +00:00
Václav Slavík
ceee1c4b3b Add wxCondition::Wait() overload that also tests the condition.
Add Wait() overload that takes a functor argument and doesn't return
until the condition is signaled _and_ the predicate returns true.  This
is useful for dealing with spurious wakeups and is modeled after C++11
std::condition_variable's corresponding method.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74771 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-06 17:09:05 +00:00
Steve Lamerton
8c6471af3c Fix various documentation warnings throughout core and base.
See #15346.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74691 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-21 15:26:34 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
285f511671 Fix wrong use of EVT_COMMAND in the example in wxThread documentation.
As the event being defined is a wxThreadEvent, EVT_THREAD must be used.

Also rename wxEVT_COMMAND_MYTHREAD_UPDATE to myEVT_THREAD_UPDATE to avoid
using "wxEVT_" prefix reserved by wx itself.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74159 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-11 12:25:00 +00:00
Václav Slavík
2e57ca641b Call wxThread::Create() from Run() automatically.
In the common case, when Run() is called immediately after Create() and
default stack size is used, it's unnecessarily verbose.  Just create the
thread in Run() if it wasn't done explicitly yet.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73999 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-16 14:15:46 +00:00
Vadim Zeitlin
90e95e6117 Rename WXTHREAD_XXX_PRIORITY yo wxPRIORITY_XXX.
This will allow to reuse the same constants for the process priorities in an
upcoming commit.

See #14931.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-20 02:10:07 +00:00
Vadim Zeitlin
0824e36969 Fix premature truncation of brief descriptions in Doxygen comments.
Don't end the brief description at the first period if it's a period which is
part of "i.e." or "e.g.": escape the space following it to prevent Doxygen
from recognizing it as an end of sentence.

See #14866.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73084 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-01 00:14:07 +00:00
Vadim Zeitlin
b9697cb410 Added wxCriticalSection::TryEnter() method.
This is similar to wxMutex::TryLock() and useful for the same reasons.

Closes #13638.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69883 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-01 14:22:15 +00:00
Dimitri Schoolwerth
4c51a665c6 Fixed various typos.
Applied patch by snowleopard2 fixing a bunch of typos such as misspellings and double words in the documentation. Combined the patch with some local queued typos waiting to be committed as well as adding new typo fixes inspired by the patch.

Function names with American spelling were not changed nor was third-party code touched. The only code changes involve some changes in strings that are translated ("Can not" -> "Cannot").

Closes #13063 (again).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-22 14:17:38 +00:00
Bryan Petty
57ab6f2314 Extensive documentation typo patch (closes #13063).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67279 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-22 14:08:30 +00:00
Vadim Zeitlin
b95a7c3144 Allow wxThread::Wait() and Delete() to block, even under wxMSW.
Add "wait mode" parameter to these methods which can be used to make them
block even under wxMSW where they currently dispatch messages when called
which can be totally unexpected.

Do keep the old behaviour for compatibility however, although it will change i
3.2.

Closes #12998.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67185 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-14 11:54:32 +00:00
Vadim Zeitlin
df191bfe39 Added wxThread::OnKill() and OnDelete() callbacks.
Call OnXXX() from wxThread::Kill() and Delete() respectively to allow the
thread being terminated perform some cleanup.

Closes #9046.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65882 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-23 14:10:12 +00:00
Francesco Montorsi
89a76d5d2c make POSIX and Windows implementation of wxThread::Run() coherently assert when trying to Run() a thread twice; add a test for it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65106 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-25 13:55:36 +00:00
Vadim Zeitlin
526954c596 Globally use "wxWindows licence" consistently.
Use "wxWindows licence" and not "wxWidgets licence" (the latter doesn't
exist) and consistently spell "licence" using British spelling.

See #12165.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-13 13:29:13 +00:00
Francesco Montorsi
a0e9a5dfde Implement wx-prefixed macros versions of DECLARE_EVENT_TABLE, BEGIN_EVENT_TABLE* and END_EVENT_TABLE macros.
Implement compatibility aliases for non-prefixed macro names.
Require a final semicolon where possible.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-09 14:28:08 +00:00
Václav Slavík
384a14ff32 Documented that wxCriticalSection can be used before wxInitialize(), as a global object.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62778 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-05 09:05:45 +00:00
Vadim Zeitlin
f922638305 Added wxThread::GetMainId().
This is useful for checking if a message was logged from the main thread or not and also allows us to implement IsMain() by comparing GetCurrentId() with GetMainId() in all ports and avoid repetition.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61406 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-11 20:46:55 +00:00
Francesco Montorsi
db034c5228 document that locking a wxMutex or a wxCriticalSection twice from the same thread doesn't result in a deadlock
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59432 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-08 12:56:48 +00:00
Francesco Montorsi
3a5677401f name wxThreadEvent and YieldFor in wxProgressDialog and in thread overview; update the sample code to use new event macros; minor other changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59002 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-18 19:32:00 +00:00
Francesco Montorsi
ae93dddfaf remove mention of wxMutexGuiEnter/leave from the multithreading topic overview; document that wxMutexGuiEnter only works for wxMSW as the code seems to confirm this (see #10366)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58683 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-05 18:24:27 +00:00
Francesco Montorsi
382f12e419 many automated ifacecheck fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57992 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-10 22:42:09 +00:00
Bryan Petty
b21126db7a Replaced @ingroup with @addtogroup for all global func/macros for use with Doxygen 1.5.7+.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57846 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-05 20:48:06 +00:00
Francesco Montorsi
c6427d4da4 mention multi-core systems and wxThread::GetCPUCount
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57448 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-20 21:26:25 +00:00
Francesco Montorsi
9eab0f6c3a don't remove docs for wxThreadHelper::Create; list it in deprecated methods changelog section
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57372 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-16 19:44:49 +00:00
Francesco Montorsi
a5cc517ff6 make wxThread::OnExit private and not public (change tested on wxMSW and wxGTK)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56984 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-26 17:24:00 +00:00
Francesco Montorsi
5159e01481 added GetKind getter
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56983 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-26 16:40:14 +00:00