Commit Graph

33139 Commits

Author SHA1 Message Date
Dimitri Schoolwerth
dadc0ed341 Fixes for building wxMSW under Cygwin.
Replace a few __WXMSW__ tests with __WINDOWS__ as the former is not
defined any longer (since r73290) when compiling with wxUSE_GUI set to 0.

Tested changes with both wxGTK and wxMSW builds under Cygwin.

Closes #14382.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76759 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-24 02:47:13 +00:00
Dimitri Schoolwerth
75964c3afa Fix non-MSVS compilation of webview_ie.cpp.
Use wxCRT_StricmpW instead of the Visual C++ specific _wcsicmp.

See #14382.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76758 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-24 02:46:24 +00:00
Dimitri Schoolwerth
6b12639c49 Fix failing Win32 calls with checkable menu item.
Since r76202 InsertMenuItem is used when adding checkable menu items even
without a bitmap. The call fails because hbmpChecked and hbmpUnchecked are
set to HBMMENU_CALLBACK on pre-Vista, making the menu owner drawn
unnecessarily.

Fix by adding GetHBitmapForMenuCheckable which is used when assigning
values to hbmpChecked and hbmpUnchecked. GetHBitmapForMenu remains
unchanged (for possible porting reasons) and is used for hBmpItem only.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-23 20:05:30 +00:00
Dimitri Schoolwerth
1697a45b1f Make checkable menu item with bitmap owner drawn.
Since r44192 a checkable menu item with bitmap on pre-Vista assigns
HBMMENU_CALLBACK to hbmpChecked and hbmpUnchecked members of MENUITEMINFO.
However this value is only valid for hbmpItem and for other bitmaps
InsertMenuItem will fail (with "the parameter is incorrect") resulting in
making the menu owner drawn later.
Instead check earlier on in MSWMustUseOwnerDrawn if we're dealing with a
checkable menu item with a bitmap and if so make it owner drawn
explicitly.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76756 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-23 20:01:57 +00:00
Dimitri Schoolwerth
1c49a2e1ba Fix exception while reinserting menu item.
After removing an item from a menu that item's parent menu is set to NULL
and can't be used any longer to insert the item again. Fix by remembering
the parent menu before removing the item from it.

Regression since r76251 (this commit is a partial revert of that commit).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76755 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-23 20:00:42 +00:00
Dimitri Schoolwerth
bab52682bc Fix wxMenuItem::SetBitmap infinite recursion (Vista+).
Calling a menu item's SetBitmap can result in a stack overflow. This
occurs when setting a bitmap after the menu item has already been added to
the menu and while running under Vista (and later). Under those
circumstances [Do]SetBitmap will call GetHBitmapForMenu which itself calls
SetBitmap again.

Fix by adding a simple check for re-entry.

Regression since r76202.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76754 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-23 19:58:13 +00:00
Vadim Zeitlin
ba1c305343 Avoid harmless warning about unused variables in wxOSX/Carbon.
Declare the variables only used when wxUSE_STATUSBAR==1 inside the check for
it.

Closes #16331.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76752 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-23 01:08:55 +00:00
Vadim Zeitlin
e2e79bd000 Allow specifying custom comparator for wxSortedArrayString.
Add a possibility to order wxSortedArrayString in some order different from
the default alphabetical one.

Closes #16330.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76751 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-23 01:08:50 +00:00
Vadim Zeitlin
a15a949c30 Handle wxSYS_COLOUR_LISTBOXTEXT in wxMotif wxSystemSettings.
At the very least, don't fail with an assert if this colour is requested.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76749 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-23 01:08:41 +00:00
Vadim Zeitlin
e6d11dc00a Use wxIntNN types in wxQuantize code instead of INTNN ones.
Rely on the already properly defined wx types instead of using INTNN which
could clash with the system headers (e.g. INT32 is already defined in some
Motif headers) and are not guaranteed to be always defined correctly (while
int is always 32 bit on all currently supported platforms, this is not
guaranteed to always remain the case).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76745 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-22 14:23:28 +00:00
Stefan Csomor
a993ff5255 fixes 64 bit to 32 warnings, see #16329
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76744 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-20 08:15:31 +00:00
Stefan Csomor
1a5b712103 using proper types for webkit variants, see #16329
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-20 08:14:46 +00:00
Dimitri Schoolwerth
1ab459b212 Fix finding menu items in wxMenuItem::DoSetBitmap.
FindChildItem gets passed the id of a menu item as returned by GetMSWId, however GetMSWId should be used in combination with Win32 API functions. Instead use GetId: this fixes finding menu items that have a negative id (as a result of using wxID_ANY as id) or have a sub menu.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76742 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-20 01:35:16 +00:00
Stefan Csomor
1733903bfc supporting 2x display on retina displays, fixes #15887
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76738 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-19 13:05:08 +00:00
Tim Kosse
3ff982aa7a wxBitmap::GetMask() asserts on invalid bitmap. Check for valid bitmap before calling GetMask().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76737 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-19 09:29:42 +00:00
Stefan Csomor
e7bf85055c removing 'old' cocoa port
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76735 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 16:52:20 +00:00
Stefan Csomor
c9efa9f242 remove dependency from former cocoa port
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76733 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 14:27:20 +00:00
Stefan Csomor
d5f39e6305 adapting const parameter convention
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76732 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 14:22:29 +00:00
Stefan Csomor
3f6eff1522 remove dependency from former cocoa port
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76731 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 13:28:51 +00:00
Stefan Csomor
9689425a3e in reality there are only 2 different native toolbar sizes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76730 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 13:25:52 +00:00
Stefan Csomor
f2081f7949 remove dependency from former cocoa port
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76729 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 13:13:18 +00:00
Stefan Csomor
13fc136d54 remove dependency from former cocoa port
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 13:11:42 +00:00
Stefan Csomor
cd27126831 only flush a client dc if it was not inheriting the native CGContextRef from an outside paint context, fixes #16334
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 13:05:15 +00:00
Václav Slavík
bd650ec3d9 Use IRichEditOleCallback for wxTextCtrl's context menu.
In wxMSW, use IRichEditOleCallback::GetContextMenu() to provide our
default context menu for rich text controls, instead of using
EVT_CONTEXT_MENU.

The latter completely overrides native control's handling and in
particular breaks Windows 8's builtin spellchecking support.

Fall back to the previous non-OLE code for older richtext versions.

Also make the new MSWCreateContextMenu() method virtual so that the
context menu can be customized.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 12:51:49 +00:00
Václav Slavík
2cf91e5c7c Add wxMenu::MSWDetachHMENU().
Make it possible to pass ownership of a wxMenu to win32.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 12:51:45 +00:00
Václav Slavík
3821abef51 Handle WM_*MENU* events in wxWindow.
Contrary to MSDN implications, at least some of these messages are not
actually sent to the TLW for popup menus, but to the owning window or
even its parent window (!).

Move the handling of these events from wxTLW to wxWindow.  Move menu
depth tracking to wxFrame, because it only makes sense for frame's
menus and move DoGiveHelp() from wxTLW to wxFrame.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 12:51:39 +00:00
Tim Kosse
9280f836c2 Under certain conditions, selecting a menu item triggers an assert in toplevel.cpp:1539:
wxASSERT_MSG( m_menuDepth > 0, wxS("No open menus?") );

The conditions to reproduce:
- Windows 8.1
- An application manifest that indicates Windows 8.1 compatibility

In this case, wxGetWinVersion() used to return wxWinVersion_Unknown (Without a manifest indicating 8.1 support, wxWinVersion_8 is being returned). This in turn causes the version check against Windows98 in toplevel.cpp:450 to fail, ultimately leading to the mentioned assert.

See http://msdn.microsoft.com/en-us/library/windows/desktop/ms724439%28v=vs.85%29.aspx for details.

This patch on trunk adjusts adds the wxWinVersion_8_1 enum value and returns it on Windows 8.1 if the program is manifested as such.

In future, a different approach needs to be chosen that does not depend the deprecated GetVersion function.




git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76714 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-15 22:17:39 +00:00
Tim Kosse
80d58a2268 Remove the unused anonymous function OffsetWindow to fix a compiler warning.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76700 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-14 20:23:22 +00:00
Tim Kosse
c8ea74cab0 Don't redefine _FORCENAMELESSUNION it if it is already defined. Fixes a warning when compiling with MinGW.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76698 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-14 20:20:19 +00:00
Vadim Zeitlin
e5c0dea20c Compilation fix for wxFont in wxMotif.
Include wx/crt.h containing wxSscanf() declaration.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76696 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-13 17:19:21 +00:00
Vadim Zeitlin
fea900aceb Allow using wxALIGN_CENTER in XRC for wxStaticText.
Only wxALIGN_CENTRE was allowed previously in the XRC, while both worked in
the code and also even in XRC but for wxSizer alignment.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76695 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-12 17:14:01 +00:00
Vadim Zeitlin
693c95fa93 Fix wxDynamicLibrary compilation under Solaris.
Add const_cast<> needed for the call to dladdr() to compile.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76694 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-12 17:13:58 +00:00
Vadim Zeitlin
c29b6dfaf3 Avoid g++ warning about using possibly uninitialized PangoContext.
Initialize it to NULL as it could indeed be left uninitialized in some build
configurations before.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76684 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-11 14:55:14 +00:00
Vadim Zeitlin
2594929d9f Move include/wx/unix/execute.h to include/wx/unix/private.
This header is private and is not supposed to be used from the outside the
library.

See #16325.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76683 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-11 14:55:08 +00:00
Vadim Zeitlin
a8d5d7cdba Don't assert in wxOSX if a shaped window doesn't define a valid shape.
A window with wxFRAME_SHAPED style can still not defined any valid shape
actually, in which case wxFRAME_SHAPED should be just ignored.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-10 00:38:38 +00:00
Vadim Zeitlin
8aabad5e4c Fix wxMSW build without PCH after recent wxListBox font fix.
This should have been part of r76673.

See #3577.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76678 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-09 21:31:34 +00:00
Vadim Zeitlin
b6469b4369 Fix changing the label of a submenu in wxMSW.
Use position, not the ID, to find the native menu items to allow the code in
wxMenuItem::SetItemLabel() and DoSetBitmap() to also work with submenus and
not just the normal items.

Closes #16246.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76676 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-09 20:33:17 +00:00
Vadim Zeitlin
af692f090b Fix getting position of wxPopupWindow in wxMSW.
Don't offset the returned values by the parent window origin unnecessarily: as
popup windows are created as children of the desktop window in wxMSW, their
coordinates are already expressed in screen coordinate system (which is
exactly the same as display window coordinate system) and we must not try to
translate them to it once again, this is completely wrong and was probably a
left over from earlier wxPopupWindow implementation in which it wasn't created
as a child of desktop.

Closes #4440.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76675 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-09 20:33:11 +00:00
Vadim Zeitlin
b15f361171 Fix wxMSW wxCheckListBox appearance when using larger than normal fonts.
Update the height of the items when changing the font to ensure that there is
enough space to show the item text when using fonts larger than normal.

Closes #3577.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76673 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-09 00:54:17 +00:00
Vadim Zeitlin
82112b5de2 Fix changing wxWindow ID in wxMSW.
This must be done both at wxWidgets and MSW level, otherwise changing the ID
results in window not recognizing itself as the recipient of the messages sent
to it by Windows.

Closes #3697.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76672 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-09 00:54:12 +00:00
Vadim Zeitlin
be35fb7a15 Compilation fix for wxMSW with wxUSE_TOOLTIPS==0.
This is another fix after the changes of r76657, see #16265.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76667 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-05 11:29:34 +00:00
Vadim Zeitlin
d8933b2b8d Fix spurious assert when creating multiline wxTextCtrl from XRC.
Don't try to set the hint unconditionally, this doesn't work with multiline
text controls and so resulted in an assert when trying to create one from XRC
since the changes of r76629.

Closes #16317.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76666 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-05 00:28:46 +00:00
Vadim Zeitlin
f81a758d4e Stop Scintilla timer when the control doesn't have focus.
This avoids excessive CPU load due to generating completely unnecessary timer
notifications for every wxSTC control in a program.

Closes #14938.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76665 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-05 00:26:27 +00:00
Vadim Zeitlin
1d160160b7 Add cast to wxWindow to fix wxUniv/MSW compilation.
wxWindowMSW is different from (base class of) wxWindow in wxUniv and needs to
be converted to it explicitly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-04 22:47:28 +00:00
Vadim Zeitlin
b60e0e085e Including missing header for wxUniv/MSW build.
Compilation fix after the changes of r76657, see #16265.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76663 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-04 22:47:23 +00:00
Vadim Zeitlin
fb55843f32 Compilation fix to wxMSW tooltip code when not using PCH.
Include the required header when not using PCH.

See #16265.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76662 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-04 21:34:17 +00:00
Vadim Zeitlin
35434eea52 Hide tooltip when its associated window is hidden in wxMSW.
Don't leave the tooltip shown on screen if the window it was shown for was
hidden or iconized (without moving the mouse, as that would have dismissed the
tooltip as well).

Closes #16265.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76657 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-02 01:15:39 +00:00
Vadim Zeitlin
8f39cd1301 Fix bug with removing items from menus with radio buttons in wxMSW.
Update the indices of the radio groups after removing an item from the menu.

See #14213.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-02 01:15:34 +00:00
Vadim Zeitlin
0ae3d1d22a Use wxWinAPI::Event wrapper class instead of raw Windows event handles.
This makes the code slightly shorter and, more importantly, more readable and
safer.

Closes #16233.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76655 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-02 01:15:30 +00:00
Vadim Zeitlin
793b8d519e Ensure that wxPreviewCanvas always gets idle event.
Use wxWS_EX_PROCESS_IDLE flag to ensure that the print preview receives idle
events even when wxIDLE_PROCESS_SPECIFIED global idle mode is used.

Closes #15104.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76652 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-02 01:15:16 +00:00