Commit Graph

255 Commits

Author SHA1 Message Date
Chaobin, Zhang
156599ce56 Move taskbar button from wxTopLevelWindowMSW to wxFrame.
Since there are two sub-classes of wxTopLevelWindowMSW: one is wxFrame, the
other is wxDialog. However, wxDialog have no button shown in taskbar on
windows, so the taskbar button feature should be only avaiable in wxFrame.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 08:51:01 +00:00
Chaobin, Zhang
844cdba9d9 APIs for adding a thumbnail toolbar with a specified set of buttons.
- AddThumbBarButton(wxThumbBarButton *button), ShowThumbnailToolbar().
- Add THBN_CLICKED message handler to top level window and generate a
  wxCommandEvent event.
- Sample.

Author: Chaobin Zhang

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77575 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-10 08:47:54 +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
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
Vadim Zeitlin
2b7c7464ad Fix wrong wxStatusBar height in wxMSW in some circumstances.
Creating the status bar before the menu bar but associating it with the frame
after creating the menu bar resulted in a status bar of completely wrong height.
Fix this by enforcing the default height on the status bar when it's attached
to the frame.

Closes #10956.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76417 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-27 22:41:45 +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
bceb01f728 Fix WM_UNINITMENUPOPUP missing definition for VC6.
The previous workaround of defining it explicitly if it's not defined was left
in src/msw/frame.cpp while the code using WM_UNINITMENUPOPUP was moved to
src/msw/toplevel.cpp in r73562. Move the fallback definition there too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73682 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-19 02:58:33 +00:00
Vadim Zeitlin
95316a3f24 Move menu messages handling from wxFrame to wxTLW in wxMSW.
This allows to generate the menu open/close/highlight events correctly for the
popup menus used in the dialogs.

Extend the menu sample with a test using such menus.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73562 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-24 13:48:13 +00:00
Vadim Zeitlin
3ceb10b162 Keep user-set wxFrame background color even if MSW system background changes.
Don't override wxFrame background colour when the system background colour
changes if it was explicitly set by the user.

Closes #14364.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71627 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-01 11:01:31 +00:00
Vadim Zeitlin
525454303e Set the menu itself as event object for EVT_MENU_{OPEN,CLOSED} in wxMSW.
Make wxMSW consistent with the other ports and set the menu itself, not the
window it is attached to, as the event object for the menu open/close events.

See #1595.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71115 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-05 22:27:36 +00:00
Vadim Zeitlin
7cee4f7621 No changes, just implement Raise() in wxTopLevelWindow in wxMSW.
Get rid of two identical implementations in wxFrame and wxDialog and only
override this function once in wxTopLevelWindow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70511 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-05 14:18:22 +00:00
Vadim Zeitlin
102db80fb5 Fix wxFrame::AttachMenuBar() compilation under Windows CE.
There was a typo in GetHwnd() call.

Closes #13848.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70313 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-10 17:01:20 +00:00
Vadim Zeitlin
bde56d09bb Restore wxEVT_MENU_CLOSE generation under Windows 95 after r70151.
WM_UNINITMENUPOPUP is "only" available since Windows 98/2000 so restore the
old code using WM_EXITMENULOOP as fall back, just to avoid any regressions for
people who might still be using these systems.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70156 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-28 17:47:21 +00:00
Vadim Zeitlin
abb8764e32 Compilation fix for VC6 after r70151.
VC6 standard SDK didn't define WM_UNINITMENUPOPUP, so define it for it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70155 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-28 17:32:32 +00:00
Vadim Zeitlin
7f3f059ac5 Complete wxEVT_MENU_{OPEN,CLOSE} implementation in wxMSW and wxOSX.
Set the wxMenu correctly for wxEVT_MENU_CLOSE events in wxMSW.

Set the menu id correctly to allow wxMenuEvent::IsPopup() to work for both
wxEVT_MENU_OPEN and wxEVT_MENU_CLOSE in wxOSX.

Closes #11313.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70151 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-28 13:51:17 +00:00
Dimitri Schoolwerth
a1b806b982 Replaced Ok() occurrences with IsOk() throughout trunk.
Additionally renamed wxOSX' private wxNativePrinterDC::Ok() function to IsOk().

Didn't deprecate the various Ok() functions: given the amount of changes already introduced in 3.0 a trivial one like this seems more suitable for after 3.0.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-03 16:29:04 +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
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
c22bbd087a Use status full, not client, size to determine frame client size in wxMSW.
We need to account for the full size of status bar, including potential
borders, when calculating the client size of the frame containing it.

Closes #12697.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66225 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-22 01:22:30 +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
f6a86afff4 Fix bug with using incorrect negative ids in wxEVT_MENU_HIGHLIGHT events.
wxMSW code implicitly cast ids carried by wxEVT_MENU_HIGHLIGHT events to
unsigned short so that they didn't compare equal to the (signed, negative) ids
of the real menu items. Because of this menu help strings were not shown for
any items with negative ids, i.e. those created using wxID_ANY.

Closes #11977.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64102 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-22 11:21:25 +00:00
Vadim Zeitlin
563f85a956 Set correct toolbar width in wxMSW wxFrame.
The hack introduced in r22410 artificially set wrong size for toolbar under
MSW. This completely breaks any calculations that can be done using it (e.g.
to find the space available for the stretchable part of the toolbar) and is
completely and utterly unexpected.

Revert it, toolbar flicker must be dealt in another way if it is still a
problem.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62848 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-10 02:59: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
Julian Smart
f81140485a Fix for toolbar commands not working
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61214 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-27 12:31:12 +00:00
Vadim Zeitlin
3e603cb713 fix unused parameter warning after r60715
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60716 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-22 19:37:05 +00:00
Vadim Zeitlin
46743ff8e5 don't clear the status bar help text if the wxEVT_MENU_HIGHLIGHT event was processed by user code (see #10822)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60715 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-22 19:25:10 +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
1483e5db8d refactor WM_COMMAND messages handling in MDI frames to avoid duplicating code unnecessarily and generally streamline it; added possibility to use custom menu commands in the "Window" menu and specifying accelerators for them now works too (show this in the sample); finally added standard ids for the MDI window menu commands
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-27 16:47:41 +00:00
Vadim Zeitlin
51181d2911 use a virtual function instead of wxDynamicCast(wxMDIParentFrame) in wxFrame code: this not only makes the code cleaner but should also remove the last dependency on MDI code when linking wx applications not using MDI
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58443 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-26 23:18:47 +00:00
Vadim Zeitlin
c6212a0cb7 set m_isBeingDeleted to true (only) in SendDestroyEvent(); call it as early as possible during the window destruction to ensure that destroy event handlers can still access the full window object
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58246 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-20 18:33:33 +00:00
Vadim Zeitlin
c0a91b519d don't hard code the menu bar height under WinCE (closes #10248)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-17 10:17:23 +00:00
Vadim Zeitlin
dd639a4f27 a couple of more left over Borland unused variable/code warnings fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-20 10:52:17 +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
Vadim Zeitlin
ecdc118383 add PostSizeEvent() and use it in wxMSW status bar code (#9795)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54837 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-29 23:07:24 +00:00
Vadim Zeitlin
5e6014ea91 send the size event in SendSizeEvent() instead of posting it, otherwise we have no way to trigger immediate relayout; if we need delayed version we should add a separate PostSizeEvent()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54804 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-29 12:34:03 +00:00
Vadim Zeitlin
02aa9504bc remove code for drawing icon of minimized window manually, this was only useful under NT 3.51 and earlier among all Win32 systems and I don't think we support that any more
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54499 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-05 20:53:27 +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
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
Václav Slavík
937013e0fd 1. added wxEvtHandler::SafelyProcessEvent() and wxWindow::HandleWindowEvent() to correctly handle exceptions in even handlers in wxGTK
2. use HandleWindowEvent() everywhere as more obvious and convenient shortcut for GetEventHandler()->ProcessEvent(); also for consistency with wxGTK where it's required

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-29 17:00:58 +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
Vadim Zeitlin
a8ff046ba9 fixes for building wxMSW with --disbale-all-features
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47608 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-21 02:05:03 +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
fef0a330e9 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@45236 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-03 11:27:53 +00:00
Vadim Zeitlin
8898842fdc fix warning about unused variable in wxWinCE build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43065 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-04 21:12:31 +00:00
Vadim Zeitlin
8efbb8ad30 fixes for status bar positioning with non-top aligned toolbars
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42846 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-31 13:42:01 +00:00
Vadim Zeitlin
3882e74621 many fixes to toolbar positioning code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42842 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-31 13:11:46 +00:00
Vadim Zeitlin
7a9763046b added wxTB_RIGHT style for right-aligned toolbars (slightly modified patch 1567469)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42645 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-29 19:12:52 +00:00
Robert Roebling
5b2acc3a4f [ 1550698 ] Bottom aligned toolbar
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41268 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-17 11:51:08 +00:00
Robin Dunn
8f62e63351 wxStatusBarGeneric is used directly so the header needs to be included too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41199 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-13 19:01:37 +00:00