home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / CLASS.ZIP / 1.H < prev    next >
Text File  |  1993-02-21  |  3KB  |  99 lines

  1. #ifndef PMPROCESS_H
  2. #define PMPROCESS_H
  3.  
  4.  
  5. #define INCL_WIN
  6.  
  7.  
  8. #include "process.h"
  9.  
  10.  
  11. class pmMsgThreadTree;
  12.  
  13.  
  14. #define idForeachWindowTreeDestroyChilds (idForeachTreeLast + 1)
  15. #define idForeachWindowTreeLast (idForeachTreeLast + 1)
  16.  
  17.  
  18. class windowTree:public tree, virtual public construct
  19. {       public:
  20.         pmMsgThreadTree *pMsgThread;         // Backpointer
  21.         HWND hwndFrame;
  22.         HWND hwndClient;
  23.         ULONG classStyle;
  24.         ULONG windowStyle;
  25.         char *pTitelBarText;
  26.         ULONG frameFlags;
  27.         ULONG resourceId;
  28.         char *pWindowClassName;
  29.         /*windowProperties *pWindowProperties;*/
  30.         windowTree(pmMsgThreadTree *pMsgThreadNew, int idResource, char *pTitle);
  31.         windowTree(windowTree *pParent, int idResource, char *pTitle);
  32.         virtual MRESULT windowProc(ULONG msg, MPARAM mp1, MPARAM mp2);
  33.         virtual MRESULT WMPaint(MPARAM mp1, MPARAM mp2);
  34.         virtual void doPaint(HPS hps, RECTL *pStructRectl);
  35.         virtual ~windowTree(void);
  36.         //void runWindow(void);
  37.         virtual Boolean create(void);
  38.         virtual MRESULT WMClose(MPARAM mp1, MPARAM mp2);
  39.        virtual MRESULT WMDestroy(MPARAM mp1, MPARAM mp2);
  40.        virtual Boolean canClose(void);
  41.        virtual int toBeCalledForeachElement(unsigned int iMsg, void *pDummy);
  42.         virtual Boolean initPre(void)
  43.         {       return construct::initPre();
  44.         }
  45. };
  46.  
  47.  
  48. class processWindow:public windowTree
  49. {       public:
  50.         processWindow(pmMsgThreadTree *pMsgThreadNew, int idResource, char *pTitle)
  51.             :windowTree(pMsgThreadNew, idResource, pTitle)
  52.         {}
  53.         processWindow(windowTree *pParent, int idResource, char *pTitle)
  54.             :windowTree(pParent, idResource, pTitle)
  55.         {}
  56.         virtual MRESULT WMClose(MPARAM mp1, MPARAM mp2);
  57.         virtual Boolean initPre(void)
  58.         {       return windowTree::initPre();
  59.         }
  60. };
  61.  
  62.  
  63. class pmProcess;
  64.  
  65.  
  66. class pmThreadTree: public threadTree
  67. {       public:
  68.         HAB hab;
  69.         pmThreadTree(pmProcess *pProcess);
  70.         pmThreadTree(threadTree *pParentNew);
  71.         virtual ~pmThreadTree(void);
  72. };
  73.  
  74.  
  75. class pmMsgThreadTree: public pmThreadTree
  76. {       public:
  77.         HMQ hmq;
  78.         windowTree *pWindowTree;
  79.         pmMsgThreadTree(pmProcess *pProcess);
  80.         //      pmMsgThreadTree(threadTree *pParentNew);
  81.         virtual ~pmMsgThreadTree(void);        
  82.         virtual Boolean create(void);
  83.         virtual Boolean initPost(void);
  84.        virtual void destruct(void);
  85.        virtual void destructPre(void);
  86.        virtual void doSomething(void);
  87. };
  88.  
  89.  
  90.  
  91. class pmProcess: public process
  92. {       public:
  93.         //      virtual void runProcess(void);
  94.         virtual Boolean create(void);
  95. };
  96.  
  97.  
  98. #endif PMPROCESS_H
  99.