2007-03-15 17:25:15 +00:00
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
%% Name: gupdlock.tex
|
|
|
|
%% Purpose: wxGridUpdateLocker documentation
|
|
|
|
%% Author: Evgeniy Tarassov
|
|
|
|
%% Created: 2007-03-15
|
|
|
|
%% RCS-ID: $Id$
|
|
|
|
%% Copyright: (c) 2007 TT-Solutions SARL
|
|
|
|
%% License: wxWindows license
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
|
|
|
|
\section{\class{wxGridUpdateLocker}}\label{wxgridupdatelocker}
|
|
|
|
|
|
|
|
This small class can be used to prevent \helpref{wxGrid}{wxgrid} from redrawing
|
|
|
|
during its lifetime by calling \helpref{wxGrid::BeginBatch}{wxgridbeginbatch}
|
|
|
|
in its constructor and \helpref{wxGrid::EndBatch}{wxgridendbatch} in its
|
|
|
|
destructor. It is typically used in a function performing several operations
|
|
|
|
with a grid which would otherwise result in flicker. For example:
|
|
|
|
|
|
|
|
{\small
|
|
|
|
\begin{verbatim}
|
|
|
|
void MyFrame::Foo()
|
|
|
|
{
|
|
|
|
m_grid = new wxGrid(this, ...);
|
|
|
|
|
|
|
|
wxGridUpdateLocker noUpdates(m_grid);
|
|
|
|
m_grid->AppendColumn();
|
|
|
|
... many other operations with m_grid...
|
|
|
|
m_grid->AppendRow();
|
|
|
|
|
|
|
|
// destructor called, grid refreshed
|
|
|
|
}
|
|
|
|
\end{verbatim}
|
|
|
|
}
|
|
|
|
|
|
|
|
Using this class is easier and safer than calling
|
|
|
|
\helpref{BeginBatch}{wxgridbeginbatch} and \helpref{EndBatch}{wxgridendbatch}
|
|
|
|
because you don't risk not to call the latter (due to an exception for example).
|
|
|
|
|
|
|
|
\wxheading{Derived from}
|
|
|
|
|
|
|
|
None.
|
|
|
|
|
|
|
|
\wxheading{Include files}
|
|
|
|
|
|
|
|
<wx/grid.h>
|
|
|
|
|
2007-07-28 12:21:03 +00:00
|
|
|
\wxheading{Library}
|
|
|
|
|
|
|
|
\helpref{wxAdv}{librarieslist}
|
|
|
|
|
2007-03-15 17:25:15 +00:00
|
|
|
|
|
|
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
|
|
|
|
|
|
|
|
|
|
|
\membersection{wxGridUpdateLocker::wxGridUpdateLocker}\label{wxgridupdatelockerctor}
|
|
|
|
|
|
|
|
\func{}{wxGridUpdateLocker}{\param{wxGrid *}{grid = \NULL}}
|
|
|
|
|
|
|
|
Creates an object preventing the updates of the specified \arg{grid}. The
|
|
|
|
parameter could be \NULL in which case nothing is done. If \arg{grid} is
|
|
|
|
non-\NULL then the grid must exist for longer than wxGridUpdateLocker object
|
|
|
|
itself.
|
|
|
|
|
|
|
|
The default constructor could be followed by a call to
|
|
|
|
\helpref{wxGridUpdateLocker::Create}{wxgridupdatelockercreate} to set the
|
|
|
|
grid object later.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\membersection{wxGridUpdateLocker::\destruct{wxGridUpdateLocker}}\label{wxgridupdatelockerdtor}
|
|
|
|
|
|
|
|
\func{}{\destruct{wxGridUpdateLocker}}{\void}
|
|
|
|
|
|
|
|
Destructor reenables updates for the grid this object is associated with.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\membersection{wxGridUpdateLocker::Create}\label{wxgridupdatelockercreate}
|
|
|
|
|
|
|
|
\func{void}{Create}{\param{wxGrid* }{grid}}
|
|
|
|
|
|
|
|
This method can be called if the object had been constructed using the default
|
|
|
|
constructor. It must not be called more than once.
|
|
|
|
|
|
|
|
|