]> git.mxchange.org Git - simgear.git/blobdiff - simgear/props/condition.hxx
canvas::Layout: support for contents margins.
[simgear.git] / simgear / props / condition.hxx
index 719f68795411ad609664557e4079d5494f3be63f..4341c2397e77bd5aa9768f679f980b2f5a0f68c7 100644 (file)
 #ifndef __SG_CONDITION_HXX
 #define __SG_CONDITION_HXX
 
-#include <simgear/debug/logstream.hxx>
-#include <simgear/props/props.hxx>
-#include <simgear/props/props_io.hxx>
+#include <set>
 #include <simgear/structure/SGReferenced.hxx>
-\f
+#include <simgear/structure/SGSharedPtr.hxx>
+
+class SGPropertyNode;
+
 ////////////////////////////////////////////////////////////////////////
 // Conditions.
 ////////////////////////////////////////////////////////////////////////
@@ -34,8 +35,11 @@ public:
   SGCondition ();
   virtual ~SGCondition ();
   virtual bool test () const = 0;
+  virtual void collectDependentProperties(std::set<const SGPropertyNode*>& props) const { }
 };
 
+typedef SGSharedPtr<SGCondition> SGConditionRef;
+
 
 /**
  * Base class for a conditional components.
@@ -54,7 +58,7 @@ public:
   virtual const SGCondition * getCondition () const { return _condition; }
   virtual bool test () const;
 private:
-  SGSharedPtr<SGCondition> _condition;
+  SGConditionRef _condition;
 };