};
+/**
+ flags for SendSizeEvent()
+*/
+enum
+{
+ wxSEND_EVENT_POST = 1
+};
+
+
+
/**
Struct containing all the visual attributes of a control.
/**
This method may be overridden in the derived classes to return @false to
- indicate that this control doesn't accept input at all (i.e. behaves like
- e.g. wxStaticText) and so doesn't need focus.
+ indicate that this control doesn't accept input at all (i.e.\ behaves like
+ e.g.\ wxStaticText) and so doesn't need focus.
@see AcceptsFocusFromKeyboard()
*/
bool IsDescendant(wxWindowBase* win) const;
/**
- Reparents the window, i.e. the window will be removed from its
+ Reparents the window, i.e.\ the window will be removed from its
current parent window (e.g. a non-standard toolbar in a wxFrame)
and then re-inserted into another.
*/
//@{
+ /**
+ Helper for ensuring EndRepositioningChildren() is called correctly.
+
+ This class wraps the calls to BeginRepositioningChildren() and
+ EndRepositioningChildren() by performing the former in its constructor
+ and the latter in its destructor if, and only if, the first call
+ returned @true. This is the simplest way to call these methods and if
+ this class is created as a local variable, it also ensures that
+ EndRepositioningChildren() is correctly called (or not) on scope exit,
+ so its use instead of calling these methods manually is highly
+ recommended.
+
+ @since 2.9.5
+ */
+ class ChildrenRepositioningGuard
+ {
+ public:
+ /**
+ Constructor calls wxWindow::BeginRepositioningChildren().
+
+ @param win The window to call BeginRepositioningChildren() on. If
+ it is @NULL, nothing is done.
+ */
+ explicit ChildrenRepositioningGuard(wxWindow* win);
+
+ /**
+ Destructor calls wxWindow::EndRepositioningChildren() if necessary.
+
+ EndRepositioningChildren() is called only if a valid window was
+ passed to the constructor and if BeginRepositioningChildren()
+ returned @true.
+ */
+ ~ChildrenRepositioningGuard();
+ };
+
+ /**
+ Prepare for changing positions of multiple child windows.
+
+ This method should be called before changing positions of multiple
+ child windows to reduce flicker and, in MSW case, even avoid display
+ corruption in some cases. It is used internally by wxWidgets and called
+ automatically when the window size changes but it can also be useful to
+ call it from outside of the library if a repositioning involving
+ multiple children is done without changing the window size.
+
+ If this method returns @true, then EndRepositioningChildren() must be
+ called after setting all children positions. Use
+ ChildrenRepositioningGuard class to ensure that this requirement is
+ satisfied.
+
+ @since 2.9.5
+ */
+ bool BeginRepositioningChildren();
+
+ /**
+ Fix child window positions after setting all of them at once.
+
+ This method must be called if and only if the previous call to
+ BeginRepositioningChildren() returned @true.
+
+ @since 2.9.5
+ */
+ void EndRepositioningChildren();
+
/**
Sets the cached best size value.
*/
virtual wxSize GetMinSize() const;
+ /**
+ Returns the horizontal component of window minimal size.
+
+ The returned value is wxDefaultCoord if the minimal width was not set.
+
+ @see GetMinSize()
+ */
int GetMinWidth() const;
+
+ /**
+ Returns the vertical component of window minimal size.
+
+ The returned value is wxDefaultCoord if the minimal height was not set.
+
+ @see GetMinSize()
+ */
int GetMinHeight() const;
+
+ /**
+ Returns the horizontal component of window maximal size.
+
+ The returned value is wxDefaultCoord if the maximal width was not set.
+
+ @see GetMaxSize()
+ */
int GetMaxWidth() const;
+
+ /**
+ Returns the vertical component of window maximal size.
+
+ The returned value is wxDefaultCoord if the maximal width was not set.
+
+ @see GetMaxSize()
+ */
int GetMaxHeight() const;
/**
*/
virtual wxSize GetBestVirtualSize() const;
+ /**
+ Returns the magnification of the backing store of this window, eg 2.0
+ for a window on a retina screen.
+
+ @since 2.9.5
+ */
+ virtual double GetContentScaleFactor() 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 wxPoint GetClientAreaOrigin() const;
/**
- Get the client rectangle in window (i.e. client) coordinates
+ Get the client rectangle in window (i.e.\ client) coordinates
*/
wxRect GetClientRect() const;
virtual bool HideWithEffect(wxShowEffect effect,
unsigned int timeout = 0);
/**
- Returns @true if the window is enabled, i.e. if it accepts user input,
+ Returns @true if the window is enabled, i.e.\ if it accepts user input,
@false otherwise.
Notice that this method can return @false even if this window itself hadn't
virtual bool IsShown() const;
/**
- Returns @true if the window is physically visible on the screen, i.e. it
+ Returns @true if the window is physically visible on the screen, i.e.\ it
is shown and all its parents up to the toplevel window are shown as well.
@see IsShown()
virtual void InitDialog();
/**
- Returns @true if the window contents is double-buffered by the system, i.e. if
+ Returns @true if the window contents is double-buffered by the system, i.e.\ if
any drawing done on the window is really done on a temporary backing surface
and transferred to the screen all at once later.
/**
Returns @true if this window is intrinsically enabled, @false otherwise,
- i.e. if @ref Enable() Enable(@false) had been called. This method is
+ i.e.\ if @ref Enable() Enable(@false) had been called. This method is
mostly used for wxWidgets itself, user code should normally use
IsEnabled() instead.
*/
virtual int DoGetBestClientWidth(int height) const;
/**
- Sets the initial window size if none is given (i.e. at least one of the
+ Sets the initial window size if none is given (i.e.\ at least one of the
components of the size passed to ctor/Create() is wxDefaultCoord).
@deprecated Use SetInitialSize() instead.
*/