home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1995 August / NEBULA.bin / SourceCode / Palettes / TTools / TToolsPalette / Strings.subproj / StringInspector.m < prev   
Encoding:
Text File  |  1993-11-09  |  1.4 KB  |  77 lines

  1. /* StringInspector.m
  2.  * Written By:  Thomas Burkholder
  3.  *
  4.  * You may freely copy, distribute, and reuse the code in this example.
  5.  * NeXT disclaims any warranty of any kind, expressed or  implied, as to its
  6.  * fitness for any particular use.
  7.  */
  8.  
  9. #import "StringInspector.h"
  10.  
  11. @implementation String (AttributesInspector)
  12.  
  13. - (const char *)getInspectorClassName
  14. {
  15.     return "StringInspector";
  16. }
  17.  
  18. - (NXImage *)getIBImage
  19. {
  20.     return [NXImage findImageNamed:"StringIcon"];
  21. }
  22.  
  23. @end
  24.  
  25. @implementation StringAgent (IBImageCategory)
  26.  
  27. - (NXImage *)getIBImage
  28. {
  29.     return [NXImage findImageNamed:"StringAgentIcon"];
  30. }
  31.  
  32. @end
  33.  
  34. @implementation StringInspector
  35.  
  36. - init
  37. {
  38.     char buf[MAXPATHLEN+1];
  39.     NXBundle *bundle;
  40.     [super init];
  41.     bundle = [NXBundle bundleForClass:[String class]];
  42.     [bundle getPath:buf forResource:"StringInspector" ofType:"nib"];
  43.     [NXApp loadNibFile:buf owner:self withNames:NO fromZone:[self zone]];
  44.     return self;
  45. }
  46.  
  47. - ok:sender
  48. {
  49.     id d;
  50.  
  51.     [object setStringValue:[valueField stringValue]];
  52.     [self revertInspector:sender];
  53.     // worry about possible editors...
  54.     d = [[NXApp activeDocument] getEditor:NO for:object];
  55.     if (d) [d resetObject:object];
  56.     return [super ok:sender];
  57. }
  58.  
  59. - revertInspector:sender
  60. {
  61.     [valueField setStringValue:[object stringValue]];
  62.     return self;
  63. }
  64.  
  65. - revert:sender
  66. {
  67.     [self revertInspector:sender];
  68.     return [super revert:sender];
  69. }
  70.  
  71. - (BOOL)wantsButtons
  72. {
  73.     return NO;
  74. }
  75.  
  76. @end
  77.