home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1998 / MacHack 1998.toast / The Hacks! / COSEmulator / COSEmulator- SRC / headers / MenuItemWindow.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-06-21  |  1.3 KB  |  60 lines  |  [TEXT/CWIE]

  1. #ifndef _MenuItemWindow_h_
  2. #define _MenuItemWindow_h_
  3.  
  4. #include "Window.h"
  5.  
  6. #define    kMenuItemHeight        20
  7.  
  8. #define    kMaxMenuItems        30
  9. #define    kMaxMenuItemName    32
  10.  
  11. class    MenuItemWindow : public Window
  12. {
  13. public:
  14.     MenuItemWindow( void );
  15.     
  16.     void    SetMaxItems( uchar num );                // user should set
  17.     void    AddItem( uchar num , char *name , Boolean active );    // user should set
  18.     void    RemoveItem( uchar num );
  19.     
  20.     void    MenuItemRect( const rect *menuItem );    // use should NOT set
  21.     
  22.     void    SetType( uchar t );                    // user should NOT set
  23.     
  24.     void    SetActive( Boolean    a );
  25.     
  26.     uchar    GetNumItems( void );
  27.     
  28. // generic stuff
  29.     virtual    Boolean    Init( void );
  30.     
  31.     virtual    void    HandleMouseClick( Boolean down , point where );
  32.     virtual    void    HandleMouseMove( point where );
  33.     virtual    Boolean    PointInWindow( point where );
  34.  
  35.     virtual    Boolean    Front( void );    
  36.     virtual    void    SetFront( Boolean f );
  37.     
  38.     virtual    void    DrawToScreen( rect *where , Boolean backGround = false );
  39.     
  40. private:
  41.  
  42.     void            CalcWindowSize( void );
  43.     void            FirstDraw( void );
  44.     void            WriteName( uchar which , Boolean highlighted );
  45.     void            SendSelectEvent( uchar num );
  46.     
  47.     void            AddItemToUpdate( uchar which );
  48.     
  49.     uchar            selectedItem;
  50.     
  51.     uchar            type;        
  52.     uchar            numItems;
  53.     char            items[ kMaxMenuItems ][ kMaxMenuItemName ];
  54.     Boolean            itemActive[ kMaxMenuItems ];
  55.     
  56. };
  57.  
  58. void    InitMenuItemWindow( void );
  59.  
  60. #endif