home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / library / dos / tvision / listbox / demondx.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1992-02-11  |  1.8 KB  |  81 lines

  1. // demondx.cpp          DATABASE INDEX SELECTOR DIALOG BOX
  2. //    written by Gregory K. Miskin
  3. //    COPYRIGHT (C) 1992.  All Rights Reserved.
  4. //    Gregory K. Miskin, Orem, Utah  USA
  5.  
  6. #define Uses_TButton
  7. #define Uses_TEvent
  8. #define Uses_TDialog
  9. #define Uses_TRect
  10. #define Uses_TObject
  11. #define Uses_TLabel
  12. #define Uses_TSItem
  13. #define Uses_TCommandSet
  14. #define Uses_TRadioButtons
  15.  
  16. #include <tv.h>
  17. #include <stdlib.h>
  18. #include <string.h>
  19. #include "commands.hpp"
  20. #include "demondx.hpp"
  21.  
  22. typedef struct
  23. {
  24.     ushort select;
  25. } swIndex;
  26.  
  27. swIndex indexS;
  28.  
  29. /*------------------------------------------------------------------------*/
  30. TSelectIndex::TSelectIndex() :
  31.         TDialog(TRect(0, 0, 32, 8), "Select Index"),
  32.         TWindowInit(&TSelectIndex::initFrame)
  33. {
  34.     TView *ToName    = new TRadioButtons(TRect(12,2,30,4),
  35.                           new TSItem("No index",
  36.                           new TSItem("Alphabetical",0)));
  37.     okbutton = new TButton(TRect(9, 5, 21, 7), "~O~K", cmSave, bfNormal);
  38.  
  39.     insert(ToName);
  40.     insert(new TLabel(TRect(1,2,11,3),  "Use Index:", ToName));
  41.     insert(okbutton);
  42.  
  43.     options |= ofCentered;
  44.     selectNext(FALSE);
  45.     memset(&indexS, 0, sizeof(indexS));
  46.     setData(&indexS);
  47. }
  48.  
  49. /*------------------------------------------------------------------------*/
  50. void TSelectIndex::handleEvent(TEvent &event)
  51. {
  52.      TDialog::handleEvent(event);
  53.  
  54.      switch(event.what)
  55.      {
  56.         case evCommand:
  57.             switch(event.message.command)
  58.             {
  59.                 case cmSave:
  60.                     getData(&indexS);
  61.                     GeneralFlag = indexS.select;
  62.                     event.what = evCommand;
  63.                     event.message.command = cmOK;
  64.                     event.message.infoWord = 0;
  65.                     putEvent(event);
  66.                 break;
  67.  
  68.                 default:
  69.                     break;
  70.             }
  71.             break;
  72.  
  73.         case evBroadcast:
  74.             if(event.message.command == cmDefault)
  75.                 selectNext(FALSE);
  76.             break;
  77.         default:
  78.             return;
  79.     }
  80. }
  81.