15#ifndef COCOA_SPINBOX_MM
16#define COCOA_SPINBOX_MM
23- (id)initWithFrame:(NSRect)frame {
24 self = [
super initWithFrame:frame];
27 textfield = [[NSTextField alloc] initWithFrame:NSMakeRect(0.0, 0.0, 40.0, 27.0)];
28 [textfield setAlignment:NSRightTextAlignment];
29 [textfield setTarget:self];
30 [textfield setAction:@selector(getValueFromTextField:)];
31 [
self addSubview:textfield];
33 stepper = [[NSStepper alloc] initWithFrame:NSMakeRect(40.0, 0.0, 19.0, 27.0)];
34 [stepper setTarget:self];
35 [stepper setAction:@selector(getValueFromStepper:)];
36 [stepper setValueWraps:NO];
37 [
self addSubview:stepper];
45 [stepper setMinValue:minValue];
46 [stepper setMaxValue:maxValue];
67-(void) valueDidChange {
74-(void) setFrame:(NSRect)frameRect {
75 if (frameRect.size.height < 22.0) frameRect.size.height = 22.0;
76 [
super setFrame:frameRect];
77 NSRect bounds = [
self bounds];
78 NSRect stepperFrame = NSMakeRect(bounds.origin.x+bounds.size.width-16.0, bounds.origin.y-3.0, 19.0, 27.0);
79 [stepper setFrame:stepperFrame];
81 NSRect textfieldFrame = NSMakeRect(bounds.origin.x, bounds.origin.y, bounds.size.width-16.0, 22.0);
82 [textfield setFrame:textfieldFrame];
87 [[textfield window] makeFirstResponder:textfield];
98-(void) setEnabled:(BOOL)value {
99 [textfield setEnabled:value];
100 [stepper setEnabled:value];
104 return [textfield isEnabled];
108-(void) setIntegerValue:(NSInteger)new_value {
110 [textfield setIntegerValue:new_value];
111 [stepper setIntegerValue:new_value];
116 return [textfield integerValue];