icons to clear ui filters
This commit is contained in:
parent
3a460428e7
commit
080b762e97
7 changed files with 75 additions and 12 deletions
|
@ -637,13 +637,20 @@ void AssetBrowser::onGUI()
|
||||||
refreshLabels();
|
refreshLabels();
|
||||||
}
|
}
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
ImGui::Checkbox("Thumbnails", &m_show_thumbnails);
|
|
||||||
ImGui::SameLine();
|
|
||||||
checkbox_w = ImGui::GetCursorPosX() - checkbox_w;
|
checkbox_w = ImGui::GetCursorPosX() - checkbox_w;
|
||||||
ImGui::PushItemWidth(100);
|
ImGui::PushItemWidth(100);
|
||||||
if (ImGui::InputTextWithHint("##filter", "Filter", m_filter, sizeof(m_filter))) doFilter();
|
if (ImGui::InputTextWithHint("##filter", "Filter", m_filter, sizeof(m_filter))) doFilter();
|
||||||
ImGui::PopItemWidth();
|
ImGui::PopItemWidth();
|
||||||
ImGui::SameLine(130 + checkbox_w);
|
ImGui::SameLine();
|
||||||
|
if (ImGuiEx::IconButton(ICON_FA_TIMES, "Reset filter")) {
|
||||||
|
m_filter[0] = '\0';
|
||||||
|
doFilter();
|
||||||
|
}
|
||||||
|
|
||||||
|
ImGui::SameLine();
|
||||||
|
ImGui::Checkbox("Thumbnails", &m_show_thumbnails);
|
||||||
|
|
||||||
|
ImGui::SameLine();
|
||||||
breadcrumbs();
|
breadcrumbs();
|
||||||
ImGui::Separator();
|
ImGui::Separator();
|
||||||
|
|
||||||
|
@ -912,7 +919,12 @@ bool AssetBrowser::resourceList(Span<char> buf, Ref<u32> selected_path_hash, Res
|
||||||
}
|
}
|
||||||
|
|
||||||
static char filter[128] = "";
|
static char filter[128] = "";
|
||||||
|
ImGui::SetNextItemWidth(-20);
|
||||||
ImGui::InputTextWithHint("##filter", "Filter", filter, sizeof(filter));
|
ImGui::InputTextWithHint("##filter", "Filter", filter, sizeof(filter));
|
||||||
|
ImGui::SameLine();
|
||||||
|
if (ImGuiEx::IconButton(ICON_FA_TIMES, "Clear filter")) {
|
||||||
|
filter[0] = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
ImGui::BeginChild("Resources", ImVec2(0, height - ImGui::GetTextLineHeight() * 3), false, ImGuiWindowFlags_HorizontalScrollbar);
|
ImGui::BeginChild("Resources", ImVec2(0, height - ImGui::GetTextLineHeight() * 3), false, ImGuiWindowFlags_HorizontalScrollbar);
|
||||||
AssetCompiler& compiler = m_app.getAssetCompiler();
|
AssetCompiler& compiler = m_app.getAssetCompiler();
|
||||||
|
|
|
@ -159,8 +159,12 @@ void LogUI::onGUI()
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
char filter[128] = "";
|
char filter[128] = "";
|
||||||
ImGui::Checkbox("Autoscroll", &m_autoscroll);
|
ImGui::Checkbox("Autoscroll", &m_autoscroll);
|
||||||
ImGui::SetNextItemWidth(-1);
|
ImGui::SetNextItemWidth(-20);
|
||||||
ImGui::InputTextWithHint("##filter", "Filter", filter, sizeof(filter));
|
ImGui::InputTextWithHint("##filter", "Filter", filter, sizeof(filter));
|
||||||
|
ImGui::SameLine();
|
||||||
|
if (ImGuiEx::IconButton(ICON_FA_TIMES, "Clear filter")) {
|
||||||
|
filter[0] = '\0';
|
||||||
|
}
|
||||||
int len = 0;
|
int len = 0;
|
||||||
|
|
||||||
if (ImGui::BeginChild("log_messages", ImVec2(0, 0), true))
|
if (ImGui::BeginChild("log_messages", ImVec2(0, 0), true))
|
||||||
|
|
|
@ -227,7 +227,12 @@ void ProfilerUIImpl::onGUIResources()
|
||||||
{
|
{
|
||||||
if (!ImGui::CollapsingHeader("Resources")) return;
|
if (!ImGui::CollapsingHeader("Resources")) return;
|
||||||
|
|
||||||
|
ImGui::SetNextItemWidth(-20);
|
||||||
ImGui::InputTextWithHint("##resource_filter", "Filter", m_resource_filter, sizeof(m_resource_filter));
|
ImGui::InputTextWithHint("##resource_filter", "Filter", m_resource_filter, sizeof(m_resource_filter));
|
||||||
|
ImGui::SameLine();
|
||||||
|
if (ImGuiEx::IconButton(ICON_FA_TIMES, "Clear filter")) {
|
||||||
|
m_resource_filter[0] = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
static const ResourceType RESOURCE_TYPES[] = { ResourceType("animation"),
|
static const ResourceType RESOURCE_TYPES[] = { ResourceType("animation"),
|
||||||
ResourceType("material"),
|
ResourceType("material"),
|
||||||
|
|
|
@ -297,11 +297,17 @@ struct GridUIVisitor final : Reflection::IPropertyVisitor
|
||||||
|
|
||||||
|
|
||||||
Universe& universe = *m_editor.getUniverse();
|
Universe& universe = *m_editor.getUniverse();
|
||||||
if (ImGui::BeginPopup("popup"))
|
if (ImGui::BeginResizablePopup("popup", ImVec2(200, 300)))
|
||||||
{
|
{
|
||||||
static char entity_filter[32] = {};
|
static char entity_filter[32] = {};
|
||||||
|
ImGui::SetNextItemWidth(-20);
|
||||||
ImGui::InputTextWithHint("##filter", "Filter", entity_filter, sizeof(entity_filter));
|
ImGui::InputTextWithHint("##filter", "Filter", entity_filter, sizeof(entity_filter));
|
||||||
if (ImGui::BeginChild("list", ImVec2(0, 200))) {
|
ImGui::SameLine();
|
||||||
|
if (ImGuiEx::IconButton(ICON_FA_TIMES, "Clear filter")) {
|
||||||
|
entity_filter[0] = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ImGui::BeginChild("list", ImVec2(0, ImGui::GetContentRegionAvail().y))) {
|
||||||
for (EntityPtr i = universe.getFirstEntity(); i.isValid(); i = universe.getNextEntity((EntityRef)i))
|
for (EntityPtr i = universe.getFirstEntity(); i.isValid(); i = universe.getNextEntity((EntityRef)i))
|
||||||
{
|
{
|
||||||
getEntityListDisplayName(m_app, m_editor, Span(buf), i);
|
getEntityListDisplayName(m_app, m_editor, Span(buf), i);
|
||||||
|
@ -800,8 +806,14 @@ void PropertyGrid::onGUI()
|
||||||
ImGui::OpenPopup("AddComponentPopup");
|
ImGui::OpenPopup("AddComponentPopup");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ImGui::BeginPopup("AddComponentPopup")) {
|
if (ImGui::BeginResizablePopup("AddComponentPopup", ImVec2(300, 300))) {
|
||||||
|
ImGui::SetNextItemWidth(-20);
|
||||||
ImGui::InputTextWithHint("##filter", "Filter", m_component_filter, sizeof(m_component_filter));
|
ImGui::InputTextWithHint("##filter", "Filter", m_component_filter, sizeof(m_component_filter));
|
||||||
|
ImGui::SameLine();
|
||||||
|
if (ImGuiEx::IconButton(ICON_FA_TIMES, "Clear filter")) {
|
||||||
|
m_component_filter[0] = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
showAddComponentNode(m_app.getAddComponentTreeRoot().child, m_component_filter);
|
showAddComponentNode(m_app.getAddComponentTreeRoot().child, m_component_filter);
|
||||||
ImGui::EndPopup();
|
ImGui::EndPopup();
|
||||||
}
|
}
|
||||||
|
|
|
@ -615,7 +615,12 @@ void Settings::showToolbarSettings() const
|
||||||
void Settings::showShortcutSettings()
|
void Settings::showShortcutSettings()
|
||||||
{
|
{
|
||||||
auto& actions = m_app.getActions();
|
auto& actions = m_app.getActions();
|
||||||
|
ImGui::SetNextItemWidth(-20);
|
||||||
ImGui::InputTextWithHint("##filter", "Filter", m_filter, sizeof(m_filter));
|
ImGui::InputTextWithHint("##filter", "Filter", m_filter, sizeof(m_filter));
|
||||||
|
ImGui::SameLine();
|
||||||
|
if (ImGuiEx::IconButton(ICON_FA_TIMES, "Clear filter")) {
|
||||||
|
m_filter[0] = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
for (int i = 0; i < actions.size(); ++i)
|
for (int i = 0; i < actions.size(); ++i)
|
||||||
{
|
{
|
||||||
|
@ -638,11 +643,15 @@ void Settings::onGUI()
|
||||||
if (!m_is_open) return;
|
if (!m_is_open) return;
|
||||||
if (ImGui::Begin(ICON_FA_COG "Settings##settings", &m_is_open))
|
if (ImGui::Begin(ICON_FA_COG "Settings##settings", &m_is_open))
|
||||||
{
|
{
|
||||||
if (ImGui::Button("Save")) save();
|
if (ImGui::Button(ICON_FA_SAVE "Save")) save();
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
if (ImGui::Button("Reload")) load();
|
if (ImGui::Button(ICON_FA_REDO_ALT "Reload")) load();
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
ImGui::Text("Settings are saved when the application closes");
|
ImGui::TextDisabled("(?)");
|
||||||
|
if (ImGui::IsItemHovered())
|
||||||
|
{
|
||||||
|
ImGui::SetTooltip("%s", "Settings are saved in studio.ini when the application closes");
|
||||||
|
}
|
||||||
|
|
||||||
if (ImGui::BeginTabBar("tabs")) {
|
if (ImGui::BeginTabBar("tabs")) {
|
||||||
|
|
||||||
|
|
|
@ -1440,8 +1440,12 @@ struct StudioAppImpl final : StudioApp
|
||||||
void onCreateEntityWithComponentGUI()
|
void onCreateEntityWithComponentGUI()
|
||||||
{
|
{
|
||||||
doMenuItem(*getAction("createEntity"), true);
|
doMenuItem(*getAction("createEntity"), true);
|
||||||
ImGui::Separator();
|
ImGui::SetNextItemWidth(-20);
|
||||||
ImGui::InputTextWithHint("##filter", "Filter", m_component_filter, sizeof(m_component_filter));
|
ImGui::InputTextWithHint("##filter", "Filter", m_component_filter, sizeof(m_component_filter));
|
||||||
|
ImGui::SameLine();
|
||||||
|
if (ImGuiEx::IconButton(ICON_FA_TIMES, "Clear filter")) {
|
||||||
|
m_component_filter[0] = '\0';
|
||||||
|
}
|
||||||
showAddComponentNode(m_add_cmp_root.child, m_component_filter);
|
showAddComponentNode(m_add_cmp_root.child, m_component_filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1503,7 +1507,14 @@ struct StudioAppImpl final : StudioApp
|
||||||
doMenuItem(*getAction("newUniverse"), true);
|
doMenuItem(*getAction("newUniverse"), true);
|
||||||
if (ImGui::BeginMenu(NO_ICON "Open"))
|
if (ImGui::BeginMenu(NO_ICON "Open"))
|
||||||
{
|
{
|
||||||
|
ImGui::Dummy(ImVec2(200, 1)); // to forece minimal menu size
|
||||||
|
ImGui::SetNextItemWidth(-20);
|
||||||
ImGui::InputTextWithHint("##filter", "Filter", m_open_filter, sizeof(m_open_filter));
|
ImGui::InputTextWithHint("##filter", "Filter", m_open_filter, sizeof(m_open_filter));
|
||||||
|
ImGui::SameLine();
|
||||||
|
if (ImGuiEx::IconButton(ICON_FA_TIMES, "Clear filter")) {
|
||||||
|
m_open_filter[0] = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
for (auto& univ : m_universes)
|
for (auto& univ : m_universes)
|
||||||
{
|
{
|
||||||
if ((m_open_filter[0] == '\0' || stristr(univ.data, m_open_filter)) && ImGui::MenuItem(univ.data))
|
if ((m_open_filter[0] == '\0' || stristr(univ.data, m_open_filter)) && ImGui::MenuItem(univ.data))
|
||||||
|
@ -1796,8 +1807,12 @@ struct StudioAppImpl final : StudioApp
|
||||||
if (ImGui::Begin(ICON_FA_STREAM "Hierarchy##hierarchy", &m_is_entity_list_open))
|
if (ImGui::Begin(ICON_FA_STREAM "Hierarchy##hierarchy", &m_is_entity_list_open))
|
||||||
{
|
{
|
||||||
auto* universe = m_editor->getUniverse();
|
auto* universe = m_editor->getUniverse();
|
||||||
ImGui::SetNextItemWidth(-1);
|
ImGui::SetNextItemWidth(-20);
|
||||||
ImGui::InputTextWithHint("##filter", "Filter", filter, sizeof(filter));
|
ImGui::InputTextWithHint("##filter", "Filter", filter, sizeof(filter));
|
||||||
|
ImGui::SameLine();
|
||||||
|
if (ImGuiEx::IconButton(ICON_FA_TIMES, "Clear filter")) {
|
||||||
|
filter[0] = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
if (ImGui::BeginChild("entities"))
|
if (ImGui::BeginChild("entities"))
|
||||||
{
|
{
|
||||||
|
|
|
@ -1334,7 +1334,13 @@ void TerrainEditor::onGUI()
|
||||||
|
|
||||||
static char filter[100] = {0};
|
static char filter[100] = {0};
|
||||||
static ImVec2 size(-1, 100);
|
static ImVec2 size(-1, 100);
|
||||||
|
ImGui::SetNextItemWidth(-20);
|
||||||
ImGui::InputTextWithHint("##filter", "Filter", filter, sizeof(filter));
|
ImGui::InputTextWithHint("##filter", "Filter", filter, sizeof(filter));
|
||||||
|
ImGui::SameLine();
|
||||||
|
if (ImGuiEx::IconButton(ICON_FA_TIMES, "Clear filter")) {
|
||||||
|
filter[0] = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
if (ImGui::ListBoxHeader("Prefabs", size)) {
|
if (ImGui::ListBoxHeader("Prefabs", size)) {
|
||||||
auto& resources = m_app.getAssetCompiler().lockResources();
|
auto& resources = m_app.getAssetCompiler().lockResources();
|
||||||
u32 count = 0;
|
u32 count = 0;
|
||||||
|
|
Loading…
Reference in a new issue