Commit Graph

85 Commits

Author SHA1 Message Date
Vadim Zeitlin
5d4a050443 Remove mentions of wxCommandEvent from wxThreadEvent documentation.
wxThreadEvent doesn't derive from wxCommandEvent any more so don't say that it
does.

Also fix some grammar/wording.

Closes #13359.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68339 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-23 12:01:26 +00:00
Václav Slavík
c1b293bb8d Move wxThreadEvent into wxBase.
For this, it cannot derive from wxCommandEvent. Extracted the bits
from wxCommandEvent useful for passing data between threads into
wxEventBasicPayloadMixin helper class shared by both.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68076 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-28 17:24:37 +00:00
Vadim Zeitlin
aacbb5dc43 Remove duplicated portability warning from wxShowEvent description.
The warning about this event not being generated by all ports was already
present, remove the second copy.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67731 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-13 13:29:55 +00:00
Vadim Zeitlin
09bdb1cb3e Add WXK_CONTROL_A..WXK_CONTROL_Z constants.
These key codes provide nicer symbolic values for ASCII values in 1..26 range
generated by Ctrl+Letter keys.

Closes #13075.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67294 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-23 12:59:59 +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
0af4bd16a1 Slightly improve wxMouseCaptureLostEvent documentation.
Minor changes to make the event description more clear.

Closes #13052.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67245 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-19 11:57:10 +00:00
Vadim Zeitlin
5c16a69952 Don't generate wxEVT_CHAR_HOOK events while the mouse is captured.
This prevents the parent TLW from interfering with the keyboard handling of
the window that captured the mouse which very often needs Escape for itself to
cancel the capture.

In particular, this fixes the problems with Escape closing the entire dialog
containing the controls instead of closing just the combobox drop down or a
popup menu in wxMSW.

Also modify wxGTK for consistency and update the documentation.

Closes #12952.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67191 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-14 11:55:01 +00:00
Vadim Zeitlin
ff45048665 Document EVT_CHAR_HOOK.
Explain that it is sent to the active TLW and not the focus window and that
handling it suppresses all the normal keyboard events.

Mention that it is not generated by wxOSX/Cocoa currently, see #12431.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67190 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-14 11:54:55 +00:00
Paul Cornett
89c6e02442 add wxEVT_MAXIMIZE support to wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67164 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-09 17:22:43 +00:00
Vadim Zeitlin
e22e5ee4e7 Mention that wxEVT_MAXIMIZE is only generated by a few ports.
Currently only wxMSW, wxOSX/Cocoa and wxOS2 generate this event. Notably wxGTK
does not.

See #13022.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67157 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-09 09:40:08 +00:00
Vadim Zeitlin
31a9fc9390 Correct more wxEVT_AUXn_XXX event types names.
This completes the changes of r64414 and also removes the extraneous "MOUSE"
from the event types listed in the wxMouseEvent ctor documentation.

Closes #12095.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66853 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-06 01:01:14 +00:00
Vadim Zeitlin
7721116699 Re-enable generation of wxEVT_MOVE_{START,END} events under wxMSW.
Handling of WM_{ENTER,EXIT}SIZEMOVE was disabled as a side-effect of r47927,
possibly unintentionally. Revert this change to generate these events again.

Also document that they're MSW-only for now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66846 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-05 20:24:47 +00:00
Steve Lamerton
3a194bda7b Add missing code tag before lots of wxEventTypes in the documentation. Although most of the documentation did this quite a few were missing.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66611 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-06 19:52:14 +00:00
Robin Dunn
a90e69f70f Fix some bad parameter names, add missing methods, add missing classes, etc.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66210 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-19 07:57:19 +00:00
Vadim Zeitlin
5995a84fcf Set wxKeyEvent::m_rawFlags to hardware key code in wxGTK.
The raw flags were previously unused in wxGTK but hardware key code is an
important information which may be useful to the application, so pass it in
the flags (this is rather symmetric with passing lParam in it under MSW as
lParam contains the scan code, among other things).

Also document the meaning of raw key code and flags in all the major ports.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65893 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-24 14:34:45 +00:00
Vadim Zeitlin
5effc1cf58 Restore the note about auto-repeat in key events documentation.
Closes #12598.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65866 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-22 16:33:38 +00:00
Vadim Zeitlin
d0fb62a656 Generate the same flags for modifier key events in wxGTK as in wxMSW.
Resolve the discrepancy between modifier flags of the key events corresponding
to the modifier key itself between wxMSW and wxGTK by changing the latter to
follow wxMSW behaviour.

Clearly document the now officially correct behaviour of the modifiers for the
key events corresponding to the modifiers keys themselves in the manual.

This fix also makes it unnecessary to work around this bug in the keyboard
unit test so remove it from there.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65527 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:19:14 +00:00
Vadim Zeitlin
7333c0ef82 Generate unshifted Unicode key codes in wxEVT_KEY_XXX events in wxGTK.
wxGTK generated wxEVT_KEY_XXX with key codes corresponding to the unshifted
state of the key (except for the letters) but Unicode key codes corresponding
to the current shift state. This was inconsistent with wxMSW and also with the
idea that key events, unlike char ones, don't depend on the modifiers states.

Change wxGTK to behave as wxMSW and use unshifted values for Unicode key codes
as well.

Remove the now unnecessary workaround for different key event Unicode codes
from test.

Also try to explain the difference between normal and Unicode keys and key and
char events even better and mention that the Unicode key codes for the key
events are also untranslated in the documentation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65526 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:19:07 +00:00
Vadim Zeitlin
b6885972ee Fixes to key codes in keyboard events generated by wxMSW.
Only set Unicode key code if the event corresponds to a character key and set
it to (newly added) WXK_NONE for the other ones to avoid nonsensical values in
it for e.g. "Home" key presses.

Also set non-Unicode key to WXK_NONE for the characters that can't be
represented in the current locale. This is consistent with wxGTK and avoids
conflicts between special key values and Unicode keys.

Clearly document the above behaviour.

Notice that implementing the correct behaviour in wxMSW involved untangling
previously interwoven WM_KEY{DOWN,UP} and WM_CHAR messages handlers. Clearly
separate them now as they get different input (key codes for the former,
characters for the latter) and especially don't try to convert from both kinds
of input using a single wxCharCodeMSWToWX() function. As this function doesn't
need to distinguish between keys and characters any more it can simply return
the converted value in all cases instead of returning 0 sometimes to indicate
a character value instead of a key. Simplify the code using this function
accordingly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65522 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:18:47 +00:00
Vadim Zeitlin
86408a0374 Add WXK_NONE symbolic constant indicating absence of a key.
wxKeyEvent::GetKeyCode() and GetUnicodeKey() return 0 to indicate that the key
code or Unicode character is not available, give symbolic name to this 0 to
make the code using these methods more clear.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65521 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:18:41 +00:00
Vadim Zeitlin
a183ec7094 Improve EVT_SHOW documentation.
Mention that it applies to the TLWs only and explain when it is generated (and
not generated).

Closes #12353.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65316 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-15 21:14:11 +00:00
Vadim Zeitlin
0d2f3b9d7b WIP
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65241 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-10 22:39:00 +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
Vadim Zeitlin
7f4f5e8c24 Correct wxEVT_AUXn_XXX event types names.
They had a wrong "MOUSE" part in them while "MOUSE" is only used for the event
table macros but not the event types themselves for some reason.

Closes #12095.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64414 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-27 17:07:35 +00:00
Vadim Zeitlin
512220b67b Replace public wxEvtHandler::ProcessEventHere() with private TryHere().
ProcessEventHere() doesn't have to be public any more now that we have
ProcessEventLocally() which is safe to call from the outside (i.e. doesn't
forget about the chained event handlers and validators).

Still keep this function because it makes the code more modular and also
because we might want to make it virtual for consistency with TryBefore() and
TryAfter() later. Also rename it to TryHere() to make the symmetry with these
functions more manifest.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64264 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-09 14:55:46 +00:00
Vadim Zeitlin
3cbb9df817 Refactor the event processing code to add ProcessEventLocally().
This new method can be used to only process the event in this handler or any
handlers connected to it (unlike ProcessEventHere() which doesn't follow the
chain at all), without propagating the event upwards (unlike ProcessEvent()).

Unfortunately implementing this required a field to wxEvent but there doesn't
seem to be any other way to do what we need.

There should be no user-visible changes after this commit, it just paves the
way for the upcoming fixes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64261 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-09 14:55:28 +00:00
Vadim Zeitlin
255ea4a702 Call wxEvtHandler::TryBefore() only once from ProcessEvent().
The event pre-processing hooks associated with the window should be called
only once during the event processing, we don't need to call TryBefore() for
each and every event handler associated with the window too.

This makes the code slightly simpler and faster and shouldn't change the
behaviour of any existing code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64260 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-09 14:55:21 +00:00
Vadim Zeitlin
7ca106e860 Allow to not create wxPaintDC in EVT_PAINT handler in wxMSW.
Failure to create a wxPaintDC in EVT_PAINT handler resulted in many serious
and difficult to debug problems under wxMSW. We used to document that the user
shouldn't do it but this wasn't enough (see #11648). We could also assert if
we detected that a handler didn't create a wxPaintDC but it seems better to
just handle this case gracefully for consistency with the other platforms.

Add wxDidCreatePaintDC global variable which is reset before generating
wxPaintEvent and set to true when ::BeginPaint() is called from wxPaintDC
ctor and validate the update region of the window ourselves if it wasn't set
(meaning that wxPaintDC wasn't created).

Update the documentation to emphasize the link between EVT_PAINT handlers and
wxPaintDC but without saying that wxPaintDC object must always be created in
the handler as this is not true any more.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63229 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-23 13:22:25 +00:00
Václav Slavík
dae60aeebb Add wxThreadEvent::SetPayload<T>().
This makes it possible to easily pass custom data between threads, in
type-safe way (thanks to internal use of wxAny). This adds
sizeof(wxAny)==16+sizeof(void*) overhead to wxThreadEvent, but I think
it's cheaper than doing malloc/free on copying.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63187 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-19 13:01:40 +00:00
Jaakko Salli
eb23d11e00 Added a new documentation overview section 'Caveats When Not Using C++ RTTI', describing possible problems with Bind() and wxAny when C++ RTTI is disabled.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62694 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-21 11:39:32 +00:00
Vadim Zeitlin
fde702ea51 Fix typo in Bind() documentation: s/binded/bound/
Closes #11450.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62672 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-17 14:47:56 +00:00
Vadim Zeitlin
869aa92d4d Explicitly document event types for EVT_CLOSE().
Closes #11445.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62671 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-17 14:47:44 +00:00
Vadim Zeitlin
0ddf0ac696 Make wxSizeEvent::GetSize() description more precise.
Mention that it returns the new total (and not client) size of the window.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62620 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-12 13:13:09 +00:00
Mattia Barbon
1058f65203 Copy wxPerl notes from the LaTeX documentation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62451 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-18 17:47:01 +00:00
Stefan Csomor
e431dd05ae documenting events that are not available on OSX, closes #10776
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62061 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-24 09:41:39 +00:00
Vadim Zeitlin
4f742042b8 Make WXK_NUMPAD_TAB member of WXK_CATEGORY_TAB.
See #10268.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-23 21:39:32 +00:00
Vadim Zeitlin
7a34307e24 Added wxKeyEvent::IsKeyInCategory() method.
This allows to test whether a given key belongs to the category of e.g. arrow
keys or navigation keys in a more concise and more readable manner.

Closes #10268.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61736 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-23 00:32:17 +00:00
Vadim Zeitlin
ab826fd86f don't duplicate wxMouseState in wxMouseEvent but reuse its methods and variables (somehow this was never done when wxMouseState was introduced)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-29 21:42:30 +00:00
Vadim Zeitlin
ff3fd98a08 remove semicolon from wxDECLARE_EVENT; having it there was inconsistent with other wxXXX_EVENT macros and generally unexpected
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60137 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-14 12:47:46 +00:00
Vadim Zeitlin
04a7eed137 update documentation for Bind() (closes #10594)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59911 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-29 12:53:54 +00:00
Francesco Montorsi
9de71074ec wxEvtHandler derives from wxTrackable, too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59753 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-23 00:26:17 +00:00
Francesco Montorsi
cae9e7b169 add wxAppConsoleBase::DeletePendingEvents and wxEvtHandler::DeletePendingEvents.
Fix wxAppConsoleBase::Suspend/ResumeProcessingOfPendingEvents: locking the mutex does not prevent wxAppConsoleBase::ProcessPendingEvents from running if the mutex was locked from the main thread!

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-08 12:58:24 +00:00
Francesco Montorsi
8e40ed8535 move pending event processing back to wxApp (these methods were moved into wxEventLoopBase during YieldFor() refactoring - see #10320): we need to be able to queue events even when there's no event loop running (e.g. wxApp::OnInit)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59284 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-02 20:45:22 +00:00
Francesco Montorsi
d455444a8b fix doxygen warnings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59188 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-27 14:48:27 +00:00
Vadim Zeitlin
8cc208e39f deprecate the old TryValidator/Parent() and replace them with the new and documented TryBefore/After()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59164 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-26 16:16:31 +00:00
Francesco Montorsi
3c99e2fd1b recategorize many misplaced classes; move lots of classes from miscellaneous [window] category to more specific categories; add the 'Book controls' and the 'Application and system configuration' class groups
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59051 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-20 11:34:52 +00:00
Francesco Montorsi
22d17afa80 mention wxThreadEvent in wxEVT_CATEGORY_THREAD and in wxEvtHandler::QueueEvent
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59039 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-19 22:48:43 +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
3051a44a73 make distinction between classes which send events (use @beginEventEmissionTable for them) from event classes (use @beginEventTable for them); add event tables for wxWindow, wxFrame, wxTopLevelWindow, wxApp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59000 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-18 17:58:51 +00:00