home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / Libraries / DCLAP 6d / dclap6d / DClap / DMenu.h < prev    next >
Encoding:
Text File  |  1996-07-05  |  2.0 KB  |  91 lines  |  [TEXT/R*ch]

  1. // DMenu.h
  2. // d.g.gilbert
  3.  
  4. #ifndef _DMENU_
  5. #define _DMENU_
  6.  
  7. #include "Dvibrant.h"
  8. #include "DView.h"
  9.  
  10.  
  11. class DList;
  12. class DMenuChoiceGroup;
  13.  
  14. class DMenu : public DView
  15. {    
  16. public:
  17.     Nlm_MenU        fMenu;
  18.     DList        * fItemList;
  19.     DMenuChoiceGroup  * fFonts;
  20.     enum menuIDs { cFontGroup = 100 };
  21.     
  22.     DMenu(long id, Nlm_MenU itsMenu, DTaskMaster* itsSuperior);
  23.     virtual ~DMenu();
  24.  
  25.     virtual void  AddItem(long id, char* title, Boolean isCheckItem = false,
  26.                                             Boolean hasCmdKeys = false);
  27.     virtual void  AddSeparator(void);
  28.     virtual void  AddFonts(void);            
  29.     virtual char* GetFontChoice(char* namebuf = NULL, ulong bufsize = 256);
  30.     virtual    void  SetFontChoice(char* name);
  31.  
  32.     virtual char* GetItemTitle(short item, char* title = NULL, ulong maxsize = 256);
  33.         // note: "itemid" here is view ID for menuitem, not index into list of menu items
  34.     virtual void SetItemStatus(short itemid, Boolean status);
  35.     virtual Boolean GetItemStatus(short itemid);  
  36. };
  37.  
  38.  
  39. class DPulldownMenu : public DMenu
  40. {    
  41. public:
  42.     DPulldownMenu(long id, DTaskMaster* itsSuperior, Nlm_WindoW w, char* title);
  43. };
  44.  
  45. class DAppleMenu : public DMenu
  46. {    
  47. public:
  48.     enum aboutMenuIDs { kAboutMenu = 110, kAboutMenuItem };
  49.     DAppleMenu(DTaskMaster* itsSuperior, char* aboutName);
  50.     virtual Boolean    IsMyAction(DTaskMaster* theView); // override
  51. };
  52.  
  53. class DSubMenu : public DMenu
  54. {    
  55. public:
  56.     DSubMenu(long id, DMenu* supermenu, char* title);
  57. };
  58.  
  59. class DPopupMenu : public DMenu
  60. {    
  61. public:
  62.     Nlm_PopuP fPopup;
  63.     DPopupMenu(long id, Nlm_GrouP prnt, char* title);
  64.     virtual void AddFonts();
  65.     virtual void SetFontChoice(char* name);
  66.     virtual char* GetFontChoice(char* namebuf, ulong bufsize);
  67.     virtual void  AddItem(long id, char* title, Boolean isCheckItem = false,
  68.                                             Boolean hasCmdKeys = false);
  69. };
  70.  
  71.  
  72.  
  73. class DMenuChoiceGroup : public DView
  74. {    
  75. public:
  76.     DMenu* fSupermenu;
  77.     Nlm_ChoicE fChoice;
  78.     Nlm_IteM fLastItem;
  79.     DMenuChoiceGroup(long id, DMenu* supermenu);
  80.     DMenuChoiceGroup(long id, DMenu* supermenu, Nlm_ChoicE itsChoice);
  81.     virtual void AddItem(long id, char* title, Boolean hasCmdKeys = false);
  82. };
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90. #endif
  91.