00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef VAR_MANAGER_HPP
00026 #define VAR_MANAGER_HPP
00027
00028 #include "../utils/var_text.hpp"
00029 #include <list>
00030 #include <map>
00031
00032
00033 class VarManager: public SkinObject
00034 {
00035 public:
00037 static VarManager *instance( intf_thread_t *pIntf );
00038
00040 static void destroy( intf_thread_t *pIntf );
00041
00043 void registerVar( const VariablePtr &rcVar, const string &rName );
00044
00046 void registerVar( const VariablePtr &rcVar );
00047
00049 Variable *getVar( const string &rName );
00050
00052 Variable *getVar( const string &rName, const string &rType );
00053
00055 VarText &getTooltipText() { return *m_pTooltipText; }
00056
00058 VarText &getHelpText() { return *m_pHelpText; }
00059
00060 private:
00062 VarText *m_pTooltipText;
00064 VarText *m_pHelpText;
00066 map<string, VariablePtr> m_varMap;
00068 list<string> m_varList;
00070 list<VariablePtr> m_anonVarList;
00071
00073 VarManager( intf_thread_t *pIntf );
00074 virtual ~VarManager();
00075 };
00076
00077
00078 #endif