wants to get all char events - even for keys like TAB or ENTER which are
usually used for dialog navigation and which wouldn't be generated without
this style}
-\twocolitem{\windowstyle{wxNO\_FULLREPAINT\_ON\_RESIZE}}{Disables repainting
+\twocolitem{\windowstyle{wxNO\_FULL\_REPAINT\_ON\_RESIZE}}{Disables repainting
the window completely when its size is changed - you will have to repaint the
-new window area manually if you use style. Currently only has effect for
+new window area manually if you use this style. Currently only has an effect for
Windows.}
\twocolitem{\windowstyle{wxVSCROLL}}{Use this style to enable a vertical scrollbar. (Still used?) }
\twocolitem{\windowstyle{wxHSCROLL}}{Use this style to enable a horizontal scrollbar. (Still used?) }
\latexignore{\rtfignore{\wxheading{Members}}}
-\membersection{wxWindow::wxWindow}
+\membersection{wxWindow::wxWindow}\label{wxwindowctor}
\func{}{wxWindow}{\void}
\func{void}{CentreOnParent}{\param{int}{ direction = wxBOTH}}
-Centres the window on its parent. This is a more readable synonym for
+Centres the window on its parent. This is a more readable synonym for
\helpref{Centre}{wxwindowcentre}.
\wxheading{Parameters}
This methods provides for a way to center top level windows over their
parents instead of the entire screen. If there is no parent or if the
-window is not a top level window, then behaviour is the same as
+window is not a top level window, then behaviour is the same as
\helpref{wxWindow::Centre}{wxwindowcentre}.
\wxheading{See also}
\constfunc{virtual void}{ClientToScreen}{\param{int* }{x}, \param{int* }{y}}
+\perlnote{In wxPerl this method returns a 2-element list intead of
+modifying its parameters.}
+
\constfunc{virtual wxPoint}{ClientToScreen}{\param{const wxPoint\&}{ pt}}
Converts to screen coordinates from coordinates relative to this window.
\end{twocollist}}
}
-
\membersection{wxWindow::Close}\label{wxwindowclose}
\func{virtual bool}{Close}{\param{bool}{ force = FALSE}}
Destroys all children of a window. Called automatically by the destructor.
+\membersection{wxWindow::Disable}\label{wxwindowdisable}
+
+\func{void}{Disable}{\void}
+
+Disables the window, same as \helpref{Enable(FALSE)}{wxwindowenable}.
+
\membersection{wxWindow::DragAcceptFiles}\label{wxwindowdragacceptfiles}
\func{virtual void}{DragAcceptFiles}{\param{bool}{ accept}}
\membersection{wxWindow::Enable}\label{wxwindowenable}
-\func{virtual void}{Enable}{\param{bool}{ enable}}
+\func{virtual void}{Enable}{\param{bool}{ enable = TRUE}}
Enable or disable the window for user input.
\wxheading{See also}
-\helpref{wxWindow::IsEnabled}{wxwindowisenabled}
+\helpref{wxWindow::IsEnabled}{wxwindowisenabled},\rtfsp
+\helpref{wxWindow::Disable}{wxwindowdisable}
\membersection{wxWindow::FindFocus}\label{wxwindowfindfocus}
Sizes the window so that it fits around its subwindows. This function 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.
+
+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
+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::GetBackgroundColour}\label{wxwindowgetbackgroundcolour}
\constfunc{virtual wxColour}{GetBackgroundColour}{\void}
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::GetCharHeight}
\constfunc{virtual int}{GetCharHeight}{\void}
\constfunc{virtual void}{GetClientSize}{\param{int* }{width}, \param{int* }{height}}
+\perlnote{In wxPerl this method takes no parameter and returns
+a 2-element list {\tt ( width, height )}.}
+
\constfunc{virtual wxSize}{GetClientSize}{\void}
This gets the size of the window `client area' in pixels. The client area is the
\pythonnote{In place of a single overloaded method name, wxPython
implements the following methods:\par
\indented{2cm}{\begin{twocollist}
-\twocolitem{{\bf wxGetClientSizeTuple()}}{Returns a 2-tuple of (width, height)}
-\twocolitem{{\bf wxGetClientSize()}}{Returns a wxSize object}
+\twocolitem{{\bf GetClientSizeTuple()}}{Returns a 2-tuple of (width, height)}
+\twocolitem{{\bf GetClientSize()}}{Returns a wxSize object}
\end{twocollist}}
}
\wxheading{See also}
-\helpref{wxWindow::SetDropTarget}{wxwindowsetdroptarget},
+\helpref{wxWindow::SetDropTarget}{wxwindowsetdroptarget},
\helpref{Drag and drop overview}{wxdndoverview}
\membersection{wxWindow::GetEventHandler}\label{wxwindowgeteventhandler}
Returns the grandparent of a window, or NULL if there isn't one.
-\membersection{wxWindow::GetHandle}
+\membersection{wxWindow::GetHandle}\label{wxwindowgethandle}
\constfunc{void*}{GetHandle}{\void}
\pythonnote{This method will return an integer in wxPython.}
+\membersection{wxWindow::GetHelpText}\label{wxwindowgethelptext}
+
+\constfunc{virtual wxString}{GetHelpText}{\void}
+
+Gets the help text to be used as context-sensitive help for this window.
+
+Note that the text is actually stored by the current \helpref{wxHelpProvider}{wxhelpprovider} implementation,
+and not in the window object itself.
+
+\wxheading{See also}
+
+\helpref{SetHelpText}{wxwindowsethelptext}, \helpref{wxHelpProvider}{wxhelpprovider}
+
\membersection{wxWindow::GetId}\label{wxwindowgetid}
\constfunc{int}{GetId}{\void}
tools or special-needs access programs) which need to identify windows
by name.
-\membersection{wxWindow::GetPosition}
-
-\constfunc{virtual void}{GetPosition}{\param{int* }{x}, \param{int* }{y}}
-
-This gets the position of the window in pixels, relative to the parent window or
-if no parent, relative to the whole display.
-
-\wxheading{Parameters}
-
-\docparam{x}{Receives the x position of the window.}
-
-\docparam{y}{Receives the y position of the window.}
-
-\pythonnote{In place of a single overloaded method name, wxPython
-implements the following methods:\par
-\indented{2cm}{\begin{twocollist}
-\twocolitem{{\bf GetPosition()}}{Returns a wxPoint}
-\twocolitem{{\bf GetPositionTuple()}}{Returns a tuple (x, y)}
-\end{twocollist}}
-}
-
\membersection{wxWindow::GetName}\label{wxwindowgetname}
\constfunc{virtual wxString }{GetName}{\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}}
+
+\constfunc{wxPoint}{GetPosition}{\void}
+
+This gets the position of the window in pixels, relative to the parent window or
+if no parent, relative to the whole display.
+
+\wxheading{Parameters}
+
+\docparam{x}{Receives the x position of the window.}
+
+\docparam{y}{Receives the y position of the window.}
+
+\pythonnote{In place of a single overloaded method name, wxPython
+implements the following methods:\par
+\indented{2cm}{\begin{twocollist}
+\twocolitem{{\bf GetPosition()}}{Returns a wxPoint}
+\twocolitem{{\bf GetPositionTuple()}}{Returns a tuple (x, y)}
+\end{twocollist}}
+}
+
+\perlnote{In wxPerl there are two methods instead of a single overloaded
+method:\par
+\indented{2cm}{\begin{twocollist}
+\twocolitem{{\bf GetPosition()}}{Returns a Wx::Point}
+\twocolitem{{\bf GetPositionXY()}}{Returns a 2-element list
+ {\tt ( x, y )}}
+\end{twocollist}
+}}
+
\membersection{wxWindow::GetRect}\label{wxwindowgetrect}
\constfunc{virtual wxRect}{GetRect}{\void}
\end{twocollist}}
}
-\membersection{wxWindow::GetTextExtent}
+\perlnote{In wxPerl there are two methods instead of a single overloaded
+method:\par
+\indented{2cm}{\begin{twocollist}
+\twocolitem{{\bf GetSize()}}{Returns a Wx::Size}
+\twocolitem{{\bf GetSizeWH()}}{Returns a 2-element list
+ {\tt ( width, height )}}
+\end{twocollist}
+}}
+
+\membersection{wxWindow::GetSizer}\label{wxwindowgetsizer}
+
+\constfunc{const wxSizer *}{GetSizer}{\void}
+
+Return the sizer associated with the window by a previous call to
+\helpref{SetSizer()}{wxwindowsetsizer} or {\tt NULL}.
\constfunc{virtual void}{GetTextExtent}{\param{const wxString\& }{string}, \param{int* }{x}, \param{int* }{y},
\param{int* }{descent = NULL}, \param{int* }{externalLeading = NULL},
\end{twocollist}}
}
+\perlnote{In wxPerl this method takes only the {\tt string} and optionally
+ {\tt font} parameters, and returns a 4-element list
+ {\tt ( x, y, descent, externalLeading )}.}
\membersection{wxWindow::GetTitle}\label{wxwindowgettitle}
values.
Note that not all keypresses can be intercepted this way. If you wish to intercept modifier
-keypresses, then you will need to use \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown} or
+keypresses, then you will need to use \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown} or
\helpref{wxWindow::OnKeyUp}{wxwindowonkeyup}.
Most, but not all, windows allow keypresses to be intercepted.
+{\bf Tip:} be sure to call {\tt event.Skip()} for events that you don't process in this function,
+otherwise menu shortcuts may cease to work under Windows.
+
\wxheading{See also}
\helpref{wxWindow::OnKeyDown}{wxwindowonkeydown}, \helpref{wxWindow::OnKeyUp}{wxwindowonkeyup},\rtfsp
This function is only relevant to top-level windows (frames and dialogs), and under
Windows only. Under GTK the normal EVT\_CHAR\_ event has the functionality, i.e.
-you can intercepts it and if you don't call \helpref{wxEvent::Skip}{wxeventskip}
+you can intercepts it and if you don't call \helpref{wxEvent::Skip}{wxeventskip}
the window won't get the event.
\wxheading{See also}
-\helpref{wxKeyEvent}{wxkeyevent}, \helpref{wxWindow::OnCharHook}{wxwindowoncharhook},\rtfsp
-\helpref{wxApp::OnCharHook}{wxapponcharhook},\rtfsp
+\helpref{wxKeyEvent}{wxkeyevent},\rtfsp
+\helpref{wxWindow::OnCharHook}{wxwindowoncharhook},\rtfsp
+%% GD: OnXXX functions are not documented
+%%\helpref{wxApp::OnCharHook}{wxapponcharhook},\rtfsp
\helpref{Event handling overview}{eventhandlingoverview}
\membersection{wxWindow::OnCommand}\label{wxwindowoncommand}
\helpref{wxWindow::OnClose}{wxwindowonclose},\rtfsp
\helpref{wxWindow::Destroy}{wxwindowdestroy},\rtfsp
\helpref{wxCloseEvent}{wxcloseevent},\rtfsp
-\helpref{wxApp::OnQueryEndSession}{wxapponqueryendsession},\rtfsp
-\helpref{wxApp::OnEndSession}{wxapponendsession}
+\helpref{wxApp::OnQueryEndSession}{wxapponqueryendsession}
+%% GD: OnXXX functions are not documented
+%%\helpref{wxApp::OnEndSession}{wxapponendsession}
\membersection{wxWindow::OnDropFiles}\label{wxwindowondropfiles}
default function to achieve default keypress functionality.
Note that not all keypresses can be intercepted this way. If you wish to intercept special
-keys, such as shift, control, and function keys, then you will need to use \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown} or
+keys, such as shift, control, and function keys, then you will need to use \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown} or
\helpref{wxWindow::OnKeyUp}{wxwindowonkeyup}.
Most, but not all, windows allow keypresses to be intercepted.
+{\bf Tip:} be sure to call {\tt event.Skip()} for events that you don't process in this function,
+otherwise menu shortcuts may cease to work under Windows.
+
\wxheading{See also}
\helpref{wxWindow::OnChar}{wxwindowonchar}, \helpref{wxWindow::OnKeyUp}{wxwindowonkeyup},\rtfsp
default function to achieve default keypress functionality.
Note that not all keypresses can be intercepted this way. If you wish to intercept special
-keys, such as shift, control, and function keys, then you will need to use \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown} or
+keys, such as shift, control, and function keys, then you will need to use \helpref{wxWindow::OnKeyDown}{wxwindowonkeydown} or
\helpref{wxWindow::OnKeyUp}{wxwindowonkeyup}.
Most, but not all, windows allow key up events to be intercepted.
\wxheading{See also}
-\helpref{wxApp::OnIdle}{wxapponidle}, \helpref{wxIdleEvent}{wxidleevent}
+%% GD: OnXXX functions are not documented
+%%\helpref{wxApp::OnIdle}{wxapponidle}
+\helpref{wxIdleEvent}{wxidleevent}
\membersection{wxWindow::OnInitDialog}\label{wxwindowoninitdialog}
\wxheading{Remarks}
-
-
Use the EVT\_PAINT macro in an event table definition to intercept paint events.
Note that In a paint event handler, the application must {\it always} create a \helpref{wxPaintDC}{wxpaintdc} object,
the whole window: call \helpref{wxWindow::GetClientSize}{wxwindowgetclientsize} for the area which may be
used by the application.
+When a window is resized, usually only a small part of the window is damaged and you
+may only need to repaint that area. However, if your drawing depends on the size of the window,
+you may need to clear the DC explicitly and repaint the whole window. In which case, you
+may need to call \helpref{wxWindow::Refresh}{wxwindowrefresh} to invalidate the entire window.
+
\wxheading{See also}
\helpref{wxSizeEvent}{wxsizeevent},\rtfsp
\end{twocollist}}
}
+\membersection{wxWindow::ScrollLines}\label{wxwindowscrolllines}
+
+\func{virtual bool}{ScrollLines}{\param{int }{lines}}
+
+Scrolls the window by the given number of lines down (if {\it lines} is
+positive) or up.
+
+\wxheading{Return value}
+
+Returns {\tt TRUE} if the window was scrolled, {\tt FALSE} if it was already
+on top/bottom and nothing was done.
+
+\wxheading{Remarks}
+
+This function is currently only implemented under MSW and wxTextCtrl under
+wxGTK (it also works for wxScrolledWindow derived classes under all
+platforms).
+
+\wxheading{See also}
+
+\helpref{ScrollPages}{wxwindowscrollpages}
+
+\membersection{wxWindow::ScrollPages}\label{wxwindowscrollpages}
+
+\func{virtual bool}{ScrollPages}{\param{int }{pages}}
+
+Scrolls the window by the given number of pages down (if {\it pages} is
+positive) or up.
+
+\wxheading{Return value}
+
+Returns {\tt TRUE} if the window was scrolled, {\tt FALSE} if it was already
+on top/bottom and nothing was done.
+
+\wxheading{Remarks}
+
+This function is currently only implemented under MSW and wxTextCtrl under
+wxGTK (it also works for wxScrolledWindow derived classes under all
+platforms).
+
+\wxheading{See also}
+
+\helpref{ScrollLines}{wxwindowscrolllines}
\membersection{wxWindow::ScrollWindow}\label{wxwindowscrollwindow}
\docparam{rect}{Rectangle to invalidate. If this is NULL, the whole window is invalidated. If you
pass a rectangle corresponding to the area of the window exposed by the scroll, your painting handler
-can optimise painting by checking for the invalidated region. This paramter is ignored under GTK.}
+can optimize painting by checking for the invalidated region. This parameter is ignored under GTK.}
\wxheading{Remarks}
Determines whether the \helpref{wxWindow::Layout}{wxwindowlayout} function will
be called automatically when the window is resized. Use in connection with
\helpref{wxWindow::SetSizer}{wxwindowsetsizer} and
-\helpref{wxWindow::SetConstraints}{wxwindowsetconstraints} for layouting subwindows.
+\helpref{wxWindow::SetConstraints}{wxwindowsetconstraints} for laying out
+subwindows.
\wxheading{Parameters}
\helpref{wxWindow::Refresh}{wxwindowrefresh},\rtfsp
\helpref{wxWindow::OnEraseBackground}{wxwindowonerasebackground}
+\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}}
\helpref{::wxSetCursor}{wxsetcursor}, \helpref{wxCursor}{wxcursor}
-\membersection{wxWindow::SetEventHandler}\label{wxwindowseteventhandler}
-
-\func{void}{SetEventHandler}{\param{wxEvtHandler* }{handler}}
-
-Sets the event handler for this window.
-
-\wxheading{Parameters}
-
-\docparam{handler}{Specifies the handler to be set.}
-
-\wxheading{Remarks}
-
-An event handler is an object that is capable of processing the events
-sent to a window. By default, the window is its own event handler, but
-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.
-
-\wxheading{See also}
-
-\helpref{wxWindow::GetEventHandler}{wxwindowgeteventhandler},\rtfsp
-\helpref{wxWindow::PushEventHandler}{wxwindowpusheventhandler},\rtfsp
-\helpref{wxWindow::PopEventHandler}{wxwindowpusheventhandler},\rtfsp
-\helpref{wxEvtHandler::ProcessEvent}{wxevthandlerprocessevent},\rtfsp
-\helpref{wxEvtHandler}{wxevthandler}
-
\membersection{wxWindow::SetConstraints}\label{wxwindowsetconstraints}
\func{void}{SetConstraints}{\param{wxLayoutConstraints* }{constraints}}
\wxheading{See also}
-\helpref{wxWindow::GetDropTarget}{wxwindowgetdroptarget},
+\helpref{wxWindow::GetDropTarget}{wxwindowgetdroptarget},
\helpref{Drag and drop overview}{wxdndoverview}
+\membersection{wxWindow::SetEventHandler}\label{wxwindowseteventhandler}
+
+\func{void}{SetEventHandler}{\param{wxEvtHandler* }{handler}}
+
+Sets the event handler for this window.
+
+\wxheading{Parameters}
+
+\docparam{handler}{Specifies the handler to be set.}
+
+\wxheading{Remarks}
+
+An event handler is an object that is capable of processing the events
+sent to a window. By default, the window is its own event handler, but
+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.
+
+\wxheading{See also}
+
+\helpref{wxWindow::GetEventHandler}{wxwindowgeteventhandler},\rtfsp
+\helpref{wxWindow::PushEventHandler}{wxwindowpusheventhandler},\rtfsp
+\helpref{wxWindow::PopEventHandler}{wxwindowpusheventhandler},\rtfsp
+\helpref{wxEvtHandler::ProcessEvent}{wxevthandlerprocessevent},\rtfsp
+\helpref{wxEvtHandler}{wxevthandler}
+
\membersection{wxWindow::SetExtraStyle}\label{wxwindowsetextrastyle}
\func{void}{SetExtraStyle}{\param{long }{exStyle}}
\twocolitem{\windowstyle{wxWS\_EX\_VALIDATE\_RECURSIVELY}}{TransferDataTo/FromWindow()
and Validate() methods will recursively descend into all children of the
window if it has this style flag set.}
+\twocolitem{\windowstyle{wxWS\_EX\_BLOCK\_EVENTS}}{Normally, the command
+events are propagared upwards to the window parent recursively until a handler
+for them is found. Using this style allows to prevent them from being
+propagated beyond this window. Notice that wxDialog has this style on by
+default for the reasons explained in the
+\helpref{event processing overview}{eventprocessing}.}
\end{twocollist}
\membersection{wxWindow::SetFocus}\label{wxwindowsetfocus}
\helpref{wxWindow::SetBackgroundColour}{wxwindowsetbackgroundcolour},\rtfsp
\helpref{wxWindow::GetBackgroundColour}{wxwindowgetbackgroundcolour}
+\membersection{wxWindow::SetHelpText}\label{wxwindowsethelptext}
+
+\func{virtual void}{SetHelpText}{\param{const wxString\& }{helpText}}
+
+Sets the help text to be used as context-sensitive help for this window.
+
+Note that the text is actually stored by the current \helpref{wxHelpProvider}{wxhelpprovider} implementation,
+and not in the window object itself.
+
+\wxheading{See also}
+
+\helpref{GetHelpText}{wxwindowgethelptext}, \helpref{wxHelpProvider}{wxhelpprovider}
+
\membersection{wxWindow::SetId}\label{wxwindowsetid}
\func{void}{SetId}{\param{int}{ id}}
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::SetToolTip}\label{wxwindowsettooltip}
+
+\func{void}{SetToolTip}{\param{const wxString\& }{tip}}
+
+\func{void}{SetToolTip}{\param{wxToolTip* }{tip}}
+
+Attach a tooltip to the window.
+
+See also: \helpref{GetToolTip}{wxwindowgettooltip},
+ \helpref{wxToolTip}{wxtooltip}
+
+
+\membersection{wxWindow::GetToolTip}\label{wxwindowgettooltip}
+
+\constfunc{wxToolTip*}{GetToolTip}{\void}
+
+Get the associated tooltip or NULL if none.
+
+
+
\membersection{wxWindow::SetWindowStyle}\label{wxwindowsetwindowstyle}
\func{void}{SetWindowStyle}{\param{long}{ style}}
\func{virtual bool}{Show}{\param{bool}{ show}}
-Shows or hides the window.
+Shows or hides the window. You may need to call \helpref{Raise}{wxwindowraise}
+for a top level window if you want to bring it to top, although this is not
+needed if Show() is called immediately after the frame creation.
\wxheading{Parameters}
-\docparam{show}{If TRUE, displays the window and brings it to the front. Otherwise,
-hides the window.}
+\docparam{show}{If TRUE displays the window. Otherwise, hides it.}
\wxheading{See also}
\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}.
+
\membersection{wxWindow::TransferDataFromWindow}\label{wxwindowtransferdatafromwindow}
\func{virtual bool}{TransferDataFromWindow}{\void}