15#ifndef OLYMPE_HEADLESS
16# include "../../third_party/imgui/imgui.h"
27 , m_label(
"Select Preset")
39#ifndef OLYMPE_HEADLESS
83 if (ImGui::Selectable(
itemLabel.c_str(), isSelected))
91 ImGui::SetItemDefaultFocus();
94 if (ImGui::IsItemHovered())
96 ImGui::BeginTooltip();
97 ImGui::Text(
"ID: %s",
preset.id.c_str());
98 ImGui::Text(
"Name: %s",
preset.name.c_str());
99 ImGui::Text(
"Expr: %s",
preset.GetPreview().c_str());
ComponentTypeID GetComponentTypeID_Static()
Reusable ImGui dropdown component for ConditionPreset selection (Phase 24).
Manages the global pool of ConditionPreset objects.
std::vector< ConditionPreset > GetFilteredPresets(const std::string &filter) const
Returns all presets whose name contains the filter substring.
ConditionPreset * GetPreset(const std::string &id)
Returns a mutable pointer to the preset, or nullptr if not found.
PresetDropdownHelper(ConditionPresetRegistry ®istry)
Constructs the dropdown helper bound to the preset registry.
size_t GetVisiblePresetCount() const
Returns the number of presets visible after filtering.
std::string GetPresetDisplayName(const std::string &presetID) const
Returns the display name of a preset, or empty if not found.
ConditionPresetRegistry & m_registry
bool Render(std::string &selectedPresetID)
Renders the dropdown widget and handles selection.
< Provides AssetID and INVALID_ASSET_ID
A globally-stored, reusable condition expression.
std::string name
Human-readable display name (e.g. "Condition #1")