]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/window.tex
More doxygen topic overview cleanup.
[wxWidgets.git] / docs / latex / wx / window.tex
index 7fad11545aeb2ab6a42943539dcfa4cc70c5acd1..41cc6927005568e400424ba7d5927b147a670393 100644 (file)
@@ -52,15 +52,16 @@ window class or on all platforms.
 
 \twocolwidtha{5cm}%
 \begin{twocollist}\itemsep=0pt
+\twocolitem{\windowstyle{wxBORDER\_DEFAULT}}{The window class will decide the kind of border to show, if any.}
 \twocolitem{\windowstyle{wxBORDER\_SIMPLE}}{Displays a thin border around the window. wxSIMPLE\_BORDER is the old name
 for this style. }
-\twocolitem{\windowstyle{wxBORDER\_DOUBLE}}{Displays a double border. wxDOUBLE\_BORDER is the old name for this style. Windows and Mac only.}
 \twocolitem{\windowstyle{wxBORDER\_SUNKEN}}{Displays a sunken border. wxSUNKEN\_BORDER is the old name for this style.}
 \twocolitem{\windowstyle{wxBORDER\_RAISED}}{Displays a raised border. wxRAISED\_BORDER is the old name for this style. }
 \twocolitem{\windowstyle{wxBORDER\_STATIC}}{Displays a border suitable for a static control.  wxSTATIC\_BORDER is the old name for this style. Windows only. }
-\twocolitem{\windowstyle{wxBORDER\_THEME}}{Displays a themed border where possible. Currently this has an effect on Windows XP and above only.
-For more information on themed borders, please see \helpref{Themed borders on Windows}{wxmswthemedborders}.}
+\twocolitem{\windowstyle{wxBORDER\_THEME}}{Displays a native border suitable for a control, on the current platform. On Windows XP or Vista, this will be a themed border; on most other platforms
+a sunken border will be used. For more information for themed borders on Windows, please see \helpref{Themed borders on Windows}{wxmswthemedborders}.}
 \twocolitem{\windowstyle{wxBORDER\_NONE}}{Displays no border, overriding the default border style for the window. wxNO\_BORDER is the old name for this style.}
+\twocolitem{\windowstyle{wxBORDER\_DOUBLE}}{This style is obsolete and should not be used.}
 \twocolitem{\windowstyle{wxTRANSPARENT\_WINDOW}}{The window is transparent, that is, it will not receive paint
 events. Windows only.}
 \twocolitem{\windowstyle{wxTAB\_TRAVERSAL}}{Use this to enable tab traversal for non-dialog windows.}
@@ -168,7 +169,7 @@ correctly sized. }
 
 \func{}{\destruct{wxWindow}}{\void}
 
-Destructor. Deletes all subwindows, then deletes itself. Instead of using
+Destructor. Deletes all sub-windows, then deletes itself. Instead of using
 the {\bf delete} operator explicitly, you should normally
 use \helpref{wxWindow::Destroy}{wxwindowdestroy} so that wxWidgets
 can delete a window only when it is safe to do so, in idle time.
@@ -218,6 +219,26 @@ called by the user code.
 \docparam{child}{Child window to add.}
 
 
+\membersection{wxWindow::AlwaysShowScrollbars}\label{wxwindowalwaysshowscrollbars}
+
+\func{void}{AlwaysShowScrollbars}{\param{bool}{ hflag}, \param{bool}{ vflag}}
+
+Call this function to force one or both scrollbars to be always shown, even if
+the window is big enough to show its entire contents without scrolling.
+
+\newsince{2.9.0}
+
+\wxheading{Parameters}
+
+\docparam{hflag}{Whether the horizontal scroll bar should always be visible.}
+
+\docparam{vflag}{Whether the vertical scroll bar should always be visible.}
+
+\wxheading{Remarks}
+
+This function is currently only implemented under Mac/Carbon.
+
+
 \membersection{wxWindow::CacheBestSize}\label{wxwindowcachebestsize}
 
 \constfunc{void}{CacheBestSize}{\param{const wxSize\& }{size}}
@@ -225,6 +246,16 @@ called by the user code.
 Sets the cached best size value.
 
 
+\membersection{wxWindow::CanSetTransparent}\label{wxwindowcansettransparent}
+
+\func{bool}{CanSetTransparent}{\void}
+
+Returns \true if the system supports transparent windows and calling 
+\helpref{SetTransparent}{wxwindowsettransparent} may succeed. If this function
+returns \false, transparent windows are definitely not supported by the current
+system.
+
+
 \membersection{wxWindow::CaptureMouse}\label{wxwindowcapturemouse}
 
 \func{virtual void}{CaptureMouse}{\void}
@@ -264,13 +295,6 @@ A synonym for \helpref{Centre}{wxwindowcentre}.
 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}}
@@ -318,24 +342,7 @@ window is not a top level window, then behaviour is the same as
 
 \wxheading{See also}
 
-\helpref{wxWindow::CentreOnScreen}{wxwindowcenteronscreen}
-
-
-\membersection{wxWindow::CentreOnScreen}\label{wxwindowcentreonscreen}
-
-\func{void}{CentreOnScreen}{\param{int}{ direction = wxBOTH}}
-
-Centres the window on screen. This only works for top level windows -
-otherwise, the window will still be centered on its parent.
-
-\wxheading{Parameters}
-
-\docparam{direction}{Specifies the direction for the centering. May be {\tt wxHORIZONTAL}, {\tt wxVERTICAL}\rtfsp
-or {\tt wxBOTH}.}
-
-\wxheading{See also}
-
-\helpref{wxWindow::CentreOnParent}{wxwindowcenteronparent}
+\helpref{wxTopLevelWindow::CentreOnScreen}{wxtoplevelwindowcenteronscreen}
 
 
 \membersection{wxWindow::ClearBackground}\label{wxwindowclearbackground}
@@ -373,6 +380,23 @@ implements the following methods:\par
 \end{twocollist}}
 }
 
+\membersection{wxWindow::ClientToWindowSize}\label{wxwindowclienttowindowsize}
+
+\func{virtual wxSize}{ClientToWindowSize}{\param{const wxSize\&}{ size}}
+
+Converts client area size \arg{size} to corresponding window size. In other
+words, the returned value is what would \helpref{GetSize}{wxwindowgetsize}
+return if this window had client area of given size.
+Components with $wxDefaultCoord$ value are left unchanged.
+
+Note that the conversion is not always exact, it assumes that non-client area
+doesn't change and so doesn't take into account things like menu bar
+(un)wrapping or (dis)appearance of the scrollbars.
+
+\wxheading{See also}
+
+\helpref{wxWindow::WindowToClientSize}{wxwindowwindowtoclientsize}
+
 
 \membersection{wxWindow::Close}\label{wxwindowclose}
 
@@ -617,7 +641,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}
 
 
 
@@ -721,7 +746,8 @@ subwindows.
 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. Calls to these two functions may be
-nested.
+nested but to ensure that the window is properly repainted again, you must thaw
+it exactly as many times as you froze it.
 
 This method is useful for visual appearance optimization (for example, it
 is a good idea to use it before doing many large text insertions in a row into
@@ -774,19 +800,32 @@ Returns the background colour of the window.
 
 \constfunc{virtual wxBackgroundStyle}{GetBackgroundStyle}{\void}
 
-Returns the background style of the window. The background style indicates
-whether background colour should be determined by the system (wxBG\_STYLE\_SYSTEM),
-be set to a specific colour (wxBG\_STYLE\_COLOUR), or should be left to the
-application to implement (wxBG\_STYLE\_CUSTOM).
-
-On GTK+, use of wxBG\_STYLE\_CUSTOM allows the flicker-free drawing of a custom
-background, such as a tiled bitmap. Currently the style has no effect on other platforms.
+Returns the background style of the window. The background style can be one of:
+\begin{twocollist}\itemsep=0pt
+\twocolitem{wxBG\_STYLE\_SYSTEM}{Use the default background, as determined by
+the system or the current theme.}
+\twocolitem{wxBG\_STYLE\_COLOUR}{Use a solid colour for the background, this
+style is set automatically if you call 
+\helpref{SetBackgroundColour}{wxwindowsetbackgroundcolour} so you only need to
+set it explicitly if you had changed the background style to something else
+before.}
+\twocolitem{wxBG\_STYLE\_CUSTOM}{Don't draw the background at all, it's
+supposed that it is drawn by the user-defined erase background event handler.
+This style should be used to avoid flicker when the background is entirely
+custom-drawn.}
+\twocolitem{wxBG\_STYLE\_TRANSPARET}{The background is (partially) transparent,
+this style is automatically set if you call 
+\helpref{SetTransparent}{wxwindowsettransparent} which is used to set the
+transparency level.}
+\end{twocollist}
 
 \wxheading{See also}
 
 \helpref{wxWindow::SetBackgroundColour}{wxwindowsetbackgroundcolour},\rtfsp
 \helpref{wxWindow::GetForegroundColour}{wxwindowgetforegroundcolour},\rtfsp
-\helpref{wxWindow::SetBackgroundStyle}{wxwindowsetbackgroundstyle}
+\helpref{wxWindow::SetBackgroundStyle}{wxwindowsetbackgroundstyle},\rtfsp
+\helpref{wxWindow::SetTransparent}{wxwindowsettransparent}
+
 
 \membersection{wxWindow::GetEffectiveMinSize}\label{wxwindowgeteffectiveminsize}
 
@@ -794,7 +833,7 @@ background, such as a tiled bitmap. Currently the style has no effect on other p
 
 Merges the window's best size into the min size and returns the
 result.  This is the value used by sizers to determine the appropriate
-ammount of sapce to allocate for the widget.
+ammount of space to allocate for the widget.
 
 \wxheading{See also}
 
@@ -1121,12 +1160,33 @@ 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::GetMaxClientSize}\label{wxwindowgetmaxclientsize}
+
+\constfunc{wxSize}{GetMaxClientSize}{\void}
+
+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
+\helpref{SetClientSize}{wxwindowsetclientsize}. 
+
+\wxheading{See also}
+
+\helpref{wxWindow::GetMaxSize}{wxwindowgetmaxsize}
+
+
 \membersection{wxWindow::GetMaxSize}\label{wxwindowgetmaxsize}
 
 \constfunc{wxSize}{GetMaxSize}{\void}
 
-Returns the maximum size of the window, an indication to the sizer layout mechanism
-that this is the maximum possible size. 
+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 \helpref{SetSize}{wxwindowsetsize}. 
+
+\wxheading{See also}
+
+\helpref{wxWindow::GetMaxClientSize}{wxwindowgetmaxclientsize}
+
 
 \membersection{wxWindow::GetMinSize}\label{wxwindowgetminsize}
 
@@ -1137,6 +1197,26 @@ that this is the minimum required size. It normally just returns the value set
 by \helpref{SetMinSize}{wxwindowsetminsize}, but it can be overridden to do the
 calculation on demand.
 
+\wxheading{See also}
+
+\helpref{wxWindow::GetMinClientSize}{wxwindowgetminclientsize}
+
+
+\membersection{wxWindow::GetMinClientSize}\label{wxwindowgetminclientsize}
+
+\constfunc{virtual wxSize}{GetMinClientSize}{\void}
+
+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
+\helpref{SetMinClientSize}{wxwindowsetminclientsize}, but it can be overridden
+to do the calculation on demand.
+
+\wxheading{See also}
+
+\helpref{wxWindow::GetMinSize}{wxwindowgetminsize}
+
+
 \membersection{wxWindow::GetName}\label{wxwindowgetname}
 
 \constfunc{virtual wxString }{GetName}{\void}
@@ -1153,6 +1233,20 @@ name in the window constructor or via \helpref{wxWindow::SetName}{wxwindowsetnam
 \helpref{wxWindow::SetName}{wxwindowsetname}
 
 
+\membersection{wxWindow::GetNextSibling}\label{wxwindowgetnextsibling}
+
+\constfunc{wxWindow *}{GetNextSibling}{\void}
+
+Returns the next window after this one among the parent children or \NULL if
+this window is the last child.
+
+\newsince{2.8.8}
+
+\wxheading{See also}
+
+\helpref{GetPrevSibling}{wxwindowgetprevsibling}
+
+
 \membersection{wxWindow::GetParent}\label{wxwindowgetparent}
 
 \constfunc{virtual wxWindow*}{GetParent}{\void}
@@ -1160,6 +1254,33 @@ name in the window constructor or via \helpref{wxWindow::SetName}{wxwindowsetnam
 Returns the parent of the window, or NULL if there is no parent.
 
 
+\membersection{wxWindow::GetPopupMenuSelectionFromUser}\label{wxwindowgetpopupmenuselectionfromuser}
+
+\func{int}{GetPopupMenuSelectionFromUser}{\param{wxMenu\&}{ menu}, \param{const wxPoint\&}{ pos}}
+
+\func{int}{GetPopupMenuSelectionFromUser}{\param{wxMenu\&}{ menu}, \param{int}{ x}, \param{int}{ y}}
+
+This function shows a popup menu at the given position in this window and
+returns the selected id. It can be more convenient than the general purpose
+\helpref{PopupMenu}{wxwindowpopupmenu} function for simple menus proposing a
+choice in a list of strings to the user.
+
+\wxheading{Parameters}
+
+\docparam{menu}{The menu to show}
+
+\docparam{pos}{The position at which to show the menu in client coordinates}
+
+\docparam{x}{The horizontal position of the menu}
+
+\docparam{y}{The vertical position of the menu}
+
+\wxheading{Return value}
+
+The selected menu item id or \texttt{wxID\_NONE} if none selected or an error
+occurred.
+
+
 \membersection{wxWindow::GetPosition}\label{wxwindowgetposition}
 
 \constfunc{virtual void}{GetPosition}{\param{int* }{x}, \param{int* }{y}}
@@ -1199,6 +1320,20 @@ method:\par
 \helpref{GetScreenPosition}{wxwindowgetscreenposition}
 
 
+\membersection{wxWindow::GetPrevSibling}\label{wxwindowgetprevsibling}
+
+\constfunc{wxWindow *}{GetPrevSibling}{\void}
+
+Returns the previous window before this one among the parent children or \NULL if
+this window is the first child.
+
+\newsince{2.8.8}
+
+\wxheading{See also}
+
+\helpref{GetNextSibling}{wxwindowgetnextsibling}
+
+
 \membersection{wxWindow::GetRect}\label{wxwindowgetrect}
 
 \constfunc{virtual wxRect}{GetRect}{\void}
@@ -1440,6 +1575,31 @@ Returns the value previously passed to
 \helpref{wxWindow::SetWindowVariant}{wxwindowsetwindowvariant}.
 
 
+\membersection{wxWindow::HandleAsNavigationKey}\label{wxwindowhandleasnavigationkey}
+
+\func{bool}{HandleAsNavigationKey}{\param{const wxKeyEvent\&}{ event}}
+
+This function will generate the appropriate call to
+\helpref{Navigate}{wxwindownavigate} if the key event is one normally used for
+keyboard navigation and return \true in this case.
+
+\wxheading{Return value}
+
+Returns \true if the key pressed was for navigation and was handled, \false
+otherwise.
+
+\wxheading{See also}
+
+\helpref{Navigate}{wxwindownavigate}
+
+
+\membersection{wxWindow::HandleWindowEvent}\label{wxwindowhandlewindowevent}
+
+\func{bool}{HandleWindowEvent}{\param{wxEvent\& }{event}}
+
+Shorthand for \texttt{\helpref{GetEventHandler}{wxwindowgeteventhandler}()->\helpref{SafelyProcessEvent}{wxevthandlersafelyprocessevent}(event)}.
+
+
 \membersection{wxWindow::HasCapture}\label{wxwindowhascapture}
 
 \constfunc{virtual bool}{HasCapture}{\void}
@@ -1473,6 +1633,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}
@@ -1515,6 +1687,20 @@ wxWindow-derived class to ensure that background is painted correctly.
 Equivalent to calling \helpref{Show}{wxwindowshow}({\tt false}).
 
 
+\membersection{wxWindow::HideWithEffect}\label{wxwindowhidewitheffect}
+
+\func{virtual bool}{HideWithEffect}{\param{wxShowEffect }{effect}, \param{unsigned }{timeout = $0$}, \param{wxDirection }{dir = wxBOTTOM}}
+
+This function hides a window, like \helpref{Hide()}{wxwindowhide}, but using a
+special visual effect if possible.
+
+The parameters of this function are the same as for 
+\helpref{ShowWithEffect()}{wxwindowshowwitheffect}, please see their
+description there.
+
+\newsince{2.9.0}
+
+
 \membersection{wxWindow::InheritAttributes}\label{wxwindowinheritattributes}
 
 \func{void}{InheritAttributes}{\void}
@@ -1635,6 +1821,21 @@ Returns {\tt true} if the window is retained, {\tt false} otherwise.
 Retained windows are only available on X platforms.
 
 
+\membersection{wxWindow::IsScrollbarAlwaysShown}\label{wxwindowisscrollbaralwaysshown}
+
+\func{bool}{IsScrollbarAlwaysShown}{\param{int}{ orient}}
+
+Return whether a scrollbar is always shown.
+
+\wxheading{Parameters}
+
+\docparam{orient}{Orientation to check, either {\tt wxHORIZONTAL} or {\tt wxVERTICAL}.}
+
+\wxheading{See also}
+
+\helpref{wxWindow::AlwaysShowScrollbars}{wxwindowalwaysshowscrollbars}
+
+
 \membersection{wxWindow::IsShown}\label{wxwindowisshown}
 
 \constfunc{virtual bool}{IsShown}{\void}
@@ -1702,7 +1903,7 @@ This is just a wrapper for \helpref{ScrollLines}{wxwindowscrolllines}$(-1)$.
 
 \func{void}{Lower}{\void}
 
-Lowers the window to the bottom of the window hierarchy (z-order).
+Lowers the window to the bottom of the window hierarchy (Z-order).
 
 \wxheading{See also}
 
@@ -1810,7 +2011,8 @@ changed.
 You may wish to call this from a text control custom keypress handler to do the default
 navigation behaviour for the tab key, since the standard default behaviour for
 a multiline text control with the wxTE\_PROCESS\_TAB style is to insert a tab
-and not navigate to the next control. See also \helpref{wxNavigationKeyEvent}{wxnavigationkeyevent}.
+and not navigate to the next control. See also \helpref{wxNavigationKeyEvent}{wxnavigationkeyevent} and
+\helpref{HandleAsNavigationKey}{wxwindowhandleasnavigationkey}.
 
 
 \membersection{wxWindow::NavigateIn}\label{wxwindownavigatein}
@@ -1822,20 +2024,30 @@ Performs a keyboard navigation action inside this window.
 See \helpref{Navigate}{wxwindownavigate} for more information.
 
 
-\membersection{wxWindow::NextControlId}\label{wxwindownextcontrolid}
+\membersection{wxWindow::NewControlId}\label{wxwindownewcontrolid}
+
+\func{static wxWindowID}{NewControlId}{\param{int}{ count = 1}}
 
-\func{static int}{NextControlId}{\param{int }{winid}}
+Create a new ID or range of IDs that are not currently in use.  The
+IDs will be reserved until assigned to a \helpref{wxWindowIDRef}{windowidsoverview}
+or unreserved with \helpref{UnreserveControlId}{wxwindowunreservecontrolid}.
 
-If two controls are created consecutively using \texttt{wxID\_ANY} id, this
-function allows to retrieve the effective id of the latter control from the id
-of the former. This is useful for example to find the control following its 
-\helpref{wxStaticText}{wxstatictext} label if only the id of or pointer to the
-label is available to the caller but it is known that the two controls were
-created together.
+See \helpref{Window IDs overview}{windowidsoverview} for more information.
+
+\wxheading{Parameters}
+
+\docparam{count}{The number of sequential IDs to reserve.}
+
+\wxheading{Return value}
+
+Returns the ID or the first ID of the range, or \texttt{wxID\_NONE} if the
+specified number of identifiers couldn't be allocated.
 
 \wxheading{See also}
 
-\helpref{PrevControlId}{wxwindowprevcontrolid}
+\helpref{UnreserveControlId}{wxwindowunreservecontrolid}
+\helpref{wxIdManager}{wxidmanager}
+\helpref{Window IDs overview}{windowidsoverview}
 
 
 %% VZ: wxWindow::OnXXX() functions should not be documented but I'm leaving
@@ -2396,15 +2608,6 @@ implements the following methods:\par
 \end{twocollist}}
 }
 
-
-\membersection{wxWindow::PrevControlId}\label{wxwindowprevcontrolid}
-
-\func{static int}{PrevControlId}{\param{int }{winid}}
-
-This is similar to \helpref{NextControlId}{wxwindownextcontrolid} but returns
-the id of the control created just before the one with the given \arg{winid}.
-
-
 \membersection{wxWindow::PushEventHandler}\label{wxwindowpusheventhandler}
 
 \func{void}{PushEventHandler}{\param{wxEvtHandler* }{handler}}
@@ -2441,7 +2644,7 @@ remove the event handler.
 
 \func{void}{Raise}{\void}
 
-Raises the window to the top of the window hierarchy (z-order).
+Raises the window to the top of the window hierarchy (Z-order).
 
 In current version of wxWidgets this works both for managed and child windows.
 
@@ -2765,41 +2968,34 @@ applications on the system.
 
 \func{virtual void}{SetBackgroundStyle}{\param{wxBackgroundStyle}{ style}}
 
-Sets the background style of the window. The background style indicates
-whether background colour should be determined by the system (wxBG\_STYLE\_SYSTEM),
-be set to a specific colour (wxBG\_STYLE\_COLOUR), or should be left to the
-application to implement (wxBG\_STYLE\_CUSTOM).
-
-On GTK+, use of wxBG\_STYLE\_CUSTOM allows the flicker-free drawing of a custom
-background, such as a tiled bitmap. Currently the style has no effect on other platforms.
+Sets the background style of the window. see 
+\helpref{GetBackgroundStyle()}{wxwindowgetbackgroundstyle} for the description
+of the possible style values.
 
 \wxheading{See also}
 
 \helpref{wxWindow::SetBackgroundColour}{wxwindowsetbackgroundcolour},\rtfsp
 \helpref{wxWindow::GetForegroundColour}{wxwindowgetforegroundcolour},\rtfsp
-\helpref{wxWindow::GetBackgroundStyle}{wxwindowgetbackgroundstyle}
+\helpref{wxWindow::SetTransparent}{wxwindowsettransparent}
 
 
-\membersection{wxWindow::SetInitialSize}\label{wxwindowsetinitialsize}
-
-\func{void}{SetInitialSize}{\param{const wxSize\& }{size = wxDefaultSize}}
 
-A {\it smart} SetSize that will fill in default size components with the
-window's {\it best} size values.  Also sets the window's minsize to
-the value passed in for use with sizers.  This means that if a full or
-partial size is passed to this function then the sizers will use that
-size instead of the results of GetBestSize to determine the minimum
-needs of the window for layout.
+\membersection{wxWindow::SetCanFocus}\label{wxwindowsetcanfocus}
 
-Most controls will use this to set their initial size, and their min
-size to the passed in value (if any.)
+\func{virtual void}{SetCanFocus}{\param{bool}{ canFocus}}
 
+This method is only implemented by ports which have support for
+native TAB traversal (such as GTK+ 2.0). It is called by wxWidgets'
+container control code to give the native system a hint when
+doing TAB traversal. A call to this does not disable or change
+the effect of programmatically calling 
+\helpref{wxWindow::SetFocus}{wxwindowsetfocus}.
 
 \wxheading{See also}
 
-\helpref{wxWindow::SetSize}{wxwindowsetsize},\rtfsp
-\helpref{wxWindow::GetBestSize}{wxwindowgetbestsize},\rtfsp
-\helpref{wxWindow::GetEffectiveMinSize}{wxwindowgeteffectiveminsize}
+\helpref{wxFocusEvent}{wxfocusevent}
+\helpref{wxPanel::SetFocus}{wxpanelsetfocus}
+\helpref{wxPanel::SetFocusIgnoringChildren}{wxpanelsetfocusignoringchildren}
 
 
 \membersection{wxWindow::SetCaret}\label{wxwindowsetcaret}
@@ -2903,13 +3099,6 @@ If the window already has a drop target, it is deleted.
 
 
 
-\membersection{wxWindow::SetInitialBestSize}\label{wxwindowsetinitialbestsize}
-
-\func{virtual void}{SetInitialBestSize}{\param{const wxSize\& }{size}}
-
-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).
-
 \membersection{wxWindow::SetEventHandler}\label{wxwindowseteventhandler}
 
 \func{void}{SetEventHandler}{\param{wxEvtHandler* }{handler}}
@@ -2928,9 +3117,9 @@ an application may wish to substitute another, for example to allow
 central implementation of event-handling for a variety of different
 window classes.
 
-It is usually better to use \helpref{wxWindow::PushEventHandler}{wxwindowpusheventhandler} since
-this sets up a chain of event handlers, where an event not handled by one event handler is
-handed to the next one in the chain.
+It is usually better to use \helpref{wxWindow::PushEventHandler}{wxwindowpusheventhandler}
+since this sets up a chain of event handlers, where an event not handled by
+one event handler is handed to the next one in the chain.
 
 \wxheading{See also}
 
@@ -2984,8 +3173,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}
 
 
@@ -3098,6 +3288,36 @@ on creation and should not be modified subsequently.
 
 
 
+\membersection{wxWindow::SetInitialBestSize}\label{wxwindowsetinitialbestsize}
+
+\func{virtual void}{SetInitialBestSize}{\param{const wxSize\& }{size}}
+
+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).
+
+
+\membersection{wxWindow::SetInitialSize}\label{wxwindowsetinitialsize}
+
+\func{void}{SetInitialSize}{\param{const wxSize\& }{size = wxDefaultSize}}
+
+A {\it smart} SetSize that will fill in default size components with the
+window's {\it best} size values.  Also sets the window's minsize to
+the value passed in for use with sizers.  This means that if a full or
+partial size is passed to this function then the sizers will use that
+size instead of the results of GetBestSize to determine the minimum
+needs of the window for layout.
+
+Most controls will use this to set their initial size, and their min
+size to the passed in value (if any.)
+
+
+\wxheading{See also}
+
+\helpref{wxWindow::SetSize}{wxwindowsetsize},\rtfsp
+\helpref{wxWindow::GetBestSize}{wxwindowgetbestsize},\rtfsp
+\helpref{wxWindow::GetEffectiveMinSize}{wxwindowgeteffectiveminsize}
+
+
 \membersection{wxWindow::SetLabel}\label{wxwindowsetlabel}
 
 \func{virtual void}{SetLabel}{\param{const wxString\& }{label}}
@@ -3120,6 +3340,23 @@ Sets the window's label.
 Sets the maximum size of the window, to indicate to the sizer layout mechanism
 that this is the maximum possible size.
 
+\wxheading{See also}
+
+\helpref{wxWindow::SetMaxClientSize}{wxwindowsetmaxclientsize}
+
+
+\membersection{wxWindow::SetMaxClientSize}\label{wxwindowsetmaxclientsize}
+
+\func{void}{SetMaxClientSize}{\param{const wxSize\& }{size}}
+
+Sets the maximum \emph{client} size of the window, to indicate to the sizer
+layout mechanism that this is the maximum possible size of its client area.
+
+\wxheading{See also}
+
+\helpref{wxWindow::SetMaxSize}{wxwindowsetmaxsize}
+
+
 \membersection{wxWindow::SetMinSize}\label{wxwindowsetminsize}
 
 \func{void}{SetMinSize}{\param{const wxSize\& }{size}}
@@ -3129,6 +3366,25 @@ that this is the minimum required size. You may need to call this
 if you change the window size after construction and before adding
 to its parent sizer.
 
+\wxheading{See also}
+
+\helpref{wxWindow::SetMinClientSize}{wxwindowsetminclientsize}
+
+
+\membersection{wxWindow::SetMinClientSize}\label{wxwindowsetminclientsize}
+
+\func{void}{SetMinClientSize}{\param{const wxSize\& }{size}}
+
+Sets the minimum \emph{client} size of the window, to indicate to the sizer
+layout mechanism that this is the minimum required size of window's client
+area. You may need to call this if you change the window size after
+construction and before adding to its parent sizer.
+
+\wxheading{See also}
+
+\helpref{wxWindow::SetMinSize}{wxwindowsetminsize}
+
+
 \membersection{wxWindow::SetName}\label{wxwindowsetname}
 
 \func{virtual void}{SetName}{\param{const wxString\& }{name}}
@@ -3387,7 +3643,7 @@ a wxWidgets-supplied default height.\\
 a wxWidgets-supplied default size.\\
 {\bf wxSIZE\_USE\_EXISTING}: existing dimensions should be used
 if $wxDefaultCoord$ values are supplied.\\
-{\bf wxSIZE\_ALLOW\_MINUS\_ONE}: allow negative dimensions (ie. value of $wxDefaultCoord$) to be interpreted
+{\bf wxSIZE\_ALLOW\_MINUS\_ONE}: allow negative dimensions (i.e. value of $wxDefaultCoord$) to be interpreted
 as real dimensions, not default values.
 {\bf wxSIZE\_FORCE}: normally, if the position and the size of the window are
 already the same as the parameters of this function, nothing is done. but with
@@ -3404,6 +3660,10 @@ The first form sets the position and optionally size, of the window.
 Parameters may be $wxDefaultCoord$ to indicate either that a default should be supplied
 by wxWidgets, or that the current value of the dimension should be used.
 
+Notice that for \helpref{top level window}{wxtoplevelwindow} the size will not
+be changed if it is outside of the valid range as set by 
+\helpref{SetSizeHints}{wxtoplevelwindowsetsizehints}.
+
 \wxheading{See also}
 
 \helpref{wxWindow::Move}{wxwindowmove}
@@ -3466,8 +3726,11 @@ only the sizer will have effect.
 
 \func{void}{SetSizerAndFit}{\param{wxSizer* }{sizer}, \param{bool }{deleteOld=true}}
 
-The same as \helpref{SetSizer}{wxwindowsetsizer}, except it also sets the size hints
-for the window based on the sizer's minimum size.
+This method calls \helpref{SetSizer}{wxwindowsetsizer} and then 
+\helpref{wxSizer::SetSizeHints}{wxsizersetsizehints} which sets the initial
+window size to the size needed to accommodate all sizer elements and sets the
+size hints which, if this window is a top level one, prevent the user from
+resizing it to be less than this minimial size.
 
 
 \membersection{wxWindow::SetThemeEnabled}\label{wxwindowsetthemeenabled}
@@ -3497,6 +3760,20 @@ See also: \helpref{GetToolTip}{wxwindowgettooltip},
  \helpref{wxToolTip}{wxtooltip}
 
 
+\membersection{wxWindow::SetTransparent}\label{wxwindowsettransparent}
+
+\func{bool}{SetTransparent}{\param{wxByte }{alpha}}
+
+Set the transparency of the window. If the system supports transparent windows,
+returns \true, otherwise returns \false and the window remains fully opaque.
+See also \helpref{CanSetTransparent}{wxwindowcansettransparent}.
+
+The parameter \arg{alpha} is in the range $0..255$ where $0$ corresponds to a
+fully transparent window and $255$ to the fully opaque one. The constants
+\texttt{wxIMAGE\_ALPHA\_TRANSPARENT} and \texttt{wxIMAGE\_ALPHA\_OPAQUE} can be
+used.
+
+
 \membersection{wxWindow::SetValidator}\label{wxwindowsetvalidator}
 
 \func{virtual void}{SetValidator}{\param{const wxValidator\&}{ validator}}
@@ -3627,6 +3904,39 @@ done because it already was in the requested state.
 \helpref{wxRadioBox::Show}{wxradioboxshow}
 
 
+\membersection{wxWindow::ShowWithEffect}\label{wxwindowshowwitheffect}
+
+\func{virtual bool}{ShowWithEffect}{\param{wxShowEffect }{effect}, \param{unsigned }{timeout = $0$}, \param{wxDirection }{dir = wxBOTTOM}}
+
+This function shows a window, like \helpref{Show()}{wxwindowshow}, but using a
+special visual effect if possible.
+
+Possible values for \arg{effect} are:
+\begin{twocollist}\itemsep=0pt
+\twocolitem{wxSHOW\_EFFECT\_ROLL}{Roll window effect}
+\twocolitem{wxSHOW\_EFFECT\_SLIDE}{Sliding window effect}
+\twocolitem{wxSHOW\_EFFECT\_BLEND}{Fade in or out effect}
+\twocolitem{wxSHOW\_EFFECT\_EXPAND}{Expanding or collapsing effect}
+\end{twocollist}
+
+For the roll and slide effects the \arg{dir} parameter specifies the animation
+direction: it can be one of \texttt{wxTOP}, \texttt{wxBOTTOM}, \texttt{wxLEFT} 
+or \texttt{wxRIGHT}. For the other effects, this parameter is unused.
+
+The \arg{timeout} parameter specifies the time of the animation, in
+milliseconds. If the default value of $0$ is used, the default animation time
+for the current platform is used.
+
+Currently this function is only implemented in wxMSW and does the same thing as
+Show() in the other ports.
+
+\newsince{2.9.0}
+
+\wxheading{See also}
+
+\helpref{HideWithEffect}{wxwindowhidewitheffect}
+
+
 \membersection{wxWindow::Thaw}\label{wxwindowthaw}
 
 \func{virtual void}{Thaw}{\void}
@@ -3719,6 +4029,25 @@ This function is currently only implemented under MSW.
 
 \helpref{wxWindow::RegisterHotKey}{wxwindowregisterhotkey}
 
+\membersection{wxWindow::UnreserveControlId}\label{wxwindowunreservecontrolid}
+
+\func{static void}{UnreserveControlId}{\param{wxWindowID}{ id}, \param{int}{ count = 1}}
+
+Unreserve an ID or range of IDs that was reserved by \helpref{NewControlId}{wxwindownewcontrolid}.
+
+See \helpref{Window IDs overview}{windowidsoverview} for more information.
+
+\wxheading{Parameters}
+
+\docparam{id}{The starting ID of the range of IDs to unreserve.}
+
+\docparam{count}{The number of sequential IDs to unreserve.}
+
+\wxheading{See also}
+
+\helpref{NewControlId}{wxwindownewcontrolid}
+\helpref{wxIdManager}{wxidmanager}
+\helpref{Window IDs overview}{windowidsoverview}
 
 \membersection{wxWindow::Update}\label{wxwindowupdate}
 
@@ -3817,3 +4146,19 @@ Interface Guidelines forbid moving the mouse cursor programmatically.
 
 \docparam{y}{The new y position for the cursor.}
 
+\membersection{wxWindow::WindowToClientSize}\label{wxwindowwindowtoclientsize}
+
+\func{virtual wxSize}{WindowToClientSize}{\param{const wxSize\&}{ size}}
+
+Converts window size \arg{size} to corresponding client area size. In other
+words, the returned value is what would
+\helpref{GetClientSize}{wxwindowgetclientsize} return if this window had
+given window size. Components with $wxDefaultCoord$ value are left unchanged. 
+
+Note that the conversion is not always exact, it assumes that non-client area
+doesn't change and so doesn't take into account things like menu bar
+(un)wrapping or (dis)appearance of the scrollbars.
+
+\wxheading{See also}
+
+\helpref{wxWindow::ClientToWindowSize}{wxwindowclienttowindowsize}