X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d2c2afc91be4bdb6e036516785f334ddb54afa0c..86b79b93fbbb0c2e90e6595f7fea0f979b80881c:/docs/latex/wx/window.tex

diff --git a/docs/latex/wx/window.tex b/docs/latex/wx/window.tex
index 8cd16384b8..e9ed4dc011 100644
--- a/docs/latex/wx/window.tex
+++ b/docs/latex/wx/window.tex
@@ -107,6 +107,7 @@ even if the mode set by \helpref{wxUpdateUIEvent::SetMode}{wxupdateuieventsetmod
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
+
 \membersection{wxWindow::wxWindow}\label{wxwindowctor}
 
 \func{}{wxWindow}{\void}
@@ -140,6 +141,7 @@ correctly sized. }
 
 \docparam{name}{Window name.}
 
+
 \membersection{wxWindow::\destruct{wxWindow}}
 
 \func{}{\destruct{wxWindow}}{\void}
@@ -155,6 +157,7 @@ can delete a window only when it is safe to do so, in idle time.
 \helpref{wxWindow::Destroy}{wxwindowdestroy},\rtfsp
 \helpref{wxCloseEvent}{wxcloseevent}
 
+
 \membersection{wxWindow::AddChild}
 
 \func{virtual void}{AddChild}{\param{wxWindow* }{child}}
@@ -169,6 +172,7 @@ called by the user code.
 
 \docparam{child}{Child window to add.}
 
+
 \membersection{wxWindow::CaptureMouse}\label{wxwindowcapturemouse}
 
 \func{virtual void}{CaptureMouse}{\void}
@@ -186,24 +190,28 @@ as you capture it.
 
 \helpref{wxWindow::ReleaseMouse}{wxwindowreleasemouse}
 
+
 \membersection{wxWindow::Center}\label{wxwindowcenter}
 
 \func{void}{Center}{\param{int}{ direction}}
 
 A synonym for \helpref{Centre}{wxwindowcentre}.
 
+
 \membersection{wxWindow::CenterOnParent}\label{wxwindowcenteronparent}
 
 \func{void}{CenterOnParent}{\param{int}{ direction}}
 
 A synonym for \helpref{CentreOnParent}{wxwindowcentreonparent}.
 
+
 \membersection{wxWindow::CenterOnScreen}\label{wxwindowcenteronscreen}
 
 \func{void}{CenterOnScreen}{\param{int}{ direction}}
 
 A synonym for \helpref{CentreOnScreen}{wxwindowcentreonscreen}.
 
+
 \membersection{wxWindow::Centre}\label{wxwindowcentre}
 
 \func{void}{Centre}{\param{int}{ direction = wxBOTH}}
@@ -229,6 +237,7 @@ centered relative to the screen anyhow.
 
 \helpref{wxWindow::Center}{wxwindowcenter}
 
+
 \membersection{wxWindow::CentreOnParent}\label{wxwindowcentreonparent}
 
 \func{void}{CentreOnParent}{\param{int}{ direction = wxBOTH}}
@@ -252,6 +261,7 @@ window is not a top level window, then behaviour is the same as
 
 \helpref{wxWindow::CentreOnScreen}{wxwindowcenteronscreen}
 
+
 \membersection{wxWindow::CentreOnScreen}\label{wxwindowcentreonscreen}
 
 \func{void}{CentreOnScreen}{\param{int}{ direction = wxBOTH}}
@@ -268,6 +278,7 @@ or {\tt wxBOTH}.}
 
 \helpref{wxWindow::CentreOnParent}{wxwindowcenteronparent}
 
+
 \membersection{wxWindow::ClearBackground}\label{wxwindowclearbackground}
 
 \func{void}{ClearBackground}{\void}
@@ -275,6 +286,7 @@ or {\tt wxBOTH}.}
 Clears the window by filling it with the current background colour. Does not
 cause an erase background event to be generated.
 
+
 \membersection{wxWindow::ClientToScreen}
 
 \constfunc{virtual void}{ClientToScreen}{\param{int* }{x}, \param{int* }{y}}
@@ -302,6 +314,7 @@ implements the following methods:\par
 \end{twocollist}}
 }
 
+
 \membersection{wxWindow::Close}\label{wxwindowclose}
 
 \func{bool}{Close}{\param{bool}{ force = {\tt false}}}
@@ -342,6 +355,7 @@ To guarantee that the window will be destroyed, call
 \helpref{wxWindow::Destroy}{wxwindowdestroy},\rtfsp
 \helpref{wxCloseEvent}{wxcloseevent}
 
+
 \membersection{wxWindow::ConvertDialogToPixels}\label{wxwindowconvertdialogtopixels}
 
 \func{wxPoint}{ConvertDialogToPixels}{\param{const wxPoint\&}{ pt}}
@@ -389,6 +403,7 @@ units to pixels}
 }
 
 
+
 \membersection{wxWindow::ConvertPixelsToDialog}\label{wxwindowconvertpixelstodialog}
 
 \func{wxPoint}{ConvertPixelsToDialog}{\param{const wxPoint\&}{ pt}}
@@ -418,6 +433,7 @@ Dialog units are used for maintaining a dialog's proportions even if the font ch
 \end{twocollist}}
 }
 
+
 \membersection{wxWindow::Destroy}\label{wxwindowdestroy}
 
 \func{virtual bool}{Destroy}{\void}
@@ -434,12 +450,14 @@ windows.
 {\tt true} if the window has either been successfully deleted, or it has been added
 to the list of windows pending real deletion.
 
+
 \membersection{wxWindow::DestroyChildren}
 
 \func{virtual void}{DestroyChildren}{\void}
 
 Destroys all children of a window.  Called automatically by the destructor.
 
+
 \membersection{wxWindow::Disable}\label{wxwindowdisable}
 
 \func{bool}{Disable}{\void}
@@ -451,6 +469,7 @@ Disables the window, same as \helpref{Enable({\tt false})}{wxwindowenable}.
 Returns {\tt true} if the window has been disabled, {\tt false} if it had been
 already disabled before the call to this function.
 
+
 \membersection{wxWindow::DoUpdateWindowUI}\label{wxwindowdoupdatewindowui}
 
 \func{virtual void}{DoUpdateWindowUI}{\param{wxUpdateUIEvent\&}{ event}}
@@ -477,6 +496,7 @@ void wxTopLevelWindowBase::DoUpdateWindowUI(wxUpdateUIEvent& event)
 \end{verbatim}
 
 
+
 \membersection{wxWindow::DragAcceptFiles}\label{wxwindowdragacceptfiles}
 
 \func{virtual void}{DragAcceptFiles}{\param{bool}{ accept}}
@@ -492,6 +512,7 @@ will not accept drop file events.}
 
 Windows only.
 
+
 \membersection{wxWindow::Enable}\label{wxwindowenable}
 
 \func{virtual bool}{Enable}{\param{bool}{ enable = {\tt true}}}
@@ -514,6 +535,7 @@ nothing was done, i.e. if the window had already been in the specified state.
 \helpref{wxWindow::IsEnabled}{wxwindowisenabled},\rtfsp
 \helpref{wxWindow::Disable}{wxwindowdisable}
 
+
 \membersection{wxWindow::FindFocus}\label{wxwindowfindfocus}
 
 \func{static wxWindow*}{FindFocus}{\void}
@@ -529,6 +551,7 @@ Note that this is a static function, so it can be called without needing a wxWin
 \helpref{wxWindow::SetFocus}{wxwindowsetfocus}
 
 
+
 \membersection{wxWindow::FindWindow}\label{wxwindowfindwindow}
 
 \func{wxWindow*}{FindWindow}{\param{long}{ id}}
@@ -547,6 +570,7 @@ implements the following methods:\par
 \end{twocollist}}
 }
 
+
 \membersection{wxWindow::FindWindowById}\label{wxwindowfindwindowbyid}
 
 \func{static wxWindow*}{FindWindowById}{\param{long}{ id}, \param{wxWindow*}{ parent = NULL}}
@@ -561,6 +585,7 @@ The search is recursive in both cases.
 
 \helpref{FindWindow}{wxwindowfindwindow}
 
+
 \membersection{wxWindow::FindWindowByName}\label{wxwindowfindwindowbyname}
 
 \func{static wxWindow*}{FindWindowByName}{\param{const wxString\&}{ name}, \param{wxWindow*}{ parent = NULL}}
@@ -577,6 +602,7 @@ If no window with such name is found,
 
 \helpref{FindWindow}{wxwindowfindwindow}
 
+
 \membersection{wxWindow::FindWindowByLabel}\label{wxwindowfindwindowbylabel}
 
 \func{static wxWindow*}{FindWindowByLabel}{\param{const wxString\&}{ label}, \param{wxWindow*}{ parent = NULL}}
@@ -590,6 +616,7 @@ The search is recursive in both cases.
 
 \helpref{FindWindow}{wxwindowfindwindow}
 
+
 \membersection{wxWindow::Fit}\label{wxwindowfit}
 
 \func{virtual void}{Fit}{\void}
@@ -606,6 +633,7 @@ margin to account for fuzziness of its calculations) to call
 
 instead of calling Fit.
 
+
 \membersection{wxWindow::FitInside}\label{wxwindowfitinside}
 
 \func{virtual void}{FitInside}{\void}
@@ -616,13 +644,15 @@ sizing changes that do not trigger a size event, and/or scrolled windows without
 an interior sizer.  This function similarly won't do anything if there are no
 subwindows.
 
+
 \membersection{wxWindow::Freeze}\label{wxwindowfreeze}
 
 \func{virtual void}{Freeze}{\void}
 
 Freezes the window or, in other words, prevents any updates from taking place
 on screen, the window is not redrawn at all. \helpref{Thaw}{wxwindowthaw} must
-be called to reenable window redrawing.
+be called to reenable window redrawing. Calls to these two functions may be
+nested.
 
 This method is useful for visual appearance optimization (for example, it
 is a good idea to use it before inserting large amount of text into a
@@ -630,12 +660,14 @@ wxTextCtrl under wxGTK) but is not implemented on all platforms nor for all
 controls so it is mostly just a hint to wxWindows and not a mandatory
 directive.
 
+
 \membersection{wxWindow::GetAcceleratorTable}\label{wxwindowgetacceleratortable}
 
 \constfunc{wxAcceleratorTable*}{GetAcceleratorTable}{\void}
 
 Gets the accelerator table for this window. See \helpref{wxAcceleratorTable}{wxacceleratortable}.
 
+
 \membersection{wxWindow::GetAccessible}\label{wxwindowgetaccessible}
 
 \func{wxAccessibile*}{GetAccessible}{\void}
@@ -644,6 +676,7 @@ Returns the accessible object for this window, if any.
 
 See also \helpref{wxAccessible}{wxaccessible}.
 
+
 \membersection{wxWindow::GetAdjustedBestSize}\label{wxwindowgetadjustedbestsize}
 
 \constfunc{wxSize}{GetAdjustedBestSize}{\void}
@@ -654,6 +687,7 @@ window, while this method will return the largest of BestSize and any user
 specified minimum size.  ie. it is the minimum size the window should currently
 be drawn at, not the minimal size it can possibly tolerate.
 
+
 \membersection{wxWindow::GetBackgroundColour}\label{wxwindowgetbackgroundcolour}
 
 \constfunc{virtual wxColour}{GetBackgroundColour}{\void}
@@ -666,6 +700,7 @@ Returns the background colour of the window.
 \helpref{wxWindow::SetForegroundColour}{wxwindowsetforegroundcolour},\rtfsp
 \helpref{wxWindow::GetForegroundColour}{wxwindowgetforegroundcolour}
 
+
 \membersection{wxWindow::GetBestSize}\label{wxwindowgetbestsize}
 
 \constfunc{wxSize}{GetBestSize}{\void}
@@ -677,12 +712,14 @@ control label is not truncated. For windows containing subwindows (typically
 same as the size the window would have had after calling
 \helpref{Fit}{wxwindowfit}.
 
+
 \membersection{wxWindow::GetCaret}\label{wxwindowgetcaret}
 
 \constfunc{wxCaret *}{GetCaret}{\void}
 
 Returns the \helpref{caret}{wxcaret} associated with the window.
 
+
 \membersection{wxWindow::GetCapture}\label{wxwindowgetcapture}
 
 \func{static wxWindow *}{GetCapture}{\void}
@@ -696,24 +733,59 @@ Returns the currently captured window.
 \helpref{wxWindow::ReleaseMouse}{wxwindowreleasemouse}, 
 \helpref{wxMouseCaptureChangedEvent}{wxmousecapturechangedevent}
 
+
 \membersection{wxWindow::GetCharHeight}
 
 \constfunc{virtual int}{GetCharHeight}{\void}
 
 Returns the character height for this window.
 
+
 \membersection{wxWindow::GetCharWidth}
 
 \constfunc{virtual int}{GetCharWidth}{\void}
 
 Returns the average character width for this window.
 
+
 \membersection{wxWindow::GetChildren}
 
 \func{wxList\&}{GetChildren}{\void}
 
 Returns a reference to the list of the window's children.
 
+
+\membersection{wxControl::GetClassDefaultAttributes}\label{wxwindowgetclassdefaultattributes}
+
+\func{static wxVisualAttributes}{GetClassDefaultAttributes}{\param{wxWindowVariant}{ variant = \texttt{wxWINDOW\_VARIANT\_NORMAL}}}
+
+Returns the default font and colours which are used by the control. This is
+useful if you want to use the same font or colour in your own control as in a
+standard control -- which is a much better idea than hard coding specific
+colours or fonts which might look completely out of place on the users
+system, especially if it uses themes.
+
+The \arg{variant} parameter is only relevant under Mac currently and is
+ignore under other platforms. Under Mac, it will change the size of the
+returned font. See \helpref{wxWindow::SetWindowVariant}{wxwindowsetwindowvariant} 
+for more about this.
+
+This static method is ``overridden'' in many derived classes and so calling,
+for example, \helpref{wxButton}{wxbutton}::GetClassDefaultAttributes() will typically
+return the values appropriate for a button which will be normally different
+from those returned by, say, \helpref{wxListCtrl}{wxlistctrl}::GetClassDefaultAttributes().
+
+The \texttt{wxVisualAttributes} structure has at least the fields 
+\texttt{font}, \texttt{colFg} and \texttt{colBg}. All of them may be invalid
+if it was not possible to determine the default control appearance or,
+especially for the background colour, if the field doesn't make sense as is
+the case for \texttt{colBg} for the controls with themed background.
+
+\wxheading{See also}
+
+\helpref{InheritAttributes}{wxwindowinheritattributes}
+
+
 \membersection{wxWindow::GetClientSize}\label{wxwindowgetclientsize}
 
 \constfunc{void}{GetClientSize}{\param{int* }{width}, \param{int* }{height}}
@@ -747,12 +819,14 @@ implements the following methods:\par
 \helpref{GetVirtualSize}{wxwindowgetvirtualsize}
 
 
+
 \membersection{wxWindow::GetConstraints}\label{wxwindowgetconstraints}
 
 \constfunc{wxLayoutConstraints*}{GetConstraints}{\void}
 
 Returns a pointer to the window's layout constraints, or NULL if there are none.
 
+
 \membersection{wxWindow::GetContainingSizer}\label{wxwindowgetcontainingsizer}
 
 \constfunc{const wxSizer *}{GetContainingSizer}{\void}
@@ -760,6 +834,7 @@ Returns a pointer to the window's layout constraints, or NULL if there are none.
 Return the sizer that this window is a member of, if any, otherwise
 {\tt NULL}.
 
+
 \membersection{wxWindow::GetCursor}\label{wxwindowgetcursor}
 
 \constfunc{const wxCursor\&}{GetCursor}{\void}
@@ -770,6 +845,26 @@ Return the cursor associated with this window.
 
 \helpref{wxWindow::SetCursor}{wxwindowsetcursor}
 
+
+\membersection{wxControl::GetDefaultAttributes}\label{wxwindowgetdefaultattributes}
+
+\constfunc{virtual wxVisualAttributes}{GetDefaultAttributes}{\void}
+
+Currently this is the same as calling 
+\helpref{GetClassDefaultAttributes}{wxwindowgetclassdefaultattributes}(\helpref{GetWindowVariant}{wxwindowgetwindowvariant}()).
+
+One advantage of using this function compared to the static version is that
+the call is automatically dispatched to the correct class (as usual with
+virtual functions) and you don't have to specify the class name explicitly.
+
+The other one is that in the future this function could return different
+results, for example it might return a different font for an ``Ok'' button
+than for a generic button if the users GUI is configured to show such buttons
+in bold font. Of course, the down side is that it is impossible to call this
+function without actually having an object to apply it to whereas the static
+version can be used without having to create an object first.
+
+
 \membersection{wxWindow::GetDropTarget}\label{wxwindowgetdroptarget}
 
 \constfunc{wxDropTarget*}{GetDropTarget}{\void}
@@ -781,6 +876,7 @@ Returns the associated drop target, which may be NULL.
 \helpref{wxWindow::SetDropTarget}{wxwindowsetdroptarget},
 \helpref{Drag and drop overview}{wxdndoverview}
 
+
 \membersection{wxWindow::GetEventHandler}\label{wxwindowgeteventhandler}
 
 \constfunc{wxEvtHandler*}{GetEventHandler}{\void}
@@ -796,12 +892,14 @@ own event handler.
 \helpref{wxEvtHandler::ProcessEvent}{wxevthandlerprocessevent},\rtfsp
 \helpref{wxEvtHandler}{wxevthandler}\rtfsp
 
+
 \membersection{wxWindow::GetExtraStyle}\label{wxwindowgetextrastyle}
 
 \constfunc{long}{GetExtraStyle}{\void}
 
 Returns the extra style bits for the window.
 
+
 \membersection{wxWindow::GetFont}\label{wxwindowgetfont}
 
 \constfunc{wxFont\&}{GetFont}{\void}
@@ -812,6 +910,7 @@ Returns a reference to the font for this window.
 
 \helpref{wxWindow::SetFont}{wxwindowsetfont}
 
+
 \membersection{wxWindow::GetForegroundColour}\label{wxwindowgetforegroundcolour}
 
 \func{virtual wxColour}{GetForegroundColour}{\void}
@@ -830,12 +929,14 @@ be used at all.
 \helpref{wxWindow::SetBackgroundColour}{wxwindowsetbackgroundcolour},\rtfsp
 \helpref{wxWindow::GetBackgroundColour}{wxwindowgetbackgroundcolour}
 
+
 \membersection{wxWindow::GetGrandParent}
 
 \constfunc{wxWindow*}{GetGrandParent}{\void}
 
 Returns the grandparent of a window, or NULL if there isn't one.
 
+
 \membersection{wxWindow::GetHandle}\label{wxwindowgethandle}
 
 \constfunc{void*}{GetHandle}{\void}
@@ -847,6 +948,7 @@ handle, such as {\bf HWND} for Windows, {\bf Widget} for Motif or {\bf GtkWidget
 
 \perlnote{This method will return an integer in wxPerl.}
 
+
 \membersection{wxWindow::GetHelpText}\label{wxwindowgethelptext}
 
 \constfunc{virtual wxString}{GetHelpText}{\void}
@@ -860,6 +962,7 @@ and not in the window object itself.
 
 \helpref{SetHelpText}{wxwindowsethelptext}, \helpref{wxHelpProvider}{wxhelpprovider}
 
+
 \membersection{wxWindow::GetId}\label{wxwindowgetid}
 
 \constfunc{int}{GetId}{\void}
@@ -876,6 +979,7 @@ Each window has an integer identifier. If the application has not provided one
 \helpref{wxWindow::SetId}{wxwindowsetid},\rtfsp
 \helpref{Window identifiers}{windowids}
 
+
 \membersection{wxWindow::GetLabel}
 
 \constfunc{virtual wxString }{GetLabel}{\void}
@@ -891,6 +995,7 @@ the button text. This function can be useful for meta-programs (such as testing
 tools or special-needs access programs) which need to identify windows
 by name.
 
+
 \membersection{wxWindow::GetName}\label{wxwindowgetname}
 
 \constfunc{virtual wxString }{GetName}{\void}
@@ -906,12 +1011,14 @@ name in the window constructor or via \helpref{wxWindow::SetName}{wxwindowsetnam
 
 \helpref{wxWindow::SetName}{wxwindowsetname}
 
+
 \membersection{wxWindow::GetParent}
 
 \constfunc{virtual wxWindow*}{GetParent}{\void}
 
 Returns the parent of the window, or NULL if there is no parent.
 
+
 \membersection{wxWindow::GetPosition}\label{wxwindowgetposition}
 
 \constfunc{virtual void}{GetPosition}{\param{int* }{x}, \param{int* }{y}}
@@ -945,12 +1052,14 @@ method:\par
 \end{twocollist}
 }}
 
+
 \membersection{wxWindow::GetRect}\label{wxwindowgetrect}
 
 \constfunc{virtual wxRect}{GetRect}{\void}
 
 Returns the size and position of the window as a \helpref{wxRect}{wxrect} object.
 
+
 \membersection{wxWindow::GetScrollThumb}\label{wxwindowgetscrollthumb}
 
 \func{virtual int}{GetScrollThumb}{\param{int }{orientation}}
@@ -961,6 +1070,7 @@ Returns the built-in scrollbar thumb size.
 
 \helpref{wxWindow::SetScrollbar}{wxwindowsetscrollbar}
 
+
 \membersection{wxWindow::GetScrollPos}\label{wxwindowgetscrollpos}
 
 \func{virtual int}{GetScrollPos}{\param{int }{orientation}}
@@ -971,6 +1081,7 @@ Returns the built-in scrollbar position.
 
 See \helpref{wxWindow::SetScrollbar}{wxwindowsetscrollbar}
 
+
 \membersection{wxWindow::GetScrollRange}\label{wxwindowgetscrollrange}
 
 \func{virtual int}{GetScrollRange}{\param{int }{orientation}}
@@ -981,6 +1092,7 @@ Returns the built-in scrollbar range.
 
 \helpref{wxWindow::SetScrollbar}{wxwindowsetscrollbar}
 
+
 \membersection{wxWindow::GetSize}\label{wxwindowgetsize}
 
 \constfunc{void}{GetSize}{\param{int* }{width}, \param{int* }{height}}
@@ -1018,6 +1130,7 @@ method:\par
 \helpref{GetClientSize}{wxwindowgetclientsize},\rtfsp
 \helpref{GetVirtualSize}{wxwindowgetvirtualsize}
 
+
 \membersection{wxWindow::GetSizer}\label{wxwindowgetsizer}
 
 \constfunc{wxSizer *}{GetSizer}{\void}
@@ -1025,6 +1138,7 @@ method:\par
 Return the sizer associated with the window by a previous call to
 \helpref{SetSizer()}{wxwindowsetsizer} or {\tt NULL}.
 
+
 \membersection{wxWindow::GetTextExtent}\label{wxwindowgettextextent}
 
 \constfunc{virtual void}{GetTextExtent}{\param{const wxString\& }{string}, \param{int* }{x}, \param{int* }{y},
@@ -1063,6 +1177,7 @@ implements the following methods:\par
  {\tt font} parameters, and returns a 4-element list
  {\tt ( x, y, descent, externalLeading )}.}
 
+
 \membersection{wxWindow::GetTitle}\label{wxwindowgettitle}
 
 \func{virtual wxString}{GetTitle}{\void}
@@ -1073,12 +1188,14 @@ Gets the window's title. Applicable only to frames and dialogs.
 
 \helpref{wxWindow::SetTitle}{wxwindowsettitle}
 
+
 \membersection{wxWindow::GetToolTip}\label{wxwindowgettooltip}
 
 \constfunc{wxToolTip*}{GetToolTip}{\void}
 
 Get the associated tooltip or NULL if none.
 
+
 \membersection{wxWindow::GetUpdateRegion}\label{wxwindowgetupdateregion}
 
 \constfunc{virtual wxRegion}{GetUpdateRegion}{\void}
@@ -1091,12 +1208,14 @@ only be called within an \helpref{wxPaintEvent}{wxpaintevent} handler.
 \helpref{wxRegion}{wxregion},\rtfsp
 \helpref{wxRegionIterator}{wxregioniterator}
 
+
 \membersection{wxWindow::GetValidator}\label{wxwindowgetvalidator}
 
 \constfunc{wxValidator*}{GetValidator}{\void}
 
 Returns a pointer to the current validator for the window, or NULL if there is none.
 
+
 \membersection{wxWindow::GetVirtualSize}\label{wxwindowgetvirtualsize}
 
 \constfunc{void}{GetVirtualSize}{\param{int* }{width}, \param{int* }{height}}
@@ -1114,6 +1233,7 @@ This gets the virtual size of the window in pixels.
 \helpref{GetSize}{wxwindowgetsize},\rtfsp
 \helpref{GetClientSize}{wxwindowgetclientsize}
 
+
 \membersection{wxWindow::GetWindowStyleFlag}\label{wxwindowgetwindowstyleflag}
 
 \constfunc{long}{GetWindowStyleFlag}{\void}
@@ -1121,6 +1241,15 @@ This gets the virtual size of the window in pixels.
 Gets the window style that was passed to the constructor or {\bf Create}
 method. {\bf GetWindowStyle()} is another name for the same function.
 
+
+\membersection{wxWindow::GetWindowVariant}\label{wxwindowgetwindowvariant}
+
+\constfunc{wxWindowVariant}{GetWindowVariant}{\void}
+
+Returns the value previous passed to 
+\helpref{wxWindow::SetWindowVariant}{wxwindowsetwindowvariant}.
+
+
 \membersection{wxWindow::HasCapture}\label{wxwindowhascapture}
 
 \constfunc{virtual bool}{HasCapture}{\void}
@@ -1133,12 +1262,43 @@ Returns true if this window has the current mouse capture.
 \helpref{wxWindow::ReleaseMouse}{wxwindowreleasemouse}, 
 \helpref{wxMouseCaptureChangedEvent}{wxmousecapturechangedevent}
 
+
 \membersection{wxWindow::Hide}\label{wxwindowhide}
 
 \func{bool}{Hide}{\void}
 
 Equivalent to calling \helpref{Show}{wxwindowshow}({\tt false}).
 
+
+\membersection{wxWindow::InheritAttributes}\label{wxwindowinheritattributes}
+
+\func{void}{InheritAttributes}{\void}
+
+This function is (or should be, in case of custom controls) called during
+window creation to intelligently set up the window visual attributes, that is
+the font and the foreground and background colours.
+
+By ``intelligently'' the following is meant: by default, all windows use their
+own \helpref{default}{wxwindowgetclassdefaultattributes} attributes. However
+if some of the parents attributes are explicitly (that is, using 
+\helpref{SetFont}{wxwindowsetfont} and not 
+\helpref{SetDefaultFont}{wxwindowsetdefaultfont}) changed \emph{and} if the
+corresponding attribute hadn't been explicitly set for this window itself,
+then this window takes the same value as used by the parent. In addition, if
+the window overrides \helpref{ShouldInheritColours}{wxwindowshouldinheritcolours} 
+to return \false, the colours will not be changed no matter what and only the
+font might.
+
+This rather complicated logic is necessary in order to accomodate the
+different usage scenarius. The most common one is when all default attributes
+are used and in this case, nothing should be inherited as in modern GUIs
+different controls use different fonts (and colours) than their siblings so
+they can't inherit the same value from the parent. However it was also deemed
+desirable to allow to simply change the attributes of all children at once by
+just changing the font or colour of their common parent, hence in this case we
+do inherit the parents attributes.
+
+
 \membersection{wxWindow::InitDialog}\label{wxwindowinitdialog}
 
 \func{void}{InitDialog}{\void}
@@ -1146,6 +1306,7 @@ Equivalent to calling \helpref{Show}{wxwindowshow}({\tt false}).
 Sends an {\tt wxEVT\_INIT\_DIALOG} event, whose handler usually transfers data
 to the dialog via validators.
 
+
 \membersection{wxWindow::IsEnabled}\label{wxwindowisenabled}
 
 \constfunc{virtual bool}{IsEnabled}{\void}
@@ -1156,6 +1317,7 @@ Returns {\tt true} if the window is enabled for input, {\tt false} otherwise.
 
 \helpref{wxWindow::Enable}{wxwindowenable}
 
+
 \membersection{wxWindow::IsExposed}\label{wxwindowisexposed}
 
 \constfunc{bool}{IsExposed}{\param{int }{x}, \param{int }{y}}
@@ -1178,6 +1340,7 @@ implements the following methods:\par
 \twocolitem{{\bf IsExposedRect(rect)}}{}
 \end{twocollist}}}
 
+
 \membersection{wxWindow::IsRetained}\label{wxwindowisretained}
 
 \constfunc{virtual bool}{IsRetained}{\void}
@@ -1188,12 +1351,14 @@ Returns {\tt true} if the window is retained, {\tt false} otherwise.
 
 Retained windows are only available on X platforms.
 
+
 \membersection{wxWindow::IsShown}\label{wxwindowisshown}
 
 \constfunc{virtual bool}{IsShown}{\void}
 
 Returns {\tt true} if the window is shown, {\tt false} if it has been hidden.
 
+
 \membersection{wxWindow::IsTopLevel}\label{wxwindowistoplevel}
 
 \constfunc{bool}{IsTopLevel}{\void}
@@ -1202,6 +1367,7 @@ Returns {\tt true} if the given window is a top-level one. Currently all frames
 dialogs are considered to be top-level windows (even if they have a parent
 window).
 
+
 \membersection{wxWindow::Layout}\label{wxwindowlayout}
 
 \func{void}{Layout}{\void}
@@ -1212,14 +1378,17 @@ for this window.
 See \helpref{wxWindow::SetAutoLayout}{wxwindowsetautolayout}: when auto
 layout is on, this function gets called automatically when the window is resized.
 
+
 \membersection{wxWindow::LineDown}\label{wxwindowlinedown}
 
 This is just a wrapper for \helpref{ScrollLines()}{wxwindowscrolllines}$(1)$.
 
+
 \membersection{wxWindow::LineUp}\label{wxwindowlineup}
 
 This is just a wrapper for \helpref{ScrollLines()}{wxwindowscrolllines}$(-1)$.
 
+
 \membersection{wxWindow::Lower}\label{wxwindowlower}
 
 \func{void}{Lower}{\void}
@@ -1227,6 +1396,7 @@ This is just a wrapper for \helpref{ScrollLines()}{wxwindowscrolllines}$(-1)$.
 Lowers the window to the bottom of the window hierarchy if it is a managed window (dialog
 or frame).
 
+
 \membersection{wxWindow::MakeModal}\label{wxwindowmakemodal}
 
 \func{virtual void}{MakeModal}{\param{bool }{flag}}
@@ -1239,6 +1409,7 @@ the user can only interact with this window.
 \docparam{flag}{If {\tt true}, this call disables all other windows in the application so that
 the user can only interact with this window. If {\tt false}, the effect is reversed.}
 
+
 \membersection{wxWindow::Move}\label{wxwindowmove}
 
 \func{void}{Move}{\param{int}{ x}, \param{int}{ y}}
@@ -1769,6 +1940,7 @@ implements the following methods:\par
 %% \helpref{wxSysColourChangedEvent}{wxsyscolourchangedevent},\rtfsp
 %% \helpref{Event handling overview}{eventhandlingoverview}
 
+
 \membersection{wxWindow::OnInternalIdle}\label{wxwindowoninternalidle}
 
 \func{virtual void}{OnInternalIdle}{\void}
@@ -1782,14 +1954,17 @@ This function may be used to do delayed painting, for example,
 and most implementations call \helpref{wxWindow::UpdateWindowUI}{wxwindowupdatewindowui} 
 in order to send update events to the window in idle time.
 
+
 \membersection{wxWindow::PageDown}\label{wxwindowpagedown}
 
 This is just a wrapper for \helpref{ScrollPages()}{wxwindowscrollpages}$(1)$.
 
+
 \membersection{wxWindow::PageUp}\label{wxwindowpageup}
 
 This is just a wrapper for \helpref{ScrollPages()}{wxwindowscrollpages}$(-1)$.
 
+
 \membersection{wxWindow::PopEventHandler}\label{wxwindowpopeventhandler}
 
 \constfunc{wxEvtHandler*}{PopEventHandler}{\param{bool }{deleteHandler = {\tt false}}}
@@ -1809,6 +1984,7 @@ default value is {\tt false}.}
 \helpref{wxEvtHandler::ProcessEvent}{wxevthandlerprocessevent},\rtfsp
 \helpref{wxEvtHandler}{wxevthandler}\rtfsp
 
+
 \membersection{wxWindow::PopupMenu}\label{wxwindowpopupmenu}
 
 \func{bool}{PopupMenu}{\param{wxMenu* }{menu}, \param{const wxPoint\& }{pos}}
@@ -1848,6 +2024,7 @@ implements the following methods:\par
 \end{twocollist}}
 }
 
+
 \membersection{wxWindow::PushEventHandler}\label{wxwindowpusheventhandler}
 
 \func{void}{PushEventHandler}{\param{wxEvtHandler* }{handler}}
@@ -1879,6 +2056,7 @@ remove the event handler.
 \helpref{wxEvtHandler::ProcessEvent}{wxevthandlerprocessevent},\rtfsp
 \helpref{wxEvtHandler}{wxevthandler}
 
+
 \membersection{wxWindow::Raise}\label{wxwindowraise}
 
 \func{void}{Raise}{\void}
@@ -1886,6 +2064,7 @@ remove the event handler.
 Raises the window to the top of the window hierarchy if it is a managed window (dialog
 or frame).
 
+
 \membersection{wxWindow::Refresh}\label{wxwindowrefresh}
 
 \func{virtual void}{Refresh}{\param{bool}{ eraseBackground = {\tt true}}, \param{const wxRect* }{rect
@@ -1906,15 +2085,17 @@ be treated as damaged.}
 
 \helpref{wxWindow::RefreshRect}{wxwindowrefreshrect}
 
+
 \membersection{wxWindow::RefreshRect}\label{wxwindowrefreshrect}
 
-\func{void}{Refresh}{\param{const wxRect\& }{rect}}
+\func{void}{RefreshRect}{\param{const wxRect\& }{rect}}
 
 Redraws the contents of the given rectangle: the area inside it will be
 repainted.
 
 This is the same as \helpref{Refresh}{wxwindowrefresh} but has a nicer syntax.
 
+
 \membersection{wxWindow::RegisterHotKey}\label{wxwindowregisterhotkey}
 
 \func{bool}{RegisterHotKey}{\param{int}{ hotkeyId}, \param{int}{ modifiers}, \param{int}{ virtualKeyCode}}
@@ -1948,6 +2129,7 @@ This function is currently only implemented under MSW.
 
 \helpref{wxWindow::UnregisterHotKey}{wxwindowunregisterhotkey}
 
+
 \membersection{wxWindow::ReleaseMouse}\label{wxwindowreleasemouse}
 
 \func{virtual void}{ReleaseMouse}{\void}
@@ -1961,6 +2143,7 @@ Releases mouse input captured with \helpref{wxWindow::CaptureMouse}{wxwindowcapt
 \helpref{wxWindow::ReleaseMouse}{wxwindowreleasemouse}, 
 \helpref{wxMouseCaptureChangedEvent}{wxmousecapturechangedevent}
 
+
 \membersection{wxWindow::RemoveChild}\label{wxwindowremovechild}
 
 \func{virtual void}{RemoveChild}{\param{wxWindow* }{child}}
@@ -1975,6 +2158,7 @@ called by the user code.
 
 \docparam{child}{Child window to remove.}
 
+
 \membersection{wxWindow::RemoveEventHandler}\label{wxwindowremoveeventhandler}
 
 \func{bool}{RemoveEventHandler}{\param{wxEvtHandler *}{handler}}
@@ -1998,6 +2182,7 @@ handler is supposed to be there).
 \helpref{PushEventHandler}{wxwindowpusheventhandler},\rtfsp
 \helpref{PopEventHandler}{wxwindowpopeventhandler}
 
+
 \membersection{wxWindow::Reparent}\label{wxwindowreparent}
 
 \func{virtual bool}{Reparent}{\param{wxWindow* }{newParent}}
@@ -2010,6 +2195,7 @@ and then re-inserted into another. Available on Windows and GTK.
 
 \docparam{newParent}{New parent.}
 
+
 \membersection{wxWindow::ScreenToClient}\label{wxwindowscreentoclient}
 
 \constfunc{virtual void}{ScreenToClient}{\param{int* }{x}, \param{int* }{y}}
@@ -2034,6 +2220,7 @@ implements the following methods:\par
 \end{twocollist}}
 }
 
+
 \membersection{wxWindow::ScrollLines}\label{wxwindowscrolllines}
 
 \func{virtual bool}{ScrollLines}{\param{int }{lines}}
@@ -2056,6 +2243,7 @@ platforms).
 
 \helpref{ScrollPages}{wxwindowscrollpages}
 
+
 \membersection{wxWindow::ScrollPages}\label{wxwindowscrollpages}
 
 \func{virtual bool}{ScrollPages}{\param{int }{pages}}
@@ -2078,6 +2266,7 @@ platforms).
 
 \helpref{ScrollLines}{wxwindowscrolllines}
 
+
 \membersection{wxWindow::ScrollWindow}\label{wxwindowscrollwindow}
 
 \func{virtual void}{ScrollWindow}{\param{int }{dx}, \param{int }{dy}, \param{const wxRect*}{ rect = NULL}}
@@ -2099,12 +2288,14 @@ can optimize painting by checking for the invalidated region. This parameter is
 Use this function to optimise your scrolling implementations, to minimise the area that must be
 redrawn. Note that it is rarely required to call this function from a user program.
 
+
 \membersection{wxWindow::SetAcceleratorTable}\label{wxwindowsetacceleratortable}
 
 \func{virtual void}{SetAcceleratorTable}{\param{const wxAcceleratorTable\&}{ accel}}
 
 Sets the accelerator table for this window. See \helpref{wxAcceleratorTable}{wxacceleratortable}.
 
+
 \membersection{wxWindow::SetAccessible}\label{wxwindowsetaccessible}
 
 \func{void}{SetAccessible}{\param{wxAccessibile*}{ accessible}}
@@ -2114,6 +2305,7 @@ will be deleted first, if not identical to {\it accessible}.
 
 See also \helpref{wxAccessible}{wxaccessible}.
 
+
 \membersection{wxWindow::SetAutoLayout}\label{wxwindowsetautolayout}
 
 \func{void}{SetAutoLayout}{\param{bool}{ autoLayout}}
@@ -2134,12 +2326,17 @@ from within wxWindow::OnSize functions.}
 
 \helpref{wxWindow::SetConstraints}{wxwindowsetconstraints}
 
+
 \membersection{wxWindow::SetBackgroundColour}\label{wxwindowsetbackgroundcolour}
 
 \func{virtual void}{SetBackgroundColour}{\param{const wxColour\& }{colour}}
 
 Sets the background colour of the window.
 
+Please see \helpref{InheritAttributes}{wxwindowinheritattributes} for
+explanation of the difference between this method and 
+\helpref{SetDefaultBackgroundColour}{wxwindowsetdefaultbackgroundcolour}.
+
 \wxheading{Parameters}
 
 \docparam{colour}{The colour to be used as the background colour.}
@@ -2167,12 +2364,14 @@ look as the user wishes with run-time loadable modules.
 \helpref{wxWindow::Refresh}{wxwindowrefresh},\rtfsp
 \helpref{wxEraseEvent}{wxeraseevent}
 
+
 \membersection{wxWindow::SetCaret}\label{wxwindowsetcaret}
 
 \constfunc{void}{SetCaret}{\param{wxCaret *}{caret}}
 
 Sets the \helpref{caret}{wxcaret} associated with the window.
 
+
 \membersection{wxWindow::SetClientSize}\label{wxwindowsetclientsize}
 
 \func{virtual void}{SetClientSize}{\param{int}{ width}, \param{int}{ height}}
@@ -2200,6 +2399,7 @@ implements the following methods:\par
 \end{twocollist}}
 }
 
+
 \membersection{wxWindow::SetContainingSizer}\label{wxwindowsetcontainingsizer}
 
 \func{void}{SetContainingSizer}{\param{wxSizer* }{sizer}}
@@ -2208,6 +2408,7 @@ This normally does not need to be called by user code.  It is called
 when a window is added to a sizer, and is used so the window can
 remove itself from the sizer when it is destroyed.
 
+
 \membersection{wxWindow::SetCursor}\label{wxwindowsetcursor}
 
 \func{virtual void}{SetCursor}{\param{const wxCursor\&}{cursor}}
@@ -2228,6 +2429,7 @@ be reset back to default.
 
 \helpref{::wxSetCursor}{wxsetcursor}, \helpref{wxCursor}{wxcursor}
 
+
 \membersection{wxWindow::SetConstraints}\label{wxwindowsetconstraints}
 
 \func{void}{SetConstraints}{\param{wxLayoutConstraints* }{constraints}}
@@ -2249,6 +2451,46 @@ the constraints automatically in OnSize; otherwise, you must override OnSize and
 explicitly. When setting both a wxLayoutConstraints and a \helpref{wxSizer}{wxsizer}, only the
 sizer will have effect.
 
+
+\membersection{wxWindow::SetDefaultBackgroundColour}\label{wxwindowsetdefaultbackgroundcolour}
+
+\func{void}{SetDefaultBackgroundColour}{\param{const wxColour\& }{colour}}
+
+Sets the background colour of the window but prevents it from being inherited
+by the children of this window.
+
+\wxheading{See also}
+
+\helpref{SetBackgroundColour}{wxwindowsetbackgroundcolour},\rtfsp
+\helpref{InheritAttributes}{wxwindowinheritattributes}
+
+
+\membersection{wxWindow::SetDefaultFont}\label{wxwindowsetdefaultfont}
+
+\func{void}{SetDefaultBackgroundColour}{\param{const wxColour\& }{colour}}
+
+Sets the font of the window but prevents it from being inherited by the
+children of this window.
+
+\wxheading{See also}
+
+\helpref{SetFont}{wxwindowsetfont},\rtfsp
+\helpref{InheritAttributes}{wxwindowinheritattributes}
+
+
+\membersection{wxWindow::SetDefaultForegroundColour}\label{wxwindowsetdefaultforegroundcolour}
+
+\func{void}{SetDefaultForegroundColour}{\param{const wxColour\& }{colour}}
+
+Sets the foreground colour of the window but prevents it from being inherited
+by the children of this window.
+
+\wxheading{See also}
+
+\helpref{SetForegroundColour}{wxwindowsetforegroundcolour},\rtfsp
+\helpref{InheritAttributes}{wxwindowinheritattributes}
+
+
 \membersection{wxWindow::SetDropTarget}\label{wxwindowsetdroptarget}
 
 \func{void}{SetDropTarget}{\param{wxDropTarget*}{ target}}
@@ -2263,6 +2505,7 @@ If the window already has a drop target, it is deleted.
 \helpref{Drag and drop overview}{wxdndoverview}
 
 
+
 \membersection{wxWindow::SetEventHandler}\label{wxwindowseteventhandler}
 
 \func{void}{SetEventHandler}{\param{wxEvtHandler* }{handler}}
@@ -2293,6 +2536,7 @@ handed to the next one in the chain.
 \helpref{wxEvtHandler::ProcessEvent}{wxevthandlerprocessevent},\rtfsp
 \helpref{wxEvtHandler}{wxevthandler}
 
+
 \membersection{wxWindow::SetExtraStyle}\label{wxwindowsetextrastyle}
 
 \func{void}{SetExtraStyle}{\param{long }{exStyle}}
@@ -2329,6 +2573,7 @@ if the mode set by \helpref{wxIdleEvent::SetMode}{wxidleeventsetmode} is wxIDLE\
 even if the mode set by \helpref{wxUpdateUIEvent::SetMode}{wxupdateuieventsetmode} is wxUPDATE\_UI\_PROCESS\_SPECIFIED.}
 \end{twocollist}
 
+
 \membersection{wxWindow::SetFocus}\label{wxwindowsetfocus}
 
 \func{virtual void}{SetFocus}{\void}
@@ -2339,6 +2584,7 @@ This sets the window to receive keyboard input.
 
 \helpref{wxFocusEvent}{wxfocusevent}
 
+
 \membersection{wxWindow::SetFocusFromKbd}\label{wxwindowsetfocusfromkbd}
 
 \func{virtual void}{SetFocusFromKbd}{\void}
@@ -2348,11 +2594,16 @@ gives the focus to this window from keyboard (e.g. using {\tt TAB} key).
 By default this method simply calls \helpref{SetFocus}{wxwindowsetfocus} but
 can be overridden to do something in addition to this in the derived classes.
 
+
 \membersection{wxWindow::SetFont}\label{wxwindowsetfont}
 
 \func{void}{SetFont}{\param{const wxFont\& }{font}}
 
-Sets the font for this window.
+Sets the font for this window. This function should not be called for the
+parent window if you don't want its font to be inherited by its children,
+use \helpref{SetDefaultFont}{wxwindowsetdefaultfont} instead in this case and
+see \helpref{InheritAttributes}{wxwindowinheritattributes} for more
+explanations.
 
 \wxheading{Parameters}
 
@@ -2360,7 +2611,9 @@ Sets the font for this window.
 
 \wxheading{See also}
 
-\helpref{wxWindow::GetFont}{wxwindowgetfont}
+\helpref{wxWindow::GetFont}{wxwindowgetfont},\\
+\helpref{InheritAttributes}{wxwindowinheritattributes}
+
 
 \membersection{wxWindow::SetForegroundColour}\label{wxwindowsetforegroundcolour}
 
@@ -2368,6 +2621,10 @@ Sets the font for this window.
 
 Sets the foreground colour of the window.
 
+Please see \helpref{InheritAttributes}{wxwindowinheritattributes} for
+explanation of the difference between this method and 
+\helpref{SetDefaultForegroundColour}{wxwindowsetdefaultforegroundcolour}.
+
 \wxheading{Parameters}
 
 \docparam{colour}{The colour to be used as the foreground colour.}
@@ -2386,7 +2643,9 @@ their parent windows.
 
 \helpref{wxWindow::GetForegroundColour}{wxwindowgetforegroundcolour},\rtfsp
 \helpref{wxWindow::SetBackgroundColour}{wxwindowsetbackgroundcolour},\rtfsp
-\helpref{wxWindow::GetBackgroundColour}{wxwindowgetbackgroundcolour}
+\helpref{wxWindow::GetBackgroundColour}{wxwindowgetbackgroundcolour},\rtfsp
+\helpref{wxWindow::ShouldInheritColours}{wxwindowshouldinheritcolours}
+
 
 \membersection{wxWindow::SetHelpText}\label{wxwindowsethelptext}
 
@@ -2401,6 +2660,7 @@ and not in the window object itself.
 
 \helpref{GetHelpText}{wxwindowgethelptext}, \helpref{wxHelpProvider}{wxhelpprovider}
 
+
 \membersection{wxWindow::SetId}\label{wxwindowsetid}
 
 \func{void}{SetId}{\param{int}{ id}}
@@ -2419,6 +2679,7 @@ on creation and should not be modified subsequently.
 \helpref{Window identifiers}{windowids}
 
 
+
 \membersection{wxWindow::SetName}\label{wxwindowsetname}
 
 \func{virtual void}{SetName}{\param{const wxString\& }{name}}
@@ -2433,12 +2694,14 @@ Sets the window's name.
 
 \helpref{wxWindow::GetName}{wxwindowgetname}
 
+
 \membersection{wxWindow::SetPalette}\label{wxwindowsetpalette}
 
 \func{virtual void}{SetPalette}{\param{wxPalette* }{palette}}
 
 Obsolete - use \helpref{wxDC::SetPalette}{wxdcsetpalette} instead.
 
+
 \membersection{wxWindow::SetScrollbar}\label{wxwindowsetscrollbar}
 
 \func{virtual void}{SetScrollbar}{\param{int }{orientation}, \param{int }{position},\rtfsp
@@ -2491,6 +2754,7 @@ from your \helpref{wxSizeEvent}{wxsizeevent} handler function.
 
 \begin{comment}
 
+
 \membersection{wxWindow::SetScrollPage}\label{wxwindowsetscrollpage}
 
 \func{virtual void}{SetScrollPage}{\param{int }{orientation}, \param{int }{pageSize}, \param{bool }{refresh = {\tt true}}}
@@ -2529,6 +2793,7 @@ handling of pages and ranges.
 \helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
 \end{comment}
 
+
 \membersection{wxWindow::SetScrollPos}\label{wxwindowsetscrollpos}
 
 \func{virtual void}{SetScrollPos}{\param{int }{orientation}, \param{int }{pos}, \param{bool }{refresh = {\tt true}}}
@@ -2557,6 +2822,7 @@ application to take note of scrollbar attributes and redraw contents accordingly
 
 \begin{comment}
 
+
 \membersection{wxWindow::SetScrollRange}\label{wxwindowsetscrollrange}
 
 \func{virtual void}{SetScrollRange}{\param{int }{orientation}, \param{int }{range}, \param{bool }{refresh = {\tt true}}}
@@ -2588,6 +2854,7 @@ and usually the scrollbar will be automatically hidden.
 \helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
 \end{comment}
 
+
 \membersection{wxWindow::SetSize}\label{wxwindowsetsize}
 
 \func{virtual void}{SetSize}{\param{int}{ x}, \param{int}{ y}, \param{int}{ width}, \param{int}{ height},
@@ -2657,11 +2924,16 @@ implements the following methods:\par
 \end{twocollist}}
 }
 
+
 \membersection{wxWindow::SetSizeHints}\label{wxwindowsetsizehints}
 
 \func{virtual void}{SetSizeHints}{\param{int}{ minW=-1}, \param{int}{ minH=-1}, \param{int}{ maxW=-1}, \param{int}{ maxH=-1},
  \param{int}{ incW=-1}, \param{int}{ incH=-1}}
 
+\func{void}{SetSizeHints}{\param{const wxSize\&}{ minSize},
+\param{const wxSize\&}{ maxSize=wxDefaultSize}, \param{const wxSize\&}{ incSize=wxDefaultSize}}
+
+
 Allows specification of minimum and maximum window sizes, and window size increments.
 If a pair of values is not set (or set to -1), the default values will be used.
 
@@ -2679,6 +2951,12 @@ If a pair of values is not set (or set to -1), the default values will be used.
 
 \docparam{incH}{Specifies the increment for sizing the height (Motif/Xt only).}
 
+\docparam{minSize}{Minimum size.}
+
+\docparam{maxSize}{Maximum size.}
+
+\docparam{incSize}{Increment size (Motif/Xt only).}
+
 \wxheading{Remarks}
 
 If this function is called, the user will not be able to size the window outside the
@@ -2686,6 +2964,7 @@ given bounds.
 
 The resizing increments are only significant under Motif or Xt.
 
+
 \membersection{wxWindow::SetSizer}\label{wxwindowsetsizer}
 
 \func{void}{SetSizer}{\param{wxSizer* }{sizer}, \param{bool }{deleteOld=true}}
@@ -2717,6 +2996,7 @@ the sizer automatically in OnSize; otherwise, you must override OnSize and call
 explicitly. When setting both a wxSizer and a \helpref{wxLayoutConstraints}{wxlayoutconstraints},
 only the sizer will have effect.
 
+
 \membersection{wxWindow::SetSizerAndFit}\label{wxwindowsetsizerandfit}
 
 \func{void}{SetSizerAndFit}{\param{wxSizer* }{sizer}, \param{bool }{deleteOld=true}}
@@ -2724,6 +3004,7 @@ only the sizer will have effect.
 The same as \helpref{SetSizer}{wxwindowsetsizer}, except it also sets the size hints
 for the window based on the sizer's minimum size.
 
+
 \membersection{wxWindow::SetTitle}\label{wxwindowsettitle}
 
 \func{virtual void}{SetTitle}{\param{const wxString\& }{title}}
@@ -2738,6 +3019,7 @@ Sets the window's title. Applicable only to frames and dialogs.
 
 \helpref{wxWindow::GetTitle}{wxwindowgettitle}
 
+
 \membersection{wxWindow::SetThemeEnabled}\label{wxwindowsetthemeenabled}
 
 \func{virtual void}{SetThemeEnabled}{\param{bool }{enable}}
@@ -2752,6 +3034,7 @@ defined by a user's selected theme.
 Dialogs, notebook pages and the status bar have this flag set to true
 by default so that the default look and feel is simulated best.
 
+
 \membersection{wxWindow::SetToolTip}\label{wxwindowsettooltip}
 
 \func{void}{SetToolTip}{\param{const wxString\& }{tip}}
@@ -2763,6 +3046,7 @@ Attach a tooltip to the window.
 See also: \helpref{GetToolTip}{wxwindowgettooltip},
  \helpref{wxToolTip}{wxtooltip}
 
+
 \membersection{wxWindow::SetValidator}\label{wxwindowsetvalidator}
 
 \func{virtual void}{SetValidator}{\param{const wxValidator\&}{ validator}}
@@ -2770,6 +3054,7 @@ See also: \helpref{GetToolTip}{wxwindowgettooltip},
 Deletes the current validator (if any) and sets the window validator, having called wxValidator::Clone to
 create a new validator of this type.
 
+
 \membersection{wxWindow::SetVirtualSize}\label{wxwindowsetvirtualsize}
 
 \func{void}{SetVirtualSize}{\param{int}{ width}, \param{int}{ height}}
@@ -2778,10 +3063,15 @@ create a new validator of this type.
 
 Sets the virtual size of the window in pixels.
 
+
 \membersection{wxWindow::SetVirtualSizeHints}\label{wxwindowsetvirtualsizehints}
 
 \func{virtual void}{SetVirtualSizeHints}{\param{int}{ minW},\param{int}{ minH}, \param{int}{ maxW=-1}, \param{int}{ maxH=-1}}
 
+\func{void}{SetVirtualSizeHints}{\param{const wxSize\&}{ minSize=wxDefaultSize}, 
+\param{const wxSize\&}{ maxSize=wxDefaultSize}}
+
+
 Allows specification of minimum and maximum virtual window sizes.
 If a pair of values is not set (or set to -1), the default values
 will be used.
@@ -2796,17 +3086,23 @@ will be used.
 
 \docparam{maxH}{Specifies the maximum height allowable.}
 
+\docparam{minSize}{Minimum size.}
+
+\docparam{maxSize}{Maximum size.}
+
 \wxheading{Remarks}
 
 If this function is called, the user will not be able to size the virtual area
 of the window outside the given bounds.
 
+
 \membersection{wxWindow::SetWindowStyle}\label{wxwindowsetwindowstyle}
 
 \func{void}{SetWindowStyle}{\param{long}{ style}}
 
 Identical to \helpref{SetWindowStyleFlag}{wxwindowsetwindowstyleflag}.
 
+
 \membersection{wxWindow::SetWindowStyleFlag}\label{wxwindowsetwindowstyleflag}
 
 \func{virtual void}{SetWindowStyleFlag}{\param{long}{ style}}
@@ -2822,6 +3118,40 @@ See \helpref{Window styles}{windowstyles} for more information about flags.
 \helpref{GetWindowStyleFlag}{wxwindowgetwindowstyleflag}
 
 
+\membersection{wxWindow::SetWindowVariant}\label{wxwindowsetwindowvariant}
+
+\func{void}{SetWindowVariant}{\param{wxWindowVariant}{variant}}
+
+This function can be called under all platforms but only does anything under
+Mac OS X 10.3+ currently. Under this system, each of the standard control can
+exist in several sizes which correpond to the elements of wxWindowVariant
+enum:
+\begin{verbatim}
+enum wxWindowVariant
+{
+    wxWINDOW_VARIANT_NORMAL,        // Normal size
+    wxWINDOW_VARIANT_SMALL,         // Smaller size (about 25 % smaller than normal )
+    wxWINDOW_VARIANT_MINI,          // Mini size (about 33 % smaller than normal )
+    wxWINDOW_VARIANT_LARGE,         // Large size (about 25 % larger than normal )
+};
+\end{verbatim}
+
+By default the controls use the normal size, of course, but this function can
+be used to change this.
+
+
+\membersection{wxWindow::ShouldInheritColours}\label{wxwindowshouldinheritcolours}
+
+\func{virtual bool}{ShouldInheritColours}{\void}
+
+Return \true from here to allow the colours of this window to be changed by 
+\helpref{InheritAttributes}{wxwindowinheritattributes}, returning \false
+forbids inheriting them from the parent window.
+
+The base class version returns \false, but this method is overridden in 
+\helpref{wxControl}{wxcontrol} where it returns \true.
+
+
 \membersection{wxWindow::Show}\label{wxwindowshow}
 
 \func{virtual bool}{Show}{\param{bool}{ show = {\tt true}}}
@@ -2844,12 +3174,15 @@ done because it already was in the requested state.
 \helpref{wxWindow::IsShown}{wxwindowisshown}
 
 
+
 \membersection{wxWindow::Thaw}\label{wxwindowthaw}
 
 \func{virtual void}{Thaw}{\void}
 
-Reenables window updating after a previous call to
-\helpref{Freeze}{wxwindowfreeze}.
+Reenables window updating after a previous call to 
+\helpref{Freeze}{wxwindowfreeze}. To really thaw the control, it must be called
+exactly the same number of times as \helpref{Freeze}{wxwindowfreeze}.
+
 
 \membersection{wxWindow::TransferDataFromWindow}\label{wxwindowtransferdatafromwindow}
 
@@ -2866,6 +3199,7 @@ the method will also call TransferDataFromWindow() of all child windows.
 \helpref{wxWindow::TransferDataToWindow}{wxwindowtransferdatatowindow},\rtfsp
 \helpref{wxValidator}{wxvalidator}, \helpref{wxWindow::Validate}{wxwindowvalidate}
 
+
 \membersection{wxWindow::TransferDataToWindow}\label{wxwindowtransferdatatowindow}
 
 \func{virtual bool}{TransferDataToWindow}{\void}
@@ -2884,6 +3218,7 @@ Returns {\tt false} if a transfer failed.
 \helpref{wxWindow::TransferDataFromWindow}{wxwindowtransferdatafromwindow},\rtfsp
 \helpref{wxValidator}{wxvalidator}, \helpref{wxWindow::Validate}{wxwindowvalidate}
 
+
 \membersection{wxWindow::UnregisterHotKey}\label{wxwindowunregisterhotkey}
 
 \func{bool}{UnregisterHotKey}{\param{int}{ hotkeyId}}
@@ -2906,6 +3241,7 @@ This function is currently only implemented under MSW.
 
 \helpref{wxWindow::RegisterHotKey}{wxwindowregisterhotkey}
 
+
 \membersection{wxWindow::Update}\label{wxwindowupdate}
 
 \func{virtual void}{Update}{\void}
@@ -2917,6 +3253,7 @@ nothing if the window hadn't been already repainted. Use
 \helpref{Refresh}{wxwindowrefresh} first if you want to immediately redraw the
 window unconditionally.
 
+
 \membersection{wxWindow::UpdateWindowUI}\label{wxwindowupdatewindowui}
 
 \func{virtual void}{UpdateWindowUI}{\param{long}{ flags = wxUPDATE\_UI\_NONE}}
@@ -2965,6 +3302,7 @@ void MyWindow::OnInternalIdle()
 \helpref{wxWindow::DoUpdateWindowUI}{wxwindowdoupdatewindowui}, 
 \helpref{wxWindow::OnInternalIdle}{wxwindowoninternalidle}
 
+
 \membersection{wxWindow::Validate}\label{wxwindowvalidate}
 
 \func{virtual bool}{Validate}{\void}
@@ -2984,6 +3322,7 @@ Returns {\tt false} if any of the validations failed.
 \helpref{wxWindow::TransferDataFromWindow}{wxwindowtransferdatafromwindow},\rtfsp
 \helpref{wxValidator}{wxvalidator}
 
+
 \membersection{wxWindow::WarpPointer}\label{wxwindowwarppointer}
 
 \func{void}{WarpPointer}{\param{int}{ x}, \param{int}{ y}}
