+ @see GetBestSize(), SetInitialSize(), @ref overview_windowsizing
+ */
+ virtual wxSize GetEffectiveMinSize() const;
+
+ /**
+ Returns the maximum size of window's client area.
+
+ This is an indication to the sizer layout mechanism that this is the maximum
+ possible size as well as the upper bound on window's size settable using
+ SetClientSize().
+
+ @see GetMaxSize()
+ */
+ virtual wxSize GetMaxClientSize() const;
+
+ /**
+ Returns the maximum size of the window.
+
+ This is an indication to the sizer layout mechanism that this is the maximum
+ possible size as well as the upper bound on window's size settable using SetSize().
+
+ @see GetMaxClientSize()
+ */
+ virtual wxSize GetMaxSize() const;
+
+ /**
+ Returns the minimum size of window's client area, an indication to the sizer
+ layout mechanism that this is the minimum required size of its client area.
+
+ It normally just returns the value set by SetMinClientSize(), but it can be
+ overridden to do the calculation on demand.
+
+ @see GetMinSize()
+ */
+ virtual wxSize GetMinClientSize() const;
+
+ /**
+ Returns the minimum size of the window, an indication to the sizer layout
+ mechanism that this is the minimum required size.
+
+ This method normally just returns the value set by SetMinSize(), but it
+ can be overridden to do the calculation on demand.
+
+ @see GetMinClientSize()
+ */
+ virtual wxSize GetMinSize() const;
+
+ /**
+ Returns the size of the entire window in pixels, including title bar, border,
+ scrollbars, etc.
+
+ Note that if this window is a top-level one and it is currently minimized, the
+ returned size is the restored window size, not the size of the window icon.
+
+ @param width
+ Receives the window width.
+ @param height
+ Receives the window height.
+
+ @see GetClientSize(), GetVirtualSize()
+ */
+ void GetSize(int* width, int* height) const;
+
+ /**
+ See the GetSize(int*,int*) overload for more info.
+ */
+ wxSize GetSize() const;
+
+ /**
+ This gets the virtual size of the window in pixels.
+ By default it returns the client size of the window, but after a call to
+ SetVirtualSize() it will return the size set with that method.
+ */
+ wxSize GetVirtualSize() const;
+
+ /**
+ Like the other GetVirtualSize() overload but uses pointers instead.
+
+ @param width
+ Receives the window virtual width.
+ @param height
+ Receives the window virtual height.
+ */
+ void GetVirtualSize(int* width, int* height) const;
+
+ /**
+ Returns the size of the left/right and top/bottom borders of this window in x
+ and y components of the result respectively.
+ */
+ virtual wxSize GetWindowBorderSize() const;
+
+ /**
+ Resets the cached best size value so it will be recalculated the next time it
+ is needed.
+ */
+ void InvalidateBestSize();
+ /**
+ Posts a size event to the window.
+
+ This is the same as SendSizeEvent() with @c wxSEND_EVENT_POST argument.
+ */
+ void PostSizeEvent();
+
+ /**
+ Posts a size event to the parent of this window.
+
+ This is the same as SendSizeEventToParent() with @c wxSEND_EVENT_POST
+ argument.
+ */
+ void PostSizeEventToParent();
+
+ /**
+ This function sends a dummy @ref wxSizeEvent "size event" to
+ the window allowing it to re-layout its children positions.
+
+ It is sometimes useful to call this function after adding or deleting a
+ children after the frame creation or if a child size changes. Note that
+ if the frame is using either sizers or constraints for the children
+ layout, it is enough to call wxWindow::Layout() directly and this
+ function should not be used in this case.
+
+ If @a flags includes @c wxSEND_EVENT_POST value, this function posts
+ the event, i.e. schedules it for later processing, instead of
+ dispatching it directly. You can also use PostSizeEvent() as a more
+ readable equivalent of calling this function with this flag.
+
+ @param flags
+ May include @c wxSEND_EVENT_POST. Default value is 0.
+ */
+ virtual void SendSizeEvent(int flags = 0);
+
+ /**
+ Safe wrapper for GetParent()->SendSizeEvent().
+
+ This function simply checks that the window has a valid parent which is
+ not in process of being deleted and calls SendSizeEvent() on it. It is
+ used internally by windows such as toolbars changes to whose state
+ should result in parent re-layout (e.g. when a toolbar is added to the
+ top of the window, all the other windows must be shifted down).
+
+ @see PostSizeEventToParent()
+
+ @param flags
+ See description of this parameter in SendSizeEvent() documentation.
+ */
+ void SendSizeEventToParent(int flags = 0);
+
+ /**
+ This sets the size of the window client area in pixels.