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;
40 namespace experimental
53 class UNITY_API RatingFilter :
public FilterBase
57 UNITY_DEFINES_PTRS(RatingFilter);
68 static RatingFilter::UPtr create(std::string
const&
id, std::string
const& label);
84 static RatingFilter::UPtr create(std::string
const&
id, std::string
const& label,
int top_rating);
93 FilterOption::SCPtr add_option(std::string
const&
id, std::string
const& label);
102 void set_on_icon(std::string
const& on_icon);
111 void set_off_icon(std::string
const& off_icon);
117 std::string label()
const;
126 std::string on_icon()
const;
135 std::string off_icon()
const;
141 std::list<FilterOption::SCPtr> options()
const;
148 bool has_active_rating(FilterState
const& filter_state)
const;
154 FilterOption::SCPtr active_rating(FilterState
const& filter_state)
const;
163 void update_state(FilterState& filter_state, FilterOption::SCPtr option,
bool active)
const;
171 static void update_state(FilterState& filter_state, std::string
const& filter_id, std::string
const& option_id,
bool value);
174 RatingFilter(internal::RatingFilterImpl*);
175 internal::RatingFilterImpl* fwd()
const;
176 friend class internal::RatingFilterImpl;
Top-level namespace for all things Unity-related.
Definition: Version.h:50
Definition: ActionMetadata.h:32