From 33b494d643e42a2e2963987cbc3637f4593ea43a Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sat, 20 Apr 2002 13:51:28 +0000 Subject: [PATCH] added wxGetTopLevelParent() git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15217 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/wx/function.tex | 12 ++++++++++++ include/wx/window.h | 4 +++- src/common/wincmn.cpp | 13 ++++++++++++- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/docs/latex/wx/function.tex b/docs/latex/wx/function.tex index f3c4777e4b..33ee4e679e 100644 --- a/docs/latex/wx/function.tex +++ b/docs/latex/wx/function.tex @@ -120,6 +120,7 @@ the corresponding topic. \helpref{wxGetSingleChoice}{wxgetsinglechoice}\\ \helpref{wxGetTempFileName}{wxgettempfilename}\\ \helpref{wxGetTextFromUser}{wxgettextfromuser}\\ +\helpref{wxGetTopLevelParent}{wxgettoplevelparent}\\ \helpref{wxGetTranslation}{wxgettranslation}\\ \helpref{wxGetUTCTime}{wxgetutctime}\\ \helpref{wxGetUserHome}{wxgetuserhome}\\ @@ -2233,6 +2234,17 @@ See also \helpref{wxWriteResource}{wxwriteresource}, \helpref{wxConfigBase}{wxco +\membersection{::wxGetTopLevelParent}\label{wxgettoplevelparent} + +\func{wxWindow *}{wxGetTopLevelParent}{\param{wxWindow }{*win}} + +Returns the first top level parent of the given window, or in other words, the +frame or dialog containing it, or {\tt NULL}. + +\wxheading{Include files} + + + \membersection{::wxLoadUserResource}\label{wxloaduserresource} \func{wxString}{wxLoadUserResource}{\param{const wxString\& }{resourceName}, \param{const wxString\& }{resourceType=``TEXT"}} diff --git a/include/wx/window.h b/include/wx/window.h index 25cb7ad47b..86a38edd76 100644 --- a/include/wx/window.h +++ b/include/wx/window.h @@ -1114,10 +1114,12 @@ WXDLLEXPORT extern wxPoint wxGetMousePosition(); // get the currently active window of this application or NULL WXDLLEXPORT extern wxWindow *wxGetActiveWindow(); +// get the (first) top level parent window +WXDLLEXPORT wxWindow* wxGetTopLevelParent(wxWindow *win); + // deprecated (doesn't start with 'wx' prefix), use wxWindow::NewControlId() inline int NewControlId() { return wxWindowBase::NewControlId(); } #endif // _WX_WINDOW_H_BASE_ -// vi:sts=4:sw=4:et diff --git a/src/common/wincmn.cpp b/src/common/wincmn.cpp index ec06700081..5922d27f4a 100644 --- a/src/common/wincmn.cpp +++ b/src/common/wincmn.cpp @@ -1795,4 +1795,15 @@ void wxWindowBase::ReleaseMouse() GetCapture()); } -// vi:sts=4:sw=4:et +// ---------------------------------------------------------------------------- +// global functions +// ---------------------------------------------------------------------------- + +wxWindow* wxGetTopLevelParent(wxWindow *win) +{ + while ( win && !win->IsTopLevel() ) + win = win->GetParent(); + + return win; +} + -- 2.45.2