home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d6xx / d658 / view.lha / View / Source / FileRequest.c < prev    next >
C/C++ Source or Header  |  1992-05-15  |  2KB  |  68 lines

  1. /*-- AutoRev header do NOT edit!
  2. *
  3. *   Program         :   FileRequest.c
  4. *   Copyright       :   Copyright © 1991-92 Jaba Development
  5. *   Author          :   Jan van den Baard
  6. *   Creation Date   :   04-Apr-92
  7. *   Current version :   2.0
  8. *   Translator      :   Dice v2.06.20
  9. *
  10. *   REVISION HISTORY
  11. *
  12. *   Date          Version         Comment
  13. *   ---------     -------         ------------------------------------------
  14. *   04-Apr-92     2.0             ReqTools FileRequester interface.
  15. *
  16. *-- REV_END --*/
  17.  
  18. #include "View.h"
  19.  
  20. Prototype   long FileRequest( struct Window *, UBYTE *, UBYTE *, UBYTE *, UBYTE *, UBYTE );
  21.  
  22. static struct TagItem       frTags[] = {
  23.     RT_ReqPos,              REQPOS_CENTERSCR,
  24.     RT_WaitPointer,         TRUE,
  25.     RTFI_Flags,             NULL,
  26.     RTFI_OkText,            NULL,
  27.     TAG_DONE
  28. };
  29.  
  30. extern UBYTE                vwName[ 512 ];
  31.  
  32. long FileRequest( window, hail, fbuf, dbuf, pbuf, type )
  33.     struct Window   *window;
  34.     UBYTE           *hail, *fbuf, *dbuf, *pbuf, type;
  35. {
  36.     struct rtFileRequester      *freq = 0l;
  37.     long                         ret =  NULL;
  38.  
  39.     if ( freq = rtAllocRequestA( RT_FILEREQ, TAG_DONE )) {
  40.  
  41.         rtChangeReqAttr( freq, RTFI_Dir,      dbuf,
  42.                                RTFI_MatchPat, pbuf,
  43.                                TAG_DONE );
  44.  
  45.         switch( type ) {
  46.             case    FR_SAVE:
  47.                 frTags[3].ti_Data = (ULONG)"Save";
  48.                 frTags[2].ti_Data = FREQF_SAVE | FREQF_PATGAD | FREQF_NOBUFFER;
  49.                 break;
  50.             case    FR_LOAD:
  51.                 frTags[3].ti_Data = (ULONG)"Load";
  52.                 frTags[2].ti_Data = FREQF_PATGAD | FREQF_NOBUFFER;
  53.                 break;
  54.         }
  55.  
  56.         if ( ret = rtFileRequestA( freq, fbuf, hail, frTags )) {
  57.             strcpy( dbuf, freq->Dir );
  58.             strcpy( pbuf, freq->MatchPat );
  59.             strcpy( vwName, dbuf );
  60.             CheckDirExtension( vwName );
  61.             strcat( vwName, fbuf );
  62.         }
  63.         rtFreeRequest( freq );
  64.     }
  65.  
  66.     return( ret );
  67. }
  68.