diff --git a/imgui.cpp b/imgui.cpp index 4281c24cc..67fc5da3e 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -1260,10 +1260,18 @@ void ImGuiStorage::SetAllInt(int v) //----------------------------------------------------------------------------- // Helper: Parse and apply text filters. In format "aaaaa[,bbbb][,ccccc]" -ImGuiTextFilter::ImGuiTextFilter() +ImGuiTextFilter::ImGuiTextFilter(const char* default_filter) { - InputBuf[0] = 0; - CountGrep = 0; + if (default_filter) + { + ImFormatString(InputBuf, IM_ARRAYSIZE(InputBuf), "%s", default_filter); + Build(); + } + else + { + InputBuf[0] = 0; + CountGrep = 0; + } } void ImGuiTextFilter::Draw(const char* label, float width) diff --git a/imgui.h b/imgui.h index b2572c46e..71c87ca0f 100644 --- a/imgui.h +++ b/imgui.h @@ -651,7 +651,7 @@ struct ImGuiTextFilter ImVector Filters; int CountGrep; - ImGuiTextFilter(); + ImGuiTextFilter(const char* default_filter = ""); void Clear() { InputBuf[0] = 0; Build(); } void Draw(const char* label = "Filter (inc,-exc)", float width = -1.0f); // Helper calling InputText+Build bool PassFilter(const char* val) const;