19 #ifndef UNITY_SCOPES_RATINGFILTER_H
20 #define UNITY_SCOPES_RATINGFILTER_H
22 #include <unity/scopes/FilterBase.h>
23 #include <unity/scopes/FilterOption.h>
36 class RatingFilterImpl;
65 static RatingFilter::UPtr create(std::string
const&
id, std::string
const& label);
81 static RatingFilter::UPtr create(std::string
const&
id, std::string
const& label,
int top_rating);
90 FilterOption::SCPtr add_option(std::string
const&
id, std::string
const& label);
99 void set_on_icon(std::string
const& on_icon);
108 void set_off_icon(std::string
const& off_icon);
114 std::string label()
const;
123 std::string on_icon()
const;
132 std::string off_icon()
const;
138 std::list<FilterOption::SCPtr> options()
const;
145 bool has_active_rating(
FilterState const& filter_state)
const;
151 FilterOption::SCPtr active_rating(
FilterState const& filter_state)
const;
160 void update_state(
FilterState& filter_state, FilterOption::SCPtr option,
bool active)
const;
168 static void update_state(
FilterState& filter_state, std::string
const& filter_id, std::string
const& option_id,
bool value);
172 internal::RatingFilterImpl* fwd()
const;
173 friend class internal::RatingFilterImpl;
A filter that allows for rating-based selection.
Definition: RatingFilter.h:50
Base class for all implementations of filters.
Definition: FilterBase.h:47
Captures state of multiple filters.
Definition: FilterState.h:47