diff options
Diffstat (limited to 'src/lib/util/options.h')
-rw-r--r-- | src/lib/util/options.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lib/util/options.h b/src/lib/util/options.h index 1df89bed6c7..5edf64a9fcd 100644 --- a/src/lib/util/options.h +++ b/src/lib/util/options.h @@ -89,12 +89,14 @@ public: bool is_internal() const { return m_flags & OPTION_FLAG_INTERNAL; } bool has_range() const { return (!m_minimum.empty() && !m_maximum.empty()); } int priority() const { return m_priority; } + bool is_changed() const { return m_changed; } // setters void set_value(const char *newvalue, int priority); void set_default_value(const char *defvalue); void set_description(const char *description); void set_flag(UINT32 mask, UINT32 flag); + void mark_changed() { m_changed = true; } void revert(int priority); private: @@ -110,6 +112,7 @@ public: std::string m_defdata; // default data for this item std::string m_minimum; // minimum value std::string m_maximum; // maximum value + bool m_changed; // changed flag }; // construction/destruction @@ -157,6 +160,7 @@ public: float float_value(const char *name) const { return atof(value(name)); } UINT32 seqid(const char *name) const; bool exists(const char *name) const; + bool is_changed(const char *name) const; // setting void set_command(const char *command); @@ -164,6 +168,7 @@ public: bool set_value(const char *name, int value, int priority, std::string &error_string); bool set_value(const char *name, float value, int priority, std::string &error_string); void set_flag(const char *name, UINT32 mask, UINT32 flags); + void mark_changed(const char *name); // misc static const char *unadorned(int x = 0) { return s_option_unadorned[MIN(x, MAX_UNADORNED_OPTIONS)]; } |