class WXDLLIMPEXP_ADV wxGrid : public wxScrolledWindow
{
public:
- wxGrid() ;
+ wxGrid();
- wxGrid( wxWindow *parent,
+ wxGrid( wxWindow *parent,
wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
: wxScrolledWindow( parent, wxID_ANY, wxPoint(x,y), wxSize(w,h),
(style|wxWANTS_CHARS), name )
{
+ InitVars();
Create();
}
void Create();
void Init();
+ void InitVars();
void CalcDimensions();
void CalcWindowSizes();
bool Redimension( wxGridTableMessage& );
wxGrid::wxGrid()
{
- // in order to make sure that a size event is not
- // trigerred in a unfinished state
- m_cornerLabelWin = NULL;
- m_rowLabelWin = NULL;
- m_colLabelWin = NULL;
- m_gridWin = NULL;
+ InitVars();
}
wxGrid::wxGrid( wxWindow *parent,
long style,
const wxString& name )
{
+ InitVars();
Create(parent, id, pos, size, style, name);
}
void wxGrid::Create()
{
- // set to true by CreateGrid
- m_created = false;
-
// create the type registry
m_typeRegistry = new wxGridTypeRegistry;
- m_selection = NULL;
-
- m_table = (wxGridTableBase *) NULL;
- m_ownTable = false;
m_cellEditCtrlEnabled = false;
return m_created;
}
+void wxGrid::InitVars()
+{
+ m_created = false;
+
+ m_cornerLabelWin = NULL;
+ m_rowLabelWin = NULL;
+ m_colLabelWin = NULL;
+ m_gridWin = NULL;
+
+ m_table = NULL;
+ m_ownTable = false;
+
+ m_selection = NULL;
+ m_defaultCellAttr = NULL;
+ m_typeRegistry = NULL;
+ m_winCapture = NULL;
+}
+
void wxGrid::Init()
{
m_rowLabelWidth = WXGRID_DEFAULT_ROW_LABEL_WIDTH;
{
// Don't do anything if between Begin/EndBatch...
// EndBatch() will do all this on the last nested one anyway.
- if (! GetBatchCount())
+ if ( m_created && !GetBatchCount() )
{
// Refresh to get correct scrolled position:
wxScrolledWindow::Refresh(eraseb, rect);