#include </home/zeitlin/src/wx/github/interface/wx/grid.h>
This small class can be used to prevent wxGrid from redrawing during its lifetime by calling wxGrid::BeginBatch() in its constructor and wxGrid::EndBatch() in its destructor.
It is typically used in a function performing several operations with a grid which would otherwise result in flicker. 以下に例を示します:
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 }
Using this class is easier and safer than calling wxGrid::BeginBatch() and wxGrid::EndBatch() because you don't risk missing the call the latter (due to an exception for example).
Public Member Functions | |
wxGridUpdateLocker (wxGrid *grid=NULL) | |
Creates an object preventing the updates of the specified grid. | |
~wxGridUpdateLocker () | |
Destructor reenables updates for the grid this object is associated with. | |
void | Create (wxGrid *grid) |
This method can be called if the object had been constructed using the default constructor. |
wxGridUpdateLocker::wxGridUpdateLocker | ( | wxGrid * | grid = NULL | ) |
Creates an object preventing the updates of the specified grid.
The parameter could be NULL in which case nothing is done. If grid is non-NULL then the grid must exist for longer than this wxGridUpdateLocker object itself.
The default constructor could be followed by a call to Create() to set the grid object later.
wxGridUpdateLocker::~wxGridUpdateLocker | ( | ) |
Destructor reenables updates for the grid this object is associated with.
void wxGridUpdateLocker::Create | ( | 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.