X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/958eb28b3fe366611bb23f337cd4859faa5a2537..ca282726be518ce2f214b890dbaafce736f14e36:/interface/wx/window.h diff --git a/interface/wx/window.h b/interface/wx/window.h index 15bc3bd13a..f7d3a31938 100644 --- a/interface/wx/window.h +++ b/interface/wx/window.h @@ -360,11 +360,33 @@ public: container windows. */ virtual bool AcceptsFocusRecursively() const; + + /** + Can this window itself have focus? + */ + bool IsFocusable() const; + + /** + Can this window have focus right now? + + If this method returns true, it means that calling SetFocus() will + put focus either to this window or one of its children, if you need + to know whether this window accepts focus itself, use IsFocusable() + */ + bool CanAcceptFocus() const; + + /** + Can this window be assigned focus from keyboard right now? + */ + bool CanAcceptFocusFromKeyboard() const; + /** Returns @true if the window (or in case of composite controls, its main child window) has focus. + @since 2.9.0 + @see FindFocus() */ virtual bool HasFocus() const; @@ -825,6 +847,12 @@ public: convenient, DoGetBestClientSize() when writing your own custom window class to change the value returned by this public non-virtual method. + Notice that the best size respects the minimal and maximal size + explicitly set for the window, if any. So even if some window believes + that it needs 200 pixels horizontally, calling SetMaxSize() with a + width of 100 would ensure that GetBestSize() returns the width of at + most 100 pixels. + @see CacheBestSize(), @ref overview_windowsizing */ wxSize GetBestSize() const; @@ -1897,6 +1925,18 @@ public: */ void SetOwnBackgroundColour(const wxColour& colour); + /** + Return @true if this window inherits the background colour from its parent. + + @see SetOwnBackgroundColour(), InheritAttributes() + */ + bool InheritsBackgroundColour() const; + + /** + Return @true if a background colour has been set for this window. + */ + bool UseBgCol() const; + /** Sets the font of the window but prevents it from being inherited by the children of this window. @@ -2686,6 +2726,14 @@ public: */ virtual wxLayoutDirection GetLayoutDirection() const; + /** + Mirror coordinates for RTL layout if this window uses it and if the + mirroring is not done automatically like Win32. + */ + virtual wxCoord AdjustForLayoutDirection(wxCoord x, + wxCoord width, + wxCoord widthTotal) const; + /** Returns the window's name. @@ -3223,6 +3271,12 @@ public: */ virtual void OnInternalIdle(); + /** + Send idle event to window and all subwindows. Returns true if more idle + time is requested. + */ + virtual bool SendIdleEvents(wxIdleEvent& event); + /** Registers a system wide hotkey. Every time the user presses the hotkey registered here, this window will receive a hotkey event. @@ -3495,6 +3549,11 @@ protected: GetBestSize() returns an arbitrary hardcoded size for the window, so you must override it when implementing a custom window class. + Notice that the best size returned by this function is cached + internally, so if anything that results in the best size changing (e.g. + change to the control contents) happens, you need to call + InvalidateBestSize() to notify wxWidgets about it. + @see @ref overview_windowsizing @since 2.9.0