This was broken by changes in r69892 and just the letter was used as the key
code instead of Ctrl-letter as it used (and should) be.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69957 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Deleting a column still kept it on display, at least until the next refresh,
e.g. resizing the window was enough to make it disappear.
Simply add a call to Refresh() to ensure that the column does disappear when
deleted.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69955 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Open the combobox when the editor is initially shown, this somehow ensures
that the combobox selection is taken into account when it is closed while
without this the selection is simply completely ignored.
This is just a hack but at least it allows to use wxGridCellChoiceEditor under
wxOSX which was previously impossible at all.
Closes#12644.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69950 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Using abortModal is apparently the right thing to do if the dialog is not
being closed as the result of user action (but e.g. because a timer expired)
and shouldn't change anything if it done because of something the user did
(e.g. clicked on a button).
Closes#12467.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69949 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Unlike in the other ports, these methods currently don't generate any events
under OS X because these events are never generated at all there.
Closes#12642.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
In GTK+ 2.10 and earlier gtk_menu_item_remove_submenu() had to be used to
remove the items submenu as gtk_menu_item_set_submenu() gave errors when
passed NULL submenu, so call the old function when using old GTK+ version.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69947 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't multiply the "realSize" variable by sizeof(wxChar) when passing it to
DdeClientTransaction(), as its name indicates it is already supposed to be the
size of the data and not the length of the string so just ensure that it is
always correctly set to the size and not length when initializing it.
Closes#13734.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Because wxTextCtrl used to wrongly report its best size in wxNO_BORDER case
under MSW, wxComboCtrl manually adjusted its position to work around this.
However since r69066 wxTextCtrl::GetBestSize() was fixed and now these
adjustments resulted in wrong vertical position for the control.
Just remove all manual adjustments completely now to fix this.
Closes#13722.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69942 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This is necessary for compatibility with wxMSW as the focus remains on the
window which had it before the popup menu was shown there and existing code
relies on it, while in wxGTK the popup steals the focus when it's shown.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69938 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The changes of r69564 making "environ" declaration unconditional broke
MinGW 4.6 build, presumably because "environ" is declared differently (as DLL
exported?) there, so avoid declaring it under MSW, we don't need to do it
there anyhow as it's always defined in system headers.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Since r69835 the stop watch remained paused even when Start() was called. Do
resume it when restarting it both for backwards compatibility and because it
makes more sense and also document this behaviour.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69921 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Since Windows 7 exceptions thrown in a file dialog callback (possibly by third-party utilities) aren't swallowed anymore. Make use of SetProcessUserModeExceptionPolicy (available in Windows 7 SP1) to temporarily restore the old behaviour and prevent the crashing (or summoning of the Program Compatibility Assistant) of an x64 application.
Closes#13674.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69908 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Define EVT_CHAR_HOOK handlers to ensure that pressing Escape/Return while an
in-place edit control is active affects only it and is not used for the
keyboard navigation.
Closes#9102.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69897 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Switching focus to the main wxDataViewCtrl window resulted in focus loss event
and a reentrant call to FinishEditing() itself if it wasn't called because the
in-place edit control was being destroyed the first time.
Fix this by destroying the in-place control first and adjusting the focus
later, the effect should be exactly the same but now FinishEditing() can be
safely called from anywhere in the code.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69896 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
ListView_CancelEditLabel() doesn't revert the controls value to the original
text as expected, so don't use it and revert to sending VK_ESCAPE to the
in-place edit control instead under all versions of Windows.
See #7663.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69894 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Send wxEVT_CHAR_HOOK events to the focused window itself but make them
propagatable to ensure that the parent windows (including the top level
parent) still get it. This still allows the TLW parent to intercept keyboard
handling in its child but allows the child (or an intermediate parent window)
to have some say in the matter.
See #9102.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69893 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Send wxEVT_CHAR_HOOK before wxEVT_KEY_DOWN and avoid generating both
wxEVT_KEY_DOWN and wxEVT_CHAR if the hook event was handled.
This makes wxGTK behave consistently with wxMSW and wxOSX/Cocoa as can be seen
in the keyboard sample.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69892 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This is useful for implementation code in a couple of ports so provide a
higher level ctor doing this instead of having to use a copy ctor and then
manually changing the event type.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69891 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Avoid duplication between copy ctor and assignment operator.
Also extract the assignment of everything not including the event type in a
reusable function as this can be useful for key event generation code in wxGTK
and possibly other ports.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69890 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Send wxEVT_CHAR_HOOK event from wxOSX/Cocoa code.
Also test for wxEVT_CHAR_HOOK in the keyboard sample and show the effect of
not skipping it.
Closes#12431.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69889 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The warning we disabled occurred in the code that was removed long time ago so
it's not necessary to do it any more.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69888 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The time passed to pthread_cond_timedwait() must be in UTC, not local time,
but wxGetLocalTimeMillis() now really returns the time in local time zone so
we must use wxGetUTCTimeMillis() instead.
Closes#13707.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69881 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't call GetParentForModalDialog() with wxProgressDialog style, this doesn't
work as it expects the window style.
Do call SetParent() when using the native MSW implementation as the wx-level
parent is not used then.
Closes#13706.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69874 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Convert wxString to GTK+ strings explicitly, implicit conversion doesn't
happen in STL build and may be wrong anyhow as it doesn't necessarily convert
the strings to UTF-8 expected by GTK+.
Closes#13703.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69868 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The status bar in wxMSW applications was too big under Windows 7 because it
used EDIT_HEIGHT_FROM_CHAR_HEIGHT() to calculate the height which was simply
unwarranted here. Instead, make the status bar tall enough to accommodate
simple text contents by default and fix SetMinHeight() to actually work for
the cases when a taller toolbar is needed.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69867 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The contents of this header is available from winuser.h (included by
windows.h) since at least 15 years and pbt.h itself is not included in the
latest Platform SDK releases (8+) so simply don't include it and also don't
test for its availability in configure.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69863 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775