Generate wxEVT_CHAR events for non-ASCII characters entered in these controls
by intercepting their insert-text signal.
Also try to use GtkEntry/GtkTextView internal IM objects but unsuccessfully so
far.
Closes#3158.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73695 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
These controls are implemented quite differently in wxGTK, so it's convenient
to be able to test both of them in the sample to check that they both behave
correctly.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73694 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
No real changes, just make it possible to use a different IM than the one
allocated in wxWindow for input handling. This will be used in the upcoming
changes to wxTextEntry and the related classes.
See #3158.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73693 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Accelerators were broken by the changes of r72640 which were done to ensure
that the focused window gets the keyboard event first, before its top level
parent. Fix them now by still passing the events to the focused window first
but also passing them to the parent top level if it hasn't been handled by the
focused child.
Unfortunately this is still not fully compatible with wxMSW because in wxGTK
wxEVT_CHAR handler must skip the event in order to allow the accelerator using
the same key to work, while in wxMSW the accelerator can only be suppressed by
overriding wxWindow::MSWShouldPreProcessMessage(). We will need to make the
two ports behave in the same way when the event is not skipped in the future.
But for now, at least make them both behave correctly when the handler does
skip the event.
Closes#14553.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73692 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
GTK+ applications don't use sunken status bars since many years, do don't do
it in wxWidgets neither by default any more. Add wxSB_SUNKEN style that can be
explicitly used if the old appearance is desired.
Closes#15009.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73691 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We need to use wxOpenModalDialogLocker even with native GTK+ dialogs to
prevent the menu commands from being available while they're shown, so do it
in wxMessageDialog and wxColourDialog which call gtk_dialog_run().
Closes#14823.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73690 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Encapsulate the code temporarily incrementing wxOpenModalDialogsCount in a
small helper class to make it easier to reuse it elsewhere.
See #14823.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73689 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We need a space between the command and stderr redirection to avoid the "2"
from being taken as part of the last option on the command line.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73687 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The previous workaround of defining it explicitly if it's not defined was left
in src/msw/frame.cpp while the code using WM_UNINITMENUPOPUP was moved to
src/msw/toplevel.cpp in r73562. Move the fallback definition there too.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73682 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Redirect stderr to /dev/null in wxGetCommandOutput() to avoid errors from the
shell if the command we're trying to run doesn't exist.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't say "is supported" when meaning "if supported" and, in fact, remove this
part entirely as these styles are supported by all implementations.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73676 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This file has accumulated a lot of condition checks which were not relevant
any more, remove and recreate it (by running bakefile_gen) to get rid of them.
Closes#15101.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73648 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't sort the contents of wxDataViewCtrl while it is frozen and resort it
only when it is thawed. This dramatically speeds up adding items to the
control when sorting is used as we only sort it once now instead of doing it
after adding every item.
Closes#14073.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73635 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
No real changes, just add SortColumn_XXX symbolic constants which are somewhat
more clear than -1 and -2 used before. Although the code based on the global
variables remains as bad as before.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Consistently use clear() everywhere instead of assigning wxEmptyString in some
places and wxT("") in some others to a string in order to clear it.
See #15091.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73632 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This fixes a problem with using wxSpinCtrlGeneric in toolbars under wxOSX,
using the toolbar itself (i.e. the parent of the spin control) as parent for
the children didn't work there and no windows were visible at all.
Also use wxNavigationEnabled as base class of wxSpinCtrlGeneric to fix
keyboard navigation.
And override SetBackgroundColour() to set it for the text control part of the
spin control only.
Closes#15016.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73630 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
With this option _strdup() is not available, so update the code defining
wxCRT_StrdupA() to check for __WX_STRICT_ANSI_GCC__.
Also try to simplify it a bit and make it more clear.
Closes#15011.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73627 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
MinGW doesn't provide wspiapi.h header, so only include it when using MSVC and
include ws2tcpip.h which directly declares the functions used for the other
compilers.
This doesn't have quite the same semantics but it's better than failing to
compile at all.
See #15005.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73626 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This avoids the problem with mistakenly using wrong HDC in wxBitmapComboBox
code which was due to assuming that we can only ever have one paint HDC for
the given window -- while in wxBitmapComboBox case we are passed different
HDCs for the same window via WM_DRAWITEM.
Instead of fixing the cache, just don't use it at all for wxPaintDCEx as we
don't gain anything from doing it anyhow.
Closes#14842.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Ensure that the dialog has the appropriate size before showing it.
In addition to making it big enough to fit the pages contents, this also fixes
a problem with initial appearance under MSW.
Closes#15092.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We should either set the cell value in the event object everywhere or not do
it anywhere and as currently the native GTK and OS X versions don't do it at
all and the generic version only does it for ITEM_CONTEXT_MENU events, it's
easier to not do it at all.
See #14163.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73623 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775