Commit Graph

30644 Commits

Author SHA1 Message Date
Vadim Zeitlin
449cc35153 Don't make wxQsort() extern "C" nor use any special convention for it.
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
2011-10-27 21:10:48 +00:00
Vadim Zeitlin
1da8e6e400 Make GTK callbacks passed to GTKConnectWidget() extern "C".
This fixes (harmless but annoying) warnings about mixing C++ and C linkage
function pointers from Sun compiler.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69565 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-27 21:10:45 +00:00
Vadim Zeitlin
14c350dfc7 Explicitly declare environ variable.
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
2011-10-27 21:10:43 +00:00
Vadim Zeitlin
7451fe7b69 Always include locale.h to get LC_ALL declaration.
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
2011-10-27 21:10:40 +00:00
Vadim Zeitlin
4cbbbd069e Remove unused wxIFFDecoder::picptr member variable.
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
2011-10-27 21:10:38 +00:00
Vadim Zeitlin
fd3dc8e628 No real changes, just remove an extra semicolon.
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
2011-10-27 21:10:35 +00:00
Vadim Zeitlin
2e92ad1b30 Replace remaining occurrences of _T() with wxT().
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
2011-10-27 21:10:33 +00:00
Václav Slavík
5bb82ad49f Fix incorrect handling of ItemsAdded() in wxDataViewCtrl.
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
2011-10-26 17:10:27 +00:00
Stefan Csomor
fdb2f6a2c0 move declaration into cocoa part
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69543 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-26 05:38:24 +00:00
Paul Cornett
3ec3c160bc fix wxMDIChildFrame after r69390 and r69468, TLW realization code should not be called, fixes #13593
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69528 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-25 16:56:57 +00:00
Stefan Csomor
ba508df042 fixing reentrancy problem under iOS 5
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69526 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-25 11:52:02 +00:00
Stefan Csomor
29b7fe3072 fixing iPhone build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69525 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-25 11:51:36 +00:00
Paul Cornett
1a0d3739c1 avoid GDK warning "drawable is not a pixmap or window"
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69523 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-25 06:00:24 +00:00
Paul Cornett
fa23222253 avoid GTK3 warning "GtkNotebook %p is mapped but visible child wxPizza %p is not mapped"
whatever problem this hack was supposed to solve, this was not the way to fix it

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69522 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-25 05:12:14 +00:00
Julian Smart
a2c2fdc570 Fix for indeterminate attribute specification
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69514 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-22 13:49:00 +00:00
Julian Smart
75936ec600 Applied patch #13534: wxRichTextCtrl: Make it easier to use TextEffects flags
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69512 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-22 13:19:40 +00:00
Julian Smart
23d11f0eb4 Allow user to select indeterminate state for font attributes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69511 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-22 13:08:00 +00:00
Václav Slavík
60d6c7fd37 Use the new wxDataViewRenderer activation API in wxTreeListCtrl.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69499 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-21 16:34:35 +00:00
Václav Slavík
fb57a95e70 Move wxDataViewCustomRendererBase::ActivateCell() to datavcmn.cpp.
It triggered deprecation warnings in user code when it was inline.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69498 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-21 16:34:32 +00:00
Vadim Zeitlin
26d863e2b2 Fix wxRichToolTip compilation under MSW without PCH and recent SDK headers.
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
2011-10-20 16:20:19 +00:00
Vadim Zeitlin
f72ed38578 Add "checked" property for toolbar tool elements in XRC.
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
2011-10-20 16:10:35 +00:00
Robin Dunn
675f687593 The new wxImage related gaphics context code uses some new Cairo APIs, add the code needed when loading them dynamically.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69486 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-20 04:58:00 +00:00
Robin Dunn
6e6f074b45 Delegate wxGraphicsBitmap::ConvertToImage to the renderer so we do not end up with more than one definition of the method when building with both the GDI+ GC and the Cairo GC enabled at the same time.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69485 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-20 04:49:12 +00:00
Václav Slavík
dc73d7f5d4 Cleanup of wxDataViewCtrl cell activation code.
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
2011-10-19 16:20:17 +00:00
Václav Slavík
4a99d59750 Move InitMouseEvent<T>() to wx/gtk/private/event.h.
It is needed in wxDataViewCtrl now too, in addition to wxWindow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69472 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-19 16:20:10 +00:00
Václav Slavík
1d3a930e82 Use wxDatePickerCtrl in wxDataViewDateRenderer.
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
2011-10-19 16:20:06 +00:00
Václav Slavík
8df14bedf5 Fix NULL window argument to wxEVT_KILL_FOCUS when creating a TLW.
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
2011-10-19 16:19:58 +00:00
Václav Slavík
843101f766 Send wxEVT_CREATE and do other post-realization initialization even if the widget was realized early.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69468 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-19 16:19:55 +00:00
Václav Slavík
9a237e2f12 Set wxFocusEvent's window value for wxEVT_KILL_FOCUS in wxGTK.
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
2011-10-19 16:19:52 +00:00
Vadim Zeitlin
83ed867e70 More fixes for PCH-less compilation.
Include declarations for or forward declare more classes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-19 10:58:59 +00:00
Vadim Zeitlin
52bac4d8c8 Fix for PCH-less compilation after wxNonOwnedWindow changes.
Need to include declarations of wx{Memory,Paint}DC classes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69465 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-18 22:59:16 +00:00
Vadim Zeitlin
e520c3f75c Added wxRichToolTip class.
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
2011-10-18 21:57:02 +00:00
Vadim Zeitlin
46ea442ca2 Added wxNonOwnedWindow::SetShape(wxGraphicsPath).
TODO: Document.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-18 21:56:52 +00:00
Vadim Zeitlin
dd4eefcb29 Document and test behaviour of wxRegion methods when it is invalid.
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
2011-10-18 21:56:48 +00:00
Vadim Zeitlin
caab08ee9b Fix SetShape() in wxOSX/Cocoa.
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
2011-10-18 21:56:42 +00:00
Vadim Zeitlin
265dd23241 Don't create a valid wxRegion when using default ctor in wxOSX.
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
2011-10-18 21:56:40 +00:00
Vadim Zeitlin
63415ba9f5 Don't interpret '&' specially in wxTextWrapper.
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
2011-10-18 21:56:36 +00:00
Vadim Zeitlin
6a68fe84ba Use wxWindow::GetClientAreaOrigin() instead of MSW functions.
::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
2011-10-18 21:56:34 +00:00
Vadim Zeitlin
d5363c04ac Correct the direction passed to wxDataObject in wxGTK clipboard code.
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
2011-10-18 21:54:53 +00:00
Stefan Csomor
d1d9736d86 supporting deployment < 10.6 when compiling against 10.7
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69445 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-16 20:57:09 +00:00
Stefan Csomor
a6ac3d64f9 removing QD dependency
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69444 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-16 19:08:55 +00:00
Vadim Zeitlin
7ef4a97bfd Align multiline labels correctly in wxMSW owner-drawn buttons.
The label wasn't centered correctly in multi-line case.

Closes #13567.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69442 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-16 17:57:49 +00:00
Steve Lamerton
9a9fa6168a Export a couple of Carbon functions to allow wxWebView to build correctly. This was already done in the wxWebView branch but got missed in the merge to trunk.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69440 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-16 15:59:31 +00:00
Václav Slavík
fc55eaa0be Set wxDataViewCtrl::m_focusWidget in wxGTK.
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
2011-10-15 14:19:22 +00:00
Václav Slavík
d81ccfce37 Don't call wxEvent::SetTimestamp() twice in InitMouseEvent<>().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69435 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-15 14:19:19 +00:00
Vadim Zeitlin
164db177a2 Don't use wxMSW version of wxNonOwnedWindow at all under WinCE.
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
2011-10-15 00:20:56 +00:00
Vadim Zeitlin
c105b3cdd4 Don't assert in wxDateTime::Format("%p") in locales not using AM/PM.
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
2011-10-13 14:54:29 +00:00
Vadim Zeitlin
bb8823c958 The usual fix for PCH-less compilation after the last commit.
Fix wxNonOwnedWindow compilation in wxGTK without PCH.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69409 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-13 13:19:42 +00:00
Vadim Zeitlin
a82afab363 Implement SetShape() for wxPopupWindow in wxGTK.
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
2011-10-13 12:45:56 +00:00
Robin Dunn
b39badac11 Avoid an assert when m_dir is empty
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69406 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-13 06:40:59 +00:00