]> git.mxchange.org Git - simgear.git/commitdiff
Add SGPropertyNode::setValueReadOnly.
authorThomas Geymayer <tomgey@gmail.com>
Sun, 20 Oct 2013 10:03:41 +0000 (12:03 +0200)
committerThomas Geymayer <tomgey@gmail.com>
Sun, 20 Oct 2013 10:03:41 +0000 (12:03 +0200)
Helper to set value of relative node and mark
read only. Use eg. for exposing configuration
and build values to the property tree.

simgear/props/props.hxx

index 5103e8c0f9130a30b0805eb0e21e2f7f23e8b467..c78d21026d695e37b1409c38997f2995829ad54b 100644 (file)
@@ -1241,6 +1241,23 @@ public:
     return setValue(&val[0]);
   }
   
+  /**
+   * Set relative node to given value and afterwards make read only.
+   *
+   * @param relative_path   Path to node
+   * @param value           Value to set
+   *
+   * @return whether value could be set
+   */
+  template<typename T>
+  bool setValueReadOnly(const std::string& relative_path, const T& value)
+  {
+    SGPropertyNode* node = getNode(relative_path, true);
+    bool ret = node->setValue(value);
+    node->setAttributes(READ);
+    return ret;
+  }
+
   /**
    * Interpolate current value to target value within given time.
    *