Vadim Zeitlin
3120eccfe2
Fix confusion with LOGFONT{A,W} parameters to MSW GetTheme[Sys]Font().
...
Change the signature of GetThemeFont() and GetThemeSysFont() methods of
wxUxThemeEngine to take an artificial wxUxThemeFont::Ptr type instead of
LOGFONT which allows the broken code to compile correctly and even work in
Unicode builds but crashed in ANSI ones under Windows Vista/7 as these
functions expect a LOGFONTW and not LOGFONTA even in non-Unicode build under
these systems.
This generalizes the previous fix/workaround for the same problem in
wxStaticBox so remove it now and use wxUxThemeFont both there and in
wxMenuItem to avoid crashes when using owner-drawn menus in ANSI build.
Closes #12364 .
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65955 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-30 23:50:22 +00:00
Vadim Zeitlin
abaa31e7ea
No real changes, just cleanup of wxMSW MenuDrawData.
...
Derive MenuDrawData::Margins from Windows MARGINS struct to avoid ugly (and
potentially dangerous) reinterpret_cast<>s when using it.
Also add some helper functions to Margins to make using it less painful.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65954 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-30 23:50:08 +00:00
Vadim Zeitlin
60a7194e43
Postpone initialization of owner-drawn menu metrics.
...
Doing it during globals initialization time didn't work and could even result
in a crash due to dereferencing a NULL wxTheApp pointer.
Closes #11806 .
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63712 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-19 09:57:15 +00:00
Vadim Zeitlin
9d043a9227
Compilation fixes for PCH-less build after ownerdraw-refactor branch merge.
...
Forward declare more classes, in particular use tagRECT which can be forward
declared, instead of RECT typedef in public headers.
Also include more header in #ifndef WX_PRECOMP case.
See #11595 .
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63272 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-26 09:01:13 +00:00
Vadim Zeitlin
b8190883d0
Compilation fix after ownerdraw-refactor branch merge.
...
Don't use HDC in public headers, it may not be declared there. Use WXHDC
instead even if this means having ugly casts.
This fixed mingw32 compilation (see #11595 ).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63252 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-24 14:15:12 +00:00
Vadim Zeitlin
03cc29918f
Fix off by 1 errors in owner-drawn menu drawing code in wxMSW.
...
The label was offset by 1 pixel vertically and the check marks were 1 pixel
too wide compared to the native ones under XP, correct this.
Closes #11420 (again).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-23 13:22:07 +00:00
Vadim Zeitlin
ee00931326
Correct drawing of check marks for owner-drawn items without bitmaps.
...
Standard check mark was not drawn correctly for check/radio items without
bitmaps.
Closes #11480 .
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63225 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-23 13:21:52 +00:00
Vadim Zeitlin
9c32ed26a2
Correct alignment of menu accelerator strings in owner-drawn menus.
...
Draw them right-aligned as the native menus do.
Closes #11479 .
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63224 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-23 13:21:46 +00:00
Vadim Zeitlin
aa4919edd1
Use theme functions for drawing owner-drawn menus.
...
This makes the menu items with custom attributes or bitmaps look more native,
especially on post-XP systems.
Closes #11420 .
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63223 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-23 13:21:36 +00:00
Vadim Zeitlin
98fbab9e7b
Refactor owner-drawing code.
...
Only keep common code in the base class and extract all menu/listbox-specific
stuff into derived classes.
This makes the code cleaner and more maintainable but introduces some problems
in wxCheckListBox appearance which will be fixed by the next patch.
Closes #10635 .
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-23 13:21:12 +00:00
Vadim Zeitlin
9a83f86094
Globally replace _T() with wxT().
...
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660 ).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
654c223bc7
check for m_parentMenu being NULL in IsChecked/Checked/Enable() too ( closes #10460 )
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-01 12:30:27 +00:00
Vadim Zeitlin
3350ab0cf2
allow calling SetItemLabel() for menu items with NULL menu parent too
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58578 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-31 23:16:55 +00:00
Vadim Zeitlin
5c6aad4737
allow calling SetItemLabel() for items not attached to the menu or menu bar yet (comment 9 of #10452 )
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58574 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-31 22:46:43 +00:00
Vadim Zeitlin
d4290fa5b8
corrections after last commit, (see #10452 comment:6)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58571 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-31 21:53:03 +00:00
Vadim Zeitlin
3d45718de5
use SetMenuItemInfo() to update the item label to avoid reseting its bitmap and so use the same code for the desktop and CE versions (see #10452 )
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58556 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-31 17:51:02 +00:00
Vadim Zeitlin
5c33522fca
replace wx_{const,static,reinterpret}_cast with their standard C++ equivalents
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 02:39:52 +00:00
Paul Cornett
cabb286d30
move 8 copies of the same function to common code
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54092 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-11 05:23:53 +00:00
Paul Cornett
efebabb7ff
mark long-deprecated ctor as such
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53809 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-29 04:26:29 +00:00
Vadim Zeitlin
fa7134b05a
use kind, not id, of a menu item to test whether it's a separator: this allows having separators with ids other than wxID_SEPARATOR in case it's useful to distinguish between them (patch 1929039)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53056 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-06 15:55:42 +00:00
Vadim Zeitlin
dca0f65178
more /Wp64 warning fixes: mostly use UINT_PTR instead of UINT and define our WX[WL]PARAM with __w64 if available to avoid hundreds of warnings when casting LPARAMs to pointers/handles
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52165 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-28 02:22:52 +00:00
Vadim Zeitlin
660e7fda2c
fix several problems in handling of the menu items with negative ids
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50033 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-17 20:38:07 +00:00
Julian Smart
52af3158e9
Menu label consistency changes
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48023 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-11 17:54:59 +00:00
Václav Slavík
c9f7896861
first phase of transition to unified Unicode build:
...
1. changed c_str() to return wxCStrData (implicitly convertible to wxChar*)
2. added template type-safe wrappers for vararg functions
3. added wxUniChar class representing single Unicode character
4. changed wxString::operator[] and wxString::iterator to return wxUniChar
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44865 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-17 10:26:10 +00:00
Vadim Zeitlin
345319d60c
fixes to menu stock items support (patch 1547639)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41021 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-05 21:00:55 +00:00
Robert Roebling
efb27c04d3
I forgot to commit this one.
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40988 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-04 08:52:29 +00:00
Robert Roebling
ee0a94cfc2
Commited FRM's stockitem patch (empty stock items).
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40978 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-03 12:23:04 +00:00
Włodzimierz Skiba
48a1108eb8
Include wx/font.h according to precompiled headers of wx/wx.h (with other minor cleaning).
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39734 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-14 19:51:14 +00:00
Włodzimierz Skiba
3b3dc8019a
Include wx/menu.h according to precompiled headers of wx/wx.h (with other minor cleaning).
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39205 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-18 07:13:20 +00:00
Włodzimierz Skiba
e4db172a3b
Include wx/log.h according to precompiled headers of wx/wx.h (with other minor cleaning).
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38920 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-26 08:21:31 +00:00
Mart Raudsepp
8907154c1a
Nuke #pragma implementation/interface's
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-23 12:56:45 +00:00
Gilles Depeyrot
220aea7b09
corrected typo in comment
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32773 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-12 14:16:28 +00:00
Vadim Zeitlin
51d2fa37c4
more visual improvements to owner-drawn menus (patch 1143785)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32197 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-19 17:25:37 +00:00
Julian Smart
271fa25083
Applied [ 1059554 ] patch for [1028659] fixes a couple of bugs with menus
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31958 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-12 10:42:00 +00:00
Vadim Zeitlin
c9cb79cbd6
compilation fix
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29191 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-18 09:59:01 +00:00
Vadim Zeitlin
f03e9ae7a7
replaced wxLogLastError with an assert when checking an item not attached to a menu (see bug 1030141)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29189 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-18 09:46:02 +00:00
Włodzimierz Skiba
598ddd96f4
Source cleaning: -1/wxID_ANY/wxDefaultCoord, ::, !!, TRUE/true, FALSE/false, whitespaces, tabs.
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28966 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-08-30 10:18:55 +00:00
Julian Smart
655719367a
Use old licence name
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 20:53:33 +00:00
Julian Smart
77ffb5937e
Name and version changes
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 14:56:36 +00:00
Robin Dunn
ea16d35127
silence a bogus error message
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-04-25 00:43:20 +00:00
Vadim Zeitlin
af498247c5
make XTI compile with VC6 (patch 896614)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26820 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-04-15 22:51:57 +00:00
Vadim Zeitlin
3a5bcc4db0
removed Win16 code (patch 905241), last version with remains of Win16 support tagged with BEFORE_WIN16_REMOVAL
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26423 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-03-28 13:10:14 +00:00
Julian Smart
51f8b24631
Applied [ 876737 ] menu item with bitmap uses wrong font
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25211 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-01-17 17:05:35 +00:00
Stefan Csomor
3ff066a4ec
macro naming changes
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23376 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-09-04 01:19:40 +00:00
Stefan Csomor
e70b4f1095
unicode adaptions, menu support
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23224 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-25 23:33:36 +00:00
Václav Slavík
14f355c2b5
added support for gcc precompiled headers
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-09 12:46:53 +00:00
Julian Smart
09785dd38d
Fixed menubar on WinCE
...
Removed some obsolete files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21921 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-12 15:11:00 +00:00
Julian Smart
4676948b68
More WinCE mods
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21902 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-11 21:50:07 +00:00
Mattia Barbon
222ed1d678
STL-ification patch for wxMSW and wxGTK.
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21876 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-10 19:55:12 +00:00
Julian Smart
19b4237945
Applied patch [ 731719 ] Owner draw font leak/overuse
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20443 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-05-03 11:56:38 +00:00