home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / opmsam.zip / FORMDEMO.HPP < prev    next >
C/C++ Source or Header  |  1993-06-12  |  4KB  |  233 lines

  1. /*  VCS_ID
  2.  *  $Filename:   formdemo.hpp
  3.  *  $Author  :   John Pompeii
  4.  *  $Revision:   1.1  $
  5.  *  $Date:   28 Dec 1991 14:20:34  $
  6.  */
  7.  
  8. // Hello application class definitions....
  9.  
  10. #include "formdemo.h"
  11.  
  12. // window & page id's
  13.  
  14. #define IdNotebook        101
  15. #define IdStringPage      0
  16. #define IdCharPage        1
  17. #define IdMLEStringPage    2
  18. #define IdDatePage        3
  19. #define IdTimePage        4
  20. #define IdShortPage        5
  21. #define IdLongPage        6
  22. #define IdFloatPage        7
  23. #define IdMoneyPage        8
  24. #define IdButtonPage    9
  25. #define IdListPage        10
  26. #define IdCntrPage        11
  27.  
  28. #define FORM_WINDOWS 12
  29.  
  30. #define IdMajorSections 30
  31. #define IdCharTypes        IdMajorSections + 0
  32. #define IdIntegers      IdMajorSections + 1
  33.  
  34.  
  35. class FormData
  36. {
  37.     public:
  38.         FormData();
  39.  
  40.         bString string;
  41.         bString numString;
  42.         bString letString;
  43.         bString mleString;
  44.         char     uprString[33];
  45.         char     lwrString[33];
  46.         bDate    longDate;
  47.         bDate    shortDate;
  48.         bDate    nlsDate;
  49.         bDate    stringDate;
  50.         bTime    f24Time;
  51.         bTime    f12Time;
  52.         bTime    nlsTime;
  53.         bTimeStamp timestamp;
  54.         ushort  shortUInt;
  55.         ushort  commaUInt;
  56.         ushort  zpadUInt;
  57.         ushort  blankUInt;
  58.         short   signedInt;
  59.         short   ssignedInt;
  60.         ushort  base36UInt;
  61.         ushort  octalUInt;
  62.         ushort  binaryUInt;
  63.         ushort  hexUInt;
  64.         ulong   ULong;
  65.         ulong   commaULong;
  66.         ulong   zpadULong;
  67.         ulong   blankULong;
  68.         long       signedLong;
  69.         long       ssignedLong;
  70.         ulong      base36ULong;
  71.         ulong      octalULong;
  72.         ulong      binaryULong;
  73.         ulong      hexULong;
  74.         double  dbl;
  75.         double  fixedPrec;
  76.         double     sdbl;
  77.         double  commaDbl;
  78.         double  expNot;
  79.         bMoney  amt;
  80.         bMoney    indMoney;
  81.         bMoney  showMoney;
  82.         bMoney  commaMoney;
  83.         bMoney    parenMoney;
  84.         char    c;
  85.         char    n;
  86.         char    u;
  87.         char    yn;
  88.         char    tf;
  89.         short   radBtn;
  90.         short    foundChk;
  91.         short    graphChk;
  92.         short    ksinkChk;
  93. };
  94.  
  95. class FormNoteBook : public wNoteBook
  96. {
  97.     public:
  98.         FormNoteBook(wWindow *parent, ushort id, wPointl p, wDimension d, ulong style)
  99.                     : wNoteBook(parent, id, p, d, style)    {}
  100.  
  101.         void PageSelected(wNBPageMsg m);
  102. };
  103.  
  104. class StringForm : public wFormWindow
  105. {
  106.     public:
  107.         StringForm(wNoteBookPageList *pg, FormData *);
  108. };
  109.  
  110. class CharForm : public wFormWindow
  111. {
  112.     public:
  113.         CharForm(wNoteBookPageList *pg, FormData *);
  114. };
  115.  
  116. class MLEStringForm : public wFormWindow
  117. {
  118.     public:
  119.         MLEStringForm(wNoteBookPageList *pg, FormData *);
  120. };
  121.  
  122. class DateForm : public wFormWindow
  123. {
  124.     public:
  125.         DateForm(wNoteBookPageList *pg, FormData *);
  126. };
  127.  
  128. class TimeForm : public wFormWindow
  129. {
  130.     public:
  131.         TimeForm(wNoteBookPageList *pg, FormData *);
  132. };
  133.  
  134. class ShortForm : public wFormWindow
  135. {
  136.     public:
  137.         ShortForm(wNoteBookPageList *pg, FormData *);
  138. };
  139.  
  140. class LongForm : public wFormWindow
  141. {
  142.     public:
  143.         LongForm(wNoteBookPageList *pg, FormData *);
  144. };
  145.  
  146. class FloatForm : public wFormWindow
  147. {
  148.     public:
  149.         FloatForm(wNoteBookPageList *pg, FormData *);
  150. };
  151.  
  152. class MoneyForm : public wFormWindow
  153. {
  154.     public:
  155.         MoneyForm(wNoteBookPageList *pg, FormData *);
  156.         short Init();
  157. };
  158.  
  159. class MoreForm;
  160. class UserInfo
  161. {
  162.     private:
  163.         friend class MoreForm;
  164.         bString name, company, phone;
  165.  
  166.     public:
  167.         UserInfo()        {}
  168.         UserInfo(char *n, char *c, char *p) : name(n), company(c), phone(p) {}
  169.  
  170.         // ...
  171. };
  172.  
  173. class ListForm : public wFormWindow
  174. {
  175.     private:
  176.         ulong partno;
  177.         bString desc;
  178.         bMoney amt, total;
  179.  
  180.     public:
  181.         ListForm(wNoteBookPageList *pg, FormData *);
  182.         short ProcItem(wListRegion *regp, char *itemtext, char **prevdata, short cmd);
  183.         short Init();
  184. };
  185.  
  186. class MoreForm : public wFormWindow
  187. {
  188.     private:
  189.         UserInfo* ip;
  190.  
  191.     public:
  192.         MoreForm(UserInfo *);
  193.         short Init();
  194. };
  195.  
  196.  
  197. class ButtonForm : public wFormWindow
  198. {
  199.     private:
  200.         UserInfo info;
  201.  
  202.     public:
  203.         ButtonForm(wNoteBookPageList *pg, FormData *);
  204.  
  205.         short ProcUndo(short);
  206.         short DoMore(short);
  207. };
  208.  
  209.  
  210. class AppWindow : public wFrameWindow
  211. {
  212.     private:
  213.         wMenu *menubar;
  214.         wIcon *icon;
  215.         FormNoteBook *np;
  216.         wFormWindow *forms[FORM_WINDOWS];
  217.         FormData *data;
  218.         wHelpManager *help;
  219.  
  220.     public:
  221.         AppWindow();
  222.         ~AppWindow();
  223.  
  224.         long Close(wMessage);
  225.         void Paint();
  226.         long MenuCommand(wCommandMsg);
  227.         wFormWindow **GetDataForms()    { return forms; }
  228. };
  229.  
  230.  
  231.  
  232.  
  233.