home *** CD-ROM | disk | FTP | other *** search
/ NeXT Education Software Sampler 1992 Fall / NeXT Education Software Sampler 1992 Fall.iso / Programming / Classes / 2.0_nxyPalette1.2 / nxyTestApp / Controller.m < prev    next >
Encoding:
Text File  |  1992-05-26  |  1.1 KB  |  47 lines

  1. /* Generated by Interface Builder */
  2.  
  3. #import "Controller.h"
  4. #import "NXYView.h"
  5. #import<appkit/OpenPanel.h>
  6. #import <appkit/Panel.h>
  7. #import <streams/streams.h>
  8. #include <strings.h>
  9.  
  10. @implementation Controller
  11.  
  12. -nxyView:sender provideDataStream:(NXStream **)stream
  13. {
  14. NXStream *dataStream;
  15. char const    *fileTypes[2] = {0,0};    // this type is all ASCII files (?)
  16.     char    fname[1024];
  17.     FILE   *inputDATA;
  18.     id openPanel = [OpenPanel new];
  19.     
  20.       if ([openPanel runModalForTypes:fileTypes])  {
  21.       strncpy(fname, [openPanel filename], 1024);
  22.      if((      inputDATA = fopen(fname, "r")) == NULL) {
  23.     NXRunAlertPanel("Open","Cannot open %s","OK",NULL,NULL,fname);
  24.     return self;
  25.     }
  26.     }
  27.     else
  28.         return self;
  29.  
  30.   
  31.  if ((dataStream = NXMapFile(fname, NX_READWRITE)) == NULL)  {
  32.     NXRunAlertPanel("Open", "Cannot open %s", "OK", NULL, NULL, fname);
  33.     return self;
  34.   }
  35.  
  36. // Flush just to be safe, but there is probably not needed
  37.     NXFlush(dataStream);
  38.     fclose(inputDATA);
  39.  
  40.     *stream = dataStream;  // Could be more direct with some modification
  41.      
  42.  
  43.     return self;
  44. }
  45.  
  46. @end
  47.