added wxWindow::HasFocus() for more convenient way of determining if a (possibly composite) window has focus
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51308 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -276,6 +276,7 @@ All (GUI):
|
||||
Also made it easier to derive from wxWizard and override behaviour.
|
||||
- Made wxSizer::Fit() set the client size of the target window
|
||||
- Add support for wxDatePickerCtrl in wxGenericValidator (Herry Ayen Yang)
|
||||
- Added wxWindow::HasFocus().
|
||||
|
||||
wxGTK:
|
||||
|
||||
|
@@ -624,7 +624,8 @@ Note that this is a static function, so it can be called without needing a wxWin
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxWindow::SetFocus}{wxwindowsetfocus}
|
||||
\helpref{wxWindow::SetFocus}{wxwindowsetfocus},
|
||||
\helpref{wxWindow::HasFocus}{wxwindowhasfocus}
|
||||
|
||||
|
||||
|
||||
@@ -1556,6 +1557,18 @@ extra styles.
|
||||
Returns \texttt{true} if the window has the given \arg{flag} bit set.
|
||||
|
||||
|
||||
\membersection{wxWindow::HasFocus}\label{wxwindowhasfocus}
|
||||
|
||||
\constfunc{virtual bool}{HasFocus}{\void}
|
||||
|
||||
Returns \true if the window (or in case of composite controls, its main
|
||||
child window) has focus.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{FindFocus}{wxwindowfindfocus}
|
||||
|
||||
|
||||
\membersection{wxWindow::HasMultiplePages}\label{wxwindowhasmultiplepages}
|
||||
|
||||
\constfunc{virtual bool}{HasMultiplePages}{\void}
|
||||
@@ -3083,8 +3096,9 @@ This sets the window to receive keyboard input.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxFocusEvent}{wxfocusevent}
|
||||
\helpref{wxPanel::SetFocus}{wxpanelsetfocus}
|
||||
\helpref{HasFocus}{wxwindowhasfocus},
|
||||
\helpref{wxFocusEvent}{wxfocusevent},
|
||||
\helpref{wxPanel::SetFocus}{wxpanelsetfocus},
|
||||
\helpref{wxPanel::SetFocusIgnoringChildren}{wxpanelsetfocusignoringchildren}
|
||||
|
||||
|
||||
|
@@ -620,6 +620,11 @@ public:
|
||||
|
||||
static wxWindow *DoFindFocus() /* = 0: implement in derived classes */;
|
||||
|
||||
// return true if the window has focus (handles composite windows
|
||||
// correctly - returns true if GetMainWindowOfCompositeControl()
|
||||
// has focus)
|
||||
virtual bool HasFocus() const;
|
||||
|
||||
// can this window have focus in principle?
|
||||
//
|
||||
// the difference between AcceptsFocus[FromKeyboard]() and CanAcceptFocus
|
||||
|
@@ -2733,6 +2733,13 @@ void wxWindowBase::DoMoveInTabOrder(wxWindow *win, WindowOrder move)
|
||||
return win ? win->GetMainWindowOfCompositeControl() : NULL;
|
||||
}
|
||||
|
||||
bool wxWindowBase::HasFocus() const
|
||||
{
|
||||
wxWindowBase *win = DoFindFocus();
|
||||
return win == this ||
|
||||
win == wxConstCast(this, wxWindowBase)->GetMainWindowOfCompositeControl();
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// global functions
|
||||
// ----------------------------------------------------------------------------
|
||||
|
Reference in New Issue
Block a user