home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Leser 15 / Amiga Plus Leser CD 15.iso / Tools / Development / CIT.v4 / Demo / GetFileTest.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2002-03-13  |  1.9 KB  |  98 lines

  1. #include <CITGroup.h>
  2. #include <CITButton.h>
  3. #include <CITGetFile.h>
  4.  
  5. #include <dos/dosasl.h>
  6. #include <stdlib.h>
  7.  
  8. CITApp Application;
  9.  
  10. CITWorkbench DemoScreen;
  11. CITWindow    DemoWindow;
  12. CITVGroup    winGroup;
  13. CITGetFile   fileReq;
  14. CITButton    quitButton;
  15.  
  16. ULONG filterFunc(struct FileRequest* fReq,struct AnchorPath* anch,ULONG myData);
  17. void  CloseEvent();
  18. void  FileReqEvent(ULONG ID);
  19. void  QuitEvent(ULONG ID);
  20.  
  21. int main(void)
  22. {
  23.   BOOL Error=FALSE;
  24.  
  25.   DemoScreen.InsObject(DemoWindow,Error);
  26.     DemoWindow.Position(WPOS_CENTERSCREEN);
  27.     DemoWindow.CloseGadget();
  28.     DemoWindow.DragBar();
  29.     DemoWindow.SizeGadget();
  30.     DemoWindow.DepthGadget();
  31.     DemoWindow.IconifyGadget();
  32.     DemoWindow.Activate();
  33.     DemoWindow.Caption("CITGetFile Test");
  34.     DemoWindow.CloseEventHandler(CloseEvent);
  35.     DemoWindow.InsObject(winGroup,Error);
  36.       winGroup.SpaceOuter();
  37.       winGroup.InsObject(fileReq,Error);
  38.         fileReq.LabelText("File:");
  39.         fileReq.TitleText("Select File..");
  40.         fileReq.FilterFunc(&filterFunc,0);;
  41.         fileReq.EventHandler(FileReqEvent);
  42.       winGroup.InsObject(quitButton,Error);
  43.         quitButton.Text("Quit");
  44.         quitButton.MaxHeight(30);
  45.         quitButton.EventHandler(QuitEvent);
  46.  
  47.   Application.InsObject(DemoScreen,Error);
  48.  
  49.   // Ok?
  50.   if( Error )
  51.     return 10;
  52.  
  53.   Application.Run();
  54.  
  55.   return 0;
  56. }
  57.  
  58. ULONG filterFunc(struct FileRequest* fReq,struct AnchorPath* anch,ULONG myData)
  59. {
  60.   if( *anch->ap_Info.fib_FileName == 'B' )
  61.     return 1;
  62.   else
  63.     return 0;
  64. }
  65.  
  66. void FileReqEvent(ULONG ID)
  67. {
  68.   fileReq.RequestFile();
  69. }
  70.  
  71. void QuitEvent(ULONG ID)
  72. {
  73.   Application.Stop();
  74. }
  75.  
  76.  
  77. int repeatCount = 0;
  78.  
  79. void CloseEvent()
  80. {
  81.   char* file;
  82.  
  83.   repeatCount++;
  84.  
  85.   switch( repeatCount )
  86.   {
  87.     case 1:
  88.       fileReq.File("alfa");
  89.       break;
  90.     case 2:
  91.       file = fileReq.File();
  92.       break;
  93.     default:
  94.       Application.Stop();
  95.     break;
  96.   }
  97. }
  98.