]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/window.tex
improved sizing of wxBusyInfo window and updated the docs a bit
[wxWidgets.git] / docs / latex / wx / window.tex
index 7328f7ec10fed135362579aec2f571babee9f039..77e76e7270af651c212eefb0a1580257c2c70bdb 100644 (file)
@@ -178,7 +178,7 @@ centered relative to the screen anyhow.
 
 \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}
@@ -190,7 +190,7 @@ 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}
@@ -387,6 +387,12 @@ to the list of windows pending real deletion.
 
 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}}
@@ -408,7 +414,7 @@ Windows only.
 
 \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.
 
@@ -418,7 +424,8 @@ 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}
 
@@ -459,6 +466,20 @@ implements the following methods:\par
 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}
@@ -511,7 +532,7 @@ Returns a reference to the list of the window's children.
 
 \constfunc{virtual void}{GetClientSize}{\param{int* }{width}, \param{int* }{height}}
 
-\perlnote{In wxPerl this method takes no parameter and returns 
+\perlnote{In wxPerl this method takes no parameter and returns
 a 2-element list {\tt ( width, height )}.}
 
 \constfunc{virtual wxSize}{GetClientSize}{\void}
@@ -528,8 +549,8 @@ area which may be drawn on by the programmer, excluding title bar, border etc.
 \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}}
 }
 
@@ -547,7 +568,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}
@@ -778,7 +799,12 @@ method:\par
 \end{twocollist}
 }}
 
-\membersection{wxWindow::GetTextExtent}
+\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},
@@ -1047,11 +1073,14 @@ 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.
 
+{\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
@@ -1084,13 +1113,15 @@ 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}
 
-\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}
@@ -1178,8 +1209,9 @@ destroying the window if it returns TRUE or if the close is being forced.
 \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}
 
@@ -1247,11 +1279,14 @@ 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.
 
+{\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
@@ -1276,7 +1311,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.
@@ -1317,7 +1352,9 @@ when the application is idle.
 
 \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}
 
@@ -1773,6 +1810,49 @@ implements the following methods:\par
 \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}
 
@@ -1808,7 +1888,8 @@ Sets the accelerator table for this window. See \helpref{wxAcceleratorTable}{wxa
 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 laying out subwindows.
+\helpref{wxWindow::SetConstraints}{wxwindowsetconstraints} for laying out
+subwindows.
 
 \wxheading{Parameters}
 
@@ -1936,7 +2017,7 @@ 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}
@@ -1981,6 +2062,12 @@ bits are:
 \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}
@@ -2372,9 +2459,9 @@ create a new validator of this type.
 
 \func{void}{SetToolTip}{\param{wxToolTip* }{tip}}
 
-Attach a tooltip to the window. 
+Attach a tooltip to the window.
 
-See also: \helpref{GetToolTip}{wxwindowgettooltip}, 
+See also: \helpref{GetToolTip}{wxwindowgettooltip},
           \helpref{wxToolTip}{wxtooltip}
 
 
@@ -2410,17 +2497,25 @@ See \helpref{Window styles}{windowstyles} for more information about flags.
 
 \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}