mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-18 02:31:31 +00:00
58 lines
951 B
R
58 lines
951 B
R
|
#include "key.h"
|
||
|
#include "sound.h"
|
||
|
#include "string.h"
|
||
|
|
||
|
#include "gui/Text.h"
|
||
|
#include "CvarToggleView.h"
|
||
|
|
||
|
@implementation CvarToggleView
|
||
|
|
||
|
-(void)update
|
||
|
{
|
||
|
[value setText:[toggle value] ? "On" : "Off"];
|
||
|
}
|
||
|
|
||
|
-(id)initWithBounds:(Rect)aRect title:(string)_title :(CvarToggle)_toggle
|
||
|
{
|
||
|
local Rect rect;
|
||
|
|
||
|
self = [super initWithBounds:aRect];
|
||
|
|
||
|
toggle = _toggle;
|
||
|
|
||
|
rect = makeRect (0, 0, strlen (_title) * 8, 8);
|
||
|
title = [[Text alloc] initWithBounds:rect text:_title];
|
||
|
|
||
|
rect.size.width = 3 * 8;
|
||
|
rect.origin.x = xlen - rect.size.width;
|
||
|
value = [[Text alloc] initWithBounds:rect];
|
||
|
|
||
|
[self addView:title];
|
||
|
[self addView:value];
|
||
|
|
||
|
[self update];
|
||
|
|
||
|
return self;
|
||
|
}
|
||
|
|
||
|
-(void)toggle
|
||
|
{
|
||
|
[toggle toggle];
|
||
|
[self update];
|
||
|
S_LocalSound ("misc/menu3.wav");
|
||
|
}
|
||
|
|
||
|
- (integer) keyEvent:(integer)key unicode:(integer)unicode down:(integer)down
|
||
|
{
|
||
|
switch (key) {
|
||
|
case QFK_RETURN:
|
||
|
case QFM_BUTTON1:
|
||
|
[self toggle];
|
||
|
return 1;
|
||
|
default:
|
||
|
return 0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@end
|