Commit Graph

76 Commits

Author SHA1 Message Date
Vadim Zeitlin
960493053b Added private wxMenu::MSWNewFromHMENU() method.
Add a method allowing creation of a wxMenu object from a native menu handle.
This will be used to implement access to the system menu in an upcoming commit
but could also be useful for other purposes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-08 09:32:39 +00:00
Vadim Zeitlin
89511b4268 Rewrote wxMSW radio menu items code to support not only appending them.
Previously the radio menu items could only be appended to a menu in wxMSW,
inserting them (either in an existing radio group or to start a new one) not
only didn't work but could even result in crashes because invalid iterators in
the menu items list could be used.

Fix this by storing the ranges of all radio groups in wxMenu itself instead of
storing the information about the radio group an item belongs to in the item
itself and by updating this data whenever a new radio item is inserted. Also
get rid of the notion of "current radio group" in wxMenu which doesn't really
make any sense.

Finally add a unit test checking that inserting radio items works as expected.

Closes #13200.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67720 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-10 08:50:38 +00:00
Vadim Zeitlin
a99a3029c8 Fix HMENU to wxMenu translation in wxMSW code.
We didn't find the menus corresponding to the submenu handles. This resulted
in incorrect processing of EVT_UPDATE_UI events for the submenus and probably
other problems.

Fix this by searching for the HMENU recursively in all menus.

Closes #13080.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67355 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-31 09:28:38 +00:00
Vadim Zeitlin
7ee9a64bd6 Simplify wxMSW wxMenuBar title management.
Store the titles of the menu bar menus in the menu objects themselves. This
makes wxMenu::GetTitle() return the expected result for them (which also fixes
the current unit test failures for wxMSW) and makes wxMenuBar code simpler.

This removes the wxMenuInfo class which existed for XTI purposes only but as
it was apparently unfinished and MSW-specific it shouldn't be a big loss.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-17 01:20:50 +00:00
Vadim Zeitlin
7118e711dc Move wxMSW wxMenu::GetWindow() down to wxMenuBase.
GetInvokingWindow() can only be used for the popup menus which have the
invoking window, so add a new function which can be used to get the window
associated with any kind of menu in all ports -- it already existed in wxMSW
but is needed elsewhere too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64123 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-24 15:07:39 +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
d08504dfa5 Fix calculation of the margins for owner-drawn menu items.
Take into account the widths of the bitmaps properly.

Closes #11268.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-23 13:21:27 +00:00
Vadim Zeitlin
67fdb6f9af added CreateAccelTable() helper which creates the accel table for just this menu
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58461 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-27 16:45:24 +00:00
Vadim Zeitlin
7802da36fa don't duplicate base class m_acceleratorTable as m_accelTable in wxMenuBar, this is not only unnecessary but also doesn't allow using GetAcceleratorTable() to retrieve the menu bar accelerators (#9654)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56070 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-03 22:15:40 +00:00
Francesco Montorsi
53a2db124c substitute WXDLLEXPORT with WXDLLIMPEXP_CORE and WXDLLEXPORT_DATA with WXDLLIMPEXP_DATA_CORE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-26 15:06:00 +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
b5dbe15d0b added WXDLLIMPEXP_FWD_FOO macros in addition to WXDLLIMPEXP_FOO for use with forward declarations (in preparation for GCC visibility support)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-09 10:09:52 +00:00
Vadim Zeitlin
6f02a879ed make access specifiers for the virtual functions match their access in the base class (patch 1400131)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-08 21:47:09 +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
Vadim Zeitlin
3df732cd47 removed wxUSE_MENU_CALLBACK references: the code inside the #if couldn't compile anyhow as wxFunction isn't defined in wx since quite some time now
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35099 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-08-04 20:35:09 +00:00
Julian Smart
3103e8a97e Typo correction patch [ 1208110 ] Lots of typo corrections
Olly Betts


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34436 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-31 09:20:43 +00:00
Vadim Zeitlin
294ea16de3 implemented wxMenuBar ctor taking array of menus/titles for all ports; added optional flags argument to it (patch 1162726)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32880 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-17 23:45:24 +00:00
Vadim Zeitlin
3839f37ed3 removed trailing semicolons after DECLARE_DYNAMIC_CLASS(), Borland chokes on them
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31795 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-06 16:17:18 +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
Robert Roebling
b3900fb51a Added master define for CommandBar vs. PocketPC mixed bar.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27762 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-06-12 22:58:28 +00:00
Julian Smart
a9928e9d1a WinCE Standard SDK improvements including adding close button
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27460 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-27 11:31:12 +00:00
Julian Smart
45f272841c Fixes for Standard WinCE SDK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-27 09:09:19 +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
Julian Smart
960b193e59 Don't use wxUSE_POCKETPC_UI, determine appropriate UI from
SDK defines.
Now creates menubar at bottom of window for PPC.
Window uses default position and size in PPC.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26889 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-04-20 22:17:24 +00:00
Robin Dunn
9add93670b wxMenu::Append (and similar) now return a pointer to the wxMenuItem
that was added.  Checked on MSW, GTK, and Mac, other port authors
please double check changes.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25341 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-01-23 18:46:05 +00:00
David Elliott
b2c5f143fd Added MSWPositionForWxMenu() method which is used to translate wxWindows
menu positions to the ones that Windows is using.  This mainly accounts
for the system menu in maximized MDI child frames.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25171 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-01-14 05:57:09 +00:00
Julian Smart
a96b4743ff Added wxUSE_POCKETPC_UI to distinguish between using
combined toolbar/menubar and using separate ones


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25022 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-12-28 01:07:31 +00:00
Vadim Zeitlin
d5d29b8a22 renamed WX_DEFINE_ARRAY_NO_PTR in WX_DEFINE_ARRAY_PTR
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-10-08 22:13:14 +00:00
Stefan Csomor
6c7a1f8274 RTTI accessors for menus
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-25 23:26:49 +00:00
Václav Slavík
a3bf7524f3 removed WXWIN_COMPATIBILITY and WXWIN_COMPATIBILITY_2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22966 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-17 12:50:53 +00:00
Václav Slavík
1202890513 added support for gcc precompiled headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-09 12:38:21 +00:00
Vadim Zeitlin
fc7a2a602b undisable many warnings for VC++ in defs.h and fixed several thousands of them in the sources
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-22 00:24:07 +00:00
Mattia Barbon
a381fd1c0a Compilation fixes for wxUSE_STL=1 and for
WXWIN_COMPATIBILITY_2_4=0.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22208 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-21 19:55:46 +00:00
Vadim Zeitlin
6108e3fd32 added NO_PTR versions of ARRAY macros to suppress warnings (based on patch 770983)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22118 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-19 19:46:29 +00:00
Julian Smart
39d2f9a7c8 Added WCE toolbar
Got menubars working with WCE


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22085 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-18 14:12:53 +00:00
Julian Smart
394285343b Fixed ambiguity
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21577 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-02 13:45:49 +00:00
Julian Smart
b85b77ae2f Removed BC++ hidden virtual function warning
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21572 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-02 11:44:24 +00:00
Vadim Zeitlin
70dc287a39 removed wxFunction
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21547 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-01 12:19:10 +00:00
Julian Smart
371a5b4e62 Removed erroneous copyright names and corrected licence spelling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19592 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-17 10:34:04 +00:00
Vadim Zeitlin
0472ece753 implemented radio menu items for wxMSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14696 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-03-21 02:35:08 +00:00
Vadim Zeitlin
1e6feb95a7 first pass of wxUniv merge - nothing works, most parts don't even compile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10673 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-06-26 20:59:19 +00:00
Vadim Zeitlin
52130557bf moved wxMenuBar::FindMenu(title) from MSW to common code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6202 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-02-22 09:53:55 +00:00
Vadim Zeitlin
4a539480fb missing Init() added to wxMenu(wxCallback) ctors
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5651 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-01-25 15:35:55 +00:00
Vadim Zeitlin
cc160ba62b compilation fix for !wxUSE_MENU_CALLBACK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4631 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-11-19 16:19:33 +00:00
Julian Smart
c0ab6adfed Watcom C++ fixup in tbar95.cpp; removed WXWIN_COMPATIBILITY for 'old' menu
constructor and event handling; added wxString version of wxGetTempFileName


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4552 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-11-14 14:41:30 +00:00
Vadim Zeitlin
600ea9da94 typo fixed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4289 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-11-02 01:27:42 +00:00
Vadim Zeitlin
717a57c2fa 1. wxMenu changes: wxMenuBase appears, several new functions for dynamic menu
handling as well
2. new sample: menu
3. small corrections to wxFileHistory made possible by wxMenu changes
4. ugly fix for panel loaded from resources and TABbing
5. wxDataObject &c doc updates


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-11-02 01:25:43 +00:00
Robin Dunn
8b99adf475 EXPORTED an array to quiet the DLL compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4257 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-29 17:32:32 +00:00
Vadim Zeitlin
ad9bb75ff2 1. regenerated the makefiles to include menucmn.cpp
2. more compilation fixes for DW changes
3. implemented dynamic menu support for wxMSW
4. added code to the toolbar sample to test it


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4206 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-10-26 23:38:33 +00:00