It doesn't make sense to require passing C functions to wxQsort() that we
define in a C++ library. We also don't need any special calling convention
here.
Notice that the only existing uses of wxQsort() inside wxWidgets itself were
not actually extern "C" and one of them didn't even use the correct calling
convention.
Also avoid using non-wx-prefixed CMPFUNCDATA identifier in a public header,
rename it to wxSortCallback instead.
Finally make wxQsort() documentation slightly more useful.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69566 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
While POSIX and SUS both mandate this variable existence, they don't say that
it needs to be declared anywhere and it actually doesn't seem to be declared
under Solaris when using Sun CC and so using it resulted in compilation errors.
Just declare it ourselves to avoid them.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69564 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
For some reason locale.h was only included in !wxUSE_STD_STRING case but we
actually always need it as we use LC_ALL in this file and at least in Sun CC
build it wasn't included from anywhere else so include it from here to fix the
build.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69563 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This variable was apparently unused and a local variable with the same name
was used instead, resulting in Sun CC warnings about variable shadowing.
Just remove the unused member variable to fix this.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69562 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
DECLARE_DYNAMIC_CLASS() shouldn't be followed by a semicolon and Sun CC warns
about it, so fix this by removing it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69561 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use wxT() everywhere for consistency and to fix compilation with Sun CC for
which _T() is not defined as it clashes with a symbol with the same name in
standard headers.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69560 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
When adding items to the model in bulk and then calling ItemsAdded(),
internal representation in both the generic and GTK+ versions wasn't
updated correctly if the order of the notifications was such that an
item would be inserted after other new, but not yet inserted, items.
Fixes bug #13587.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69547 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Include the headers normally included from wx/wxprec.h.
Also define the stuff missing from the headers of some compilers (notably
MinGW but probably also VC6) ourselves.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69488 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Allow toolbar tools to be created in checked (or toggled) state in XRC, just
as the menu items can already be created checked.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69487 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix confusion of what cell activation is and inconsistence with native
handling in GTK+. Document the distinction between activating (~
editing) a cell and activating (double-clicking) the whole item.
Deprecate wxDataViewCustomRenderer::LeftClick() and Activate() methods,
replace them with single ActivateCell() that is called for both kinds of
activation.
Fix implementations so that ActivateCell() is not called on
double-click, when it shouldn't, and vice versa: don't send
wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED for cell activation.
Partially reverts r67099 -- restores old 2.9 signatures of compatibility
LeftClick() and Activate() methods.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Inline editor is more in line with the behavior of other editors,
requiring double click to edit values was unexpected.
Also merge the two almost-but-not-quite identical implementations in
generic and GTK+ versions.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxTopLevelWindowMSW::CreateDialog first moved and resized the newly
created window and only then called SubclassWin(). Because native focus
change occurred when moving the window, HWND->wxWindow association
wasn't yet filled in and wxFindWinFromHandle() would return NULL.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69469 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Note that it is still not set for wxEVT_SET_FOCUS, because it's not
immediately obvious how to obtain the previously focused window from
there. It's still better than always having the window NULL.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69467 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
It can be used to show more customizable tooltips than the native wxToolTip
but at the price of using generic implementation in some cases (actually
almost always now, with the exceptions of text control tooltips under MSW).
Extra features include:
- The balloon-like tooltip form.
- Possibility to show an icon.
- Title display in a different form.
More customization could be added later. It should be also possible to fully
implement this class natively under MSW.
Update the dialogs sample to show the rich tooltips in action.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Document which wxRegion methods can and can't be used when the region itself
is invalid.
Apply the minor changes to wxGTK (Xor() didn't do the right thing, Offset()
didn't assert) and wxOSX (Offset() crashed) to make their behaviour consistent
with wxMSW.
Add a (trivial, so far, but to be extended later) wxRegion unit test checking
that the methods do indeed behave as documented.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69461 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Explicitly erase the part of the window outside of its shape with a
transparent colour to ensure that it is indeed transparent and not just has
the default solid background.
Closes#13340.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69460 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Default constructing a wxRegion created an object that unexpectedly passed
IsOk() test in wxOSX. This was completely unexpected so don't do this and
leave default constructed wxRegion invalid, as in the other ports.
Update DoCombine() to be able to deal with the case of an invalid source
region in a way consistent with the other ports.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69459 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxTextWrapper is used for the multiline text for which it doesn't make sense
to use mnemonics so don't interpret '&' specially in the text used with it.
Doing this also allows to remove the hack used in wxDialog::CreateTextSizer()
to deal with it that was used so far.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
::AdjustWindowRectEx() doesn't seem to work correctly for wxPopupWindow and
still offsets the coordinates by the title bar height even if these windows
don't have WS_CAPTION style. Rather than try to work around this, simply use
wxWindow method instead of the Windows function as shape wxRegion offset.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69457 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We should quert for IsSupportedFormat(format, Set) before calling SetData()
with this format, not for IsSupportedFormat(Get) which is the default and was
used by the code.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69454 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The GtkTreeView control that should get the focus in in scrolled window;
the same is already done for wxListBox.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69436 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This class becomes completely trivial under WinCE as its functionality
(setting the window shape) can't be implemented under this platform, so just
don't compile it at all there.
This both (slightly) reduces the amount of #if checks and should make the code
(slightly) smaller.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69434 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
If a locale doesn't use AM/PM strings, strftime() can return an empty string
which does not indicate an error, so don't assert that strftime() failed in
this case.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69411 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Move SetShape() implementation from wxTopLevelWindow to wxNonOwnedWindow so
that wxPopupWindow, which also inherits from the latter, could use it as well.
This makes it possible to have popup windows with irregular shapes in wxGTK as
well as in wxMSW and wxOSX.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775