home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / BK-SC1_4.DMS / in.adf / MUIClass.Lha / Include / Classes / TWiMUI / Cycle.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-06-16  |  1.9 KB  |  89 lines

  1. //
  2. //  $VER: Cycle.h       1.0 (16 Jun 1996)
  3. //
  4. //    c 1996 Thomas Wilhelmi
  5. //
  6. //
  7. // Address : Taunusstrasse 14
  8. //           61138 Niederdorfelden
  9. //           Germany
  10. //
  11. //  E-Mail : willi@twi.rhein-main.de
  12. //
  13. //   Phone : +49 (0)6101 531060
  14. //   Fax   : +49 (0)6101 531061
  15. //
  16. //
  17. //  $HISTORY:
  18. //
  19. //  16 Jun 1996 :   1.0 : first public Release
  20. //
  21.  
  22.  
  23. #ifndef CPP_TWIMUI_CYCLE_H
  24. #define CPP_TWIMUI_CYCLE_H
  25.  
  26. #ifndef CPP_TWIMUI_LABEL_H
  27. #include <classes/twimui/label.h>
  28. #endif
  29.  
  30. #ifndef CPP_TWIMUI_GROUP_H
  31. #include <classes/twimui/group.h>
  32. #endif
  33.  
  34. class MUICycle : public MUIGroup
  35.     {
  36.     public:
  37.         MUICycle(const struct TagItem *t)
  38.             :   MUIGroup(MUIC_Cycle)
  39.             {
  40.             init(t);
  41.             };
  42.         MUICycle(const Tag, ...);
  43.         MUICycle(const STRPTR *entries)
  44.             :   MUIGroup(MUIC_Cycle)
  45.             {
  46.             init(MUIA_Cycle_Entries, entries,
  47.                 TAG_DONE);
  48.             };
  49.         MUICycle(const STRPTR *entries, const UBYTE cc)
  50.             :   MUIGroup(MUIC_Cycle)
  51.             {
  52.             init(MUIA_Cycle_Entries, entries,
  53.                 MUIA_ControlChar, cc,
  54.                 TAG_DONE);
  55.             };
  56.         MUICycle() : MUIGroup(MUIC_Cycle) { };
  57.         MUICycle(MUICycle &p) : MUIGroup(p) { };
  58.         virtual ~MUICycle();
  59.         MUICycle &operator= (MUICycle &);
  60.         void Active(const LONG p) { set(MUIA_Cycle_Active,(ULONG)p); };
  61.         void ActiveNext() { set(MUIA_Cycle_Active,MUIV_Cycle_Active_Next); };
  62.         void ActivePrev() { set(MUIA_Cycle_Active,MUIV_Cycle_Active_Prev); };
  63.         LONG Active() const { return((LONG)get(MUIA_Cycle_Active,0L)); };
  64.     };
  65.  
  66. class MUILabCycle
  67.     :   public MUILabelHelp,
  68.         public MUICycle
  69.     {
  70.     private:
  71.         MUIKeyLabel2 MUILab;
  72.     public:
  73.         MUILabCycle(const STRPTR lab, const STRPTR *entries)
  74.             :   MUILabelHelp(lab),
  75.                 MUICycle(entries,MUILabelHelp::gCC()),
  76.                 MUILab(MUILabelHelp::gLab(),MUILabelHelp::gCC())
  77.             { };
  78.         MUILabCycle(MUILabCycle &p)
  79.             :   MUILabelHelp(p),
  80.                 MUICycle(p),
  81.                 MUILab(p.MUILab)
  82.             { };
  83.         virtual ~MUILabCycle();
  84.         MUILabCycle &operator= (MUILabCycle &);
  85.         Object *label() { return(MUILab); };
  86.     };
  87.  
  88. #endif
  89.