mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
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.
This commit is contained in:
@@ -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(); }
|
||||
|
||||
Reference in New Issue
Block a user