|
|
|
|
@ -44,14 +44,17 @@ using GncOptionUIItemPtr = std::unique_ptr<GncOptionUIItem>;
|
|
|
|
|
class GncOptionUIItem
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
GncOptionUIItem() = default;
|
|
|
|
|
GncOptionUIItem(GncOptionUIType type) : m_type{type} {}
|
|
|
|
|
virtual ~GncOptionUIItem() = default;
|
|
|
|
|
virtual GncOptionUIType get_ui_type() const noexcept = 0;
|
|
|
|
|
virtual void set_dirty(bool status) noexcept = 0;
|
|
|
|
|
virtual bool get_dirty() const noexcept = 0;
|
|
|
|
|
GncOptionUIType get_ui_type() const noexcept { return m_type; }
|
|
|
|
|
virtual void set_dirty(bool status) noexcept { m_dirty = status; }
|
|
|
|
|
virtual bool get_dirty() const noexcept { return m_dirty; }
|
|
|
|
|
virtual void clear_ui_item() = 0;
|
|
|
|
|
virtual void set_ui_item_from_option(GncOption& option) noexcept = 0;
|
|
|
|
|
virtual void set_option_from_ui_item(GncOption& option) noexcept = 0;
|
|
|
|
|
private:
|
|
|
|
|
GncOptionUIType m_type;
|
|
|
|
|
bool m_dirty = false;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif //GNC_OPTION_UI_HPP__
|
|
|
|
|
|