X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a7af285d1ab87e908454bfabbbe063ab1756912b..001828ed69cd0fd34231bf1c52a6ede3933bf25d:/docs/latex/wx/window.tex?ds=sidebyside diff --git a/docs/latex/wx/window.tex b/docs/latex/wx/window.tex index b4952b1f66..7bda507e7a 100644 --- a/docs/latex/wx/window.tex +++ b/docs/latex/wx/window.tex @@ -52,13 +52,16 @@ window class or on all platforms. \twocolwidtha{5cm}% \begin{twocollist}\itemsep=0pt -\twocolitem{\windowstyle{wxSIMPLE\_BORDER}}{Displays a thin border around the window. wxBORDER is the old name +\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{wxDOUBLE\_BORDER}}{Displays a double border. Windows and Mac only.} -\twocolitem{\windowstyle{wxSUNKEN\_BORDER}}{Displays a sunken border.} -\twocolitem{\windowstyle{wxRAISED\_BORDER}}{Displays a raised border.} -\twocolitem{\windowstyle{wxSTATIC\_BORDER}}{Displays a border suitable for a static control. Windows only. } -\twocolitem{\windowstyle{wxNO\_BORDER}}{Displays no border, overriding the default border style for the window.} +\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 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.} @@ -216,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}} @@ -223,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} @@ -262,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}} @@ -316,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} @@ -772,19 +781,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} @@ -1151,6 +1173,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} @@ -1158,6 +1194,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}} @@ -1197,6 +1260,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} @@ -1438,6 +1515,13 @@ Returns the value previously passed to \helpref{wxWindow::SetWindowVariant}{wxwindowsetwindowvariant}. +\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} @@ -1513,6 +1597,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} @@ -1633,6 +1731,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} @@ -1808,7 +1921,7 @@ 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. +and not navigate to the next control. See also \helpref{wxNavigationKeyEvent}{wxnavigationkeyevent}. \membersection{wxWindow::NavigateIn}\label{wxwindownavigatein} @@ -2763,41 +2876,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} @@ -2901,13 +3007,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}} @@ -2926,9 +3025,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} @@ -3096,6 +3195,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}} @@ -3495,6 +3624,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}} @@ -3625,6 +3768,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}