Commit Graph

116 Commits

Author SHA1 Message Date
PB
f57f214122 Remove BCC-specific hdrstop pragma from everywhere 2020-10-12 21:58:37 +02:00
Stefan Csomor
68ee7ffa2a Add wxUSE_MENUBAR build option, off by default in wxiOS
Allow building without wxMenuBar (but with wxMenu), as this class
doesn't exist and can't be reasonably implemented under iOS (but
wxMenu can and should be, as it's widely used in iOS 14 UI).
2020-07-14 18:16:59 +02:00
Vadim Zeitlin
c74a15eded Call wxTopLevelWindow::Layout() rather than DoLayout()
Ideal would be to completely get rid of the DoLayout() method later,
however this method seems to be used in the existing applications, so
for now it needs to be kept.
2019-08-22 14:04:54 +02:00
Vadim Zeitlin
152b9fc0eb Fix sending of wxEVT_UPDATE_UI events when wxUSE_STATUSBAR==0
wxFrameBase code unintentionally excluded the function generating
wxUpdateUIEvents for the menus from compilation when wxUSE_STATUSBAR was
turned off.

Move OnMenuOpen() out of #if wxUSE_STATUSBAR section to ensure that it's
compiled whenever wxUSE_MENUS==1.

Closes #17553.
2016-06-04 21:59:36 +02:00
Vadim Zeitlin
f74379c751 Avoid duplicate wxEVT_UPDATE_UI for popup menus
Don't call wxMenu::UpdateUI() explicitly in wxMSW, wxGTK and wxOSX code before
showing the popup menu as it is also called when any menu is opened from
port-independent wxFrameBase wxEVT_MENU_OPEN handler, resulting in two events
being generated.

But also don't send the events from wxFrameBase handler only to the frame
itself, by explicitly passing "source" argument to wxMenu::UpdateUI(), as this
prevented the event from being sent to the window popping up the menu. By just
omitting this parameter we ensure that this event is sent to the right window.

Closes #17352 (but notice that there are still duplicate events under OS X,
see #17354).
2016-01-30 17:35:42 +01:00
Tobias Taschner
8282c1be0f Remove Windows CE support
Windows CE doesn't seem to be supported by Microsoft any longer. Last CE
release was in early 2013 and the PocketPC and Smartphone targets supported by
wxWidgets are long gone.

The build files where already removed in an earlier cleanup this commit
removes all files, every #ifdef and all documentation regarding the Windows CE
support.

Closes https://github.com/wxWidgets/wxWidgets/pull/81
2015-09-23 00:52:30 +02:00
Dimitri Schoolwerth
8f8d58d193 Use wx-prefixed macros throughout the repository.
Change {DECLARE,IMPLEMENT}_*CLASS and {DECLARE,BEGIN,END}_EVENT_TABLE
occurrences to use the wx-prefixed version of the macros.
2015-04-23 22:00:35 +04:00
Vadim Zeitlin
a8e0d97e0e Skip the menu events in wxFrameBase handlers.
While wxFrame may process these events for its own purposes, it shouldn't
prevent the user-defined fall back handlers for them (e.g. at wxApp level)
from running.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78053 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-20 22:06:46 +00:00
Vadim Zeitlin
e1655f5394 Stop duplicating wxFrame dtor in all ports.
wxGTK1, wxGTK, wxMSW and wxOSX all did the same thing in their wxFrame dtor,
so just do it in wxFrameBase instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76804 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-02 13:28:29 +00:00
Paul Cornett
967a94c91a remove WXWIN_COMPATIBILITY_2_6, add WXWIN_COMPATIBILITY_3_0
closes #15792

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-04 20:07:33 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
ce7fe42e84 Provide shorter synonyms for wxEVT_XXX constants.
Use the same short names as are used by the event table macros for the event
type constants themselves. This makes them much more comfortable to use, e.g.
Bind(wxEVT_BUTTON) compared to Bind(wxEVT_COMMAND_BUTTON_CLICKED).

The old long names are still kept for backwards compatibility and shouldn't be
removed as it doesn't really cost anything to continue providing them, but all
new event types should only use the short versions.

Closes #10661.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-25 10:11:03 +00:00
Vadim Zeitlin
f75b1bd31c Make wxToolBar styles consistent and add wxTB_DEFAULT_STYLE.
Don't include wxBORDER_NONE in neither wxToolBar ctor and Create() nor
wxFrame::CreateToolBar() flags parameter, override GetDefaultBorder() in
wxToolBar itself instead to use the border style appropriate for the current
platform by default. This has the same effect -- the default border style is
used unless another one is explicitly specified -- but is more clear and
consistent.

Also add wxTB_DEFAULT_STYLE for consistency with the other classes.

Closes #15037.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-31 01:12:27 +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
Jouk Jansen
baf60823a6 Do not use GTKIsUsingGlobalMenu when compiled against gtk1.x
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73057 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-29 07:00:39 +00:00
Paul Cornett
7968b5c4c5 non-pch build fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73011 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-25 02:30:08 +00:00
Vadim Zeitlin
e758b8f741 Use idle time menu updating when using global menu bar in wxGTK.
We don't get wxEVT_MENU_OPEN events when using the global menu bar so don't
rely on them for updating the menu items status and fall back to idle time
menu updating if the global menu bar is used.

This required changing wxUSE_IDLEMENUUPDATES tests from compile- to run-time
ones.

Closes #14302.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73009 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-25 00:15:49 +00:00
Stefan Csomor
7d5b794ce4 guard XTI
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71766 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-14 21:47:52 +00:00
Vadim Zeitlin
4936c09982 Reuse wxMenu::SendEvent() from wxFrameBase::ProcessCommand().
Not only this avoids code duplication but it also fixes wrong code in
wxFrameBase version as it set the event object incorrectly to the frame itself
instead of setting it to the menu.

Added event object check to the menu events unit test.

Closes #1595.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71114 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-05 22:27:32 +00:00
Vadim Zeitlin
1ff3e9aae5 Use wxFrame::FindItemInMenuBar() in ProcessCommand().
Don't duplicate FindItemInMenuBar() code in ProcessCommand() and, more
importantly, use the overridden version of FindItemInMenuBar() in MDI parent
frame in wxMSW to allow using ids corresponding to the active child frame menu
items.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71112 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-05 22:27:26 +00:00
Vadim Zeitlin
e23e368bc4 Fix int field of wxCommandEvents generated by menu items in wxMSW.
Set the int field of wxCommandEvent generated by clicking on the menu items
correctly for not checkable items: it is supposed to be -1 and not 0 (which is
the value for checkable but currently unchecked items). This was already the
case for wxGTK and wxOSX and implied by the comments in the code.

Make wxMSW behave like this too and clearly document this behaviour.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69101 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-09-16 13:23:14 +00:00
Paul Cornett
f313deaa38 move variable definitions to more appropriate places, remove now-empty src/common/datacmn.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66592 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-05 18:27:58 +00:00
Stefan Csomor
2895324520 merging back XTI branch part 2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66555 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-04 08:31:53 +00:00
Vadim Zeitlin
5276b0a53c Use wxDELETE() and wxDELETEA() when possible.
Use wxDELETE[A]() functions which automatically NULL out their arguments after
deleting them instead of doing it manually.

Closes #9685.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 18:18:23 +00:00
Vadim Zeitlin
29c7962a9f Use symbolic names for popup menu ids in wxEVT_MENU_HIGHLIGHT events in wxMSW.
No real changes, just use wxID_NONE instead of hardcoded -1 (in one place) and
-3 (in another one). Hardcoding them not only made the code less readable but
also resulted in two numbers actually becoming different when they almost
certainly were meant to be the same.

This shouldn't result in any changes in the user-visible behaviour but we now
avoid searching the menu bar for menu items with id of -1 needlessly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64103 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-22 11:21:30 +00:00
Vadim Zeitlin
62f6be4448 Ensure that frame is re-laid out when its toolbar is deleted.
The code in wxFrameBase::SetToolBar() didn't work correctly when toolbar was
unset using SetToolBar(NULL) because the frame toolbar pointer was reset
before layout was done resulting in the frame not recognizing its (still
existing) toolbar child as one of its bars and so nothing was done at all when
the frame had a single child, as in the toolbar sample.

Correct this by carefully ensuring that the toolbar pointer is still set at
the moment of the layout but hide the toolbar to ensure that no place is
allocated for it.

Also mention that it is not necessary to call SetToolBar(NULL) at all if the
toolbar is being deleted anyhow in the sample as toolbar does this itself in
its destructor.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63007 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-28 16:18:37 +00:00
Vadim Zeitlin
f0f03f3242 Don't overwrite status message when restoring it if it changed.
wxFrameBase::DoGiveHelp() could rewrite the status bar message if it was
changed while the menu was showing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61626 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-06 00:21:16 +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
79f9ea0541 remove the recently added MSWFindMenuBarItem() as we already had FindItemInMenuBar() for the same purpose; just change the latter to return a non-const pointer; this fixes help string display in the status bar for the window menu items
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58478 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-28 09:14:07 +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
a22895511a make code dealing with wxUSE_IDLEMENUUPDATES a bit more clear and avoid warning due to use of this constant in logical boolean expression
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56773 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-14 23:26:55 +00:00
Vadim Zeitlin
0dba08dd39 move SendSizeEvent() down to wxWindow from wxFrame; added SendSizeEventToParent() helper
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54803 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-29 12:32:47 +00:00
Vadim Zeitlin
a6ac49b198 avoid duplicating wxWindow::HandleCommand() in wxFrame, only handle the commands for the frame menu bar elements there: this avoid generating duplicate events if a command event handler skips
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54498 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-05 20:51:16 +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
e047f594b6 use HandleWindowEvent() in ProcessCommand(); return the value this function returns instead of returning true unconditionally
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51464 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-30 21:32:17 +00:00
Vadim Zeitlin
3b257996a2 correct typo in last commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49831 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-11 13:08:52 +00:00
Vadim Zeitlin
8d22935dcb unused parameter warning fixes for --disable-all-features build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49829 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-11 12:55:43 +00:00
Vadim Zeitlin
10816efb2c added virtual wxFrame::FindItemInMenuBar(): overriding it in wxMDIParentFrame allows to look for the items in the active child when giving help for the current menu item
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46114 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-18 17:03:38 +00:00
Vadim Zeitlin
722ed5bed5 removed unused statusbar parameter from wxFrameBase::ShowMenuHelp()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46113 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-18 16:44:31 +00:00
Vadim Zeitlin
6d99eb3e37 Undid last commit and restored bool argument to wxFrame::DoGiveHelp() as
removing it could silently break existing user code overriding this function.

Fix the problem with not restoring the original status bar text when the mouse
pointer left the toolbar by simply calling DoGiveHelp() with false as second
parameter only if there was no valid tool under mouse, not if the help string
(for a valid tool) was empty.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45240 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-03 18:04:44 +00:00
Vadim Zeitlin
fa36fe3680 removed second parameter of wxFrame::DoGiveHelp(), the help string is always shown (even if it's empty), not hidden; this hopefully really fixes restoring the previously shown status bar text when the menu is dismissed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45229 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-02 22:00:52 +00:00
Vadim Zeitlin
6af350d428 clear m_oldStatusText after restoring it, otherwise we could restore it again the next time instead of restoring the up-to-date status bar text
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-30 20:06:52 +00:00
Vadim Zeitlin
4cbc928afc restore the old status bar text when DoGiveHelp(false) is called (should fix bug 1340887)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42205 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-21 15:56:24 +00:00
Václav Slavík
f257ac8784 fixed compilation for wxUSE_STATUSBAR w/o wxUSE_MENUS
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40412 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-08-01 12:01:24 +00:00
Stefan Neis
6a17b868de Fixed typos in comments (patch #1515724)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-02 21:40:38 +00:00
Włodzimierz Skiba
3304646d06 Include wx/statusbr.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39646 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-09 09:51:39 +00:00
Włodzimierz Skiba
4e3e485bc8 Include wx/toolbar.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39623 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-07 17:46:13 +00:00
Włodzimierz Skiba
76b49cf49b Include wx/frame.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39045 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-05 08:10:55 +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
Mattia Barbon
dee1a63ff5 Removed WXWIN_COMPATIBILITY_2_2 together with code guarded by it.
Changed default for WXWIN_COMPATIBILITY_2_4 to 0.
  Added WXWIN_COMPATIBILITY_2_6 (defaults to 1).
  Ran build/update-setup-h.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35858 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-10-09 15:48:42 +00:00