Commit Graph

31863 Commits

Author SHA1 Message Date
Vadim Zeitlin
11e3c6ef36 Unselect all wxDataViewCtrl items when clicking outside of the item area.
This is consistent with Windows behaviour and as the generic wxDataViewCtrl is
mostly used under Windows, it makes sense to follow Windows convention in it.

Closes #15082.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-04 18:19:41 +00:00
Vadim Zeitlin
09f84bc716 Fix crash on wxDataViewCtrl creation after r73565.
Initialize m_clientArea to NULL to avoid crash in SetFont() which is called
during the control creation.

This might still be not 100% correct as the initial font is not set at all for
the client area but at least it fixes the crash.

See #15056.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73601 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-04 11:48:26 +00:00
Julian Smart
29ec9f9b02 Corrected layout when scaling the control
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-04 10:47:55 +00:00
Vadim Zeitlin
e465e64881 Fix handling of wxST_NO_AUTORESIZE in wxOSX.
We do need to set the size of wxStaticText initially even when this style is
specified, it only tells us to not update it later. Otherwise even the initial
label was never shown in full.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-03 22:44:17 +00:00
Stefan Csomor
33f3e2b31e issue NUMPAD constants only for Key but not for Char events, fixes #15073
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-03 17:23:58 +00:00
Vadim Zeitlin
8ae80de41f Revert "Fix off by 1 error in wxGenericListCtrl::HitTest()."
Revert r73563, this breaks the selection in the control apparently.

See #15063.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73596 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-03 12:19:20 +00:00
Stefan Csomor
094fa9e9ef enabling cursor events, fixes #15044
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-02 13:01:57 +00:00
Vadim Zeitlin
23c37c2c4e Reset accelerator table after removing last accelerator in wxMSW wxMenuBar.
We didn't update the accelerator table if no more accelerators were left in it
but we still need to do it to stop handling the previously active accelerators.

Closes #15078.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73594 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-02 12:11:53 +00:00
Vadim Zeitlin
f29b59b781 Use more native icons in wxMSW wxArtProvider.
Use SHGetStockIconInfo() and SHGetFileInfo() to look up some icons.

Closes #15068.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73593 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-02 12:11:47 +00:00
Vadim Zeitlin
c35c7df103 Don't give error message for non-existent paths in wxFileSystemWatcher.
The file we're trying to watch might have been just deleted, this is an
unavoidable (and not only in theory but also in practice when watching busy
directories) race condition so don't give an error message if this does happen
but simply return false from Add().

Closes #15051.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73591 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-02 12:11:40 +00:00
Vadim Zeitlin
4efbeff4a5 Interpret wxRect passed to wxRichToolTip::ShowFor() as client coords.
It makes more sense to use the window coordinates here instead of the screen
ones.

Closes #15060.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-02 12:11:36 +00:00
Vadim Zeitlin
f6268c151c Make wxRect parameter of wxRichToolTip::ShowFor() const.
This parameter is read-only, so accept a const pointer here.

See #15060.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73589 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-02 12:11:32 +00:00
Vadim Zeitlin
f155075229 Don't use GetThreadId() in wxMSW code.
Revert r73585, GetThreadId() is only available in Vista or later so don't use
it.

Just cast the handle to an integer explicitly to be able to print it with
"%x".

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73587 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-01 12:21:41 +00:00
Vadim Zeitlin
9f298361db Use thread ID and not thread handle in the error messages in wxMSW.
The ID is in general more useful than the handle and this also fixes an assert
failure due to mismatch between the HANLDE type and "%x" format specifier.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-28 20:41:14 +00:00
Stefan Csomor
a990673bb9 enabling menu close event, fixes #15069
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73580 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-28 18:11:35 +00:00
Julian Smart
914a4e23e4 Corrected loading of images: we need the parent size to compute initial object size
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-28 17:23:09 +00:00
Václav Slavík
2aab96f58d Add wxPreferencesEditor class.
Implements native UI for preferences editing.  In particular, the API
handles the differences between modal (Windows) and non-modal (OS X) preferences windows and provides platform's native look.

Currently implemented natively for wxOSX/Cocoa, wxGTK and Windows (the latter is used as a fallback generic implementation as well).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-28 16:29:05 +00:00
Václav Slavík
d52a1abad3 Add support for Cocoa's selectable toolbar items.
The support is currently limited to making all toolbar items selectable
and is only available in wxOSX with Cocoa and native toolbars.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73575 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-28 16:28:56 +00:00
Václav Slavík
72625b36b6 Add wxBitmap(NSImage*) ctor to wxOSX.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73574 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-28 16:28:52 +00:00
Vadim Zeitlin
4f082fb3a0 Preserve client data pointers when setting bitmaps in wxBitmapComboBox.
Changing the bitmap could recreate the control if the height of the bitmap
changed but recreating wxBitmapComboBox lost all the client data pointers.

Do preserve them now when recreating.

Closes #14892.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73567 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-24 13:48:49 +00:00
Vadim Zeitlin
1af67319a7 Make wxGenericDataViewCtrl::SetFont() really work.
Do use the new font for the items display.

Closes #15056.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73565 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-24 13:48:35 +00:00
Vadim Zeitlin
de6e6d08b2 Fix compilation in !wxUSE_MENUS case.
wxFrameBase::ShouldUpdateMenuFromIdle() should be defined inside "#if
wxUSE_MENUS" as it's only declared when wxUSE_MENUS==1.

Closes #15062.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73564 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-24 13:48:26 +00:00
Vadim Zeitlin
f4f4c3aca4 Fix off by 1 error in wxGenericListCtrl::HitTest().
Account for the header height if the header is present.

Closes #15063.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73563 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-24 13:48:20 +00:00
Vadim Zeitlin
95316a3f24 Move menu messages handling from wxFrame to wxTLW in wxMSW.
This allows to generate the menu open/close/highlight events correctly for the
popup menus used in the dialogs.

Extend the menu sample with a test using such menus.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73562 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-24 13:48:13 +00:00
Vadim Zeitlin
c92374f0a2 Fix crash when drawing bitmaps with mask in wxGTK with GTK+ < 2.20.
r73386 introduced a crash in wxGTK drawing code when using old GTK+ versions
by releasing the mask pixmap prematurely. Apparently GTK+ itself was fixed at
some time in 2.19.x time frame but work around the bug for the sake of older
GTK+ versions in wxGTK itself by simply releasing the pixmap at the end of
DoDrawBitmap(), as pre-r73386 code did.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73549 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-21 14:32:04 +00:00
Vadim Zeitlin
4e5e421c78 No real changes, just suppress a harmless warning.
g++ warned about possibly uninitialized variable, so initialize it in its
declaration even if it was actually already always initialized in the branches
where it could be used.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73548 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-21 13:22:31 +00:00
Vadim Zeitlin
4340a145d8 Fix background corruption in scrolled wxHtmlWindow.
Draw the background on the entire virtual size, not just the currently shown
client size.

Closes #15047.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73543 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-19 23:13:21 +00:00
Stefan Csomor
005659f0ff applying patch, closes #13045
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-17 16:17:20 +00:00
Stefan Csomor
dfd0756f75 switching notebook implementation to common
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-17 14:54:43 +00:00
Vadim Zeitlin
2a45803fc3 Remove wxRTTI macro for wxComboBox from Motif port.
This is now done in src/common/combocmn.cpp.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73521 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-15 12:40:22 +00:00
Vadim Zeitlin
35f6f71b19 Don't use ternary operator ?: with wxString and literal strings.
This results in warnings about converting string literal to (non const) C
string.

Also remove the now unneeded calls to c_str() inside wxString::Printf().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73520 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-15 12:40:20 +00:00
Vadim Zeitlin
c8723b866e sAlways iInclude wx/encinfo.h from src/unix/fontutil.cpp.
We use wxNativeEncodingInfo in this file, so we always need this header, not
just when not using PCH.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73519 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-15 12:40:17 +00:00
Vadim Zeitlin
bdffa92004 Don't connect to the same signal multiple times in wxGTK wxClipboard.
We called g_signal_connect("selection_get") in wxClipboard code each time its
AddData() method was called. This resulted in progressive but noticeable
slowdown as the handler was called more and more times.

Only connect to the handler once now.

Closes #15038.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73518 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-15 12:40:13 +00:00
Stefan Csomor
116d7e5805 closes #13841
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73517 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-14 08:07:24 +00:00
Vadim Zeitlin
208717f64e Account for scrolling when setting the background brush origin in wxMSW.
We must use physical coordinates for the brush origin to account for the
coordinates offset in scrolled windows, so add MSWAdjustBrushOrg() and call it
from MSWGetBgBrushForChild().

Closes #14917.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-10 16:14:03 +00:00
Vadim Zeitlin
d7763d16d7 Compilation fix for !wxHAS_MSW_BACKGROUND_ERASE_HOOK case.
This doesn't actually change anything as wxHAS_MSW_BACKGROUND_ERASE_HOOK is
always defined, except under WinCE where this file is not used anyhow, but do
test it here for completeness.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73492 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-10 16:13:50 +00:00
Vadim Zeitlin
6586750c6a Create wxCURSOR_RIGHT_ARROW on the fly from normal arrow cursor under MSW.
This allows to avoid having another cursor resource and also makes this cursor
nicer as rightarr.cur looks rather out of place under modern Windows systems.

Closes #14991.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73491 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-10 16:13:46 +00:00
Vadim Zeitlin
1ebfe6c58a Create new tab at the correct location in wxAuiNotebook.
Create the new tab in wxAuiTabCtrl that was double clicked and not near the
last selected tab which could have been in another wxAuiTabCtrl.

Closes #14995.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73490 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-10 16:13:42 +00:00
Vadim Zeitlin
973abcbb6a Add wxIcon::CreateFromHICON() to wxMSW.
Provide a public method properly assigning an HICON to wxIcon, instead of
asking people to call SetHICON() and SetSize().

Closes #15023.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73489 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-10 16:13:37 +00:00
Vadim Zeitlin
87a1dbc52e Don't call ::GetLayout() in wxMSW code directly.
Use wxMSW::GetLayout() wrapper to avoid directly binding to a function not
present in old Windows versions and also to fix linking errors with MinGW
after the changes of r73484.

See #3995.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73488 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-09 11:11:53 +00:00
Vadim Zeitlin
e56fee472c Fix pulsing of bitmaps in focused buttons under Windows 7.
It turns out that the actual bitmap shown in this case varies between the
bitmaps at PBS_DEFAULTED and PBS_STYLUSHOT, so that it's invisible half of the
time if we don't specify the value for the latter. Do it now to fix unwanted
pulsing of the bitmap in the focused button.

Closes #15034.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73486 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-09 00:35:58 +00:00
Vadim Zeitlin
05942059ef Refresh wxMSW wxStaticBitmap when its size changes.
As MSW native control centers the image, it must be entirely redrawn when the
area in which the image is centered changes, but it doesn't happen by default,
so do it ourselves explicitly.

Also explain that this centering behaviour is platform-specific and shouldn't
be relied upon.

Closes #4564.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73485 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-09 00:35:54 +00:00
Vadim Zeitlin
4bd1fc29b2 Fix drawing of bitmaps with masks in mirrored wxDC.
The mask must be mirrored in the same way as the main bitmap itself (currently
it's not mirrored at all but this could change in the future), so create the
temporary memory HDC with the same layout as is used by the main HDC.

Closes #3995.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73484 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-09 00:35:49 +00:00
Vadim Zeitlin
e949d38c4e Don't recurse into top level children when validating recursively.
Even with wxWS_EX_VALIDATE_RECURSIVELY flag, we should never validate the top
level children (e.g. dialogs) when validating the parent window. This is never
useful and can be completely unexpected.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73482 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-06 12:48:12 +00:00
Vadim Zeitlin
5abc0d2197 Refactor children traversal in wxWindow::TransferData{To,From}Window().
No real changes, just factor out the logic for children traversal into a
helper template class and reuse it in Validate() and both TransferData()
methods to avoid triplicating it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73481 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-06 12:48:09 +00:00
Vadim Zeitlin
72bd600b33 Allow creating wxCursor from ANI files under MSW.
Simply pass them to the standard LoadCursorFromFile() function which supports
this format.

Closes #3472.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73480 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-06 12:46:24 +00:00
Vadim Zeitlin
ff0d660405 Fix harmless warning about NULL in wxStyledTextCtrl code.
Cast NULL to the type of third argument of SendMsg() explicitly to avoid a
warning about it from Ubuntu g++ 4.6.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73478 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-06 00:42:11 +00:00
Vadim Zeitlin
79fdb1d1f7 Fix harmless g++ warning about operator precedence.
Add parentheses to suppress "&& inside ||" warning.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73477 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-06 00:42:09 +00:00
Vadim Zeitlin
9ab1e1539d Check for _MSC_VER definedness in libtiff code.
This avoids warnings about _MSC_VER being undefined when it's compared with
1500 when building with gcc.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73476 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-06 00:42:06 +00:00
Vadim Zeitlin
968b44d37b Ignore empty LC_XXX variables in locale detection code.
If LC_ALL or LC_MESSAGES is set but empty, ignore it and use the next
environment variable. This is consistent with the standard setlocale()
behaviour which only uses LC_ALL if it is set and not empty.

Closes #15006.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-05 20:46:26 +00:00