home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 February / PCWorld_2000-02_cd.bin / Software / TemaCD / tcvpa / data1.cab / MyFileGroup / INCLUDE / UI.hpp < prev    next >
C/C++ Source or Header  |  1999-06-03  |  2KB  |  65 lines

  1. #ifndef _INC_UI_HPP
  2. #define _INC_UI_HPP
  3. #define TC_PS_AUI_AGENT            0x00000001
  4. #define TC_PS_AUI_SUPERAGENT    0x00000002
  5. #define TC_PS_AUI_HIDDEN        0x00000004
  6. #define TC_PS_AUI_READONLY        0x00000008
  7. #define TC_PS_UIVAL(val)    TC_CPsAttribUIData::CreatePsBuffer(TC_CPsBuffer((val)))
  8. #define TC_PS_UIVAL_PAIR(val, assoc) { TC_PS_UIVAL((val)), (assoc) }
  9. #define TC_PS_ATTRIB_UI_DATA(c,a)    TC_CPsClassInfo((c)).GetAttribInfo((a))->m_UIData
  10. #define TC_PS_SET_ATTRIB_UI_DATA(cl, at) tcPsAssignAttribUI(##cl##_Class,#at, &##cl##::_##at)
  11.  
  12. // **********************************************************************
  13. class TC_PS_EXPORT TC_CPsUIFormats 
  14. {
  15. public:  static  TCArrayStrStrNum m_Types ;
  16. public:   TC_CPsUIFormats ()  ;
  17. private: static void Init ()  ;
  18. public: static void Set (int at_type, const char * in, const char * out)  ;
  19. public: static const char * GetIn (int at_type)  ;
  20. public: static const char * GetOut (int at_type)  ;
  21.  
  22. }; // end of class TC_CPsUIFormats
  23.  
  24. // **********************************************************************
  25.  
  26. // **********************************************************************
  27. struct TC_PS_EXPORT TC_CPsAttribUIData 
  28. {
  29.  
  30. // **********************************************************************
  31. public: 
  32. struct PsValuePair 
  33. {
  34. public:  TC_CPsBuffer * m_Value ;
  35. public:  const char * m_Assoc ;
  36.  
  37. }; // end of class PsValuePair
  38.  
  39. // **********************************************************************
  40. public:  long m_Flags ;
  41. public:  TC_CPsBuffer * m_DefVal ;
  42. public:  const char * m_InFmt ;
  43. public:  const char * m_OutFmt ;
  44. public:  const char * m_RscName ;
  45. public:  PsValuePair m_ValueSet [];
  46. public:  int ValSetCount ()  ;
  47. public:  int GetValSetIdx (TC_CPsBuffer & val)  ;
  48. public:  TC_CPsBuffer * GetValSetVal (int idx)  ;
  49. public:  const char * GetValSetAssoc (int idx)  ;
  50. public: static TC_CPsBuffer * CreatePsBuffer (TC_CPsBuffer & ps_buf) 
  51. {
  52. TC_CPsBuffer * pb = new TC_CPsBuffer(ps_buf);
  53. return pb;
  54. } // end of func
  55. // **********************************************************************
  56.  
  57.  
  58. }; // end of class TC_CPsAttribUIData
  59.  
  60. // **********************************************************************
  61. TC_PS_EXPORT int tcPsTypeToBase (int ps_type)  ;
  62. TC_PS_EXPORT TCPsRetCode tcPsAssignAttribUI (TCPsHClass hClass, const char * attr_name, TC_CPsAttribUIData * attr_data) TC_PS_THROW_FUNC ;
  63.  
  64. #endif // _INC_UI_HPP
  65.