Commit Graph

91 Commits

Author SHA1 Message Date
Robin Dunn
3be6f59151 m_id was already set, don't set it to the passed in value again as then we lose the value which may have been calculated for wxID_ANY.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64489 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-05 01:23:18 +00:00
Václav Slavík
0c51948f7d Whitelist wxID_NONE as valid menu item ID.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64256 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-09 10:27:40 +00:00
Vadim Zeitlin
a104022931 Fix assert during separator items creation introduced by r64226.
Add separators with correct kind, setting m_kind doesn't work any more because
it's overwritten below.

Also add a comment explaining why is overriding the user-specified kind the
right thing to do here.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64244 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-07 23:38:26 +00:00
Vadim Zeitlin
d93b98740c Check that menu ids are limited to MSW-supported range.
We already check that positive (i.e. specified by user and not generated by
wx) window ids are in 0..SHRT_MAX range. Now do the same for the menu ids as
ids outside of this range suffer from the same problem under MSW: they get
wrapped and become negative when we receive events for them.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64226 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-06 12:40:18 +00:00
Vadim Zeitlin
394cfde3cf Recurse upwards the menu hierarchy in wxMenu::GetWindow().
Only the top level menus have non-NULL wxMenuBar pointer too, so recurse
upwards the menu hierarchy in GetWindow() and not (just) GetInvokingWindow().

This fixes event processing for submenus broken by the recent changes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64135 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-24 20:39:39 +00:00
Vadim Zeitlin
1aecefa501 A slightly better compilation fix after PCH-less build breakage in r64126.
Include wx/frame.h header instead of casting wxFrame to wxWindow using C style
cast. Although this does work now and probably will work later too it seems
better to not use the cast nevertheless.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64130 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-24 16:59:09 +00:00
Paul Cornett
9a4a080711 non-pch build fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64128 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-24 14:40:58 +00:00
Vadim Zeitlin
7739f9c947 Use wxMenu::GetWindow() instead of GetInvokingWindow() in SendEvent().
This simplifies the code as we don't need to walk the menu hierarchy upwards
any more (GetInvokingWindow() does it now) and also makes it work for all
menus, not just the popup ones.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-24 15:07:55 +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
e3f5caa223 Return correct invoking window for submenus of a popup menu.
SetInvokingWindow() is only called for the top menu being popped up itself but
the invoking window should also be associated with its submenus.

Modify GetInvokingWindow() to return the parents invoking window for submenus.

This fixes a crash due to returning NULL from wxMenu::GetWindow() in wxMSW
owner-drawn code.

And it also makes redundant some code in wxUniversal wxMenu implementation
which can now simply use GetInvokingWindow() in all cases.

Closes #11957.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64104 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-22 11:21:35 +00:00
Vadim Zeitlin
b871bb951a Check for menu title being non-empty when appending it to the menu bar.
It doesn't make sense to add a menu with empty title to the menu bar so assert
that the title is not empty and fail to add the menu if it is.

See r64033 in wxQT branch.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64058 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-20 11:59:46 +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
d3b9f782ef don't use annoying and unneeded in C++ casts of NULL to "T *" in all other files neither
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-19 13:55:27 +00:00
Vadim Zeitlin
9cd28f4815 allow creating items without parent menus (#3425)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-22 14:47:40 +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
3fd7b18a61 remove redundant WX_CLEAR_LIST, it's done by base dtor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51362 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-24 18:13:12 +00:00
Vadim Zeitlin
d9df421aae no real changes, just use HandleWindowEvent() instead of GetEventHandler()->SafelyProcessEvent() in the last change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51352 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-23 23:03:40 +00:00
Václav Slavík
147e8ebc05 catch exceptions when sending menu events
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51350 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-23 22:31:04 +00:00
Vadim Zeitlin
e2f3bc4110 some Hildon integration work: use HildonProgram (for integration with the OS), HildonWindow (which has native appearance) and more native-like menus
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49841 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-12 00:25:09 +00:00
Vadim Zeitlin
0edeeb6d96 use wxWindow::NewControlId() instead of wxNewId() to avoid clashes with user-defined ids; bug fixes in wxMSW for negative menu and toolbar items ids
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48840 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-20 22:58:55 +00:00
Julian Smart
c4e43bea7b GetLabelTop should return the stripped label, for compatibility.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48050 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-13 15:32:08 +00:00
Julian Smart
68bc148cac Compile fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48025 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-11 18:39:49 +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
Vadim Zeitlin
c36d477458 extracted wxAcceleratorEntry code from menucmn.cpp in a separate file (this globally makes sense and also fixes link when wxUSE_MENUS==0)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45855 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-05 22:03:27 +00:00
Vadim Zeitlin
88f67c2242 test for special keys first, before testing for alphanumeric ones as even keys such as WXK_F2 can be recognized as alnum in some locales, in ToString() (modified patch 1669197; bug 1620758)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44667 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-07 23:40:22 +00:00
Robin Dunn
f24b783af3 Revert menus and toolbars to using wxNewId() too since their IDs can't
be negative either


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44275 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-01-21 06:43:59 +00:00
Vadim Zeitlin
9249d38d6e use wxWindow::NewControlId() instead of wxNewId() to avoid clashes with the user-defined ids
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44243 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-01-18 14:15:54 +00:00
Robin Dunn
97b2445934 It is not "Invalid" to have a menu item without an accelerator, so
don't be noisy about it.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41074 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-08 20:04:15 +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
Vadim Zeitlin
90527a50d7 use (new) wxAcceleratorEntry::Create() instead of recently deprecated wxGetAccelFromString()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41013 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-04 23:56:56 +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
Vadim Zeitlin
eeee4050cf correct i18n problems in accel handling code (replaces patch 1465417; closes bug 1464912) and a lot of cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38884 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-24 00:56:24 +00:00
Włodzimierz Skiba
faa94f3ec8 Final and global PRIOR/NEXT change: keep consistency using only PAGE versions, deprecate old ids, remove rest of build problems with case statemets.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38380 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-27 12:25:17 +00:00
David Surovell
4d53859584 minor refactoring of menu UpdateUI handling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36296 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-30 07:59:38 +00:00
Włodzimierz Skiba
0ad966eeac Allow translated 'Space' in menu accelerators (perhaps more entries should allow it).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-10-21 19:06:45 +00:00
Vadim Zeitlin
259c43f679 more extra semicolons removed (patch 1303724)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35673 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-25 11:16:57 +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
Michael Wetherell
eb76ad0b3b Remove duplicate code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35231 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-08-19 13:24:38 +00:00
Włodzimierz Skiba
7448de8d8d [1231183] 'cleanup: mismatched indentation' and other cleanings.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34914 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-07-22 17:08:42 +00:00
Włodzimierz Skiba
902725eefe Source cleaning inspired by and included in patch '[ 1215450 ] cleanup: unreachable code.'
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34548 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-06-06 16:47:04 +00:00
Robert Roebling
bbcd40851c Add conversion to and from menu hotkeys and
their GTK pendants.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-21 16:05:29 +00:00
Ryan Norton
d161e2f39a use atoi instead of sscanf
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33733 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-18 21:24:03 +00:00
Włodzimierz Skiba
525d858363 Last .empty() string source cleaning before 2.5.4.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31705 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-02 13:57:02 +00:00
Julian Smart
7d098cfdd7 Don't return a broken accelerator object if the accelerator was not
recognised.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31331 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-01-12 16:06:13 +00:00
Ryan Norton
0c6099b79e Revert files to previous version that were affected by wxIsXXX((wxChar)X) change. Note - passing a negative value to those c lib functions is undefined, and could return true on platforms using a lookup table, for example (might crash also?), which is what will happen when casting to char to ansii mode and a char is above 127
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30319 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-06 07:09:35 +00:00
Włodzimierz Skiba
32b1391332 Warning fixes to unused variables, int/wxChar keycode and other typecasting, not mixing 'type*' and 'type' variables in single line, IsEmpty to empty replacement etc.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30305 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-05 21:18:04 +00:00
Włodzimierz Skiba
4e32eea148 Source cleaning: whitespaces, tabs, -1/wxDefaultCoord/wxID_ANY/wxNOT_FOUND, TRUE/true, FALSE/false.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29185 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-17 22:23:59 +00:00
Vadim Zeitlin
082006f3ab detach removed submenu from the menubar too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28506 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-07-25 23:13:57 +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