Console example: fixing losing text selection when using TAB completion with no match

This commit is contained in:
ocornut 2014-11-23 23:50:23 +00:00
parent 895f93f694
commit 1484799b18

View File

@ -7094,6 +7094,7 @@ struct ExampleAppConsole
void TextEditCallback(ImGuiTextEditCallbackData* data) void TextEditCallback(ImGuiTextEditCallbackData* data)
{ {
//AddLog("cursor: %d, selection: %d-%d", data->CursorPos, data->SelectionStart, data->SelectionEnd);
switch (data->EventKey) switch (data->EventKey)
{ {
case ImGuiKey_Tab: case ImGuiKey_Tab:
@ -7150,8 +7151,11 @@ struct ExampleAppConsole
match_len++; match_len++;
} }
data->DeleteChars(word_start - data->Buf, word_end-word_start); if (match_len > 0)
data->InsertChars(data->CursorPos, candidates[0], candidates[0] + match_len); {
data->DeleteChars(word_start - data->Buf, word_end-word_start);
data->InsertChars(data->CursorPos, candidates[0], candidates[0] + match_len);
}
// List matches // List matches
AddLog("Possible matches:\n"); AddLog("Possible matches:\n");