Move the GncOptionUIType and dirty members to GncOptionUIUtem.

Even though it makes the class not pure virtual any more it is necessary
behavior common to all possible subclasses.
pull/1191/head
John Ralls 6 years ago
parent 3200bd4966
commit ac0e7063c7

@ -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__

@ -522,8 +522,8 @@ class OptionUIItem : public GncOptionUIItem
GncUIType m_widget;
bool m_dirty = false;
public:
OptionUIItem() : GncOptionUIItem{GncOptionUIType::STRING} {}
~OptionUIItem() = default;
GncOptionUIType get_ui_type() const noexcept override { return GncOptionUIType::STRING; }
void set_dirty(bool status) noexcept override { m_dirty = status; }
bool get_dirty() const noexcept override { return m_dirty; }
void clear_ui_item() override { m_widget.clear(); }

Loading…
Cancel
Save