InputText(): shallow tweaks (#200)

This commit is contained in:
ocornut 2015-06-17 18:14:25 -06:00
parent 5e323561be
commit 490e9e42ff

View File

@ -6773,11 +6773,9 @@ static bool InputTextEx(const char* label, char* buf, size_t buf_size, const ImV
const bool is_multiline = (flags & ImGuiInputTextFlags_Multiline) != 0; const bool is_multiline = (flags & ImGuiInputTextFlags_Multiline) != 0;
ImVec2 label_size = ImGui::CalcTextSize(label, NULL, true); ImVec2 label_size = ImGui::CalcTextSize(label, NULL, true);
ImVec2 size = size_arg; ImVec2 size;
if (size.x == 0.0f) size.x = (size_arg.x != 0.0f) ? size_arg.x : ImGui::CalcItemWidth();
size.x = ImGui::CalcItemWidth(); size.y = (size_arg.y != 0.0f) ? size_arg.y : is_multiline ? ImGui::GetTextLineHeight() * 8.0f : label_size.y; // Arbitrary default
if (size.y == 0.0f)
size.y = is_multiline ? label_size.y * 8.0f : label_size.y; // Arbitrary default
const ImRect frame_bb(window->DC.CursorPos, window->DC.CursorPos + size + style.FramePadding*2.0f); const ImRect frame_bb(window->DC.CursorPos, window->DC.CursorPos + size + style.FramePadding*2.0f);
const ImRect total_bb(frame_bb.Min, frame_bb.Max + ImVec2(label_size.x > 0.0f ? (style.ItemInnerSpacing.x + label_size.x) : 0.0f, 0.0f)); const ImRect total_bb(frame_bb.Min, frame_bb.Max + ImVec2(label_size.x > 0.0f ? (style.ItemInnerSpacing.x + label_size.x) : 0.0f, 0.0f));
@ -6871,10 +6869,10 @@ static bool InputTextEx(const char* label, char* buf, size_t buf_size, const ImV
bool value_changed = false; bool value_changed = false;
bool cancel_edit = false; bool cancel_edit = false;
bool enter_pressed = false; bool enter_pressed = false;
if (g.ActiveId == id)
//if (edit_state.Id == id) // Works, but double-click to select-all sets cursors to end which in turn tends to scroll toward the right when shrinking widget.
{
// Update some data if we are active or last active // Update some data if we are active or last active
if (g.ActiveId == id) //if (edit_state.Id == id) // Works, but double-click to select-all sets cursors to end which in turn tends to scroll toward the right when shrinking widget.
{
edit_state.BufSizeA = buf_size; edit_state.BufSizeA = buf_size;
} }
if (g.ActiveId == id) if (g.ActiveId == id)
@ -7130,7 +7128,6 @@ static bool InputTextEx(const char* label, char* buf, size_t buf_size, const ImV
} }
} }
if (edit_state.Id == id) // Display selection if we are last active so that it shows when it use scrollbar if (edit_state.Id == id) // Display selection if we are last active so that it shows when it use scrollbar
{ {
// Draw selection // Draw selection