From cfa2fc365504b779c23c1e45553359ee063b9f3c Mon Sep 17 00:00:00 2001
From: Don Gagne <don@thegagnes.com>
Date: Tue, 15 Dec 2015 20:25:00 -0800
Subject: [PATCH] Allow additions to enum lists

---
 src/FactSystem/FactMetaData.cc | 6 ++++++
 src/FactSystem/FactMetaData.h  | 3 +++
 2 files changed, 9 insertions(+)

diff --git a/src/FactSystem/FactMetaData.cc b/src/FactSystem/FactMetaData.cc
index a1c9efa..45a800e 100644
--- a/src/FactSystem/FactMetaData.cc
+++ b/src/FactSystem/FactMetaData.cc
@@ -260,3 +260,9 @@ void FactMetaData::setTranslators(Translator rawTranslator, Translator cookedTra
     _rawTranslator = rawTranslator;
     _cookedTranslator = cookedTranslator;
 }
+
+void FactMetaData::addEnumInfo(const QString& name, const QVariant& value)
+{
+    _enumStrings << name;
+    _enumValues << value;
+}
diff --git a/src/FactSystem/FactMetaData.h b/src/FactSystem/FactMetaData.h
index b276455..1d2a711 100644
--- a/src/FactSystem/FactMetaData.h
+++ b/src/FactSystem/FactMetaData.h
@@ -79,6 +79,9 @@ public:
     Translator      rawTranslator           (void) const { return _rawTranslator; }
     Translator      cookedTranslator        (void) const { return _cookedTranslator; }
 
+    /// Used to add new values to the enum lists after the meta data has been loaded
+    void addEnumInfo(const QString& name, const QVariant& value);
+
     void setDecimalPlaces   (int decimalPlaces)                 { _decimalPlaces = decimalPlaces; }
     void setDefaultValue    (const QVariant& defaultValue);
     void setEnumInfo        (const QStringList& strings, const QVariantList& values);