home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1994 June / NEBULA_SE.ISO / SourceCode / MiscKit / Palettes / MiscCircularSlider / MiscCSInspector.m < prev    next >
Encoding:
Text File  |  1994-03-27  |  3.8 KB  |  176 lines

  1. /*
  2.  *    Filename:    CircularSliderInspector.m 
  3.  *    Created :    Thu Oct 22 00:46:47 1992 
  4.  *    Author  :    Vince DeMarco
  5.  *        <vince@whatnxt.cuc.ab.ca>
  6.  *    LastEditDate was "Sun Nov 15 21:05:03 1992"
  7.  */
  8.  
  9.  
  10. #import "MiscCSInspector.h"
  11. #import "MiscCircularSlider.h"
  12.  
  13. @implementation MiscCircularSliderInspector
  14.  
  15. - init
  16. {
  17.     char buf[MAXPATHLEN + 1];
  18.     id bundle = [NXBundle bundleForClass:[MiscCircularSlider class]];
  19.  
  20.     [bundle getPath:buf forResource:"MiscCSInspector" ofType:"nib"];
  21.     [NXApp loadNibFile:buf owner:self withNames:NO fromZone:[self zone]];
  22.     return self;
  23. }
  24.  
  25. - ok:sender
  26. {
  27.     [object display];
  28.     return [super ok:sender];
  29. }
  30.  
  31. - update
  32. {
  33.     [typeMatrix selectCellWithTag:[object sliderStyle]];
  34.     [tagField setIntValue:[object tag]];
  35.     [widthField setFloatValue:[object sliderPathWidth]];
  36.     [minValueField setFloatValue:[(Slider *)object minValue]];
  37.     [maxValueField setFloatValue:[(Slider *)object maxValue]];
  38.     [currentValueField setFloatValue:[object floatValue]];
  39.     [[optionMatrix cellAt:0:0] setState:[object isContinuous]];
  40.     [[optionMatrix cellAt:1:0] setState:![object isEnabled]];
  41.  
  42.     if ([object hidden] == YES) {
  43.         [[optionMatrix cellAt:2:0] setState: 1]; /* If hidden it is disabled */
  44.         [[optionMatrix cellAt:1:0] setEnabled:NO];
  45.     } else {
  46.         [[optionMatrix cellAt:2:0] setState: 0];
  47.         [[optionMatrix cellAt:1:0] setEnabled:YES];
  48.     }
  49.  
  50.     if ([object isBezeled] == YES) {
  51.         [[borderMatrix cellAt:0:0] setState:0];
  52.         [[borderMatrix cellAt:0:1] setState:0];
  53.         [[borderMatrix cellAt:0:2] setState:1];
  54.     } else if ([object isBordered] == YES) {
  55.         [[borderMatrix cellAt:0:0] setState:0];
  56.         [[borderMatrix cellAt:0:1] setState:1];
  57.         [[borderMatrix cellAt:0:2] setState:0];
  58.     } else {
  59.         [[borderMatrix cellAt:0:0] setState:1];
  60.         [[borderMatrix cellAt:0:1] setState:0];
  61.         [[borderMatrix cellAt:0:2] setState:0];
  62.     }
  63.  
  64.     [optionMatrix display];
  65.     [borderMatrix display];
  66.     return self;
  67. }
  68.  
  69. - revert:sender
  70. {
  71.     [self update];
  72.     return [super revert:sender];
  73. }
  74.  
  75. - (BOOL)wantsButtons
  76. {
  77.     return NO;
  78. }
  79.  
  80. - setType:sender
  81. {
  82.     [object setSliderStyle:[[sender selectedCell] tag]];
  83.     [self touch:self];
  84.     return [self ok:sender];
  85. }
  86.  
  87. - setMaximum:sender
  88. {
  89.     [object setMaxValue:[sender floatValue]];
  90.     [self touch:self]; [self update];
  91.     return [self ok:sender];
  92. }
  93.  
  94. - setMinimum:sender
  95. {
  96.     [object setMinValue:[sender floatValue]];
  97.     [self touch:self]; [self update];
  98.     return [self ok:sender];
  99. }
  100.  
  101. - setCurrent:sender
  102. {
  103.     [object setFloatValue:[sender floatValue]];
  104.     [self touch:self]; [self update];
  105.     return [self ok:sender];
  106. }
  107.  
  108. - setOptions:sender
  109. {
  110.     int state = [[sender selectedCell] state];
  111.     switch ([[sender selectedCell] tag]){
  112.     case 1: /* Cont */
  113.         if (state)
  114.             [object setContinuous:YES];
  115.         else
  116.             [object setContinuous:NO];
  117.         break;
  118.     case 2:  /* Disabled */
  119.         if (state)
  120.             [object setEnabled:NO];
  121.         else
  122.             [object setEnabled:YES];
  123.         break;
  124.     case 3:  /* Hidden */
  125.         if (state){
  126.             [object setHidden:YES]; /* If Hidden it is also disabled */
  127.             [object setEnabled:NO];
  128.             [[optionMatrix cellAt:1:0] setEnabled:NO];
  129.             [[optionMatrix cellAt:1:0] setState:YES];
  130.         } else {
  131.             [object setHidden:NO];
  132.             [[optionMatrix cellAt:1:0] setEnabled:YES];
  133.         }
  134.         [optionMatrix display];
  135.         break;
  136.     }    
  137.     [self touch:self];
  138.     return [self ok:sender];
  139. }
  140.  
  141. - setBorder:sender
  142. {
  143.     switch ([[sender selectedCell] tag]){
  144.     case 1: /* NONE */
  145.             [object setBezeled:NO];
  146.             [object setBordered:NO];
  147.         break;
  148.     case 2: /* Bordered */
  149.             [object setBezeled:NO];
  150.             [object setBordered:YES];
  151.         break;
  152.     case 3: /* Bezeled */
  153.             [object setBordered:NO];
  154.             [object setBezeled:YES];
  155.         break;
  156.     }
  157.     [self touch:self];
  158.     return [self ok:sender];
  159. }
  160.  
  161. - setTag:sender
  162. {
  163.     [(Cell *)object setTag:[sender intValue]];
  164.     [self touch:self];
  165.     return [self ok:sender];
  166. }
  167.  
  168. - changeWidth:sender
  169. {
  170.     [object setSliderPathWidth:[sender floatValue]];
  171.     [self touch:self];
  172.     return [self ok:sender];
  173. }
  174.  
  175. @end
  176.