home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 2 / ctrom_ii_b.zip / ctrom_ii_b / PROGRAM / C / OMEGA2 / OMMENU.HPP < prev    next >
C/C++ Source or Header  |  1992-04-25  |  2KB  |  78 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. // *    Popup Menu Class Object                                            *
  13. // *                                                                       *
  14. // *************************************************************************
  15. //
  16.  
  17. #ifndef _OMMENU
  18. #define _OMMENU
  19. #endif
  20.  
  21. #ifndef _OMWINDOW
  22. #include "omwin.hpp"
  23. #endif
  24.  
  25.  
  26.  
  27. class oMenu : public oWindow {
  28.  
  29.   char *picks[50];
  30.   char hotlist[50];
  31.   int  Current;
  32.   int  Picked;
  33.   int  Numops;
  34.   int  Nfg, Hfg, Hbk, Pfg;
  35.   int  Hid;
  36.   int  Gap,Topgap;
  37.   int  mWid;
  38.  
  39.   int  largestpick();
  40.   void highlight(int i);
  41.   void unhighlight(int i);
  42.   void makeline(int i);
  43.   void writeoption(int i, int fg, int bk);
  44.   void addtohotlist(int i);
  45.   int  seperator(int i);
  46.  
  47. public:
  48.   oMenu();
  49.  ~oMenu();
  50.  
  51.  
  52.   void setmenu(int x, int y, int fg, int bk, int nfg, int hfg, int hbk,
  53.            int pfg, int style);
  54.  
  55.  
  56.   void addoption(char *s);
  57.   void snaptocenter();
  58.   void openmenu();
  59.   void closemenu();
  60.  
  61.   void setgap(int g)   {Gap=g;}
  62.   void settbgap(int g) {Topgap=g;}
  63.   int  getpick()       {return Picked;}
  64.  
  65.   int  withinbounds(int x, int y);
  66.   int  withinbounds(int c, int x, int y);
  67.  
  68.   void display_info();
  69.  
  70.   int  handle_mouse_event();
  71.   int  handle_key_event();
  72.  
  73.   void run();
  74.   int  gomenu();
  75.  
  76. };
  77.  
  78.