X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/103aab266479b319424b86ebe67f8e125a0c3b73..601c163b1c7aa7713b9b7b8d2980fa8857131d54:/docs/latex/wx/window.tex?ds=sidebyside

diff --git a/docs/latex/wx/window.tex b/docs/latex/wx/window.tex
index 5a22deae3d..4ffb1a704d 100644
--- a/docs/latex/wx/window.tex
+++ b/docs/latex/wx/window.tex
@@ -42,9 +42,9 @@ the application-wide policy is for 3D controls. Windows only.}
 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?) }
@@ -60,7 +60,7 @@ See also \helpref{window styles overview}{windowstyles}.
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
-\membersection{wxWindow::wxWindow}
+\membersection{wxWindow::wxWindow}\label{wxwindowctor}
 
 \func{}{wxWindow}{\void}
 
@@ -143,9 +143,15 @@ 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 = wxHORIZONTAL}}
+\func{void}{Centre}{\param{int}{ direction = wxBOTH}}
 
 Centres the window.
 
@@ -156,7 +162,8 @@ or {\tt wxBOTH}. It may also include {\tt wxCENTRE\_ON\_SCREEN} flag
 if you want to center the window on the entire screen and not on its
 parent window.}
 
-The flag {\tt wxCENTRE\_FRAME} is obsolete and should not be used any longer.
+The flag {\tt wxCENTRE\_FRAME} is obsolete and should not be used any longer
+(it has no effect).
 
 \wxheading{Remarks}
 
@@ -169,9 +176,10 @@ centered relative to the screen anyhow.
 
 \membersection{wxWindow::CentreOnParent}\label{wxwindowcentreonparent}
 
-\func{void}{CentreOnParent}{\param{int}{ direction = wxHORIZONTAL}}
+\func{void}{CentreOnParent}{\param{int}{ direction = wxBOTH}}
 
-Centres the window.
+Centres the window on its parent. This is a more readable synonym for 
+\helpref{Centre}{wxwindowcentre}.
 
 \wxheading{Parameters}
 
@@ -182,12 +190,28 @@ or {\tt wxBOTH}.}
 
 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}
 
-\helpref{wxWindow::CenterOnParent}{wxwindowcenteronparent}
+\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}
 
 \membersection{wxWindow::Clear}\label{wxwindowclear}
 
@@ -452,11 +476,17 @@ Returns the background colour of the window.
 
 This functions returns the best acceptable minimal size for the window. For
 example, for a static control, it will be the minimal size such that the
-control label is not truncated. For windows containing subwindows (typically 
+control label is not truncated. For windows containing subwindows (typically
 \helpref{wxPanel}{wxpanel}), the size returned by this function will be the
-same as the size the window would have had after calling 
+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}
@@ -504,12 +534,6 @@ implements the following methods:\par
 
 Returns a pointer to the window's layout constraints, or NULL if there are none.
 
-\membersection{wxWindow::GetDefaultItem}\label{wxwindowgetdefaultitem}
-
-\constfunc{wxButton*}{GetDefaultItem}{\void}
-
-Returns a pointer to the button which is the default for this window, or NULL.
-
 \membersection{wxWindow::GetDropTarget}\label{wxwindowgetdroptarget}
 
 \constfunc{wxDropTarget*}{GetDropTarget}{\void}
@@ -518,7 +542,7 @@ Returns the associated drop target, which may be NULL.
 
 \wxheading{See also}
 
-\helpref{wxWindow::SetDropTarget}{wxwindowsetdroptarget},
+\helpref{wxWindow::SetDropTarget}{wxwindowsetdroptarget}, 
 \helpref{Drag and drop overview}{wxdndoverview}
 
 \membersection{wxWindow::GetEventHandler}\label{wxwindowgeteventhandler}
@@ -598,30 +622,9 @@ Each window has an integer identifier. If the application has not provided one
 
 \wxheading{See also}
 
-\helpref{wxWindow::SetId}{wxwindowsetid}\rtfsp
+\helpref{wxWindow::SetId}{wxwindowsetid},\rtfsp
 \helpref{Window identifiers}{windowids}
 
-\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::GetLabel}
 
 \constfunc{virtual wxString }{GetLabel}{\void}
@@ -658,6 +661,29 @@ 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::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}}
+}
+
 \membersection{wxWindow::GetRect}\label{wxwindowgetrect}
 
 \constfunc{virtual wxRect}{GetRect}{\void}
@@ -821,6 +847,14 @@ Returns TRUE if the given point or rectange area has been exposed since the
 last repaint. Call this in an paint event handler to optimize redrawing by
 only redrawing those areas, which have been exposed.
 
+\pythonnote{In place of a single overloaded method name, wxPython
+implements the following methods:\par
+\indented{2cm}{\begin{twocollist}
+\twocolitem{{\bf IsExposed(x,y, w=0,h=0}}{}
+\twocolitem{{\bf IsExposedPoint(pt)}}{}
+\twocolitem{{\bf IsExposedRect(rect)}}{}
+\end{twocollist}}}
+
 \membersection{wxWindow::IsRetained}\label{wxwindowisretained}
 
 \constfunc{virtual bool}{IsRetained}{\void}
@@ -974,7 +1008,7 @@ Note that the ASCII values do not have explicit key codes: they are passed as AS
 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.
@@ -1011,7 +1045,7 @@ values.
 
 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}
@@ -1144,7 +1178,8 @@ Called when the background of the window needs to be erased.
 
 \wxheading{Remarks}
 
-This event is only generated under Windows. It is therefore recommended that
+Under non-Windows platforms, this event is simulated (simply generated just before the
+paint event) and may cause flicker. It is therefore recommended that
 you set the text background colour explicitly in order to prevent flicker.
 The default background colour under GTK is grey.
 
@@ -1173,7 +1208,7 @@ use the EVT\_KEY\_DOWN macro in an event table definition. Your {\bf OnKeyDown}
 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.
@@ -1202,7 +1237,7 @@ use the EVT\_KEY\_UP macro in an event table definition. Your {\bf OnKeyUp} hand
 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.
@@ -1377,9 +1412,12 @@ Sent to the event handler when the window must be refreshed.
 
 \wxheading{Remarks}
 
+
+
 Use the EVT\_PAINT macro in an event table definition to intercept paint events.
 
-In a paint event handler, the application should always create a \helpref{wxPaintDC}{wxpaintdc} object.
+Note that In a paint event handler, the application must {\it always} create a \helpref{wxPaintDC}{wxpaintdc} object,
+even if you do not use it. Otherwise, under MS Windows, refreshing for this and other windows will go wrong.
 
 For example:
 
@@ -1504,6 +1542,11 @@ Note that the size passed is of
 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
@@ -1708,7 +1751,7 @@ Physically scrolls the pixels in the window and move child windows accordingly.
 
 \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}
 
@@ -1726,9 +1769,9 @@ Sets the accelerator table for this window. See \helpref{wxAcceleratorTable}{wxa
 \func{void}{SetAutoLayout}{\param{bool}{ autoLayout}}
 
 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.
+be called automatically when the window is resized. Use in connection with 
+\helpref{wxWindow::SetSizer}{wxwindowsetsizer} and 
+\helpref{wxWindow::SetConstraints}{wxwindowsetconstraints} for laying out subwindows.
 
 \wxheading{Parameters}
 
@@ -1772,6 +1815,12 @@ look as the user wishes with run-time loadable modules.
 \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}}
@@ -1803,9 +1852,13 @@ implements the following methods:\par
 
 \func{virtual void}{SetCursor}{\param{const wxCursor\&}{cursor}}
 
-Sets the window's cursor. Notice that setting the cursor for this window does
-not set it for its children so you'll need to explicitly call SetCursor() for
-them too if you need it.
+% VZ: the docs are correct, if the code doesn't behave like this, it must be
+%     changed
+Sets the window's cursor. Notice that the window cursor also sets it for the
+children of the window implicitly.
+
+The {\it cursor} may be {\tt wxNullCursor} in which case the window cursor will
+be reset back to default.
 
 \wxheading{Parameters}
 
@@ -1815,36 +1868,6 @@ them too if you need it.
 
 \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}}
@@ -1876,9 +1899,39 @@ If the window already has a drop target, it is deleted.
 
 \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}}
@@ -2263,9 +2316,25 @@ Sets the window's title. Applicable only to frames and dialogs.
 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::SetWindowStyleFlag}\label{wxwindowsetwindowstyleflag}
+\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.
+
 
-\func{virtual void}{SetWindowStyleFlag}{\param{long}{ style}}
 
 \membersection{wxWindow::SetWindowStyle}\label{wxwindowsetwindowstyle}
 
@@ -2281,7 +2350,7 @@ Sets the style of the window. Please note that some styles cannot be changed
 after the window creation and that \helpref{Refresh()}{wxwindowrefresh} might
 be called after changing the others for the change to take place immediately.
 
-See \helpref{Windowstyles}{windowstyles} for more information about flags.
+See \helpref{Window styles}{windowstyles} for more information about flags.
 
 \wxheading{See also}
 
