You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, is there a way to edit a InputTextMultiline while being active? I tried all kinds of stuff, but I don't understand a lot from all the Unicode/Wchar/ASCII conversions.
I tried to copy the functions from the InputTextMultiline itself, but most times it either did nothing, crashes, or wrong results:
E.g. like
char *buf = str;
int buf_size = 4096;
ImGuiContext *g = ImGui::GetCurrentContext();
auto edit_state = g->InputTextState;
// Start edition
// Take a copy of the initial buffer value (both in original UTF-8 format and converted to wchar)
// From the moment we focused we are ignoring the content of 'buf' (unless we are in read-only mode)
const int prev_len_w = edit_state.CurLenW;
edit_state.Text.resize(buf_size+1); // wchar count <= UTF-8 count. we use +1 to make sure that .Data isn't NULL so it doesn't crash.
edit_state.InitialText.resize(buf_size+1); // UTF-8. we use +1 to make sure that .Data isn't NULL so it doesn't crash.
ImStrncpy(edit_state.InitialText.Data, buf, edit_state.InitialText.Size);
const char* buf_end = NULL;
//edit_state.CurLenW = ImTextStrFromUtf8(edit_state.Text.Data, edit_state.Text.Size, buf, NULL, &buf_end);
//edit_state.CurLenA = (int)(buf_end - buf); // We can't get the result from ImFormatString() above because it is not UTF-8 aware. Here we'll cut off malformed UTF-8.
//edit_state.CursorAnimReset();
I use it to edit JavaScript ingame and it would be nice to use Ctrl+Space to auto complete :)
The text was updated successfully, but these errors were encountered:
Sorry this code is rather messy/complex. The eventual goal is to get rid of the conversions alltogether.
To answer your question, currently the only legal way to modify the active buffer is to use the custom callback to InputTextMultiline(). Check out the docs around that.
Hi, is there a way to edit a InputTextMultiline while being active? I tried all kinds of stuff, but I don't understand a lot from all the Unicode/Wchar/ASCII conversions.
I tried to copy the functions from the InputTextMultiline itself, but most times it either did nothing, crashes, or wrong results:
E.g. like
I use it to edit JavaScript ingame and it would be nice to use Ctrl+Space to auto complete :)
The text was updated successfully, but these errors were encountered: