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();
|
||||
}
|
||||
ImGui::SameLine();
|
||||
ImGui::Checkbox("Thumbnails", &m_show_thumbnails);
|
||||
ImGui::SameLine();
|
||||
checkbox_w = ImGui::GetCursorPosX() - checkbox_w;
|
||||
ImGui::PushItemWidth(100);
|
||||
if (ImGui::InputTextWithHint("##filter", "Filter", m_filter, sizeof(m_filter))) doFilter();
|
||||
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();
|
||||
ImGui::Separator();
|
||||
|
||||
|
@ -912,7 +919,12 @@ bool AssetBrowser::resourceList(Span<char> buf, Ref<u32> selected_path_hash, Res
|
|||
}
|
||||
|
||||
static char filter[128] = "";
|
||||
ImGui::SetNextItemWidth(-20);
|
||||
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);
|
||||
AssetCompiler& compiler = m_app.getAssetCompiler();
|
||||
|
|
|
@ -159,8 +159,12 @@ void LogUI::onGUI()
|
|||
ImGui::SameLine();
|
||||
char filter[128] = "";
|
||||
ImGui::Checkbox("Autoscroll", &m_autoscroll);
|
||||
ImGui::SetNextItemWidth(-1);
|
||||
ImGui::SetNextItemWidth(-20);
|
||||
ImGui::InputTextWithHint("##filter", "Filter", filter, sizeof(filter));
|
||||
ImGui::SameLine();
|
||||
if (ImGuiEx::IconButton(ICON_FA_TIMES, "Clear filter")) {
|
||||
filter[0] = '\0';
|
||||
}
|
||||
int len = 0;
|
||||
|
||||
if (ImGui::BeginChild("log_messages", ImVec2(0, 0), true))
|
||||
|
|
|
@ -227,7 +227,12 @@ void ProfilerUIImpl::onGUIResources()
|
|||
{
|
||||
if (!ImGui::CollapsingHeader("Resources")) return;
|
||||
|
||||
ImGui::SetNextItemWidth(-20);
|
||||
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"),
|
||||
ResourceType("material"),
|
||||
|
|
|
@ -297,11 +297,17 @@ struct GridUIVisitor final : Reflection::IPropertyVisitor
|
|||
|
||||
|
||||
Universe& universe = *m_editor.getUniverse();
|
||||
if (ImGui::BeginPopup("popup"))
|
||||
if (ImGui::BeginResizablePopup("popup", ImVec2(200, 300)))
|
||||
{
|
||||
static char entity_filter[32] = {};
|
||||
ImGui::SetNextItemWidth(-20);
|
||||
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))
|
||||
{
|
||||
getEntityListDisplayName(m_app, m_editor, Span(buf), i);
|
||||
|
@ -800,8 +806,14 @@ void PropertyGrid::onGUI()
|
|||
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::SameLine();
|
||||
if (ImGuiEx::IconButton(ICON_FA_TIMES, "Clear filter")) {
|
||||
m_component_filter[0] = '\0';
|
||||
}
|
||||
|
||||
showAddComponentNode(m_app.getAddComponentTreeRoot().child, m_component_filter);
|
||||
ImGui::EndPopup();
|
||||
}
|
||||
|
|
|
@ -615,7 +615,12 @@ void Settings::showToolbarSettings() const
|
|||
void Settings::showShortcutSettings()
|
||||
{
|
||||
auto& actions = m_app.getActions();
|
||||
ImGui::SetNextItemWidth(-20);
|
||||
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)
|
||||
{
|
||||
|
@ -638,11 +643,15 @@ void Settings::onGUI()
|
|||
if (!m_is_open) return;
|
||||
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();
|
||||
if (ImGui::Button("Reload")) load();
|
||||
if (ImGui::Button(ICON_FA_REDO_ALT "Reload")) load();
|
||||
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")) {
|
||||
|
||||
|
|
|
@ -1440,8 +1440,12 @@ struct StudioAppImpl final : StudioApp
|
|||
void onCreateEntityWithComponentGUI()
|
||||
{
|
||||
doMenuItem(*getAction("createEntity"), true);
|
||||
ImGui::Separator();
|
||||
ImGui::SetNextItemWidth(-20);
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -1503,7 +1507,14 @@ struct StudioAppImpl final : StudioApp
|
|||
doMenuItem(*getAction("newUniverse"), true);
|
||||
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::SameLine();
|
||||
if (ImGuiEx::IconButton(ICON_FA_TIMES, "Clear filter")) {
|
||||
m_open_filter[0] = '\0';
|
||||
}
|
||||
|
||||
for (auto& univ : m_universes)
|
||||
{
|
||||
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))
|
||||
{
|
||||
auto* universe = m_editor->getUniverse();
|
||||
ImGui::SetNextItemWidth(-1);
|
||||
ImGui::SetNextItemWidth(-20);
|
||||
ImGui::InputTextWithHint("##filter", "Filter", filter, sizeof(filter));
|
||||
ImGui::SameLine();
|
||||
if (ImGuiEx::IconButton(ICON_FA_TIMES, "Clear filter")) {
|
||||
filter[0] = '\0';
|
||||
}
|
||||
|
||||
if (ImGui::BeginChild("entities"))
|
||||
{
|
||||
|
|
|
@ -1334,7 +1334,13 @@ void TerrainEditor::onGUI()
|
|||
|
||||
static char filter[100] = {0};
|
||||
static ImVec2 size(-1, 100);
|
||||
ImGui::SetNextItemWidth(-20);
|
||||
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)) {
|
||||
auto& resources = m_app.getAssetCompiler().lockResources();
|
||||
u32 count = 0;
|
||||
|
|
Loading…
Reference in a new issue