21 #include <unity/scopes/FilterBase.h>
22 #include <unity/scopes/FilterOption.h>
35 class RatingFilterImpl;
39 namespace experimental
52 class UNITY_API RatingFilter :
public FilterBase
56 UNITY_DEFINES_PTRS(RatingFilter);
67 static RatingFilter::UPtr create(std::string
const&
id, std::string
const& label);
83 static RatingFilter::UPtr create(std::string
const&
id, std::string
const& label,
int top_rating);
92 FilterOption::SCPtr add_option(std::string
const&
id, std::string
const& label);
101 void set_on_icon(std::string
const& on_icon);
110 void set_off_icon(std::string
const& off_icon);
116 std::string label()
const;
125 std::string on_icon()
const;
134 std::string off_icon()
const;
140 std::list<FilterOption::SCPtr> options()
const;
147 bool has_active_rating(FilterState
const& filter_state)
const;
153 FilterOption::SCPtr active_rating(FilterState
const& filter_state)
const;
162 void update_state(FilterState& filter_state, FilterOption::SCPtr option,
bool active)
const;
170 static void update_state(FilterState& filter_state, std::string
const& filter_id, std::string
const& option_id,
bool value);
173 RatingFilter(internal::RatingFilterImpl*);
174 internal::RatingFilterImpl* fwd()
const;
175 friend class internal::RatingFilterImpl;
Top-level namespace for all things Unity-related.
Definition: Version.h:49
Definition: ActionMetadata.h:31