Allow defining event filters to globally pre-process all application events
without having to override wxApp::FilterEvent().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69794 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add an Update() call to ensure that text controls in the initially selected
notebook page are shown correctly. It's almost certainly not the right fix for
the real bug that results in text controls not being shown when the notebook
comes up but it doesn't cost much and at least allows us to get correct
appearance for the themed notebooks.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69793 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Comparing the result of DoFindFocus() with the main window of composite
control doesn't work as it can return a child window so HasFocus() still
returned false for a composite control such as generic wxListCtrl even when it
did have focus.
Just use FindFocus() instead of DoFindFocus() to fix this.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69788 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Ensure that all the GUIDs are defined by including initguid.h to fix linking
error with most versions of MinGW.
Use "wx" prefix to avoid clashes with the standard GUIDs if they do happen to
be defined.
Closes#13645.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Postpone updating statu bar panes after they were actually created.
Setting the status bar fields contents before setting the number of them
failed resulting in debug error messages and the text not appearing in the
status bar.
Closes#13670.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69761 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
In some rare but reproducible cases GetCursorPos() can fail and return without
filling in the provided point. Fall back to GetMessagePos() if this happens:
this is not ideal but clearly better than using uninitialized position or hard
coding something like (0, 0).
Closes#13664.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69758 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Bare (i.e. without any modifiers) Delete, Home and End keys are also required
by the text control itself so don't handle them as accelerators when wxTextCtrl
has focus.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69739 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The result of wxString::mb_str() can't be converted to wxScopedCharBuffer in
non-Unicode build but converting it to wxCharBuffer is always fine (though
slightly less efficient).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69730 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Query for formats that wxDataObject supports on input, not output, in
wxClipboard::GetData().
This is similar to r69454 For wxGTK.
Closes#13649.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69729 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Remove all inappropriate compiler options and not just the first one as they
can occur multiple times because they may come from pkg-config output for
several different libraries.
Closes#13647.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69720 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The code using GDK_META_MASK was moved to wx/gtk/private/event.h from
gtk/window.cpp but the fallback definition of GDK_META_MASK for GTK+ < 2.10
remained in window.cpp.
Move it to the header as well now so that it can be compiled with GTK+ < 2.10
again.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69698 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
As we use FILE for saving the assert message to a file, we must include
<stdio.h> (which is not included from any other header, at least not under
Solaris).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69696 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
If the normal Enter or Space processing (sending activate event or doing
activatable editing respectively) isn't handled by the control, use
these keys to trigger inline editing too, as F2 does.
This makes the Windows control more similar to OS X and GTK+ ones and
makes discovering editability easier.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69695 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
When deducing the time zone from struct tm tm_gmtoff field, query tm for the
current time and not the Epoch as the DST rules -- and hence the time zone
offset -- could have changed since 1970. This is notably the case for Ireland
which used a different time zone from 1968 to 1971.
Notice that GetTimeZone() still must return the time zone without taking DST
into account, so we explicitly compensate for DST if it's in effect.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69689 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Extend the id reference count storage to use an overflow hash map for the ids
used more than 254 times. This allows to use the same id an arbitrarily large
number of times.
Closes#13618.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69682 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We used a format string without any format specifiers in it in a call to
wxString::Printf() which always had a parameter resulting in an assert failure
about a mismatch between the string and parameter count.
Fix this by using a separate Printf() call for this case.
Closes#13613.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69678 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Before calling wxDataObject::SetData() we must check whether the object
supports this format using IsSupported(Set) instead of just IsSupported()
which does the test in the "Get" direction.
Closes#13615.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69677 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxMBConvStrictUTF8::FromWChar() didn't update the input length correctly when
encountering a surrogate while decoding UTF-16 and could read beyond the end
of the input buffer in this case.
Fix this by simply adjusting the input length when a surrogate is read.
Closes#13614.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69676 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Local variable "lineAnchor" in Editor::SetRectangularRange() was shadowing the
member variable Editor::lineAnchor, resulting in warnings from some compilers
(AIX xlC, Sun CC).
Rename it to "lineAnchorRect", just as it was done in the latest Scintilla
sources, to avoid them.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69672 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Only traverse the id hash once in XRCID_Assign() instead of using
RemoveXRCIDEntry() to delete the old entry (which usually doesn't exist so
this traversed the entire hash) followed by XRCID_Lookup() to create a new one.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69663 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The logic for selecting the item icon was broken when selected image was
specified as it was not taken into account as fallback for selected expanded
state so selected icon was used only for collapsed items.
Fix this by using the selected icon if it is specified and selected expanded
one is not.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69662 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
At least under AIX X11/Xlib.h is not included from X11/Xutil.h so include it
explicitly ourselves. It should do no harm on the other systems.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69626 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This is unfortunately required by wxEvent::Clone() support unit test so
provide the default ctor in this class even though it doesn't make any sense
in normal use.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69619 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775