Commit Graph

78 Commits

Author SHA1 Message Date
Vadim Zeitlin
5e61689dbf Fix regression with MDI children accelerators
Since the changes of 8034e35391 (see #16870)
accelerators, including the standard ones such as Ctrl-F4 under MSW, didn't
work any longer inside the MDI children.

Fix this by extending IsTopNavigationDomain() to allow for checking whether
the given window should stop propagation of all keyboard events, as wxTLW
does, or only TAB navigation ones as wxMDIChildFrame and wxAuiFloatingFrame
do.
2016-02-28 01:24:20 +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
62e17153c2 Fix exit on last TLW logic after the change of r75633.
The changes in this revision meant to prevent the closure of transient dialogs
from quitting the application (see #15880) prevented any application using AUI,
including the aui sample, from exiting as the AUI utility frames deleted
during the main frame destruction were returning false from their
IsLastBeforeExit() now.

Fix this by relaxing the check and ignoring the parent if it is already being
deleted anyhow -- in this case there is no danger of closing it accidentally.

Closes #15894.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-20 14:44:55 +00:00
Vadim Zeitlin
55759171de Avoid automatically closing parent frame if a child dialog was closed.
This counterintuitive behaviour could happen when a dialog of a frame
returning false from its ShouldPreventAppExit() was closed: if there were no
other TLWs in the application, then the parent frame could be closed as well,
even if this clearly shouldn't happen.

See #15880.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75633 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-16 21:44:47 +00:00
Vadim Zeitlin
32dc4cc8db Avoid crashes when deleting owned top level windows.
Don't delay the TLW destruction if it has a parent and its parent is already
being deleted: we can't delay the inevitable in this case and only succeed in
making the program crash if we try.

Closes #15743.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75447 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-29 00:01:33 +00:00
Vadim Zeitlin
0eae308634 Fix crash when Destroy()-ing a TLW with a non-TLW parent.
Generalize the code in wxTopLevelWindowBase dtor checking for the children of
the TLW being destroyed pending for deletion themselves to work when the child
TLW is an indirect child, i.e. was created with a child window of this TLW as
parent and not this TLW itself.

Closes #15743.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-03 14:53:56 +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
5f9f6b4742 Don't lay out the window being destroyed unnecessarily.
This is just a small optimization: it's useless to waste time on redoing the
layout of a window that is going to be destroyed soon anyhow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72403 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-08-30 20:20:20 +00:00
Vadim Zeitlin
9023040798 Replace wxControlContainer-related macros with wxNavigationEnabled<>.
Simply inherit classes which need to provide TAB navigation among their
children from wxNavigationEnabled<> and remove the now unnecessary
WX_DECLARE_CONTROL_CONTAINER() macros.

Also remove WX_INIT_CONTROL_CONTAINER(), WX_DELEGATE_TO_CONTROL_CONTAINER()
and WX_EVENT_TABLE_CONTROL_CONTAINER() which are not needed neither any more.

And remove the event tables which became empty after removing the last macro.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68366 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-24 22:19:33 +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
ca67f0d859 Correct test for parent being on screen in wxTLW::DoCentre().
The old test was needlessly complicated, didn't take all cases into account
and had a typo in it which prevented it from working in half of the cases
which it did [try to] take into account.

Correct this by simply checking if the parent rectangle intersects the visible
display area at all.

Also simplify the code a little by checking for the window being maximized
from the beginning as centering a maximized window on either screen or parent
is a no-op.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63171 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-18 00:28:53 +00:00
Stefan Csomor
3ec9ba039f on iPhone default is to cover entire screen
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61995 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-21 13:11:26 +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
5c33522fca replace wx_{const,static,reinterpret}_cast with their standard C++ equivalents
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 02:39:52 +00:00
Robert Roebling
3e040a2981 Use wxWindowRef to hold pointer to default button
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53773 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-27 08:53:48 +00:00
Vadim Zeitlin
75454d243d fix window rectangle computation in Centre(wxCENTER_ON_SCREEN)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53617 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-17 12:56:18 +00:00
Vadim Zeitlin
9d272435b8 remove duplicate end iterator declaration from Destroy()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52312 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-04 12:06:40 +00:00
Vadim Zeitlin
18868d62a2 don't hide the TLW being deleted unless there any other *visible* TLWs remaining (bug 1902632)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52142 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-27 14:49:46 +00:00
Vadim Zeitlin
ef37a43194 destroy TLW children pending for deletion from ~wxTLW to avoid leaving them with dangling parent pointer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47762 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-27 23:16:25 +00:00
Václav Slavík
049908c573 make wxFrame a wxControlContainer too, so that it behaves in the same way as wxDialog
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46452 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-13 16:29:23 +00:00
Vadim Zeitlin
49c9d05986 removed unneeded duplication of DoSetSizeHints() in wxTLWBase (as wxWindow version already does the same thing) and made wxTLW::SetMin/MaxSize() implementation less verbose
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45771 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-03 00:25:46 +00:00
Vadim Zeitlin
4745f3c6ae really ensure that the window being centered is fully visible (fixes bug reported in patch 1683239); also place it on the same display as its parent, if any
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-22 23:07:28 +00:00
Vadim Zeitlin
ea098413d0 made wxTLW::SetIcon() non-virtual, it was already implemented in terms of
SetIcons() in most of the ports, now do it in all of them


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45322 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-07 23:40:55 +00:00
Vadim Zeitlin
f8ab85ae72 handle child destruction notifications in wxTLW itself and reset both normal and temporary default item pointers when the default window is destroyed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45275 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-06 19:22:38 +00:00
Vadim Zeitlin
ca08b543ec don't offset the window being centered more than strictly necessary for it to be on screen (replaces patch 1683239)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44971 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-20 12:56:53 +00:00
Vadim Zeitlin
cd8667eb80 removed wxGTK-specific 2 pixel border around the window which is the sole child of a wxTLW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43800 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-12-04 14:30:11 +00:00
Vadim Zeitlin
98018a4b05 limit TLW size to display size in wxSizer::Fit() instead of doing it in wxTLW::GetMaxSize(), this allows creating or manually resizing TLWs to be larger than the display while still avoiding making them too big by default
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43617 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-23 17:50:52 +00:00
Robert Roebling
cda5834e9d Moved overridden SetMinSize() to base class.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42719 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-30 13:25:00 +00:00
Vadim Zeitlin
20aeaa203c avoid infinite recursion by not using GetMaxWidth/Height() from GetMaxSize() implementation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42671 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-29 21:10:12 +00:00
Robert Roebling
9379c0d752 Make wxWindow::SetSizeHints() do nothing.
Make wxTLW::SetSizeHints() set the various m_minWidth etc. fields.
  Override SetSizeHints() in wxGTK to call the relevant gtk funcion
    only there and not in every resize.
  Make GetMinWidth() etc. non-virtual.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42646 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-29 19:17:00 +00:00
Václav Slavík
22a35096a0 renamed wxRect::Inside() to wxRect::Contains(), wxRect::Inside(wxRect) is too confusing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41198 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-13 17:12:25 +00:00
Paul Cornett
6934602337 don't set negative window size
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41080 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-09 02:42:48 +00:00
Vadim Zeitlin
6c20e8f816 move default button handling code from wxControlContainer to wxTLW (patch 1524441)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40307 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-25 01:31:13 +00:00
Włodzimierz Skiba
1832043f93 Include wx/toplevel.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39701 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-13 20:44:51 +00:00
Vadim Zeitlin
d3cd1c03a3 only take into account visible children in DoLayout()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39031 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-04 16:12:18 +00:00
Włodzimierz Skiba
979a0320b0 wxTLW::IsAlwaysMaximized() introduction.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38942 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-27 17:18:46 +00:00
Vadim Zeitlin
65afac3fbc added wxTLW::ShouldPreventAppExit() which can be overridden to allow closing the application even if some windows are still opened; use it for wxHtmlHelpFrame
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38607 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-07 00:38:49 +00:00
Włodzimierz Skiba
cca1624d2a Centering maximized wxTLWs on screen should do nothing.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38300 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-23 13:00:06 +00:00
Vadim Zeitlin
262a153683 don't put the window off screen when centering it (if possible); also don't centre on the parent if the parent is entirely off screen (should fix centering on the MDI parent frame under Mac)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38157 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-17 00:04:13 +00:00
Vadim Zeitlin
5a63a0f10a fixed centering of a TLW on a non-TLW parent
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38072 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-14 15:59:32 +00:00
Vadim Zeitlin
a3a4105df6 it is not possible to show/hide the window from the UpdateUI event handler; refactored the code by moving control-specific parts into the derived classes (patch 1338350)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37536 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-12 16:32:50 +00:00
Vadim Zeitlin
1f464296de fixed centering of top level windows on secondary displays (replaces patch 1267173)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37436 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-10 00:02:06 +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
f58585c091 renamed wxMotif::wxTLW::DoCreate() to XmDoCreateTLW() to avoid conflicts with
DoCreate()s in derived classes and removed DoDestroy() entirely because there
was really no advantage in having it (it can't be called fom base class dtor)

also made XmDoCreateTLW() pure virtual which required changing
IMPLEMENT_DYNAMIC_CLASS into IMPLEMENT_ABSTRACT_CLASS for wxTopLevelWindow in
common code but this made sense anyhow because wxTLW should be an ABC anyhow


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-14 14:36:02 +00:00
David Elliott
0bba37f51d Fix centering of top-level children of wxMDIParentFrame on Mac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30706 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-22 20:10:53 +00:00
Vadim Zeitlin
5e62d4a5c7 extracted OnSize() body in a new DoLayout() method so that it can be called from wxFrame::SetXXXBar()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-10-01 01:46:14 +00:00
Włodzimierz Skiba
cb719f2e29 Source cleaning: whitespaces, tabs, -1/wxID_ANY/wxNOT_FOUND/wxDefaultCoord, TRUE/true, FALSE/false, !!/!IsEmpty().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29285 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-23 18:20:56 +00:00
Włodzimierz Skiba
447fd332c8 Warning fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29050 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-08 11:18:10 +00:00
Vadim Zeitlin
9b59c95b38 added wxTopLevelWindow::RequestUserAttention(); documented it and implemented it for MSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29048 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-08 09:53:46 +00:00