diff options
author | mrwastl <mrwastl@users.sourceforge.net> | 2010-04-17 19:16:26 +0200 |
---|---|---|
committer | mrwastl <mrwastl@users.sourceforge.net> | 2010-04-17 19:16:26 +0200 |
commit | 68ac6628a31cb1472275b5282c5cf9a971d9bddd (patch) | |
tree | 0ef788b563efab6688b0381cedd43baaefbc66cc /glcdskin/variable.h | |
parent | 1011961a8af0615ee25b79d2bbd7e6820b851556 (diff) | |
download | graphlcd-base-68ac6628a31cb1472275b5282c5cf9a971d9bddd.tar.gz graphlcd-base-68ac6628a31cb1472275b5282c5cf9a971d9bddd.tar.bz2 |
backport of skin-support from 0.2.x to 0.1.x, changes for gcc 4.3 conformity
Diffstat (limited to 'glcdskin/variable.h')
-rw-r--r-- | glcdskin/variable.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/glcdskin/variable.h b/glcdskin/variable.h new file mode 100644 index 0000000..449f6b0 --- /dev/null +++ b/glcdskin/variable.h @@ -0,0 +1,61 @@ +/* + * GraphLCD skin library + * + * variable.h - variable class + * + * This file is released under the GNU General Public License. Refer + * to the COPYING file distributed with this package. + * + * based on text2skin + * + */ + +#ifndef _GLCDSKIN_VARIABLE_H_ +#define _GLCDSKIN_VARIABLE_H_ + +#include <string> +#include <vector> + +#include "display.h" +#include "object.h" + +namespace GLCD +{ + +class cSkin; + +class cSkinVariable +{ + friend bool StartElem(const std::string &name, std::map<std::string,std::string> &attrs); + friend bool EndElem(const std::string &name); + +private: + cSkin * mSkin; + std::string mId; + cType mValue; + cSkinFunction * mCondition; + cSkinDisplay mDummyDisplay; + cSkinObject mDummyObject; + +public: + cSkinVariable(cSkin * Parent); + + 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; } + cSkinFunction * Condition(void) const { return mCondition; } +}; + +class cSkinVariables: public std::vector <cSkinVariable *> +{ +public: + cSkinVariables(void); + ~cSkinVariables(void); +}; + +} // end of namespace + +#endif |