1
0
Fork 0
mirror of https://github.com/ocornut/imgui.git synced 2026-01-24 02:14:22 +00:00

InputText: ImGuiInputTextCallbackData::SelectAll() sets CursorPos. Added SetSelection() helper.

Context was for #9174 but not specific to it.
This commit is contained in:
ocornut 2026-01-21 18:25:38 +01:00
parent 42b7704b70
commit f21307e5c9
2 changed files with 7 additions and 3 deletions

View file

@ -154,6 +154,9 @@ Other Changes:
- Added ImGuiSliderFlags_ColorMarkers to opt-in adding R/G/B/A color markers
next to each components, in multi-components functions.
- Added a way to select a specific marker color.
- InputText:
- ImGuiInputTextCallbackData::SelectAll() also sets CursorPos to SelectionEnd.
- Added ImGuiInputTextCallbackData::SetSelection() helper.
- Text, InputText:
- Reworked word-wrapping logic:
- Try to not wrap in the middle of contiguous punctuations. (#8139, #8439, #9094)

View file

@ -2650,9 +2650,10 @@ struct ImGuiInputTextCallbackData
IMGUI_API ImGuiInputTextCallbackData();
IMGUI_API void DeleteChars(int pos, int bytes_count);
IMGUI_API void InsertChars(int pos, const char* text, const char* text_end = NULL);
void SelectAll() { SelectionStart = 0; SelectionEnd = BufTextLen; }
void ClearSelection() { SelectionStart = SelectionEnd = BufTextLen; }
bool HasSelection() const { return SelectionStart != SelectionEnd; }
void SelectAll() { SelectionStart = 0; CursorPos = SelectionEnd = BufTextLen; }
void SetSelection(int s, int e) { IM_ASSERT(s >= 0 && s <= BufTextLen); IM_ASSERT(e >= 0 && e <= BufTextLen); SelectionStart = s; CursorPos = SelectionEnd = e; }
void ClearSelection() { SelectionStart = SelectionEnd = BufTextLen; }
bool HasSelection() const { return SelectionStart != SelectionEnd; }
};
// Resizing callback data to apply custom constraint. As enabled by SetNextWindowSizeConstraints(). Callback is called during the next Begin().