home *** CD-ROM | disk | FTP | other *** search
/ Acorn User 2 / AUCD2.iso / program / vista.arc / !Vista / h / tools < prev    next >
Text File  |  1996-01-25  |  3KB  |  120 lines

  1. // **************************************************************************
  2. //                     Copyright 1996 David Allison
  3. //
  4. //             VV    VV    IIIIII     SSSSS     TTTTTT       AA
  5. //             VV    VV      II      SS           TT       AA  AA
  6. //             VV    VV      II        SSSS       TT      AA    AA
  7. //              VV  VV       II           SS      TT      AAAAAAAA
  8. //                VV       IIIIII     SSSS        TT      AA    AA
  9. //
  10. //                    MULTI-THREADED C++ WIMP CLASS LIBRARY
  11. //                                for RISC OS
  12. // **************************************************************************
  13. //
  14. //             P U B L I C    D O M A I N    L I C E N C E
  15. //             -------------------------------------------
  16. //
  17. //     This library is copyright. You may not sell the library for
  18. //     profit, but you may sell products which use it providing
  19. //     those products are presented as executable code and are not
  20. //     libraries themselves.  The library is supplied without any
  21. //     warranty and the copyright owner cannot be held responsible for
  22. //     damage resulting from failure of any part of this library.
  23. //
  24. //          See the User Manual for details of the licence.
  25. //
  26. // *************************************************************************
  27.  
  28. //
  29. // h.tools
  30. //
  31.  
  32. //
  33. // these class are the various types of tools you see in a window
  34. //
  35.  
  36. #ifndef __tools_h
  37. #include "Vista:icon.h"
  38. #endif
  39.  
  40. //
  41. // adjuster arrows
  42. //
  43.  
  44. //
  45. // an adjuster has:
  46. //
  47. // 1. an up arrow to adjust upwards
  48. // 2. a down arrow
  49. // 3. a value
  50.  
  51. class Adjuster : virtual public Icon, public IconSet
  52.    {
  53.    public:
  54.       enum buttons {UP, DOWN} ;
  55.    public:
  56.       Adjuster (Window *w, int upicon, int downicon, int valueicon,
  57.                   int write_init = 1 , int defvalue = 0) ;
  58.       virtual ~Adjuster() ;
  59.       int compare (int icon) ;
  60.       void write (int value) ;
  61.    protected:
  62.       int value ;
  63.       void click (int mx, int my, int button, int icon) ;
  64.    } ;
  65.  
  66. //
  67. // a meter.
  68. //
  69. // This is a display only tool which takes a percentage to display
  70. //
  71.  
  72. class Meter : virtual public Icon
  73.    {
  74.    public:
  75.       Meter (Window *w, int backgroundicon, int valueicon, int maxvalue) ;
  76.       virtual ~Meter() ;
  77.       void write (int value) ;
  78.       void reset() ;                               // reset meter
  79.    protected:
  80.       int percent ;                                // current percentage
  81.       int range ;                                  // range of meter
  82.       int background_icon ;
  83.       int max_value ;
  84.       int xsize ;
  85.    } ;
  86.  
  87.  
  88. //
  89. // slider icon
  90. //
  91.  
  92. class Slider : public Adjuster , public Meter
  93.    {
  94.    public:
  95.       Slider (Window *w, int upicon, int downicon, int valueicon,
  96.                 int backgroundicon, int maxvalue, int defvalue = 0) ;
  97.       ~Slider() ;
  98.    protected:
  99.       void write (int value) ;
  100.       void click(int mx, int my, int button, int icon) ;   // icon has been clicked
  101.       void read (int &) ;
  102.    } ;
  103.  
  104.  
  105.  
  106.  
  107. //
  108. // a pop-up menu
  109. //
  110.  
  111. class Popup : virtual public Icon, public IconSet
  112.    {
  113.    public:
  114.       Popup(Window *w, int displayicon, int menuicon, char *menu = 0) ;
  115.       ~Popup() ;
  116.       int compare (int handle) ;                  // compare an icon number
  117.       void menu (MenuItem item[]) ;               // menu click
  118.       void click (int mx, int my, int button, int icon) ;
  119.    } ;
  120.