2020-03-31 11:48:38 +00:00
|
|
|
#include <string.h>
|
2020-06-21 14:15:17 +00:00
|
|
|
#include "ruamoko/qwaq/debugger/views/uintview.h"
|
2020-03-31 11:48:38 +00:00
|
|
|
|
|
|
|
@implementation UIntView
|
|
|
|
|
2021-06-01 14:52:04 +00:00
|
|
|
-initWithDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type
|
2020-03-31 11:48:38 +00:00
|
|
|
{
|
2021-06-04 04:35:53 +00:00
|
|
|
if (!(self = [super initWithDef:def type:type])) {
|
2020-03-31 11:48:38 +00:00
|
|
|
return nil;
|
|
|
|
}
|
2021-06-01 14:52:04 +00:00
|
|
|
self.data = (unsigned *)(data + def.offset);
|
2020-03-31 11:48:38 +00:00
|
|
|
return self;
|
|
|
|
}
|
|
|
|
|
2021-06-01 14:52:04 +00:00
|
|
|
+(UIntView *)withDef:(qdb_def_t)def in:(void *)data type:(qfot_type_t *)type
|
2020-03-31 11:48:38 +00:00
|
|
|
{
|
2021-06-01 14:52:04 +00:00
|
|
|
return [[[self alloc] initWithDef:def in:data type:type] autorelease];
|
2020-03-31 11:48:38 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
-draw
|
|
|
|
{
|
|
|
|
[super draw];
|
|
|
|
string val = sprintf ("%u", data[0]);
|
2023-08-26 13:45:21 +00:00
|
|
|
for (int i = 1; i < type.basic.width; i++) {
|
|
|
|
val = sprintf ("%s %u", val, data[i]);
|
|
|
|
}
|
2020-04-01 10:57:24 +00:00
|
|
|
[self mvprintf:{0, 0}, "%*.*s", xlen, xlen, val];
|
2020-03-31 11:48:38 +00:00
|
|
|
return self;
|
|
|
|
}
|
|
|
|
|
|
|
|
@end
|