home *** CD-ROM | disk | FTP | other *** search
/ POINT Software Programming / PPROG1.ISO / c / fli106c / winopt.cpp < prev    next >
C/C++ Source or Header  |  1992-03-11  |  2KB  |  82 lines

  1. //
  2. // The Fusion Library Interface for DOS
  3. // Version 1.06c
  4. // Copyright (C) 1990, 1991, 1992
  5. // Software Dimensions
  6. //
  7. // MenuControl --> MenuItems --> FusionWindow
  8. //
  9.  
  10. #include "fliwin.h"
  11.  
  12. #ifdef __BCPLUSPLUS__
  13. #pragma hdrstop
  14. #endif
  15.  
  16. #include <alloc.h>
  17. #include <string.h>
  18.  
  19. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  20. //
  21. // BlankLine()
  22. //
  23. // Defines a blank line on a pulldown menu
  24. //
  25. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  26.  
  27. void MenuManager::BlankLine()
  28. {
  29.   Option(0,0,0);
  30. }
  31.  
  32. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  33. //
  34. // Option()
  35. //
  36. // Defines a new option on a pulldown menu
  37. //
  38. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  39.  
  40. void MenuItems::_Option(char *Option,char *Help,int FusionEvent,
  41.   char *HotKey,int Key)
  42. {
  43.   static int Available=1;
  44.  
  45.   MenuItems::Option=
  46.     (_Options*)realloc(MenuItems::Option,(++NumberOfOptions)*sizeof(_Options));
  47.  
  48.   _Options &Item=*(MenuItems::Option+NumberOfOptions-1);
  49.  
  50.   if (HotKey)
  51.     HotKeys++;
  52.  
  53.   Height++;
  54.  
  55.   Item.Option=Option;
  56.   Item.Help=Help;
  57.   Item.HotKeyOption=HotKey;
  58.   Item.HotKey=Key;
  59.   Item.QuickKey=0;
  60.   Item.Event=FusionEvent;
  61.   Item.Available=&Available;
  62.   Item.SubMenu=0;
  63.   Item.Checked=0;
  64.   Item.SelectCount=0;
  65.   Item.Selectable=0;
  66.   Item.Selectables=0;
  67.   Item.WidestSelectable=0;
  68. }
  69.  
  70. void MenuManager::Option(char *Option,char *Help,int FusionEvent,
  71.   char *HotKey,int Key)
  72. {
  73.   if (!NumberOfMenus)
  74.     return;
  75.  
  76.   if (!CurrentLevel)
  77.     Menus[NumberOfMenus-1]->_Option(Option,Help,FusionEvent,HotKey,Key);
  78.   else
  79.     SubMenuTrack[CurrentLevel-1]->_Option(Option,Help,FusionEvent,HotKey,Key);
  80. }
  81.  
  82.