wxGridUpdateLocker Class Reference

#include <wx/grid.h>

List of all members.


Detailed Description

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. For example:

    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 not to call the latter (due to an exception for example).

Library:  wxAdvanced

Category:  group_class_grid

Public Member Functions

 wxGridUpdateLocker (wxGrid *grid=NULL)
 ~wxGridUpdateLocker ()
void Create (wxGrid *grid)

Constructor & Destructor Documentation

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 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.


Member Function Documentation

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.



wxWidgets logo

[ top ]