X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b63fce942f8d195c42863f28ad41af750273fb47..a1fea40ec6e5f9bccba51bc1df625e01cb708e90:/src/generic/grid.cpp?ds=sidebyside diff --git a/src/generic/grid.cpp b/src/generic/grid.cpp index eb8e46ad65..d1cd40d895 100644 --- a/src/generic/grid.cpp +++ b/src/generic/grid.cpp @@ -575,7 +575,11 @@ void wxGridCellTextEditor::Create(wxWindow* parent, #endif ); - // TODO: use m_maxChars + // set max length allowed in the textctrl, if the parameter was set + if (m_maxChars != 0) + { + ((wxTextCtrl*)m_control)->SetMaxLength(m_maxChars); + } wxGridCellEditor::Create(parent, id, evtHandler); } @@ -3462,7 +3466,7 @@ END_EVENT_TABLE() wxGridRowLabelWindow::wxGridRowLabelWindow( wxGrid *parent, wxWindowID id, const wxPoint &pos, const wxSize &size ) - : wxWindow( parent, id, pos, size, wxWANTS_CHARS ) + : wxWindow( parent, id, pos, size, wxWANTS_CHARS|wxBORDER_NONE ) { m_owner = parent; } @@ -3528,7 +3532,7 @@ END_EVENT_TABLE() wxGridColLabelWindow::wxGridColLabelWindow( wxGrid *parent, wxWindowID id, const wxPoint &pos, const wxSize &size ) - : wxWindow( parent, id, pos, size, wxWANTS_CHARS ) + : wxWindow( parent, id, pos, size, wxWANTS_CHARS|wxBORDER_NONE ) { m_owner = parent; } @@ -3593,7 +3597,7 @@ END_EVENT_TABLE() wxGridCornerLabelWindow::wxGridCornerLabelWindow( wxGrid *parent, wxWindowID id, const wxPoint &pos, const wxSize &size ) - : wxWindow( parent, id, pos, size, wxWANTS_CHARS ) + : wxWindow( parent, id, pos, size, wxWANTS_CHARS|wxBORDER_NONE ) { m_owner = parent; } @@ -3663,7 +3667,7 @@ wxGridWindow::wxGridWindow( wxGrid *parent, wxWindowID id, const wxPoint &pos, const wxSize &size ) - : wxWindow( parent, id, pos, size, wxWANTS_CHARS | wxCLIP_CHILDREN, + : wxWindow( parent, id, pos, size, wxWANTS_CHARS | wxBORDER_NONE | wxCLIP_CHILDREN, wxT("grid window") ) { @@ -5427,7 +5431,20 @@ void wxGrid::ProcessGridCellMouseEvent( wxMouseEvent& event ) m_winCapture = NULL; } - if ( m_selectingTopLeft != wxGridNoCellCoords && + if ( coords == m_currentCellCoords && m_waitForSlowClick && CanEnableCellControl()) + { + ClearSelection(); + EnableCellEditControl(); + + wxGridCellAttr* attr = GetCellAttr(coords); + wxGridCellEditor *editor = attr->GetEditor(this, coords.GetRow(), coords.GetCol()); + editor->StartingClick(); + editor->DecRef(); + attr->DecRef(); + + m_waitForSlowClick = FALSE; + } + else if ( m_selectingTopLeft != wxGridNoCellCoords && m_selectingBottomRight != wxGridNoCellCoords ) { if ( m_selection ) @@ -5449,21 +5466,6 @@ void wxGrid::ProcessGridCellMouseEvent( wxMouseEvent& event ) // drag-shrinking. ShowCellEditControl(); } - else - { - if( m_waitForSlowClick && CanEnableCellControl()) - { - EnableCellEditControl(); - - wxGridCellAttr* attr = GetCellAttr(coords); - wxGridCellEditor *editor = attr->GetEditor(this, coords.GetRow(), coords.GetCol()); - editor->StartingClick(); - editor->DecRef(); - attr->DecRef(); - - m_waitForSlowClick = FALSE; - } - } } else if ( m_cursorMode == WXGRID_CURSOR_RESIZE_ROW ) {