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

  1. #ifndef _INC_TCREPORT_HPP
  2. #define _INC_TCREPORT_HPP
  3.  
  4. #include <TcPch.hpp>
  5. #include <Lio.hpp>
  6. #include <TcWinExt.hpp>
  7. #include <TcCoreEx.hpp>
  8.  
  9. #include <TcRp1.h>
  10. #include <TcRp2.h>
  11. #include <TcImgVi.h>
  12.  
  13. class TC_CReportClient;
  14. class TC_CReportPreview;
  15. BOOL tcInitReport ()  ;
  16. #define TC_EVENT_RptClient    "RptClien"
  17.  
  18. // **********************************************************************
  19. struct TC_EvRptClient 
  20.     : TC_Event
  21. {
  22. public: 
  23. enum EEvCode {
  24.  id_FileName,
  25.  id_ThreadEnter,
  26.  id_Execute,
  27.  id_FetchNext,
  28.  id_PaintBegin,
  29.  id_PaintEnd,
  30.  id_ThreadExit,
  31.  id_PrintDone,
  32. };
  33. public:  EEvCode code ;
  34. public:  TC_CReportClient* client ;
  35. union {
  36. public:  LPCSTR file_name ;
  37. public:  LPCSTR section ;
  38. public:  TcRp1PaintStruct* paint_struct ;
  39. }; // union
  40. public:   TC_EvRptClient (EEvCode evCode, TC_CReportClient *rptClient) 
  41. {
  42. event = TC_EVENT_RptClient;
  43. code = evCode;
  44. client = rptClient;
  45. file_name = 0;
  46. } // end of func
  47. // **********************************************************************
  48.  
  49.  
  50. }; // end of class TC_EvRptClient
  51.  
  52. // **********************************************************************
  53.  
  54. // **********************************************************************
  55. class TC_CReportClient 
  56.     : public TC_CEventMaster
  57. {
  58. friend class TC_CReportPreview;
  59. public: 
  60. enum EMode {
  61.  mode_Print,
  62.  mode_Preview,
  63. };
  64. private:  DWORD m_Server ;
  65. private:  HWND m_hWndParent ;
  66. private:  TC_CReportClient** m_ThisPtr ;
  67. protected:  int m_WaitStatus ;
  68. protected:  int m_DoneStatus ;
  69. private:  BOOL m_IsPreview ;
  70. private:  TC_CReportPreview* m_PreviewFrm ;
  71. protected:  int m_CurPage ;
  72. protected:  int m_TotalPages ;
  73. public:   TC_CReportClient (HWND parent, EMode rptMode, TC_CReportClient **thisPtr)  ;
  74. public: virtual  ~TC_CReportClient ()  ;
  75. protected: virtual TC_CReportClient* Clone (HWND parent, EMode mode, TC_CReportClient **thisPtr)  ;
  76. public:  BOOL Start ()  ;
  77. protected:  void PrevPage ()  ;
  78. protected:  void NextPage ()  ;
  79. public:  BOOL IsPrinting ()  ;
  80. public:  BOOL IsPreview ()  ;
  81. protected: static DWORD CALLBACK CallBackProc (TC_CReportClient *obj, DWORD cmd, DWORD arg)  ;
  82. protected:  long ThisCallBackProc (int cmd, long arg)  ;
  83. public:  void SetVar (LPCSTR name, LPCSTR val)  ;
  84. public:  void SetVar (LPCSTR name, TC_CDate &date, LPCSTR fmt=0)  ;
  85. public:  void SetVar (LPCSTR name, TC_CTime &time, LPCSTR fmt=0)  ;
  86. public:  void SetVar (LPCSTR name, char chr)  ;
  87. public:  void SetVar (LPCSTR name, TC_CBCD &bcd, char *fmt=0)  ;
  88. public:  void SetVar (LPCSTR name, short sh, char *fmt=0)  ;
  89. public:  void SetVar (LPCSTR name, long l, char *fmt=0)  ;
  90. public:  void SetVar (LPCSTR name, float f, char *fmt=0)  ;
  91. public:  void SetVar (LPCSTR name, double d, char *fmt=0)  ;
  92. protected:  LPCSTR FileName ()  ;
  93. protected:  BOOL CB_ThreadEnter ()  ;
  94. protected:  BOOL CB_Execute (LPCSTR rpt_section)  ;
  95. protected:  BOOL CB_FetchNext (LPCSTR rpt_section)  ;
  96. protected:  BOOL CB_PaintBegin (TcRp1PaintStruct *ps)  ;
  97. protected:  BOOL CB_PaintEnd (TcRp1PaintStruct *ps)  ;
  98. protected:  BOOL CB_ThreadExit ()  ;
  99. protected:  BOOL CB_PrintDone (int status)  ;
  100. protected:  BOOL Ev_Router (TC_EvRptClient *ev)  ;
  101.  
  102. }; // end of class TC_CReportClient
  103.  
  104. // **********************************************************************
  105.  
  106. // **********************************************************************
  107. class TC_CReportPreview 
  108.     : public TC_CWindow
  109. {
  110. friend class TC_CReportClient;
  111. protected:  TC_CWindow* m_Tb ;
  112. protected:  TC_CToolbarMaster* m_TbMaster ;
  113. protected:  TC_CReportClient* m_ClientPrint ;
  114. protected:  TC_CReportClient* m_ClientView ;
  115. protected:  HWND m_hWndStatus ;
  116. public: 
  117. enum  {
  118.  TbBtn_PrevPage,
  119.  TbBtn_NextPage,
  120.  TbBtn_Shrink8,
  121.  TbBtn_Shrink4,
  122.  TbBtn_Shrink2,
  123.  TbBtn_OrigSize,
  124.  TbBtn_Enlarge2,
  125.  TbBtn_Print,
  126. };
  127. protected: static char bmpToolbar [];
  128. public:   TC_CReportPreview (TC_CReportClient *rptView)  ;
  129. public:   ~TC_CReportPreview ()  ;
  130. public:  BOOL Form_Creator (TC_CWindow *frame)  ;
  131. public: AWindow * mc_View;
  132. protected:  void ToolbarMaker ()  ;
  133. protected:  void UpdateToolbar ()  ;
  134. public:  void Print ()  ;
  135. public:  BOOL Ev_WmChar (TC_Event_WM *ev)  ;
  136. public:  BOOL Ev_ToolbarCmd (TC_Event *ev)  ;
  137. public:  BOOL Ev_WmDestroy (TC_Event*)  ;
  138.  
  139. }; // end of class TC_CReportPreview
  140.  
  141. // **********************************************************************
  142.  
  143. #endif // _INC_TCREPORT_HPP
  144.