diff options
author | Christian Tusche <chr13@gmx.net> | 2007-05-06 17:26:51 +0200 |
---|---|---|
committer | Thomas Günther <tom@toms-cafe.de> | 2009-06-04 00:46:32 +0200 |
commit | b32f1eaf9ae246f656ebd27c2fbb5d29d2bec34c (patch) | |
tree | bcecfb3d782d7b0c3690403276be18ab8f76717e /xml/skin.h | |
parent | 0b3f86344a87940d324695e0bc9449c35cbf60d4 (diff) | |
download | vdr-plugin-text2skin-b32f1eaf9ae246f656ebd27c2fbb5d29d2bec34c.tar.gz vdr-plugin-text2skin-b32f1eaf9ae246f656ebd27c2fbb5d29d2bec34c.tar.bz2 |
2007-05-06: Version 1.1-cvs_ext-0.10b (text2skin-1.1-cvs_ext-0.10b.diff)
- increase skin file version to 1.1
- the position of list items is interpreted relative to the "list" container
when file version >= 1.1
- when a position is specified for "block" elements, the position of all
contained elements is interpreted relative to the container position
Diffstat (limited to 'xml/skin.h')
-rw-r--r-- | xml/skin.h | 42 |
1 files changed, 40 insertions, 2 deletions
@@ -15,6 +15,44 @@ class cText2SkinI18n; class cText2SkinTheme; + +class cxVersion { +public: + cxVersion( int ma=0, int min=0 ); + bool Parse(const std::string &Text); + int Major(void) const { return mMajor; } + int Minor(void) const { return mMinor; } + bool Require( int ma, int min ) const { + return mMajor > ma ? true : (mMajor == ma ? mMinor >= min : false); + } + bool Limit( int ma, int min ) const { + return mMajor < ma ? true : (mMajor == ma ? mMinor <= min : false); + } + bool cxVersion::operator==( const cxVersion &v ) const { + return mMajor == v.mMajor && mMinor == v.mMinor; + } + bool cxVersion::operator>=( const cxVersion &v ) const { + return Require( v.mMajor , v.mMinor); + } + bool cxVersion::operator>=( const char *c ) const { + cxVersion v; + if( !v.Parse(c) ) return false; + return Require( v.mMajor , v.mMinor); + } + bool cxVersion::operator<=( const cxVersion &v ) const { + return Limit( v.mMajor , v.mMinor ); + } + bool cxVersion::operator<=( const char *c ) const { + cxVersion v; + if( !v.Parse(c) ) return false; + return Limit( v.mMajor , v.mMinor); + } + +private: + int mMajor; + int mMinor; +}; + class cxSkin { friend bool xStartElem(const std::string &name, std::map<std::string,std::string> &attrs); friend bool xEndElem(const std::string &name); @@ -35,7 +73,7 @@ private: txSize mBaseSize; std::string mName; std::string mTitle; - std::string mVersion; + cxVersion mVersion; cxDisplays mDisplays; @@ -55,7 +93,7 @@ public: const txSize &BaseSize(void) const { return mBaseSize; } const std::string &Name(void) const { return mName; } const std::string &Title(void) const { return mTitle; } - const std::string &Version(void) const { return mVersion; } + const cxVersion &Version(void) const { return mVersion; } // functions for object classes to obtain dynamic item information std::string Translate(const std::string &Text); |