// Author: Michael Bedward (based on code by Julian Smart, Robin Dunn)
// Modified by: Robin Dunn, Vadim Zeitlin, Santiago Palacios
// Created: 1/08/1999
-// RCS-ID: $Id$
// Copyright: (c) Michael Bedward (mbedward@ozemail.com.au)
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
EVT_KEY_UP( wxGrid::OnKeyUp )
EVT_CHAR ( wxGrid::OnChar )
EVT_ERASE_BACKGROUND( wxGrid::OnEraseBackground )
+ EVT_COMMAND(wxID_ANY, wxEVT_GRID_HIDE_EDITOR, wxGrid::OnHideEditor )
END_EVENT_TABLE()
bool wxGrid::Create(wxWindow *parent, wxWindowID id,
int numCols = msg.GetCommandInt();
int oldNumCols = m_numCols;
m_numCols += numCols;
- if ( m_useNativeHeader )
- GetGridColHeader()->SetColumnCount(m_numCols);
if ( !m_colAt.IsEmpty() )
{
}
}
+ // Notice that this must be called after updating m_colWidths above
+ // as the native grid control will check whether the new columns
+ // are shown which results in accessing m_colWidths array.
+ if ( m_useNativeHeader )
+ GetGridColHeader()->SetColumnCount(m_numCols);
+
if ( m_currentCellCoords == wxGridNoCellCoords )
{
// if we have just inserted cols into an empty grid the current
if ( event.Dragging() )
{
if (!m_isDragging)
- {
m_isDragging = true;
- m_rowLabelWin->CaptureMouse();
- }
if ( event.LeftIsDown() )
{
return;
if (m_isDragging)
- {
- if (m_rowLabelWin->HasCapture())
- m_rowLabelWin->ReleaseMouse();
m_isDragging = false;
- }
// ------------ Entering or leaving the window
//
if (!m_isDragging)
{
m_isDragging = true;
- GetColLabelWindow()->CaptureMouse();
if ( m_cursorMode == WXGRID_CURSOR_MOVE_COL && col != -1 )
DoStartMoveCol(col);
return;
if (m_isDragging)
- {
- if (GetColLabelWindow()->HasCapture())
- GetColLabelWindow()->ReleaseMouse();
m_isDragging = false;
- }
// ------------ Entering or leaving the window
//
}
}
+void wxGrid::OnHideEditor(wxCommandEvent& WXUNUSED(event))
+{
+ DisableCellEditControl();
+}
+
//
// ------ Grid location functions
// Note that all of these functions work with the logical coordinates of
{
if ( column )
{
+ if ( !IsRowShown(rowOrCol) )
+ continue;
+
row = rowOrCol;
col = colOrRow;
}
else
{
+ if ( !IsColShown(rowOrCol) )
+ continue;
+
row = colOrRow;
col = rowOrCol;
}