home *** CD-ROM | disk | FTP | other *** search
/ Big Green CD 8 / BGCD_8_Dev.iso / NEXTSTEP / Graphics / ToyViewer-2.6a / src / HelpPanelControl.m < prev    next >
Encoding:
Text File  |  1996-12-04  |  1.0 KB  |  58 lines

  1. /*
  2.  *    HelpPanelControl.m
  3.  *
  4.  *        by  Takeshi Ogihara (ogihara@seg.kobe-u.ac.jp)
  5.  */
  6.  
  7. #import "HelpPanelControl.h"
  8. #import "strfunc.h"
  9. #import <objc/NXBundle.h>
  10.  
  11. @implementation HelpPanelControl
  12.  
  13. static char *helpindex[] = {
  14.     "HelpAbst", "HelpDoc", "HelpInfo", "HelpCustom", "Copyright"
  15. };
  16.  
  17. - makeKeyAndOrderFront:sender
  18. {
  19.     if (helpPanel == nil) {
  20.         [NXApp loadNibSection:"HelpPanel.nib" owner:self];
  21.         curtag = -1;
  22.         [self readHelp: 0];
  23.     }
  24.     [helpPanel makeKeyAndOrderFront:sender];
  25.     return self;
  26. }
  27.  
  28. - selectHelp:sender
  29. {
  30.     int tag = [sender selectedTag];
  31.     if (tag != curtag)    
  32.         [self readHelp: tag];
  33.     return self;
  34. }
  35.  
  36. - readHelp: (int) helpid
  37. {
  38.     char    buf[256];
  39.     NXStream *s;
  40.     NXPoint    point;
  41.  
  42.     if (bundle == nil)
  43.         bundle = [NXBundle mainBundle];
  44.     if (![bundle getPath:buf forResource:helpindex[helpid] ofType:"rtf"]
  45.         || (s = NXMapFile(buf, NX_READONLY)) == NULL) {
  46.         curtag = 0;
  47.         return self;
  48.     }
  49.     point.x = point.y = 0;
  50.     [helpText scrollPoint:&point];
  51.     [helpText readRichText:s];
  52.     NXCloseMemory(s, NX_FREEBUFFER);
  53.     curtag = helpid;
  54.     return self;
  55. }
  56.  
  57. @end
  58.