home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1995 August / NEBULA.bin / SourceCode / MiscKit1.2.6 / Palettes / MiscArrowButtonPalette / ABInspector.m < prev    next >
Encoding:
Text File  |  1994-04-26  |  2.6 KB  |  141 lines

  1.  
  2. #import "MiscArrowButton.subproj/MiscArrowButton.h"
  3. #import "ABInspector.h"
  4.  
  5. @implementation ABInspector
  6.  
  7. // Load the Inspector
  8.  
  9. - init
  10. {
  11.     char buf[MAXPATHLEN + 1];
  12.     id bundle;
  13.     
  14.     [super init];
  15.     
  16.     bundle = [NXBundle bundleForClass:[MiscArrowButton class]];
  17.  
  18.     [bundle getPath: buf forResource: "MiscABInspector" ofType:"nib"];
  19.  
  20.     [NXApp loadNibFile:buf owner:self withNames:NO fromZone:[self zone]];
  21.            
  22.     return self;
  23. }
  24.  
  25.  
  26. // This method sets all the values in the inspector by getting
  27. // the relevant info from the object. This is called when the
  28. // inspector first appears, so the object's attributes are
  29. // correctly displayed in the inspector.
  30.  
  31. - revert: sender
  32. {    
  33.     // set all the options
  34.     
  35.     [ [optionMatrix cellAt: 0 : 0] setState: [object isBordered] ];
  36.     [ [optionMatrix cellAt: 1 : 0] setState: [object isTransparent] ];
  37.     [ [optionMatrix cellAt: 2 : 0] setState: [object isContinuous] ];
  38.     [ [optionMatrix cellAt: 3 : 0] setState: ![object isEnabled] ];
  39.     [ [optionMatrix cellAt: 4 : 0] setState: [object state] ];    
  40.  
  41.     // set the title, altTitle, and sound in the inspector
  42.     
  43.     [tagField setIntValue: [object tag] ];
  44.     [titleField setStringValue: [object title] ];
  45.     [altTitleField setStringValue: [object altTitle] ];
  46.     [soundField setStringValue: [ [object sound] name] ];
  47.     
  48.     [optionMatrix display];
  49.  
  50.     [alignButton setState: [object arrowAlignment] ];
  51.         
  52.     return [super revert: sender];
  53. }
  54.  
  55.  
  56.  
  57. // One of the checkbox buttons was clicked, so change the corresponding
  58. // attribute of the object being inspected.
  59.  
  60. - optionsChanged:sender
  61. {
  62.   id  cell = [sender selectedCell];
  63.   BOOL  state = [cell state];
  64.   
  65.       switch ([cell tag])
  66.     {
  67.       case 0:        // bordered            
  68.         [object setBordered: state];
  69.         break;
  70.  
  71.       case 1:        // transparent
  72.         [object setTransparent: state];
  73.         break;
  74.  
  75.       case 2:        // continuous
  76.         [object setContinuous: state];
  77.         break;
  78.  
  79.       case 3:        // disabled        
  80.         [object setEnabled: !state];
  81.         break;
  82.  
  83.       case 4:        // selected
  84.             [object setState: state];
  85.         break;
  86.      }
  87.         
  88.     return [super ok: sender];
  89. }
  90.  
  91.  
  92.  
  93. - tagChanged: sender
  94. {
  95.       [object setTag: [sender intValue] ];
  96.     
  97.     return [super ok: sender];
  98. }
  99.  
  100.  
  101.  
  102. - titleChanged: sender
  103. {
  104.     [object setTitle: [sender stringValue] ];
  105.     return [super ok: sender];
  106. }
  107.  
  108.  
  109.  
  110. - altTitleChanged: sender
  111. {
  112.     [object setAltTitle: [sender stringValue] ];
  113.     return [super ok: sender];
  114. }        
  115.  
  116.  
  117.  
  118. - soundChanged: sender
  119. {
  120.     [object setSound: [Sound findSoundFor: [sender stringValue] ] ];
  121.     return [super ok: sender];
  122. }
  123.  
  124.  
  125.  
  126. - alignmentChanged: sender
  127. {
  128.     [object setArrowAlignment: [sender state] ];
  129.     return [super ok: sender];
  130. }
  131.  
  132.  
  133.  
  134. - (BOOL)wantsButtons
  135. {
  136.     return NO;
  137. }
  138.  
  139.  
  140. @end
  141.