Commit Graph

191 Commits

Author SHA1 Message Date
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
6f65a5e1aa Forward events to active child in wxMDIParentFrameBase, not only wxMSW.
Menu, toolbar and update UI events should be forwarded to the active child
under all platforms in MDI applications and not only MSW, so move TryBefore()
overload from wxMSW wxMDIParentFrame to wxMDIParentFrameBase.

This should make things more consistent in general and notably fixes the lack
of toolbar events in wxDocChildFrame since the changes of r73928.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74314 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-29 12:53:44 +00:00
Vadim Zeitlin
015a04705d Also propagate wxEVT_UPDATE_UI to the child MDI frame.
It seems to make sense to handle wxEVT_UPDATE_UI in the same way as wxEVT_MENU
as they are often used together. This allows to handle e.g. toolbar buttons
entirely in the child MDI frame, without any involvement from the parent.

See #14314.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74276 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-23 13:08:41 +00:00
Vadim Zeitlin
57b708aebd Use child MDI frame menu items in preference to the parent frame ones.
Look for the item with the given ID in the child frame menu bar first, before
looking in the parent frame menu bar. This ensures that if an item is disabled
by the parent frame but then reenabled by the child one, it still generates
commands as expected instead of being completely ignored.

See #14314.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74275 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-23 13:08:18 +00:00
Vadim Zeitlin
dcb16c298b Undo "Forward events to active child at MSW, not wx, level in wxMDIParentFrame."
Unfortunately, forwarding MSW messages only takes care of the menu events but
not the toolbar ones -- which should be handled in the same way but were not.

So restore the old behaviour, the problem with menu items disabled in the
parent frame but enabled in the child one will be fixed differently.

This reverts r73927.

See #14314.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74274 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-23 13:07:55 +00:00
Vadim Zeitlin
80dcb89812 Forward events to active child at MSW, not wx, level in wxMDIParentFrame.
We want to handle menu (and toolbar) events in the active MDI child before
handling them in the parent frame itself and the existing code achieved this
by forwarding wxEVT_MENU events at wx event processing level to the active
child. However this was not enough as the underlying MSW WM_COMMAND message
was still sent to the parent frame only and this could result in wx event not
being generated at all if the parent frame had a disabled menu item with the
same ID as (an enabled) item in the child frame, see #14314.

So forward WM_COMMAND directly to ensure that the correct window gets the
event in the first place. And this makes wxEVT_MENU forwarding in TryBefore()
unnecessary.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-04 23:59:51 +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
5af2b4e4fa Make "More windows..." menu item in MDI "Window" menu work in wxMSW.
Don't interpret the commands from this menu item as child window selection.

Closes #3295.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73398 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-20 02:09:31 +00:00
Vadim Zeitlin
0079c032f5 No changes, just reuse a bit of code in wxMSW wxMDIParentFrame.
Call wxMDIChildFrame::Activate() instead of redoing the same thing. This also
ensures that iconized MDI children are restored before being activated (see
previous commit).

See #13946.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72541 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-23 22:49:01 +00:00
Vadim Zeitlin
254dceaaab Restore an iconized MDI child frame when activating it.
Without doing this activating an iconized frame doesn't do anything at all,
i.e. doesn't present it to the user as presumably intended.

Closes #13946.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72540 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-23 22:48:39 +00:00
Vadim Zeitlin
017dc06b50 Use wxString::t_str() in calls to Windows API functions in wxMSW.
Use t_str() instead of wx_str() to make the code work correctly in UTF-8 build
in which wx_str() returns a pointer to UTF-8 buffer while we need a wchar_t
pointer for Windows.

Closes #14371.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71640 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-03 19:16:59 +00:00
Vadim Zeitlin
345c78ca5f Use wxDynamicCast() instead of IsKindOf() checks.
wxDynamicCast() is less verbose (due to the absence of "CLASSINFO") and more
compatible with the standard dynamic_cast<>, so prefer to use it when possible.

See #14356.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-01 11:01:18 +00:00
Vadim Zeitlin
679dc4e813 Attach MDI "Window" menu to the parent frame menu bar in wxMSW.
This makes sense and fixes the regression with "Window" menu commands not
being processed any more after the changes of r71114.

Closes #14207.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71388 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-09 14:24:23 +00:00
Dimitri Schoolwerth
4c51a665c6 Fixed various typos.
Applied patch by snowleopard2 fixing a bunch of typos such as misspellings and double words in the documentation. Combined the patch with some local queued typos waiting to be committed as well as adding new typo fixes inspired by the patch.

Function names with American spelling were not changed nor was third-party code touched. The only code changes involve some changes in strings that are translated ("Can not" -> "Cannot").

Closes #13063 (again).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-22 14:17:38 +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
396e9eb8e2 Add wxWindow::ProcessWindowEventLocally() and use it in wxMSW MDI code.
Add ProcessWindowEventLocally() which wraps ProcessEventLocally() in the same
way as ProcessWindowEvent() wraps ProcessEvent(). I.e. it allows to process
the event in this window only, without propagating it upwards, but taking into
account any event handlers associated with it.

Use the new method in wxMDIParentFrame code in wxMSW to ensure that event
handlers pushed on MDI children frames are taken into account. Add a test for
this to the MDI sample.

Closes #11225.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64262 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-09 14:55:33 +00:00
Vadim Zeitlin
4f42c05a1a Restore default WM_ERASEBKGND handling for wxMDIParentFrame.
We pretended that we erased the background ourselves but actually we did not.
Just let DefWindowProc() do whatever it does by default to fix the problem
with wrong toolbar background colour since r62971.

Also removed the unused and unneeded WM_SIZE handler as well.

Closes #11607.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63104 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-09 17:57:52 +00:00
Vadim Zeitlin
0fd2ecfed3 Initialize wxMDIParentFrame::m_accelWindowMenu in default ctor.
If wxMDIParentFrame object was created without its Create() ever being called,
it crashed in its dtor trying to delete an uninitialized pointer, so do
initialize it to NULL in all ctors (via a helper Init() method, as usual).

Closes #11216.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61986 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-21 08:44:42 +00:00
Vadim Zeitlin
bc2fe7b204 Compilation fix for wxUSE_INTL==0 in wxMSW MDI code.
Using wxGetTranslation().wx_str() doesn't work when wxUSE_INTL==0.

Closes #11142.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61763 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-26 20:43:53 +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
43b2d5e7c3 Put braces around all calls to wxLogFunctions() inside an if statement.
This suppresses all the remaining g++ -Wparentheses warnings and uses consistent style everywhere.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61475 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-20 16:47:54 +00:00
Vadim Zeitlin
0598625cb2 don't add client area origin when positioning the child MDI frame
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60838 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-31 13:22:45 +00:00
Vadim Zeitlin
4b6a582bef replace more __WXDEBUG__ occurrences with wxDEBUG_LEVEL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-22 12:53:48 +00:00
Vadim Zeitlin
f4be5cd0bf restore passing WM_COMMAND messages for SC_XXX commands to DefFrameProc() in wxMDIParentFrame::MSWWindowProc() accidentally removed in previous changes; removed doing this for WM_SYSCOMMAND in wxMDIChildFrame as this does seem to be unnecessary
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59446 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-09 13:05:40 +00:00
Vadim Zeitlin
8cc208e39f deprecate the old TryValidator/Parent() and replace them with the new and documented TryBefore/After()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59164 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-26 16:16:31 +00:00
Vadim Zeitlin
cd60273b3d override TryValidator() in wxMDIParentFrame to implement forwarding of menu/toolbar events to the active child at wx level instead of forwarding the WM_COMMAND itself: this is better as it prevents the same event from being passed twice to wxApp fall back if a handler exists in the child frame but skips the event and also because the code is portable now and can be moved down to the base class; also call the base class TryValidator() from wxDocMDI classes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59162 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-26 15:24:03 +00:00
Vadim Zeitlin
e61f95ea78 don't crash if we have no accelerators for the "Window" menu items
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58493 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-29 12:51:38 +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
838e6ed707 no real changes, just small cleanup, in particular use more consistent variable names
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58477 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-28 09:01:44 +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
7e6d684052 add more wxUSE_MENUS guards
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58447 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-26 23:38:08 +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
6125428d54 disable the "Next" and "Previous" commands in the window menu if we have a single child only; update the copyright
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58440 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-26 22:55:25 +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
d9698bd4ac cleanup the Win32 window classes registration code: remove global variables and register the window classes we use on demand to avoid registering MDI or GL classes unnecessarily
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57030 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-29 22:19:55 +00:00
Vadim Zeitlin
d2824cdb7f Review/simplify/cleanup MDI classes for all platforms and introduce base
classes for wxMDI{Parent,Child}Frame and wxMDIClientWindow.

Also use generic MDI implementation for wxMotif as it seems to be more
functional and definitely is more maintained (we probably should use the
generic version for wxGTK too).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56674 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-04 02:46:19 +00:00
Vadim Zeitlin
ecc63060e7 show the "Window" menu only when we have any MDI children, it's unnecessary otherwise; some minor formatting/comments changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-04 12:47:53 +00:00
Vadim Zeitlin
6ad7799c0b don't use deprecated wxIconizeEvent::Iconized()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-24 23:42:43 +00:00
Vadim Zeitlin
8a0dce9cd0 fix handling of the commands with negative ids (e.g. created by NewControlId()) in MDI frames
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53633 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-17 23:53:11 +00:00
Vadim Zeitlin
936f635341 rename fobr95.{cpp,h} files to foobar.{cpp,h}
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52551 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-15 16:53:06 +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
55ae15512c add GetMDIParent() and use it to reduce the number of casts in the MDI code (patch 1885462)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51622 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-09 23:37:07 +00:00
Vadim Zeitlin
cf2810aa39 use wxWindowIDRef to transparently implement auto-generated ids ref-counting (slightly modified patch 1835458)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51035 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-06 14:38:44 +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
6756a5f8ee return int from wxGetWindowId(), not WORD, to ensure comparing it with wxWindowID elsewhere works correctly even for negative ids
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50181 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-23 02:03:15 +00:00
Václav Slavík
e0a050e347 more changes to make wx compile without implicit wxString->char* conversion (for STL build)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46553 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-20 07:44:45 +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
0d7c4404ac don't give debug messages about WM_MDISETMENU failure if there was no error
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46111 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-18 16:33:10 +00:00
Vadim Zeitlin
b38e5da178 don't dereference NULL parent in wxMDIChildFrame dtor if it hadn't been really created
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46110 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-18 16:27:25 +00:00
Vadim Zeitlin
3e85709e97 fix wxMDIChidFrame::GetPosition() (patch 1626610)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44127 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-01-07 16:42:00 +00:00