Commit Graph

31126 Commits

Author SHA1 Message Date
Stefan Csomor
78f212178e exposing mainWindow for C++
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71746 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-13 22:32:07 +00:00
Stefan Csomor
34f35c75c4 adding explanation for osx and fixing typo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71741 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-13 17:55:19 +00:00
Stefan Csomor
6e88438166 proper init
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71740 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-13 17:38:28 +00:00
Stefan Csomor
3503581b33 having ONE set of raster-ops starting from 10.5
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71739 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-13 17:13:05 +00:00
Stefan Csomor
8cc8979669 fixing mem leak
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71738 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-13 16:43:07 +00:00
Stefan Csomor
ccef0e708a proper braces avoiding potential dangling else resulting from expansion
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71737 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-13 16:42:08 +00:00
Stefan Csomor
eebddb377e avoiding dangerous redraw events for windows that are on their way out…
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71735 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-12 23:32:46 +00:00
Vadim Zeitlin
3aa1dc1ef5 Slightly improve best size calculation for wxListCtrl with wxLC_NO_HEADER.
Use some arbitrary but relatively large width and height instead of falling
back to wxControlBase best size computation which, at least in wxGTK, simply
returns (1, 1) resulting in list control of unusably small size.

This is, of course, still far from ideal and we should really use the items to
calculate the best width but it at least allow the list control in the generic
log dialog to be shown correctly in wxGTK.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71733 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-12 22:15:38 +00:00
Vadim Zeitlin
e14e0b2f15 No real changes, just add a wxCHECK to GetDlgUnitBase().
Verify that we do have a valid TLW parent: even though this normally should be
always the case, it might not be when the window is being created or destroyed,
see #14355.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71731 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-12 21:57:02 +00:00
Vadim Zeitlin
a15781955d Fix crash in wxStaticBox::HandleEraseBkgnd() in wxMSW on closing.
Don't process WM_ERASEBKGND if we're being destroyed. This is at best useful
and at worst harmful as we currently crash in wxStaticBox::GetClientSize() if
there is no valid TLW parent.

Closes #14355.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71730 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-12 21:56:58 +00:00
Vadim Zeitlin
18717b27d6 Compilation fix in non-PCH build of wxMSW wxStaticBox.
Include wx/sizer.h now that we use sizers in static box DoGetBestSize().

Closes #14397.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-12 21:41:53 +00:00
Vadim Zeitlin
1c0a0736a3 Don't use generic wxListCtrl style for wxListMainWindow.
This resulted in double border around wxListCtrl contents in wxOSX and almost
certainly other ports except wxGTK for which we already had an explicit
preprocessor check in the generic list control code. Remove it and simply
don't use any wxListCtrl-specific styles, including borders, for its main
window as it doesn't make any sense.

Closes #3701.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-12 21:41:50 +00:00
Vadim Zeitlin
ac6d7c66e0 Make wxMSW tree item unlocking reentrant.
Handle creating nested TreeItemUnlocker objects correctly. This fixes the
problem when a wxTreeCtrl method unlocking some item is called with another
item is already unlocked, e.g. from a selection changed event handler.

Closes #14400.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-12 21:41:40 +00:00
Stefan Csomor
d52ded25c1 support for native tlw parents, see #14252
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71719 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-12 18:44:31 +00:00
Stefan Csomor
9651e41c1c using callback for menu enabling, allows to benefit from system menu disabling eg for modal dialogs, see #14177
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-12 00:23:22 +00:00
Stefan Csomor
2f9d199130 setting source as this, according to thread '[wx-dev] Bug in wxMenuBarBase::UpdateMenus'
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71716 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-12 00:21:51 +00:00
Robin Dunn
1dcb50be4a Fix compilation error
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71713 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-10 17:09:49 +00:00
Vadim Zeitlin
f421e3f119 Fix wxHTMLDataObject compilation and memory leaks.
Use wxString::FromUTF8() and utf8_str() instead of directly using wxConvUTF8
as this is simpler and also works correctly in non-Unicode build (and more
efficiently in UTF-8 build as no conversion is done there).

Do not allocate -- and leak -- buffer in wxHTMLDataObject::GetDataHere(),
we're supposed to be putting data into the caller-provided buffer instead of
using our own.

Closes #14391.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71712 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-10 11:57:20 +00:00
Robin Dunn
0681e07a14 Keep track of the area intended to be buffered, and use that in UnMask instead of defaulting to the buffer size. Only clip to the DC size if wxBUFFER_VIRTUAL_AREA is not set. This fixes the issue where buffering the full virtual area in a wxScrolledWindow would only draw an area the physical size of the window. Fixes #11612.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71704 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-08 19:26:19 +00:00
Vadim Zeitlin
fd20ceff24 Fix wxWindow::IsDescendant() to work with argument equal to this window.
Passing the window itself as IsDescendant() argument for a top level window
resulted in a NULL pointer dereference. Fix this and also simplify the
function code by not using the parent window before checking it's !NULL.

Closes #14387.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71702 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-08 18:44:18 +00:00
Paul Cornett
d5027818a4 fix warnings about conversion to bool, closes #14381
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71685 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-07 05:18:30 +00:00
Paul Cornett
ecdfd09516 fix warnings about unreachable return statements
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71684 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-07 05:13:19 +00:00
Robin Dunn
9c58d1d310 Add missing wxRichToolTip::SetTitleFont implementation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-07 04:43:02 +00:00
Václav Slavík
432d207e1c wxHtmlHelpWindow: Fix contents panel syncing with view.
Simply opened page notification code. Fix it to really highlight the
page currently visible, instead of the previous one.

Fixes #14320.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71665 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-06 17:18:15 +00:00
Robin Dunn
d18eb918f4 If there is a sizer then use it's calculated minimum in wxStaticBox::DoGetBestSize
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71653 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-05 21:26:53 +00:00
Paul Cornett
12a5cf1324 Workaround for Ubuntu 12.04 run time warning
"LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent."
Avoid calling gtk_widget_destroy() on a wxMenuBar attached to a frame
Fixes #14292


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71648 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-05 16:49:28 +00:00
Paul Cornett
401c8bc231 Fix layout of wxStaticText, and possibly other controls.
GtkLabel perversely does not use its actual size to do layout, but will use its
size request. So restore calling gtk_widget_set_size_request() for all widgets,
which was removed in r71465. See #14374


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-04 17:36:51 +00:00
Julian Smart
340ef5c5ab Corrected collection of common attributes, for clashing font size units.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71643 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-04 09:13:13 +00:00
Vadim Zeitlin
0a7ee6e0f4 Implement support for wxRIBBON_PANEL_EXT_BUTTON wxRibbonPanel style.
Show the "extension button" in the ribbon panel if this style is specified.

Also generate a specific event if this button is clicked.

Closes #14283.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71642 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-03 19:17:09 +00:00
Vadim Zeitlin
07c7226468 Add wxRibbonControl::GetAncestorRibbonBar() helper.
New method allowing to find the ribbon bar containing the given window.

See #14283.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71641 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-03 19:17:03 +00:00
Vadim Zeitlin
017dc06b50 Use wxString::t_str() in calls to Windows API functions in wxMSW.
Use t_str() instead of wx_str() to make the code work correctly in UTF-8 build
in which wx_str() returns a pointer to UTF-8 buffer while we need a wchar_t
pointer for Windows.

Closes #14371.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71640 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-03 19:16:59 +00:00
Steve Lamerton
f40f8e1722 Use wxCOMPtr throughout wxWebViewIE to simplify the code and reduce the chance of memory leaks. Also mark PPV_ARGS_CHECK as inline so it can be used from multiple libraries.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71639 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-03 17:41:32 +00:00
Vadim Zeitlin
0c9dd3b69b Clear old selection when wxListBox becomes empty.
When UpdateOldSelections() is called from wxListBox::DoClear(), it must clear
the old selections array even for single selection list boxes, but it didn't
do this under non-MSW platforms.

Specifically check for the case of an empty listbox now and just forget the
old selections then. This fixes the problem of keeping stale old selections
and is also more efficient as we avoid the unnecessary GetSelections() call.

Really closes #14359.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71637 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-01 22:34:17 +00:00
Vadim Zeitlin
125afca0c0 Add wxMSW_CONV_LPCTSTR() and related macros and use them in wxBase.
Add macros hiding the ugly casts needed to pass wxStrings to Windows API
functions and use them in a couple of places in wxBase to simplify the code.

Closes #14338.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-01 22:34:13 +00:00
Vadim Zeitlin
7d35d3ed3c Compilation fix to wxWebView under wxOSX/Carbon after r71620.
wxWindow::m_peer is private, use GetPeer() to access it.

See #14352.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71632 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-01 15:25:28 +00:00
Vadim Zeitlin
3e1db65507 Fix wxWebKitCtrl::RunScript() return value.
Replace comparisons of the type name of the returned value with isKindOfClass:
checks which are more reliable.

Closes #14358.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71631 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-01 15:25:25 +00:00
Vadim Zeitlin
2253f18176 Add support for CP1258 (Vietnamese) and CP1361 (Korean Johab) encodings.
Recognize these encodings names and translate them to/from the corresponding
charset constants in wxMSW.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71630 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-01 11:01:46 +00:00
Vadim Zeitlin
0980e7b323 Use "GBK" as alternative name for CP936 encoding.
This is the official name of this encoding, so recognize it as synonym.

See #14360.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71629 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-01 11:01:37 +00:00
Vadim Zeitlin
3ceb10b162 Keep user-set wxFrame background color even if MSW system background changes.
Don't override wxFrame background colour when the system background colour
changes if it was explicitly set by the user.

Closes #14364.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71627 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-01 11:01:31 +00:00
Vadim Zeitlin
fb040ec186 Update old selections after clearing wxListBox in wxGTK.
Don't keep stale selected item indices in m_oldSelections after clearing the
listbox, call UpdateOldSelections() from DoClear() in wxGTK just as we do in
the other ports.

Closes #14359.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71626 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-01 11:01:28 +00:00
Vadim Zeitlin
80a4659776 Use wxCLASSINFO() instead of deprecated CLASSINFO().
No real changes, just use the version of the macro with a "wx" prefix.

Closes #14356.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-01 11:01:24 +00:00
Vadim Zeitlin
345c78ca5f Use wxDynamicCast() instead of IsKindOf() checks.
wxDynamicCast() is less verbose (due to the absence of "CLASSINFO") and more
compatible with the standard dynamic_cast<>, so prefer to use it when possible.

See #14356.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-01 11:01:18 +00:00
Vadim Zeitlin
7e8a20edc8 Remove unneeded dynamic cast in wxPropertyGrid.
It's completely useless to check that an object is of its own statically
declared type as this is always true, simply don't do it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71623 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-01 11:01:12 +00:00
Vadim Zeitlin
31a33b67c0 Remove unnecessary dynamic cast in wxComboPopupWindow.
Objects of this type are either always of wxPopupTransientWindow type, in
which case just a static_cast<> is enough and we don't need a dynamic one, or
is never of its type in which case this code shouldn't be compiled and if it
is, then static_cast<> will correctly fail preventing it from compiling.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71622 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-01 11:01:09 +00:00
Vadim Zeitlin
0cafb0786e Don't reset previous window event handler in PopEventHandler().
This is harmless but also useless as the previous event handler of a wxWindow
is always NULL anyhow, so simply don't do this. This is consistent with
PushEventHandler() which doesn't call SetPreviousHandler() for the window
itself neither.

Closes #14353.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71621 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-01 11:01:05 +00:00
Vadim Zeitlin
06d14de207 Fix wxMac preprocessor check in wxWebView code.
Fix typo in "__WXMAC__" in wxWebView under wxOSX/Carbon and also in
wxWebKitCtrl from where this code was copied.

Closes #14352.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71620 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-01 11:01:02 +00:00
Vadim Zeitlin
f00acdb8f4 No changes, just refactor wxGrid::Render() to simplify it.
Introduce a couple of new helpers to make the main Render() function smaller
and more clear.

Closes #14347.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71619 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-01 11:00:58 +00:00
Paul Cornett
4c5fc80a69 silence warning about converting NULL to wxUIntPtr
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71616 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-31 16:29:30 +00:00
Paul Cornett
6b66bb1e55 silence warning about __WXMSW__ not defined
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71615 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-31 16:28:42 +00:00
Robin Dunn
b8acf11e74 A patch adding wxHTMLDataObject which can be used for handling the standard platform formats for transfering HTML formatted text.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71610 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-30 19:21:42 +00:00
Stefan Csomor
f5f0774124 fixing build with wxUSE_PROTOCOL = 1 and wxUSE_SOCKETS = 0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71604 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-30 04:20:59 +00:00
Robin Dunn
5ad24e6dbb Adjust the client area origin and the client size of the MSW wxStaticBox according to the guidelines on http://msdn.microsoft.com/en-us/library/aa511279.aspx. This is so widgets that are children of the static box will not overlap the label or box borders.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-30 03:13:35 +00:00
Stefan Csomor
09e7316547 adapting char event handling to msw / gtk, see #13415, see #14197
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-29 15:26:27 +00:00
Stefan Csomor
f0d3d77b97 clang compat.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71587 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-29 15:24:50 +00:00
Stefan Csomor
81f94bb54e clang compat.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-29 15:18:52 +00:00
Vadim Zeitlin
2060e34cd2 Improve wxDatePickerCtrlGeneric best size calculation.
Make the control just wide enough to fully show the contents of its text part.

This is still not ideal as we don't take into account wxComboCtrl internal
complications but better than before.

Closes #14342.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-28 19:38:02 +00:00
Vadim Zeitlin
5d8cdb5d1c Fix bug in wxAutomationObject introduced by r71574.
Check that we have any arguments, expression oleArgs[0] is invalid otherwise.

Closes #14343.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71578 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-28 12:52:03 +00:00
Vadim Zeitlin
779e28da63 Add wxGrid::Render() for drawing the grid to any wxDC.
In particular, this allows to print the grid contents easily.

Closes #14294.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71577 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-27 13:00:19 +00:00
Vadim Zeitlin
b55d57aa24 Add wxGrid::DrawRangeGridLines().
This method draws only the grid lines for the cells in the specified range and
not for all of them.

It is not used yet but will be by the upcoming wxGrid::Render(), see #14294.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-27 13:00:13 +00:00
Vadim Zeitlin
f31d3faf7a No changes, just refactor wxGrid::DrawAllGridLines().
Extract the actual drawing of the lines into a new DoDrawGridLines() method.

This will be used by the upcoming commits for drawing grid lines for a part of
the grid only, see #14294.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71575 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-27 13:00:09 +00:00
Vadim Zeitlin
cf1a582ab9 Fix memory leaks in wxAutomationObject::Invoke().
Use wxVector<>, wxBasicString and wxOleVariantArg instead of raw arrays, BSTR
and VARIANT to ensure that different objects allocated by this function are
always freed when it exits.

Closes #14293.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71574 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-27 13:00:04 +00:00
Julian Smart
4ba36292f4 Added full scaling to wxRTC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71572 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-26 14:17:46 +00:00
Vadim Zeitlin
7ed9cd2891 Fix bug with unloading wxPluginLibrary objects in "wrong" order.
wxPluginLibrary objects had to be unloaded in exactly the reverse order to
which they were loaded in. This was not documented and was a serious
limitation for any realistic use of plugins anyhow, so fix it and allow
unloading them in any order now.

Instead of keeping a pointer to the last wxClassInfo not created by this
plugin, now keep a pointer to the first wxClassInfo that was created by it.
This makes the code slightly more complex but this pointer, unlike the old
one, remains valid even if another plugin was unloaded.

Closes #14261.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71571 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-26 12:29:54 +00:00
Vadim Zeitlin
f0d38b659f Refactor SAFEARRAY creation code in wxConvertStringFromOle().
No changes, just make the code simpler and more obviously correct by using a
helper class to create and fill the SAFEARRAY that we create.

Closes #14296.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71570 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-26 12:29:50 +00:00
Vadim Zeitlin
252255e852 Fix DrawChoice() behaviour in wxRendererXP.
The implementation of wxRendererXP::DrawChoice() inadvertently used
wxRendererMSW::DrawComboBoxDropButton() and so drew the button in the classic
and not themed style.

Fix this by defining DrawChoice() in the base wxRendererMSWBase class and
reusing it in wxRendererXP via inheritance and not composition.

Closes #14337.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-26 12:29:46 +00:00
Vadim Zeitlin
5fb4b6cd65 Add wxDataViewListCtrl::GetItemCount().
This method is convenient and (almost, except for the return value) compatible
with wxListCtrl.

See #11088.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71563 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-25 17:02:40 +00:00
Vadim Zeitlin
518cef0470 Add wxDataViewListCtrl::{Set,Get}ItemData() methods.
These methods are convenient when migrating the code that previously used
wxListCtrl to wxDataViewCtrl.

Closes #11088.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71562 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-25 17:02:35 +00:00
Vadim Zeitlin
41abc29aa6 Use wxUIntPtr instead of wxClientData in wxDataViewListCtrl.
Do not delete the client data in wxDataViewListCtrl, this class mainly exists
for compatibility with wxListCtrl and as the latter doesn't delete its client
data, neither should the former.

See #11088.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71561 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-25 17:02:31 +00:00
Vadim Zeitlin
dbec0fc8d8 Remove redundant wxAuiNotebook methods already present in wxBookCtrlBase.
wxAuiNotebook already inherits perfectly workable AdvanceSelection() and
GetCurrentPage() methods from wxBookCtrlBase, no need to reimplement them in
it.

See #14309.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71560 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-25 09:48:26 +00:00
Vadim Zeitlin
44f4f7dda0 Don't send a huge number of unneeded wxChildFocusEvents.
wxControlContainer::SetLastFocus() propagated wxChildFocusEvent explicitly to
its parent but this is not needed because wxChildFocusEvents propagate by
default, being derived from wxCommandEvent. And doing it again resulted in the
total number of events increasing exponentially with the depth of the window
hierarchy and real performance problems due to processing all of them.

Closes #14310.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71559 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-25 09:48:22 +00:00
Vadim Zeitlin
005a8a4c77 Suppress warnings about gnome_print_dialog_get_range() return type.
This function seems to be declared incorrectly and while it actually does
return the values we compare its return value with, it's prototyped with a
wrong enum as return type, so explicitly cast it to int to avoid warnings
from recent g++ versions.

See http://thread.gmane.org/gmane.comp.lib.wxwidgets.devel/115782/focus=115955

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71558 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-25 09:48:20 +00:00
Vadim Zeitlin
0cd7db14f0 Fully implement wxStyledTextCtrl::PositionToXY().
Fill in the column parameter too now.

Closes #14332.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71557 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-25 09:48:16 +00:00
Vadim Zeitlin
6094165c4e Fix calculation of wxStyledTextCtrl selection size in GetSelectedText().
Do the same changes as were done in r71540 to GetSelectedTextRaw() in
GetSelectedText() itself by modifying the code in gen_iface.py that generates
it.

Closes #14331.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71556 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-25 09:48:12 +00:00
Vadim Zeitlin
fd5cfba711 Several fixes for wxAffineMatrix2D transformations.
Correct errors in TransformPoint() and TransformDistance().

Change Rotate() to interpret positive angles as rotating clockwise, for
consistency with wxGraphicsContext::Rotate().

Improve the unit test to verify that all the transformations work correctly.

Closes #14334.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71555 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-25 09:48:09 +00:00
Robin Dunn
016a3d4cee Changes to allow these build scripts to use python3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71549 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-24 23:26:34 +00:00
Vadim Zeitlin
b2b6da49e2 Fix wxBase compilation with UTF-8-based wxString under MSW.
Use wxString::t_str() instead of wx_str() in Windows API function calls.

Closes #14325.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71546 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-23 21:16:45 +00:00
Vadim Zeitlin
ff7dbb27d4 No real changes, just slightly simplify HasAppKit_10_6() function.
Remove redundant check for version == -1.

See #13831.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71544 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-23 21:16:38 +00:00
Vadim Zeitlin
da94537c64 Compilation fix for wxUSE_STL && !wxUSE_STL_BASED_WXSTRING build.
Don't rely on implicit wxString to "const char*" conversion in Replace().

Closes #14327.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71543 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-23 21:16:35 +00:00
Vadim Zeitlin
1a692f0f22 Fix calculation of the wxStyledTextCtrl selection size.
Use SCI_GETSELTEXT to compute the size of the buffer instead of doing it
ourselves, especially as we do it incorrectly in case of rectangular
selection.

Closes #14331.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71540 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-23 21:16:24 +00:00
Vadim Zeitlin
0bcbf72bdc No real changes, just backwards propagate the changes to stc.cpp.
Apply the changes done directly to stc.cpp in r71428 and r71429 to the script
generating this code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71539 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-23 21:16:22 +00:00
Vadim Zeitlin
956b1c8553 Fix removing event handler filters in wxEvtHandler.
Removal from the simply linked list of event filters wasn't done correctly as
the pointer to the previous node was never updated.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71538 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-23 20:36:08 +00:00
Jouk Jansen
55e0100847 Fix compilation when wxUSE_DRAG_AND_DROP=0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-22 07:37:10 +00:00
Jouk Jansen
d4df01f140 Allow for compilation with wxUSE_TOOLTIPS=0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71521 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-21 08:39:03 +00:00
Vadim Zeitlin
11716cbe14 Fix 62 harmless but annoying Clang warnings in wxOSX build.
Clang warns about using letters and digits in a switch on wxKeyCode enum which
doesn't include them as elements. This is generally useful but really annoying
in this case, especially due to the sheer number of warnings, so disable it
using Clang-specific pragma.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71518 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-20 20:29:56 +00:00
Vadim Zeitlin
445eaabd3e Add support for task bar icon tooltips to wxOSX version.
Set the tooltip used for the icon in wxOSX/Cocoa version of wxTaskBarIcon.

Closes #14298.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71516 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-20 20:29:41 +00:00
Vadim Zeitlin
632e509309 Improve check for OS X version in Cocoa wxFileDialog implementation.
A library using wxWidgets linked with 10.6 SDK might be loaded into an
application loading 10.5 version of AppKit in which case 10.6-specific
functions shouldn't be used. Check for the AppKit version effectively in use
instead of just checking for the system version.

Closes #13831.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71515 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-20 20:29:35 +00:00
Vadim Zeitlin
4be7f29aa7 Reset wxDialog::m_modality sooner in wxOSX.
Change the internal flag to wxDIALOG_MODALITY_NONE before sending
wxEVT_WINDOW_MODAL_DIALOG_CLOSED event. This ensures that if the dialog is
shown again from this event handler it works correctly.

Closes #13951.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71514 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-20 20:29:29 +00:00
Vadim Zeitlin
abf99aad2d Implement wxStackWalker for wxOSX.
Use atos(1) to map address to their symbolic names.

Closes #10067.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71513 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-20 20:29:22 +00:00
Vadim Zeitlin
a2c3fc7c75 Fix crash on destruction of wxDataViewCtrl in wxOSX.
The control remained associated to the model so a dangling pointer could be
used if the model was destroyed after the control.

Fix this by removing the control from the model list of notifiers when it is
destroyed.

Closes #14124.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71511 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-20 20:29:09 +00:00
Vadim Zeitlin
e779f09357 Really fix compilation in !wxUSE_LOG_DEBUG && !HAVE_VARIADIC_MACROS case.
Fix the fix of r71502, we need the variable declaration when not using
HAVE_VARIADIC_MACROS.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71510 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-20 19:47:32 +00:00
Julian Smart
5a0e33afa9 Don't use deprecated font family style
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-20 13:06:43 +00:00
Vadim Zeitlin
b42e4b3e5a Compilation fix for wxRichTextCtrl.
Don't use wxDEFAULT, there is no match for wxFont ctor taking wxSize and it,
use wxFONTFAMILY_DEFAULT instead.

Also remove the unnecessary .c_str() from the same wxFont ctor call, there is
really no reason at all to have it there.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71507 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-20 13:04:26 +00:00
Julian Smart
32423dd824 Added pixel size capability to wxTextAttr and wxRichTextCtrl.
Fixed composite object positioning in centred and right-aligned
paragraphs.
Added field example to sample, and enabled pixel font size selection.
Added custom text and dimension scaling.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-20 12:25:22 +00:00
Vadim Zeitlin
c564ca3c97 Fix compilation in !wxUSE_LOG_DEBUG && !HAVE_VARIADIC_MACROS case.
Define the "unused" variable unless wxLogDebug() calls are variadic macros
(not evaluating their arguments at all) and not functions.

Fixes compilation broken since r71466.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71502 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-19 16:49:11 +00:00
Vadim Zeitlin
c3b0697e28 Fix compilation in wxUSE_STL=1 build after r71467.
Restore explicit conversion of wxString to char*, there is no implicit
conversion in wxUSE_STL build.

Use utf8_str() instead of c_str() removed by r71467 however as this is what we
need for wxGTK.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71501 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-19 16:49:07 +00:00
Stefan Csomor
a9946c4e6b removing unnecessary - and incorrect - override, fixes #14319
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71500 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-19 14:24:13 +00:00
Stefan Csomor
0601befc27 fixing c++11 build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71478 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-18 09:56:33 +00:00
Stefan Csomor
5f35207b7d fixing c++11 build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71477 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-18 09:56:06 +00:00
Paul Cornett
f2c757c5cc mark virtual overrides as virtual
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71468 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-17 15:46:26 +00:00
Paul Cornett
f069ac4801 remove some unnecessary c_str() calls
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71467 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-17 15:46:08 +00:00
Paul Cornett
e2cb99c856 eliminate unused variable warning with wxUSE_LOG_DEBUG==0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-17 15:45:50 +00:00
Paul Cornett
3b7067a05d Remove use of "size-request" signal for wxWindow sizing.
This signal has been removed from GTK3. Instead have wxPizza keep track of child
size, and use gtk_widget_set_size_request() for wxWindows in native containers.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71465 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-17 15:29:50 +00:00
Vadim Zeitlin
c4239f1920 Fix wxWakeUpIdle() in Unix console application broken by r71089.
Initialize m_pipeIsEmpty to true as we don't have anything in the pipe
initially and if this variable was false, nothing was ever written to the wake
up pipe and it was never set to true as nothing was read from it neither.

Closes #14166.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71442 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-16 15:10:01 +00:00
Julian Smart
d87098c062 The object size page now has full position attribute editing.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71440 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-16 10:59:30 +00:00
Vadim Zeitlin
5e4bbd0f45 Fix pasting large amounts of text in wxGTK.
We need to process GDK_PROPERTY_NOTIFY events when yielding for
wxEVT_CATEGORY_CLIPBOARD, otherwise we never receive large selections.

As GDK_PROPERTY_NOTIFY can be also used for non-clipboard stuff, exceptionally
assign 2 categories to it and process it in either case.

Closes #14284.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71439 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-15 10:04:11 +00:00
Vadim Zeitlin
82c372a7e2 Add support for wxArrayString to wxVariant-to-OLE conversion.
This allows to call COM methods taking arrays of strings easily.

Also remove support for the old and non-existent any more "stringlist" variant
type.

And add more error checking.

Closes #14296.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71437 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-15 10:04:03 +00:00
Vadim Zeitlin
c833f0cdb0 Use iterators instead of indices in wxStripMenuCodes().
Make the function more efficient when using UTF-8 wxStrings by using iterators
instead of indices in the loop searching for "&".

Closes #14307.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71434 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-15 10:03:53 +00:00
Julian Smart
3ef12fd203 Clear styles popup if there is no style sheet
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-14 17:23:56 +00:00
Vadim Zeitlin
34c5aaa769 Simplify wxEventLoopManual pending events processing logic.
Don't try to process any remaining pending events in ProcessEvents() itself as
this was inconsistent: we only processed low-level toolkit pending events in
the main event loop itself if the loop was exited from a normal event handler
but only processed the wxApp-level pending events if it was exited from a
pending event handler. It also required more code than the new version that
simply processes all the remaining pending events, of both kinds, after the
main event loop termination.

This corrects changes of r71304 and replaces those of r71329.

Closes #14250.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71432 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-13 22:13:43 +00:00
Vadim Zeitlin
2ed48ef81e No changes, just simplify the code using wx2stc() a little.
Assign wx2stc() return value to a suitably const variable instead of using
ugly casts to get rid of constness.

Also use wxCharBuffer/char* explicitly inside explicit wxUSE_UNICODE checks,
using wxWX2MBbuf here doesn't gain us anything and just confuses the reader of
this code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71429 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-13 21:37:23 +00:00
Vadim Zeitlin
d7b468788e Fix wxStyledTextCtrl compilation in non-Unicode build.
The value returned by wx2stc() in non-Unicode build is a simple "char*" and we
can't call length() method on it, add a helper wx2stclen() function to get the
length from the original wxString itself in this case.

Closes #14013.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71428 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-13 21:37:18 +00:00
Vadim Zeitlin
530a50ecf0 Don't assert if no icon is specified for a wxDataViewCtrl item.
An item in a column using wxDataViewIconTextRenderer might not have any valid
icon associated with it, don't assert in case it doesn't in the native GTK
version.

Notice that the generic wxDataViewCtrl implementation already supports this
but not perfectly: no space is reserved for the icon in the images without
one, so giving the image to only some of them looks ugly. The GTK version
aligns both the items with and without icon properly and simply leaves the
image part blank and it would be better to modify the generic version to do
the same thing in the future.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71427 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-13 21:37:16 +00:00
Vadim Zeitlin
f3027fae17 Don't handle branches specially when sorting items in wxDataViewCtrl.
The generic version of wxDataViewCtrl tried to put all branches before the
leaves when sorting. This had a couple of problems: first, it didn't do it
correctly and actually placed the branches after the leaves which didn't make
any sense. Second, this was only done in the generic version and not the
native GTK one making the behaviour inconsistent between platforms. Finally,
this behaviour just doesn't make sense in general (i.e. when items don't
necessarily represent anything in the file system and maybe even sometimes
when they do) and there doesn't seem any good reason to do it by default.

So stop doing it, partially reverting the changes of r47562.

Closes #14100.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71425 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-13 21:37:10 +00:00
Julian Smart
d157d142f6 Fixed layout and hit-testing problem particularly with centred lines
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71419 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-11 22:15:39 +00:00
Vadim Zeitlin
0b61390646 Fix extra event sent by wxTextEntry::ChangeValue() since r71308.
The changes of r71308 sent the event unconditionally in case the text didn't
really change but no events should be sent if the flags don't include
SetValue_SendEvent, add a check for it.

Re-closes #13936.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71417 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-11 22:10:25 +00:00
Robin Dunn
8b180bded6 Enable access to the native bitmap object wrapped by wxGraphicsBitmap
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71416 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-11 22:06:50 +00:00
Robin Dunn
caf1a3aa68 Ensure a 32-bit cairo surface is created if it is needed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71415 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-11 22:06:37 +00:00
Stefan Csomor
8e19598f7f fixes SetFirstItem, Thanks to David Wright
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71414 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-11 06:28:54 +00:00
Julian Smart
1aca9fcdfc Added wxRichTextXMLHandler::RegisterNodeName so custom content classes can be added without
breaking XML loading


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-10 11:59:59 +00:00
Vadim Zeitlin
136aafe540 Add missing wx/scopeguard.h include to fix the build.
Closes #14285.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71397 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-09 17:16:26 +00:00
Vadim Zeitlin
902b679a45 Fix wxGenericListCtrl best size calculation in report view.
Just let the base class do it instead of using hard coded default value in
wxGenericListCtrl::DoGetBestClientSize().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71396 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-09 14:24:54 +00:00
Vadim Zeitlin
f797518e8f Unconditionally define IID_IShellItem in wxMSW sources.
This GUID may not be defined in uuid.lib even when
__IShellItem_INTERFACE_DEFINED__ is defined in the headers, so just define it
always to avoid any problems.

Closes #14244.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71395 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-09 14:24:51 +00:00
Vadim Zeitlin
1e20681c9e Implement constrained best size calculation in wxMSW wxListCtrl.
This fixes wxListbook controller size to avoid spurious scrollbars.

Closes #13898.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71394 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-09 14:24:47 +00:00
Vadim Zeitlin
402dae7b46 Improve wxBookCtrlBase controller size calculations.
Use GetBest{Height,Width}() in wxBookCtrlBase to compute the controller
control size height/width from its known (from wxBookCtrlBase size itself)
width/height. This will allow to correctly compute the size of wxListCtrl used
by wxListbook once it provides the necessary support for width-from-height and
height-from-width calculations.

See #13898.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-09 14:24:44 +00:00
Vadim Zeitlin
d119983947 Add wxWindow::GetBest{Height,Width}().
These functions will be used when it is necessary to determine the best size
of the control if one of its size components is fixed. Currently none of the
classes implements DoGetBestClient{Height,Width}() yet but wxListCtrl will do
it soon, see #13898.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71392 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-09 14:24:37 +00:00
Vadim Zeitlin
36b0b09078 Allow entering more digits in wxSpinCtrl in wxMSW than fits into it.
Scroll the control automatically if there is not enough space. This is
consistent with (single line) wxTextCtrl and wxSpinCtrl under the other
platforms.

Closes #14211.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71389 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-09 14:24:27 +00:00
Vadim Zeitlin
679dc4e813 Attach MDI "Window" menu to the parent frame menu bar in wxMSW.
This makes sense and fixes the regression with "Window" menu commands not
being processed any more after the changes of r71114.

Closes #14207.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71388 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-09 14:24:23 +00:00
Vadim Zeitlin
6e36db5eca Correct the initial value setting in wxMSW wxSpinCtrl.
Always use value argument for the text control contents and also override the
initial numeric value with it if it's numeric.

This seems to be the only consistent thing to do, so document this behaviour
and add a unit test checking for it.

Closes #13589.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71387 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-09 14:24:20 +00:00
Vadim Zeitlin
8087e6c942 Remove assert checking bitmap size in wxMenuItem drawing code in wxMSW.
This assert was fatal, as usual when asserting from a WM_PAINT handler, as the
function was reentered resulting in nested asserts and program abort, so
remove it to at least let the program continue to run even if there is not
enough space for the bitmap in the menu.

There is, of course, still something wrong with the menu geometry calculations
if this happens but I can't even reproduce this any more so not sure what
exactly.

See #11657.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71386 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-09 14:24:16 +00:00
Vadim Zeitlin
2c2138e937 Fix creation of wxBitmap from wxIcon in wxMSW: premultiply the pixels.
wxBitmap in wxMSW is supposed to store its data in alpha-premultiplied format
but didn't do it when it was created from an icon (or a cursor), resulting in
wrong display of wxIcons with alpha channel when they were used for e.g. menu
items.

Fix this by ensuring that the data is always premultiplied. This is not the
best solution as in some cases (e.g. if this wxBitmap is added to wxImageList
later) we could need to undo this premultiplication later which is quite
inefficient but at least it's simple and straightforward.

Closes #11414.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71385 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-09 14:24:12 +00:00
Vadim Zeitlin
30ee0b9764 Fix compilation of wxVariant code with VC6.
This was broken by the changes in r71196 as the original VC6 SDK doesn't
define VARIANT::llVal.

See #14210.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71383 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-09 14:24:07 +00:00
Vadim Zeitlin
1b63698581 Use better face names first in wxGTK wxNativeFontInfo::SetFamily().
Try better matches and not the most widespread ones first when building a list
of face names to try for the given family. This gives better results when
these better fonts are indeed available and doesn't change anything if they
are not.

See #14126.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71382 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-09 14:24:03 +00:00
Vadim Zeitlin
912886949a Check that item ID is initialized when inserting it in wxListCtrl.
Using uninitialized ID happened to work by accident with 2.8 but it doesn't
work any more, try to detect this as early as possible and give a clear
explanation of why it doesn't to help fixing the broken code that used to
accidentally work.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71381 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-09 14:24:01 +00:00
Vadim Zeitlin
ae4375b878 Fix wxStaticBitmap best size calculation in wxMSW.
Take the control borders into account by overriding DoGetBestClientSize()
instead of DoGetBestSize().

Also invalidate the default best size computed before we have any valid image
when setting the initial image in Create().

Closes #4099.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71380 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-09 14:23:57 +00:00
Julian Smart
7c9fdebe5f Added field implementation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71379 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-09 11:06:04 +00:00
Julian Smart
f819ed5d42 Moved default margins to buffer class Init; reduced chance of accidental selection when clicking
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71378 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-08 17:31:06 +00:00
Julian Smart
20d09da5f8 Corrected top-level object layout in paragraphs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71377 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-07 15:47:23 +00:00
Julian Smart
a70eb13eb2 Fixed inconsistent calculation of line height in paragraph layout
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71376 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-07 13:13:30 +00:00
Vadim Zeitlin
37424888b8 No real changes, just fix some typos in comments.
Closes #14276.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71375 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-07 13:12:27 +00:00
Julian Smart
bea12bf084 Added non-breaking space to whitespace check
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71374 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-07 13:12:27 +00:00
Vadim Zeitlin
25cc08c07b Use XkbKeycodeToKeysym() instead of deprecated XKeycodeToKeysym().
XKeycodeToKeysym() is deprecated in new X11 headers because it doesn't work
correctly with all symbols (https://bugs.freedesktop.org/show_bug.cgi?id=5349).
Use XkbKeycodeToKeysym() instead, this should help with some keys and also
avoids deprecation warnings during compilation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71373 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-07 13:12:23 +00:00
Vadim Zeitlin
814028444d Create a wrapper file for X11/XKBlib.h header.
We need some hacks for the older systems before including this header, extract
them from src/x11/utilsx.cpp into a new private header to be able to reuse it
from wxGTK in the next commit.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71372 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-07 13:12:20 +00:00
Václav Slavík
319ff5745e Make wxDocTemplate::CreateDocument() exceptions-safe.
Don't create the document object if InitDocument() throws.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71371 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-07 12:23:09 +00:00
Václav Slavík
e4f762f416 Fix performance of wxHtmlParser::SkipCommentTag() in UTF-8 build.
Avoid computing the difference between two potentially distant
iterators, which is O(1) in wchar_t build, but O(n) in UTF-8 one.

See #13445.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71370 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-07 11:15:31 +00:00
Václav Slavík
2a715bcb3c Fix r71367: don't set bgCol twice needlessly.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71368 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-06 16:56:38 +00:00
Václav Slavík
b7f37d6d86 Fix wxOwnerDrawnComboBox background on with classic theme.
In wxMSW, if the classic theme was used, read-only wxOwnerDrawnComboBox
had gray background, but native look should be the same for both
editable and read-only combo boxes: white text entry-like rectangle.

Apparently, a similar problem existed with non-classic themes too
before, as there was a workaround in place. Fixed by moving the
workaround into code used by both themed and classic rendering.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71367 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-06 13:10:34 +00:00
Vadim Zeitlin
25e3f0c69e No changes, just spelling corrections in the comments.
Closes #14275.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71366 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-05 14:09:59 +00:00
Vadim Zeitlin
8e8d910979 Update the field widths on demand in wxStatusBarGeneric.
This ensures that the value returned from GetFieldRect() is always up to date,
even when this method is called from the user-defined wxEVT_SIZE handler, i.e.
before our own OnSize() could run.

Also remove the now unneeded hack with calling the base class OnSize() from
the statbar sample.

Closes #14268.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71365 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-05 11:22:09 +00:00
Stefan Csomor
71940de693 fixes crashes with embedded controls in toolbars after toolbar destruction, code was moved in r62988, but apparently Destroy doesn't have to be called, so do a last check, fixes #14258
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71364 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-05 05:32:19 +00:00
Vadim Zeitlin
5804d539be Derive wxGenericFileCtrl from wxControl.
wxFileCtrl -- which can be #define'd as wxGenericFileCtrl -- is documented to
inherit from wxControl and does derive from it in the native GTK version, so
do it for the generic version too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71362 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-04 22:20:55 +00:00