1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2%% Name: wupdlock.tex 3%% Purpose: wxWindowUpdateLocker documentation 4%% Author: Vadim Zeitlin 5%% Modified by: 6%% Created: 2006-03-06 7%% RCS-ID: $Id: wupdlock.tex 37842 2006-03-07 01:50:21Z VZ $ 8%% Copyright: (c) 2006 Vadim Zeitlin <vadim@wxwindows.org> 9%% License: wxWindows license 10%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 11 12\section{\class{wxWindowUpdateLocker}}\label{wxwindowupdatelocker} 13 14This tiny class prevents redrawing of a \helpref{wxWindow}{wxwindow} during its 15lifetime by using \helpref{wxWindow::Freeze}{wxwindowfreeze} and 16\helpref{Thaw}{wxwindowthaw} methods. It is typically used for creating 17automatic objects to temporarily suppress window updates before a batch of 18operations is performed: 19{\small 20\begin{verbatim} 21 void MyFrame::Foo() 22 { 23 m_text = new wxTextCtrl(this, ...); 24 25 wxWindowUpdateLocker noUpdates(m_text); 26 m_text->AppendText(); 27 ... many other operations with m_text... 28 m_text->WriteText(); 29 } 30\end{verbatim} 31} 32 33Using this class is easier and safer than calling 34\helpref{Freeze}{wxwindowfreeze} and \helpref{Thaw}{wxwindowthaw} because you 35don't risk to forget calling the latter. 36 37\wxheading{Derived from} 38 39None. 40 41\wxheading{Include files} 42 43<wx/wupdlock.h> 44 45\latexignore{\rtfignore{\wxheading{Members}}} 46 47 48\membersection{wxWindowUpdateLocker::wxWindowUpdateLocker}\label{wxwindowupdatelockerctor} 49 50\func{}{wxWindowUpdateLocker}{\param{wxWindow *}{win}} 51 52Creates an object preventing the updates of the specified \arg{win}. The 53parameter must be non-\NULL and the window must exist for longer than 54wxWindowUpdateLocker object itself. 55 56 57\membersection{wxWindowUpdateLocker::\destruct{wxWindowUpdateLocker}}\label{wxwindowupdatelockerdtor} 58 59\func{}{\destruct{wxWindowUpdateLocker}}{\void} 60 61Destructor reenables updates for the window this object is associated with. 62 63