Commit Graph

1011 Commits

Author SHA1 Message Date
Paul Cornett
1ddb3b55b0 update WarpPointer for GTK3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69048 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-10 16:02:59 +00:00
Paul Cornett
29e461a210 remove unnecessary GTK declarations from defs.h, move things only used once to the place that needs them
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69020 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-07 16:56:50 +00:00
Paul Cornett
f795e58659 remove unneeded gdk_window_get_pointer() call
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68647 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-12 05:45:59 +00:00
Vadim Zeitlin
a3edb930b9 Exclude windows not accepting keyboard focus from GTK focus chain.
For some reason the test for AcceptsFocusFromKeyboard() wasn't done in the
correct place when constructing the GTK focus chain and even windows returning
false from it were still added to it.

Do not do this any more, this prevents the windows which are really not meant
to be focusable from keyboard (such as the pseudo-buttons in the generic
implementation of wxSearchCtrl) from gaining focus unexpectedly.

See #12808.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68367 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-24 22:19:37 +00:00
Vadim Zeitlin
e7cda1c350 Generate events for two auxiliary mouse buttons in wxGTK.
Add code to generate wxEVT_AUXN_XXX events to wxGTK.

Closes #13310.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68215 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-09 23:37:15 +00:00
Vadim Zeitlin
0edbdf6a45 Check for GTK window parent, not wx one, when reparenting.
A notebook page removed from its notebook can have a non-NULL wx parent but
not have any parent at GTK level any longer, so test for the window parent at
GTK level before removing the widget from it, otherwise we were getting GTK
asserts when trying to remove a window from its no-more-parent.

See #13305.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68213 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-09 23:37:03 +00:00
Dimitri Schoolwerth
a1b806b982 Replaced Ok() occurrences with IsOk() throughout trunk.
Additionally renamed wxOSX' private wxNativePrinterDC::Ok() function to IsOk().

Didn't deprecate the various Ok() functions: given the amount of changes already introduced in 3.0 a trivial one like this seems more suitable for after 3.0.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-03 16:29:04 +00:00
Vadim Zeitlin
4af2a59fbf Don't assert when destroying a never created window in wxGTK.
The other ports don't assert if a default-constructed wxWindow object for
which Create() had never been called is Destroy()d and wxGTK shouldn't do this
neither.

The new behaviour is more logical but also fixes a problem with an assert in
wxOwnerDrawnComboBox that can currently be seen in wxGTK unit tests.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67539 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-18 23:36:42 +00:00
Paul Cornett
4f4f76dee4 fix overwrite of upper left part of parent window with sunken/raised border, fixes #13072
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67377 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-02 18:28:52 +00:00
Paul Cornett
989d151ce2 yet more avoiding direct struct access
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67324 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-27 19:38:10 +00:00
Paul Cornett
08f0950400 more avoiding direct struct access
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67317 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-27 07:17:05 +00:00
Paul Cornett
281644b4c1 remove unused mouse event and redundant checks
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67316 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-27 06:51:28 +00:00
Paul Cornett
2bca0d2033 a few changes for gtk3, avoiding direct struct access
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67315 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-27 06:38:44 +00:00
Václav Slavík
fc9ab22a76 Use accessor functions instead of deprecated GTK+ macros.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67312 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-26 15:49:57 +00:00
Paul Cornett
558a94bd4a clean up wxGTK tooltip code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67298 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-23 17:36:10 +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
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
Václav Slavík
14b44999eb Include gdk/gdkkeysyms-compat.h.
GTK+ 2.22 changed GDK_* keysym constants to GDK_KEY_* and introduced a new header for the old names. This header must be explicitly included in GTK+ 3, so do it for now. In the long run, we should migrate to the new names.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67136 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-06 18:22:23 +00:00
Paul Cornett
6a50a2c4d3 move default OnInternalIdle processing to wxWindowBase
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66633 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-07 18:15:21 +00:00
Stefan Csomor
2895324520 merging back XTI branch part 2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66555 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-04 08:31:53 +00:00
Vadim Zeitlin
853149575e Switch to GtkTooltip from deprecated GtkTooltips in wxGTK wxToolTip.
Don't use deprecated GtkTooltips in wxGTK code any more, use the new
GtkTooltip instead.

Closes #12034.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66431 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-22 13:57:28 +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
Jaakko Salli
614a87dffe When setting empty string as a tooltip, call gtk_widget_set_has_tooltip() with FALSE to remove the tooltip. This will bring wxGTK behavior in line with wxMSW.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65592 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-23 12:55:22 +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
9cbe96d093 Remember the last key event in wxGTK before passing it over to IM.
Save the last key event before calling IM filter to be able to get the correct
modifiers, timestamp, position &c to use for the CHAR event generated from IM
commit callback.

This restores the changes of r34504 which were reverted for unknown (or at
least unmentioned) reason in r34521.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65517 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:18:19 +00:00
Vadim Zeitlin
276f883f7a Don't set Unicode key code in key events to non-Unicode values in wxGTK.
Only assign the wx key code wxKeyEvent::m_uniChar if it's a key corresponding
to an ASCII symbol, don't do it for the values outside of ASCII range such as
all the special WXK_ constants. It doesn't make sense to generate Unicode key
codes for e.g. cursor key presses.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65240 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-10 22:38:54 +00:00
Vadim Zeitlin
2933f70a8b Don't reuse the same event object for multiple events in wxGTK.
The old code simply called SetEventType() to change the type of the event and
called HandleWindowEvent() again with it. This was incorrect as the event was
modified after being processed the first time, notably its WasProcessed() flag
was set and so wxApp::FilterEvent() wasn't called when it was being processed
the second time. In practice this meant that FilterEvent() was never called
for wxEVT_CHAR events -- for which it's nevertheless very useful to have as it
allows to implement application-wide keyboard processing.

Also refactor the code to avoid duplication, exactly the same event sending
code was used in gtk_window_key_press_callback() and gtk_wxwindow_commit_cb().
Extract it now in a private SendCharHookAndCharEvents() function.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65005 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-18 11:53:04 +00:00
Vadim Zeitlin
b35549525f Implement wxWindow::DoGetBorderSize() for all ports.
Implement DoGetBorderSize() properly for wxGTK and use the difference between
the full window size and the client size for all the ports not implementing
this method. The latter is incorrect in the presence of the scrollbars but is
the best we can do in general.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64880 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-11 10:43:49 +00:00
Paul Cornett
6e7cf3bd5b invalidate border area when showing or hiding a pizza widget, fixes #12174
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-25 04:31:45 +00:00
Robert Roebling
9c76b9afa9 Patch update, probably fixes #12090: wxGTK cursor handling revamp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64437 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-30 20:01:36 +00:00
Paul Cornett
375efc1fce Remove pizza backing window.
When it is present, no-window widgets sometimes don't get expose events for
reasons I could not determine. And it is dubious that it improved scrolling
performance on modern hardware anyway, and almost certainly doesn't help now
that GTK+ is using "client side windows".


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64431 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-30 06:38:28 +00:00
Robert Roebling
c2246a3881 Applied patch, fixes #12090: wxGTK cursor handling revamp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-26 17:37:55 +00:00
Vadim Zeitlin
c59aa14a6c Set popup menu invoking window in wxWindowBase and not in all ports.
Don't duplicate the code for setting (and unsetting, which was forgotten by at
least wxGTK) the popup menu invoking window in all ports but do it in the base
class PopupMenu() itself.

Also add a helper wxMenuInvokingWindowSetter class which ensures that the
invoking window will be unset in any case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64143 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-26 14:19:17 +00:00
Vadim Zeitlin
6de0a414a5 Don't set invoking window recursively in wxGTK wxWindow::PopupMenu().
Setting the invoking window for all submenus is unnecessary as
wxMenu::GetWindow() recurses upwards anyhow and results in assert failures
after recent menu code changes.

Simply don't do this.

OTOH do reset the invoking window to NULL after the menu is dismissed to avoid
storing a dangling pointer in the menu.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64142 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-26 14:19:10 +00:00
Paul Cornett
9914bfbb77 freeze whole window for TLW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63853 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-05 01:06:39 +00:00
Paul Cornett
2f55b88cb0 avoid permanently frozen TLW when frozen child is destroyed with GTK+ 2.18
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63852 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-05 00:45:21 +00:00
Paul Cornett
f089940f68 Reverse hierarchy of wxPizza GdkWindows
widget->window must be topmost in order for GTK+ to calculate DND drop coordinates correctly
fixes #11834


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63775 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-29 01:16:06 +00:00
Paul Cornett
0f52f61085 remove unused data member
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62754 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-01 16:23:48 +00:00
Vadim Zeitlin
0d013e46a0 No real changes, just inline wxSuspendStyleEvents.
wxSuspendStyleEvents helper class was used in one place only and the code is
more clear if its ctor and dtor are inlined directly into DoApplyWidgetStyle()
itself instead of being located far away from it.

Also, we only need to suppress the events for top level windows so don't
bother doing anything at all when changing styles for m_widget and not m_wxwindow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62285 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-05 22:56:12 +00:00
Vadim Zeitlin
a0c8bb73f2 Add wxWindowGTK::GTKConnectWidget() helper.
This trivial wrapper function allows to omit "m_widget" and "this" arguments
when calling g_signal_connect().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62275 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-05 22:55:01 +00:00
Vadim Zeitlin
bb8afd6543 Small code cleanup in wxWindowGTK::PostCreation().
No real changes, just check for 2.8.0 GTK+ version once instead of doing it
twice in a row.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62274 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-05 22:54:55 +00:00
Vadim Zeitlin
92153555cf Added GTKShouldConnectSizeRequest() to prevent size_request handling.
Don't hard code the exception for GtkFileChooserButton in
wxWindow::PostCreation() in wxGTK, handling size_request signal also breaks
other controls (e.g. upcoming wxInfoBar native implementation). Instead,
define a virtual function which may be overridden to return false if
size_request shouldn't be connected.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62273 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-05 22:54:46 +00:00
Julian Smart
ec2d6790e9 Fixed wxBORDER_THEME breakage
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62011 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-22 10:58:06 +00:00
Vadim Zeitlin
03647350fc No changes, just removed hard tabs and trailing white space.
This commit is huge but there are no non-white-space changes in it.

Some files containing third-party sources (src/msw/wince/time.cpp,
src/x11/pango*.cpp) were left unchanged.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-21 10:41:26 +00:00
Michael Wetherell
fb4b0165b2 Fix SetToolTip(NULL) to unset the tooltip.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61549 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-28 17:48:37 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
9c61c5b04b introduce wxBG_STYLE_{ERASE,PAINT} and implement their documented semantics in wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61084 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-16 23:04:42 +00:00
Vadim Zeitlin
02bad8305c added helper GTKShouldIgnoreEvent() to use in void GTK event handlers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61079 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-16 19:08:24 +00:00
Vadim Zeitlin
6de7047076 add virtual DoGetTextExtent() to allow calling the overloaded wxWindowBase::GetTextExtent() on wxWindow objects without any ugly casts/scope resolution operators
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60984 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-10 16:41:41 +00:00