|
|
1.1 ! root 1: ! 2: #import <appkit/View.h> ! 3: ! 4: @interface GaugeView : View ! 5: { ! 6: char title[10]; /* Title of gauge */ ! 7: id cacheWindow; /* Offscreen cache window for gauge face */ ! 8: float radius; /* Radius of gauge face */ ! 9: NXPoint center; /* Center of gauge face */ ! 10: float startAngle; /* Angle in degrees which arm starts from */ ! 11: float angleRange; /* Range in degrees which arm spans */ ! 12: float value; /* Current value displayed on gauge */ ! 13: float maxValue; /* Maximum value of gauge */ ! 14: float minValue; /* Minimum value of gauge */ ! 15: float degreesPerUnit; /* Ratio of degrees to value units */ ! 16: int tickInterval; /* Interval of tick marks */ ! 17: id font; /* Font used to draw labels */ ! 18: id valueSlider; /* IB controls */ ! 19: id valueFormCell; ! 20: BOOL needRedraw; /* boolean flag to indicate redraw is needed */ ! 21: } ! 22: ! 23: ! 24: /* INIT/FREE METHODS */ ! 25: ! 26: - initFrame:(NXRect *)frameRect; ! 27: - initFrame:(NXRect *)frameRect min:(float)min max:(float)max ! 28: startAngle:(float)start range:(float)stop tickInterval:(int)interval; ! 29: - free; ! 30: ! 31: /* SET PARAMETERS */ ! 32: ! 33: - setTitle:(char *)str; ! 34: - setFont:(char *)fName size:(float)fSize; ! 35: - setMin:(float)newValue; ! 36: - setMax:(float)newValue; ! 37: - setStartAngle:(float)newValue; ! 38: - setAngleRange:(float)newValue; ! 39: - setTickInterval:(int)newValue; ! 40: ! 41: /* TARGET/ACTION METHODS */ ! 42: ! 43: - changeValue:sender; /* connect to something with float value */ ! 44: ! 45: /* TEXT DELEGATE METHODS */ ! 46: - (BOOL)textWillEnd:textObject; ! 47: ! 48: /* PRIVATE METHODS */ ! 49: ! 50: - drawHand; ! 51: - drawFace; ! 52: - drawSelf:(NXRect *)drawRects :(int )rectCount; ! 53: ! 54: @end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.