summaryrefslogtreecommitdiff
path: root/glcdskin/variable.h
diff options
context:
space:
mode:
Diffstat (limited to 'glcdskin/variable.h')
-rw-r--r--glcdskin/variable.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/glcdskin/variable.h b/glcdskin/variable.h
index 449f6b0..8c6ef6f 100644
--- a/glcdskin/variable.h
+++ b/glcdskin/variable.h
@@ -18,10 +18,21 @@
#include "display.h"
#include "object.h"
+#include "function.h"
namespace GLCD
{
+enum eEvalMode
+{
+ tevmAlways,
+ tevmTick,
+ tevmSwitch,
+ tevmOnce,
+ tevmInterval
+};
+
+
class cSkin;
class cSkinVariable
@@ -34,18 +45,24 @@ private:
std::string mId;
cType mValue;
cSkinFunction * mCondition;
+ cSkinFunction * mFunction;
cSkinDisplay mDummyDisplay;
cSkinObject mDummyObject;
+ eEvalMode mEvalMode;
+ int mEvalInterval;
+ uint64_t mTimestamp;
public:
cSkinVariable(cSkin * Parent);
+ bool ParseEvalMode(const std::string & Text);
bool ParseValue(const std::string & Text);
bool ParseCondition(const std::string & Text);
cSkin * Skin(void) const { return mSkin; }
const std::string & Id(void) const { return mId; }
- const cType & Value(void) const { return mValue; }
+// const cType & Value(void) const { return mValue; }
+ const cType & Value(void);
cSkinFunction * Condition(void) const { return mCondition; }
};