19 #ifndef UNITY_SCOPES_RANGE_INPUT_FILTER_H
20 #define UNITY_SCOPES_RANGE_INPUT_FILTER_H
22 #include <unity/scopes/FilterBase.h>
23 #include <unity/scopes/Variant.h>
35 class RangeInputFilterImpl;
38 namespace experimental
44 class UNITY_API RangeInputFilter :
public FilterBase
48 UNITY_DEFINES_PTRS(RangeInputFilter);
59 static RangeInputFilter::SPtr create(std::string
const&
id, std::string
const& start_label, std::string
const& end_label, std::string
const& unit_label =
"");
65 std::string start_label()
const;
71 std::string end_label()
const;
77 std::string unit_label()
const;
85 bool has_start_value(FilterState
const& filter_state)
const;
93 bool has_end_value(FilterState
const& filter_state)
const;
101 double start_value(FilterState
const& filter_state)
const;
109 double end_value(FilterState
const& filter_state)
const;
124 void update_state(FilterState& filter_state, Variant
const& start_value, Variant
const& end_value)
const;
140 static void update_state(FilterState& filter_state, std::string
const& filter_id, Variant
const& start_value, Variant
const& end_value);
143 RangeInputFilter(internal::RangeInputFilterImpl*);
144 internal::RangeInputFilterImpl* fwd()
const;
145 friend class internal::RangeInputFilterImpl;