Fix use of DELETE and BACKSPACE when starting editing grid with them.

Using the current insertion position in wxGridCellTextEditor::StartingKey()
didn't make much sense, it was always 0 -- so DELETE worked as expected and
did delete the first character of the cell but BACKSPACE never did anything.

Just always delete the first character when DELETE is used and always delete
the last one when BACKSPACE is.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65749 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2010-10-03 17:34:22 +00:00
parent 6a1e8a634a
commit b7ff06ad15

View File

@ -548,7 +548,6 @@ void wxGridCellTextEditor::StartingKey(wxKeyEvent& event)
wxTextCtrl* tc = Text();
wxChar ch;
long pos;
bool isPrintable;
@ -566,17 +565,16 @@ void wxGridCellTextEditor::StartingKey(wxKeyEvent& event)
switch (ch)
{
case WXK_DELETE:
// delete the character at the cursor
pos = tc->GetInsertionPoint();
if (pos < tc->GetLastPosition())
tc->Remove(pos, pos + 1);
// Delete the initial character when starting to edit with DELETE.
tc->Remove(0, 1);
break;
case WXK_BACK:
// delete the character before the cursor
pos = tc->GetInsertionPoint();
if (pos > 0)
// Delete the last character when starting to edit with BACKSPACE.
{
const long pos = tc->GetLastPosition();
tc->Remove(pos - 1, pos);
}
break;
default: