mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-02-24 20:51:35 +00:00
[cl_menu] Add CvarIntRange for integer sliders
Fixes viewsize not working (sort of: the slider now works, but the cvar itself does not, but that's an engine issue).
This commit is contained in:
parent
fc6c426241
commit
3dd7678962
3 changed files with 52 additions and 2 deletions
|
@ -14,4 +14,15 @@
|
||||||
-(int)percentage;
|
-(int)percentage;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
@interface CvarIntRange : CvarObject
|
||||||
|
{
|
||||||
|
int min, max, step;
|
||||||
|
}
|
||||||
|
-(id)initWithCvar:(string)cvname min:(int)_min max:(int)_max step:(int)_step;
|
||||||
|
-(void)inc;
|
||||||
|
-(void)dec;
|
||||||
|
-(float)value;
|
||||||
|
-(int)percentage;
|
||||||
|
@end
|
||||||
|
|
||||||
#endif//__CvarRange_h
|
#endif//__CvarRange_h
|
||||||
|
|
|
@ -41,3 +41,42 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
@implementation CvarIntRange
|
||||||
|
|
||||||
|
-(id)initWithCvar:(string)cvname min:(int)_min max:(int)_max step:(int)_step
|
||||||
|
{
|
||||||
|
self = [super initWithCvar: cvname];
|
||||||
|
|
||||||
|
min = _min;
|
||||||
|
max = _max;
|
||||||
|
step = _step;
|
||||||
|
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)inc
|
||||||
|
{
|
||||||
|
local int val = Cvar_GetInteger (name);
|
||||||
|
val = min_max_cnt (min, max, step, val, 1);
|
||||||
|
Cvar_SetInteger (name, val);
|
||||||
|
}
|
||||||
|
|
||||||
|
-(void)dec
|
||||||
|
{
|
||||||
|
local int val = Cvar_GetInteger (name);
|
||||||
|
val = min_max_cnt (min, max, step, val, 0);
|
||||||
|
Cvar_SetInteger (name, val);
|
||||||
|
}
|
||||||
|
|
||||||
|
-(float)value
|
||||||
|
{
|
||||||
|
return Cvar_GetInteger (name);
|
||||||
|
}
|
||||||
|
|
||||||
|
-(int)percentage
|
||||||
|
{
|
||||||
|
return to_percentage(min, max, Cvar_GetInteger (name));
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
|
@ -282,10 +282,10 @@
|
||||||
);
|
);
|
||||||
rect = "[70, 110, 224, 8]";
|
rect = "[70, 110, 224, 8]";
|
||||||
range = {
|
range = {
|
||||||
Class = CvarRange;
|
Class = CvarIntRange;
|
||||||
Messages = (
|
Messages = (
|
||||||
(initWithCvar:min:max:step:,
|
(initWithCvar:min:max:step:,
|
||||||
"\"viewsize\"", 30.0, 120.0, 10.0)
|
"\"viewsize\"", 30, 120, 10)
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue