home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 2 / ctrom_ii_b.zip / ctrom_ii_b / PROGRAM / C / OMEGA2 / OMIO.HPP < prev    next >
C/C++ Source or Header  |  1992-04-25  |  4KB  |  145 lines

  1. //
  2. // *************************************************************************
  3. // *                                                                       *
  4. // *    OMEGA C++ Windowing Class Library                                  *
  5. // *    =================================                                  *
  6. // *                                                                       *
  7. // *    Copyright 1991,92 Tom Clancy                                       *
  8. // *    Submitted to the public domain, April 1992                         *
  9. // *                                                                       *
  10. // *************************************************************************
  11. // *                                                                       *
  12. // *    IO Screep Prompt Class Object                                      *
  13. // *                                                                       *
  14. // *************************************************************************
  15. //
  16.  
  17. #ifndef _OMIO
  18. #define _OMIO
  19. #endif
  20.  
  21. #ifndef _OMWINDOW
  22. #include "omwin.hpp"
  23. #endif
  24.  
  25. #include <string.h>
  26.  
  27. class oIO : virtual public oWindow {
  28.  
  29.   int  Done;
  30.   int  Cursor;
  31.   int  InsertMode;
  32.   int  Pointer;
  33.   int  Fstartx;
  34.  
  35.   char IOFillchar;
  36.  
  37.   int  UpperMode;
  38.   int  Accepted;
  39.   int  Canescape;
  40.   int  Current;
  41.   int  Donekey;
  42.   int  MessX,MessY;
  43.   int  Nf;
  44.   int  Pfg, Pbk, Ffg, Fbk;
  45.   int  Cfg, Cbk;
  46.   int  Mfg, Mbk;
  47.  
  48.   struct field {
  49.     char *message;
  50.     char *prompt;
  51.     char *info;
  52.     int x;
  53.     int y;
  54.     int len;
  55.     int Ffg,Fbk;
  56.     int next, prev;
  57.   };
  58.  
  59.   struct field  *Field[255];
  60.  
  61.  
  62. public:
  63.  
  64.   oIO();
  65.  ~oIO();
  66.  
  67.   void setIO(int pfg, int pbk, int ffg, int fbk, int cfg, int cbk,
  68.          int mfg, int mbk, int messx, int messy);
  69.  
  70.   void addfield(int x, int y, int len, int nextf, int prevf, char *p, char *m);
  71.  
  72.  
  73.   // Generic string functions (move to omstring if created)
  74.  
  75.   int  insertstr(char *s, char c, int pos);
  76.   int  overtpstr(char *s, char c, int pos);
  77.   int  deletestr(char *s, int pos);
  78.  
  79.   // IO functions
  80.  
  81.   void setPfg(int fg)        {Pfg=fg;}   // Prompt fore and background
  82.   void setPbk(int bk)        {Pbk=bk;}
  83.   void setFfg(int fg)        {Field[Current]->Ffg=fg;}   // Field '' '' '' ''
  84.   void setFbk(int bk)        {Field[Current]->Fbk=bk;}
  85.   void setfillchar(char c)   {IOFillchar=c;}
  86.   void setdone(int d)        {Done=d;}
  87.   void clearfield(int f);
  88.   void clearallfields();
  89.   void showfield(int f);
  90.   void setuppermode(int m)   {UpperMode=m;}
  91.  
  92.   void goendstr();
  93.   void gohomestr();
  94.  
  95.  
  96.   int  getPfg(void)       {return Pfg;}   // Prompt fore and background
  97.   int  getPbk(void)       {return Pbk;}
  98.   int  getFfg(void)       {return Ffg;}   // Field '' '' '' ''
  99.   int  getFbk(void)       {return Fbk;}
  100.   int  getcurrent()       {return Current;}
  101.   void iosetcurrent(int c){Current=c;}
  102.   int  getMfg()           {return Mfg;}
  103.   int  getMbk()           {return Mbk;}
  104.   int  getx(int f)        {return Field[f]->x;}
  105.   int  gety(int f)        {return Field[f]->y;}
  106.   int  getmessy()         {return MessY;}
  107.   int  getmessx()         {return MessX;}
  108.   int  getfieldlen(int f) {return Field[f]->len;}
  109.   int  getiolen(int f)    {return strlen(Field[f]->prompt)+Field[f]->len;}
  110.   int  withinIO();
  111.   int  isdone()           {return Done;}
  112.  
  113.  
  114.   char *getfield(int fn);
  115.   void setfield(char *s, int fn);
  116.   char *getmessage(int mn);
  117.   void display_field(int fn);
  118.   int  withinfield(int fn);
  119.   int  whichfield();
  120.   void display_form();
  121.   void assigndonekey(int k) {Donekey=k;}
  122.   void releasecurrent();
  123.   void markcurrent();
  124.   void gonextfield();
  125.   void goprevfield();
  126.   void setescape(int yn)   {Canescape=yn;}
  127.  
  128.   void  initfieldinfo();
  129.  
  130.   int  numfields()  {return Nf;}
  131.   int  isformdone() {return Done;}
  132.   int  isaccepted() {return Accepted;}
  133.  
  134.   virtual void display_message();
  135.   virtual void clear_message();
  136.   void display_info();
  137.   int  handle_mouse_event();
  138.   int  handle_key_event();
  139.  
  140.   void goIO();
  141.  
  142. };
  143.  
  144.  
  145.