21 #include <unity/scopes/FilterBase.h>
22 #include <unity/scopes/FilterOption.h>
23 #include <unity/scopes/Variant.h>
37 class OptionSelectorFilterImpl;
59 static OptionSelectorFilter::UPtr
create(std::string
const&
id, std::string
const&
label,
bool multi_select =
false);
65 std::string
label()
const;
77 FilterOption::SCPtr
add_option(std::string
const&
id, std::string
const& label);
83 std::list<FilterOption::SCPtr>
options()
const;
112 static void update_state(
FilterState& filter_state, std::string
const& filter_id, std::string
const& option_id,
bool value);
116 internal::OptionSelectorFilterImpl* fwd()
const;
117 friend class internal::OptionSelectorFilterImpl;
A selection filter that displays a list of choices and allows one or more of them to be selected...
Definition: OptionSelectorFilter.h:45
std::string label() const
Get the label of this filter.
Definition: OptionSelectorFilter.cpp:38
void update_state(FilterState &filter_state, FilterOption::SCPtr option, bool active) const
Marks given FilterOption of this filter instance as active (or not active) in a FilterState object...
Definition: OptionSelectorFilter.cpp:68
Base class for all implementations of filters.
Definition: FilterBase.h:46
Top-level namespace for all things Unity-related.
Definition: Version.h:49
bool multi_select() const
Check if this filter supports multiple options to be selected.
Definition: OptionSelectorFilter.cpp:43
std::list< FilterOption::SCPtr > options() const
Get all options of this filter, in the order they were added.
Definition: OptionSelectorFilter.cpp:53
FilterOption::SCPtr add_option(std::string const &id, std::string const &label)
Add a new option to this filter.
Definition: OptionSelectorFilter.cpp:48
Definition: ActionMetadata.h:31
Captures state of multiple filters.
Definition: FilterState.h:46
bool has_active_option(FilterState const &filter_state) const
Check if an option is active for this filter.
Definition: OptionSelectorFilter.cpp:58
static OptionSelectorFilter::UPtr create(std::string const &id, std::string const &label, bool multi_select=false)
Creates an OpionSelectorFilter.
Definition: OptionSelectorFilter.cpp:33
std::set< FilterOption::SCPtr > active_options(FilterState const &filter_state) const
Get active options from an instance of FilterState for this filter.
Definition: OptionSelectorFilter.cpp:63