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

  1. #ifndef _INC_PFFORM_HPP
  2. #define _INC_PFFORM_HPP
  3. class TC_CPfField;
  4. class TC_CPfArea;
  5.  
  6. class TC_CPfObjSet;
  7. class TC_CPfTable;
  8. class TC_CPfTree;
  9. class TC_CPfTreeItem;
  10.  
  11. // **********************************************************************
  12. struct TC_EvObjAction 
  13.     : TC_Event
  14. {
  15. public: 
  16. enum EEvCode {
  17.  id_Undefined,
  18.  id_Inserted,
  19.  id_Changed,
  20.  id_Undone,
  21.  id_Restored,
  22.  id_BeforeStored,
  23.  id_AfterStored,
  24.  id_BeforeRemoved,
  25.  id_AfterRemoved,
  26. };
  27. public:  EEvCode code ;
  28. public:  TC_CPsInstID inst_id ;
  29. public:  const char * attr_name ;
  30. public:  BOOL is_new ;
  31. public:   TC_EvObjAction ()  ;
  32. public:   TC_EvObjAction (EEvCode evCode, TC_CPsInstID instID)  ;
  33.  
  34. }; // end of class TC_EvObjAction
  35.  
  36. // **********************************************************************
  37.  
  38. // **********************************************************************
  39. class TC_CPfField 
  40.     : public TC_CWindow
  41. {
  42. friend class TC_CPfArea;
  43. private:
  44.  
  45.     TC_CPfField(const TC_CPfField &);
  46.     TC_CPfField();
  47.     TC_CPfField & operator = (const TC_CPfField &);
  48. protected:  TC_CPfArea * m_Area ;
  49. protected:  TC_CPsAttribInfo m_AtInfo ;
  50. public:  TC_CIDataType * m_IDataType ;
  51. protected:  TC_CWindow * m_LabelWin ;
  52. protected:  TC_CWindow * m_ButtonWin ;
  53. public:  TC_CPfArea * m_AgentArea ;
  54. protected:  BOOL m_Modified ;
  55. protected:  TC_CPfHistory * m_History ;
  56. protected:  TC_CPfTimer m_SATimer ;
  57. protected:  void * m_Rsc ;
  58. public:   TC_CPfField (TC_CPfArea *cls, TC_CPsAttribInfo &atInfo)  ;
  59. public: virtual  ~TC_CPfField ()  ;
  60. public:  BOOL IsCID ()  ;
  61. public:  BOOL IsOID ()  ;
  62. public:  BOOL IsObject ()  ;
  63. public:  BOOL IsAgent ()  ;
  64. public:  BOOL IsSuperAgent ()  ;
  65. public:  BOOL IsReadonly ()  ;
  66. public:  BOOL IsRightAlign ()  ;
  67. public:  BOOL IsRequired ()  ;
  68. public:  BOOL IsHidden ()  ;
  69. public:  BOOL IsNeedHistory ()  ;
  70. public:  TCPsHAttrib HAttrib ()  ;
  71. public:  const char * Name ()  ;
  72. public:  const char * Label ()  ;
  73. public:  const char * InFmt ()  ;
  74. public:  const char * OutFmt ()  ;
  75. public:  int RawSize ()  ;
  76. public:  int Type ()  ;
  77. public:  TC_CPsAttribUIData * AttribData ()  ;
  78. public:  BOOL HasValSet ()  ;
  79. public:  int ValSetCount ()  ;
  80. public:  const char * RscName ()  ;
  81. protected:  void FillFormer (TC_Former &f)  ;
  82. protected:  void InitFormed ()  ;
  83. protected:  void DestroyMe ()  ;
  84. private:  void SubclassHidden (TC_Former &f)  ;
  85. public:  void AttribToMe (TC_CPsObject *obj)  ;
  86. public:  void MeToAttrib (TC_CPsObject *obj)  ;
  87. public:  void AttribToBuffer (TC_CPsObject *obj, char *buf)  ;
  88. public:  void InitAgentArea ()  ;
  89. public:  void RestoreAgentArea (TC_CPsObject * obj)  ;
  90. public:  void SetDefaultValue ()  ;
  91. public:  BOOL Validate ()  ;
  92. public:  void Clear ()  ;
  93. public: virtual void* GetInterface (LPCSTR name)  ;
  94. public:  BOOL EvFmt (TC_Event_WIN *ev)  ;
  95. public:  BOOL EvCallAid (TC_Event *)  ;
  96. public:  BOOL EvCalendar (TC_Event *)  ;
  97. public:  BOOL EvChange (TC_Event *)  ;
  98. public:  BOOL EvSATimer (TC_Event_WM *ev)  ;
  99. public:  BOOL EvHistList (TC_Event *)  ;
  100. public:  BOOL EvHistPrev (TC_Event *)  ;
  101. public:  BOOL EvDrawItem (TC_Event_WIN *ev)  ;
  102. protected:  void SuperAgentQuery ()  ;
  103.  
  104. }; // end of class TC_CPfField
  105.  
  106. // **********************************************************************
  107.  
  108. // **********************************************************************
  109. class TC_CPfArea 
  110.     : public TC_CWindow
  111. {
  112. friend class TC_CPfField;
  113. friend class TC_CPfObjSet;
  114. private: 
  115. enum ERestoreParam {
  116.  rp_Restore,
  117.  rp_Undo,
  118. };
  119. protected:  TC_CPsInstID m_InstID ;
  120. public:  TC_TArrayPTR<TC_CPfField> m_Fields ;
  121. public:  BOOL m_Modified ;
  122. protected:  TC_CPfObjSet * m_ObjSet ;
  123. protected:  TC_CPfField * m_AgentOf ;
  124. protected:  TC_TArrayPTR<TC_CPfArea> m_Details ;
  125. public:  TC_CPfArea * m_MasterArea ;
  126. public:  TC_CPsAttribInfo m_AtInfoFK ;
  127. public:   TC_CPfArea ()  ;
  128. protected:  void _Init (TC_CPsInstID inst_id)  ;
  129. protected:  void _Reset ()  ;
  130. protected:  void _Clear ()  ;
  131. protected:  void ObjToFields (TC_CPsObject * obj)  ;
  132. protected:  void FieldsToObj (TC_CPsObject *obj)  ;
  133. protected:  TCPsRetCode DoRestore (TC_CPsInstID inst_id, ERestoreParam rp)  ;
  134. protected:  TCPsRetCode RestoreAsAgent (TC_CPsInstID inst_id)  ;
  135. protected:  void SetDefaultValues ()  ;
  136. protected:  void OnObjNotFound (TCPsHClass hCls)  ;
  137. public:  TCPsHClass HClass ()  ;
  138. public:  BOOL HasCID ()  ;
  139. public:  ULONG GetOID ()  ;
  140. public:  BOOL CanInsert ()  ;
  141. public:  TC_CString RegEntry ()  ;
  142. public:  int IndexOf (const char *name)  ;
  143. public:  int IndexOf (TC_CPsAttribInfo at_info)  ;
  144. public:  TC_CPfField * Field (int idx)  ;
  145. public:  TC_CPfField * Field (const char *name)  ;
  146. public:  TC_CPfField * Field (TC_CPsAttribInfo at_info)  ;
  147. public:  BOOL Store ()  ;
  148. public:  BOOL Restore (TC_CPsInstID inst_id)  ;
  149. public:  BOOL Insert (TC_CPsInstID inst_id)  ;
  150. public:  BOOL Remove ()  ;
  151. public:  void Undo ()  ;
  152. public:  void RestoreAssocs ()  ;
  153. public:  BOOL StoreAssocs ()  ;
  154. public:  void UndoAssocs ()  ;
  155. public:  void SetAssocValues (TC_CPsObject * obj)  ;
  156. public:  void ResetAssocs ()  ;
  157. public:  void RestoreAsAssoc ()  ;
  158. public:  BOOL Associate (TC_CPfArea * area2assoc, TC_CPsAttribInfo atInfoCltn)  ;
  159. public:  void Disassociate (TC_CPfArea * area)  ;
  160. public:  void DisassociateAll ()  ;
  161. public:  void PrepareForClass (TCPsHClass hClass)  ;
  162. public:  BOOL Validate ()  ;
  163. public:  BOOL CallDesigner ()  ;
  164. public: virtual void* GetInterface (LPCSTR name)  ;
  165. public: virtual BOOL OnChange (const char *at_name)  ;
  166. public:  void SetModified ()  ;
  167. public:  BOOL OnClose ()  ;
  168. protected: static char bmpMarkers [];
  169. public: 
  170. enum  {
  171.  Mrk_Ok,
  172.  Mrk_Modified,
  173.  Mrk_New,
  174.  Mrk_NewModified,
  175.  Mrk_Empty,
  176. };
  177. public:  void DrawMarker ()  ;
  178. public:    void MenuRightBtn (TC_CMenu *menu) ;
  179. public:  BOOL TC_CPfArea_RB_0 (TC_Event *e)  ;
  180. public:  BOOL TC_CPfArea_RB_1 (TC_Event *e)  ;
  181. public:  BOOL TC_CPfArea_RB_3 (TC_Event *e)  ;
  182. public:  BOOL EvCreate (TC_Event*)  ;
  183. public:  BOOL EvAccel (TC_Event_WIN *ev)  ;
  184. public:  BOOL EvWmPaint (TC_Event*)  ;
  185. public:  BOOL EvRBtnDown (TC_Event_WM *ev)  ;
  186. public:  BOOL EvDesigner (TC_Event*)  ;
  187. public:  BOOL EvClose (TC_Event*)  ;
  188. public:  BOOL EvDestroy (TC_Event*)  ;
  189. public:  BOOL CanAnyAction ()  ;
  190.  
  191. }; // end of class TC_CPfArea
  192.  
  193. // **********************************************************************
  194.  
  195. // **********************************************************************
  196. class TC_CPfObjSet 
  197.     : public TC_CWindow
  198. {
  199. friend class TC_CPfArea;
  200. public:  TC_CPfArea * m_Area ;
  201. public:  TC_CPsQuery m_Query ;
  202. public:  BOOL m_UsePopulateThread ;
  203. protected:  ULONG m_InitOID ;
  204. protected:  TCArrayINT m_NavigKeys ;
  205. public:   TC_CPfObjSet (TC_CPfArea * fClass)  ;
  206. public: virtual void Init (TCPsHClass hCls)  ;
  207. public:  TCPsHClass HClass ()  ;
  208. public: virtual void Reset ()  ;
  209. public: virtual void MenuRightBtn (TC_CMenu*)  =0 ;
  210. public: virtual BOOL IsEmpty ()  =0 ;
  211. public:  void SetInitOID (ULONG oid)  ;
  212. public: virtual BOOL EvNavigate (TC_Event * ev)  =0 ;
  213. public: virtual const char * GetWinClass ()  =0 ;
  214. public: virtual void SetObjClickEvent (TC_CWindow * win, C_EVENT_HANDLER id_h)  =0 ;
  215. public: virtual void Retrieve (TCPsHClass hCls)  ;
  216. public: virtual BOOL Populate ()  =0 ;
  217. public: virtual ULONG GetCurOID ()  =0 ;
  218. public: virtual BOOL CanAnyAction ()  =0 ;
  219. public: virtual long GetWinStyle ()  ;
  220. protected:  void ResetAssocs ()  ;
  221. public: virtual void OnObjRestored (TC_CPsInstID inst_id)  =0 ;
  222. public: virtual void OnObjStored (TC_CPsInstID inst_id, BOOL is_new)  =0 ;
  223. public: virtual void OnObjChanged (TC_CPsInstID inst_id, const char * attr_name)  =0 ;
  224. public: virtual void OnObjUndone (TC_CPsInstID inst_id)  =0 ;
  225. public: virtual void OnObjInserted (TC_CPsInstID inst_id)  =0 ;
  226. public: virtual void OnObjRemoved (TC_CPsInstID inst_id)  =0 ;
  227. public: virtual void OnObjNotFound (TC_CPsInstID inst_id)  =0 ;
  228.  
  229. }; // end of class TC_CPfObjSet
  230.  
  231. // **********************************************************************
  232.  
  233. // **********************************************************************
  234. class TC_CPfColumn 
  235.     : public TC_CWindow
  236. {
  237. protected:  TC_CPfTable * m_Tbl ;
  238. public:  TC_CPsAttribInfo m_AtInfo ;
  239. protected:  TC_CIDataType * m_IDataType ;
  240. public:  TC_CPfColumn* m_AgentOf ;
  241. protected:  TC_CString m_Title ;
  242. public:   TC_CPfColumn (TC_CPfTable *tbl, TC_CPsAttribInfo &atInfo, TC_CPfColumn *agent_of=0)  ;
  243. public:   ~TC_CPfColumn ()  ;
  244. public:  void Preform (ADDTBLCOLUMN &tc)  ;
  245. public:  void InitFormed (HWND hw)  ;
  246. public:  BOOL IsCID ()  ;
  247. public:  BOOL IsOID ()  ;
  248. public:  BOOL IsHidden ()  ;
  249. public:  BOOL IsObject ()  ;
  250. public:  BOOL IsRightAlign ()  ;
  251. public:  TCPsHClass HClass ()  ;
  252. public:  TCPsHAttrib HAttrib ()  ;
  253. public:  int RawSize ()  ;
  254. public:  int Type ()  ;
  255. public:  const char * Name ()  ;
  256. public:  char * Heading ()  ;
  257. public:  TC_CPsAttribUIData * AttribData ()  ;
  258. public:  BOOL HasValSet ()  ;
  259. public:  int ValSetCount ()  ;
  260. public:  const char * InFmt ()  ;
  261. public:  const char * OutFmt ()  ;
  262. public:  TC_CPsClassInfo RelatedTo ()  ;
  263. public:  void Data2Ctrl (char *data)  ;
  264. public:  void Data2Draw (char *data, long &index)  ;
  265. public:  void AttribToBuffer (TC_CPsObject *obj, char *buf)  ;
  266.  
  267. }; // end of class TC_CPfColumn
  268.  
  269. // **********************************************************************
  270.  
  271. // **********************************************************************
  272. class TC_CPfTable 
  273.     : public TC_CPfObjSet
  274. {
  275. public:  TC_TArrayPTR<TC_CPfColumn> m_Cols ;
  276. protected:  TC_CPfTimer m_RowingTimer ;
  277. protected:  BOOL m_UseTimer ;
  278. protected:  BOOL m_IgnoreRowChanged ;
  279. public:  BOOL m_UseSortDlg ;
  280. public:   TC_CPfTable (TC_CPfArea * fClass)  ;
  281. public:    void MenuRightBtn (TC_CMenu *menu) ;
  282. public:  BOOL TC_CPfTable_RB_0 (TC_Event *e)  ;
  283. public:  BOOL TC_CPfTable_RB_1 (TC_Event *e)  ;
  284. public:  BOOL TC_CPfTable_RB_3 (TC_Event *e)  ;
  285. public:  BOOL TC_CPfTable_RB_4 (TC_Event *e)  ;
  286. public:  BOOL TC_CPfTable_RB_6 (TC_Event *e)  ;
  287. public:  BOOL TC_CPfTable_RB_7 (TC_Event *e)  ;
  288. protected:  TC_CEvent m_EvKillPopulateThread ;
  289. protected:  TC_CEvent m_EvPopulateThreadKilled ;
  290. protected:  TC_CEvent m_EvPopulateDone ;
  291. protected:  TC_TThreadAction <TC_CPfTable> m_PopulateAction ;
  292. protected:  TC_CInstThread * m_PopulateThread ;
  293. protected:  TC_CPfThreadKiller * m_ThreadKiller ;
  294. public:  void PopulateInThread ()  ;
  295. public:  BOOL EvPopulateDone (TC_Event_WM *)  ;
  296. public:  long PopulateThreadProc ()  ;
  297. public:  void KillThread ()  ;
  298. public:  BOOL EvKillPopulate (TC_Event *)  ;
  299. protected:  void ObjToRow (long row, TC_CPsObject *obj, WNDPROC wnd_proc=0)  ;
  300. protected:  void SetCellData (int col, TBL_GETFIELD *gf, WNDPROC wnd_proc)  ;
  301. protected:  void AreaToRow ()  ;
  302. protected:  void SetCurRow ()  ;
  303. protected:  void RegEntry (TC_CString &name)  ;
  304. protected:  void DefineSort ()  ;
  305. public: virtual void Init (TCPsHClass hCls)  ;
  306. public: virtual void Reset ()  ;
  307. public: virtual BOOL Populate ()  ;
  308. public: virtual const char * GetWinClass ()  ;
  309. public: virtual void SetObjClickEvent (TC_CWindow * win, C_EVENT_HANDLER id_h)  ;
  310. public: virtual BOOL CanAnyAction ()  ;
  311. public: virtual BOOL IsEmpty ()  ;
  312. public: virtual void WinName (TC_CString &dst)  ;
  313. public:  void Find ()  ;
  314. public:  ULONG GetOID (long row)  ;
  315. public: virtual ULONG GetCurOID ()  ;
  316. public:  long CurRow ()  ;
  317. public:  long NumRows ()  ;
  318. public:  int IndexOf (const char *name)  ;
  319. public:  BOOL EvCreate (TC_Event*)  ;
  320. public:  BOOL EvAccel (TC_Event_WIN *ev)  ;
  321. public:  BOOL EvNotify (TC_Event_NM *ev)  ;
  322. public:  BOOL EvTimer (TC_Event_WM *ev)  ;
  323. public:  BOOL EvDestroy (TC_Event_WM *ev)  ;
  324. public: virtual BOOL EvNavigate (TC_Event *ev)  ;
  325. public:  BOOL EvMouseClick (TC_Event*)  ;
  326. public:  BOOL EvRBtnDown (TC_Event_WM *ev)  ;
  327. public:  BOOL EvCallSortDlg (TC_Event*)  ;
  328. public: virtual void OnObjRestored (TC_CPsInstID inst_id)  ;
  329. public: virtual void OnObjStored (TC_CPsInstID inst_id, BOOL is_new)  ;
  330. public: virtual void OnObjChanged (TC_CPsInstID inst_id, const char *at_name)  ;
  331. public: virtual void OnObjUndone (TC_CPsInstID inst_id)  ;
  332. public: virtual void OnObjInserted (TC_CPsInstID inst_id)  ;
  333. public: virtual void OnObjRemoved (TC_CPsInstID inst_id)  ;
  334. public: virtual void OnObjNotFound (TC_CPsInstID inst_id)  ;
  335.  
  336. }; // end of class TC_CPfTable
  337.  
  338. // **********************************************************************
  339.  
  340. // **********************************************************************
  341. class TC_CPfTreeItem 
  342. {
  343. public:  int m_OID ;
  344. public:  TC_CPfTreeItem* m_Parent ;
  345. public:  TC_TArrayPTR<TC_CPfTreeItem> m_Children ;
  346. public:  short m_ChildrenCnt ;
  347. public:  short m_Level ;
  348. public:  TC_CString m_Text ;
  349. public:  int m_IsExpanded ;
  350. public:   TC_CPfTreeItem (TC_CPfTree *tree, TC_CPsObject *obj, TC_CPfTreeItem *parent_item)  ;
  351. public:   ~TC_CPfTreeItem () 
  352. {
  353. } // end of func
  354. // **********************************************************************
  355.  
  356. public:  BOOL IsNew () 
  357. {
  358. return !m_OID;
  359. } // end of func
  360. // **********************************************************************
  361.  
  362. public:  char * GetText ()  ;
  363. public:  BOOL MayBeExpanded () 
  364. {
  365. return m_ChildrenCnt;
  366. } // end of func
  367. // **********************************************************************
  368.  
  369.  
  370. }; // end of class TC_CPfTreeItem
  371.  
  372. // **********************************************************************
  373.  
  374. // **********************************************************************
  375. class TC_CPfTree 
  376.     : public TC_CPfObjSet
  377. {
  378. public:  TC_TArrayPTR<TC_CPfTreeItem> m_Items ;
  379. protected:  TC_CPfTimer m_RowingTimer ;
  380. protected:  BOOL m_UseTimer ;
  381. public:  BOOL m_InsertChildHelper ;
  382. public:  static  TC_CPfTree * sm_DragDropTree ;
  383. public:  static  TC_CPfTreeItem * sm_DragDropItem ;
  384. protected:  BOOL m_IgnoreRowChanged ;
  385. protected: static char bmpItems [];
  386. public:   TC_CPfTree (TC_CPfArea * fClass)  ;
  387. public: virtual void Init (TCPsHClass hClass)  ;
  388. public: virtual void Reset ()  ;
  389. public: virtual BOOL Populate ()  ;
  390. public:  BOOL LoadChildren (TC_CPfTreeItem *item)  ;
  391. public: virtual void DefineItemText (TC_CPsObject *obj, TC_CString &dest)  ;
  392. public: virtual void SetObjClickEvent (TC_CWindow * win, C_EVENT_HANDLER id_h)  ;
  393. public: virtual BOOL IsEmpty ()  ;
  394. public:  BOOL IsItemUnaltered (TC_CPfTreeItem *item)  ;
  395. public:    void MenuRightBtn (TC_CMenu *menu) ;
  396. public:  BOOL TC_CPfTree_RB_0 (TC_Event *e)  ;
  397. public:  BOOL TC_CPfTree_RB_1 (TC_Event *e)  ;
  398. public:  BOOL TC_CPfTree_RB_3 (TC_Event *e)  ;
  399. public:  BOOL TC_CPfTree_RB_4 (TC_Event *e)  ;
  400. public:  BOOL TC_CPfTree_RB_5 (TC_Event *e)  ;
  401. public:  BOOL TC_CPfTree_RB_7 (TC_Event *e)  ;
  402. public: virtual ULONG GetCurOID ()  ;
  403. public:  TC_CPfTreeItem* GetCurItem ()  ;
  404. public: virtual const char * GetWinClass ()  ;
  405. public: virtual long GetWinStyle ()  ;
  406. public: virtual BOOL CanAnyAction () 
  407. {
  408. return true;
  409. } // end of func
  410. // **********************************************************************
  411.  
  412. public:  BOOL IsModified ()  ;
  413. public:  BOOL EvCreate (TC_Event*)  ;
  414. public:  BOOL EvAccel (TC_Event_WIN *e)  ;
  415. public:  BOOL EvTimer (TC_Event_WM*)  ;
  416. public:  BOOL EvNotify (TC_Event_NM *e)  ;
  417. public: virtual BOOL EvNavigate (TC_Event * ev)  ;
  418. public:  BOOL EvInsertChild (TC_Event*)  ;
  419. public:  BOOL EvObjAction (TC_EvObjAction *e)  ;
  420. public:  BOOL EvRBtnDown (TC_Event_WM *ev)  ;
  421. public:  BOOL Ev_DragDrop (TC_Event_WIN *e)  ;
  422. public:  BOOL StartDrag ()  ;
  423. public:  BOOL CanDrop (int x, int y)  ;
  424. public:  void DoDrop (int x, int y)  ;
  425. public:  TC_CPfTreeItem* ItemFromPoint (int x, int y)  ;
  426. public:  BOOL IsTheSameBranch (TC_CPfTreeItem *parent_item, TC_CPfTreeItem *child_item)  ;
  427. public:  void InsertSubTree (TC_CPfTreeItem *item, TC_CPfTreeItem *parent_item)  ;
  428. public:  void ExpandSubTree (TC_CPfTreeItem *item)  ;
  429. public:  void BeforeStore (TC_CPsInstID &inst_id, BOOL is_new)  ;
  430. public:  void UpdateSubTree (TC_CPsObject *obj, TC_CPsObject *parent_obj)  ;
  431. public:  void BeforeRemove (TC_CPsInstID &inst_id)  ;
  432. public:  void DeleteSubTree (TC_CPsObject *obj)  ;
  433. public: virtual void OnObjRestored (TC_CPsInstID inst_id)  ;
  434. public: virtual void OnObjStored (TC_CPsInstID inst_id, BOOL is_new)  ;
  435. public: virtual void OnObjChanged (TC_CPsInstID inst_id, const char * attr_name)  ;
  436. public: virtual void OnObjUndone (TC_CPsInstID inst_id)  ;
  437. public: virtual void OnObjInserted (TC_CPsInstID inst_id)  ;
  438. public: virtual void OnObjRemoved (TC_CPsInstID inst_id)  ;
  439. public: virtual void OnObjNotFound (TC_CPsInstID inst_id)  ;
  440. public:  TC_CPsCollection* GetChildren (TC_CPsObject *obj)  ;
  441. public:  short GetChildrenCnt (TC_CPsObject *obj)  ;
  442. public:  void SetChildrenCnt (TC_CPsObject *obj, short cnt)  ;
  443. public:  void IncrChildrenCnt (TC_CPsObject *obj)  ;
  444. public:  void DecrChildrenCnt (TC_CPsObject *obj)  ;
  445. public:  void GetCode (TC_CPsObject *obj, TC_CString &dest)  ;
  446. public:  void SetCode (TC_CPsObject *obj, const char *val)  ;
  447. public:  void GetThisCode (TC_CPsObject *obj, TC_CString &dest)  ;
  448. public:  short GetLevel (TC_CPsObject *obj)  ;
  449. public:  void SetLevel (TC_CPsObject *obj, short level)  ;
  450. public:  TC_CPsObject* GetParent (TC_CPsObject *obj)  ;
  451.  
  452. }; // end of class TC_CPfTree
  453.  
  454. // **********************************************************************
  455. TC_CPfObjSet * tcCreateObjSet (TC_CPfArea * pfClass, TCPsHClass hClass)  ;
  456.  
  457. // **********************************************************************
  458. class TC_CPfAutoForm 
  459.     : public TC_CWindow
  460. {
  461. protected:  TCPsHClass m_hCls ;
  462. protected:  TC_CPfArea * m_Area ;
  463. protected:  TC_CPfObjSet * m_ObjSet ;
  464. protected:  TC_CString m_WinNameBuf ;
  465. public:   TC_CPfAutoForm (TCPsHClass hCls)  ;
  466. public: virtual BOOL Form_Creator (TC_CWindow *frame)  ;
  467. public: virtual BOOL Form_OnCreate ()  ;
  468. protected: virtual void Populate ()  ;
  469. public:  BOOL EvCommand (TC_Event_WIN *ev)  ;
  470.  
  471. }; // end of class TC_CPfAutoForm
  472.  
  473. // **********************************************************************
  474.  
  475. // **********************************************************************
  476. class TC_CPfAidDlg 
  477.     : public TC_CPfAutoForm
  478. {
  479. protected:  ULONG * m_AffectedOID ;
  480. public:   TC_CPfAidDlg (TCPsHClass hCls, ULONG *oid)  ;
  481. public: static int Run (TCPsHClass hClass, ULONG * oid)  ;
  482. public: virtual BOOL Form_OnCreate ()  ;
  483. protected: virtual void Populate ()  ;
  484. public:  BOOL EvDestroy (TC_Event *)  ;
  485. public:  BOOL EvObjClick (TC_Event *)  ;
  486.  
  487. }; // end of class TC_CPfAidDlg
  488.  
  489. // **********************************************************************
  490.  
  491. #endif // _INC_PFFORM_HPP
  492.