1. Initialized m_displayed to TRUE to solve a cell highlight problem
for some systems. If this causes no problems then this flag can be removed. 2. Took out the edit timer so now a second click in the current cell will activate the edit control, even if it is several seconds later. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6015 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1194,7 +1194,6 @@ protected:
|
|||||||
bool m_isDragging;
|
bool m_isDragging;
|
||||||
wxPoint m_startDragPos;
|
wxPoint m_startDragPos;
|
||||||
|
|
||||||
wxTimer* m_editTimer;
|
|
||||||
bool m_waitForSlowClick;
|
bool m_waitForSlowClick;
|
||||||
|
|
||||||
wxGridCellCoords m_selectionStart;
|
wxGridCellCoords m_selectionStart;
|
||||||
@@ -1225,7 +1224,6 @@ protected:
|
|||||||
void OnSize( wxSizeEvent& );
|
void OnSize( wxSizeEvent& );
|
||||||
void OnKeyDown( wxKeyEvent& );
|
void OnKeyDown( wxKeyEvent& );
|
||||||
void OnEraseBackground( wxEraseEvent& );
|
void OnEraseBackground( wxEraseEvent& );
|
||||||
void OnEditTimer( wxTimerEvent& );
|
|
||||||
|
|
||||||
|
|
||||||
void SetCurrentCell( const wxGridCellCoords& coords );
|
void SetCurrentCell( const wxGridCellCoords& coords );
|
||||||
|
@@ -1695,7 +1695,6 @@ void wxGridWindow::OnEraseBackground(wxEraseEvent&)
|
|||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#define ID_EDIT_TIMER 1001
|
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS( wxGrid, wxScrolledWindow )
|
IMPLEMENT_DYNAMIC_CLASS( wxGrid, wxScrolledWindow )
|
||||||
|
|
||||||
@@ -1704,7 +1703,6 @@ BEGIN_EVENT_TABLE( wxGrid, wxScrolledWindow )
|
|||||||
EVT_SIZE( wxGrid::OnSize )
|
EVT_SIZE( wxGrid::OnSize )
|
||||||
EVT_KEY_DOWN( wxGrid::OnKeyDown )
|
EVT_KEY_DOWN( wxGrid::OnKeyDown )
|
||||||
EVT_ERASE_BACKGROUND( wxGrid::OnEraseBackground )
|
EVT_ERASE_BACKGROUND( wxGrid::OnEraseBackground )
|
||||||
EVT_TIMER( ID_EDIT_TIMER, wxGrid::OnEditTimer )
|
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
wxGrid::wxGrid( wxWindow *parent,
|
wxGrid::wxGrid( wxWindow *parent,
|
||||||
@@ -1734,7 +1732,6 @@ wxGrid::~wxGrid()
|
|||||||
|
|
||||||
if (m_ownTable)
|
if (m_ownTable)
|
||||||
delete m_table;
|
delete m_table;
|
||||||
delete m_editTimer;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1745,7 +1742,7 @@ wxGrid::~wxGrid()
|
|||||||
void wxGrid::Create()
|
void wxGrid::Create()
|
||||||
{
|
{
|
||||||
m_created = FALSE; // set to TRUE by CreateGrid
|
m_created = FALSE; // set to TRUE by CreateGrid
|
||||||
m_displayed = FALSE; // set to TRUE by OnPaint
|
m_displayed = TRUE; // FALSE; // set to TRUE by OnPaint
|
||||||
|
|
||||||
m_table = (wxGridTableBase *) NULL;
|
m_table = (wxGridTableBase *) NULL;
|
||||||
m_ownTable = FALSE;
|
m_ownTable = FALSE;
|
||||||
@@ -1924,7 +1921,6 @@ void wxGrid::Init()
|
|||||||
m_isDragging = FALSE;
|
m_isDragging = FALSE;
|
||||||
m_startDragPos = wxDefaultPosition;
|
m_startDragPos = wxDefaultPosition;
|
||||||
|
|
||||||
m_editTimer = new wxTimer( this, ID_EDIT_TIMER );
|
|
||||||
m_waitForSlowClick = FALSE;
|
m_waitForSlowClick = FALSE;
|
||||||
|
|
||||||
m_rowResizeCursor = wxCursor( wxCURSOR_SIZENS );
|
m_rowResizeCursor = wxCursor( wxCURSOR_SIZENS );
|
||||||
@@ -2897,10 +2893,10 @@ void wxGrid::ProcessGridCellMouseEvent( wxMouseEvent& event )
|
|||||||
if (m_waitForSlowClick && coords == m_currentCellCoords) {
|
if (m_waitForSlowClick && coords == m_currentCellCoords) {
|
||||||
EnableCellEditControl(TRUE);
|
EnableCellEditControl(TRUE);
|
||||||
ShowCellEditControl();
|
ShowCellEditControl();
|
||||||
|
m_waitForSlowClick = FALSE;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
SetCurrentCell( coords );
|
SetCurrentCell( coords );
|
||||||
m_editTimer->Start( 1500, TRUE );
|
|
||||||
m_waitForSlowClick = TRUE;
|
m_waitForSlowClick = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3663,11 +3659,6 @@ void wxGrid::OnEraseBackground(wxEraseEvent&)
|
|||||||
{ }
|
{ }
|
||||||
|
|
||||||
|
|
||||||
void wxGrid::OnEditTimer(wxTimerEvent&)
|
|
||||||
{
|
|
||||||
m_waitForSlowClick = FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void wxGrid::SetCurrentCell( const wxGridCellCoords& coords )
|
void wxGrid::SetCurrentCell( const wxGridCellCoords& coords )
|
||||||
|
Reference in New Issue
Block a user