diff options
author | Daniel Lange <DLange@git.local> | 2016-04-11 13:00:33 +0200 |
---|---|---|
committer | Daniel Lange <DLange@git.local> | 2016-04-11 13:00:33 +0200 |
commit | f75ab6d2c11e8a8e18191b087564aedebbeb96c5 (patch) | |
tree | 2a046e11678e798f3f9c7f7af4f9ac205c8d2731 /Header.c | |
parent | 2004bbc3ef28ada3acca05f5d5fa9108121a6784 (diff) | |
download | debian_htop-f75ab6d2c11e8a8e18191b087564aedebbeb96c5.tar.gz debian_htop-f75ab6d2c11e8a8e18191b087564aedebbeb96c5.tar.bz2 debian_htop-f75ab6d2c11e8a8e18191b087564aedebbeb96c5.zip |
Imported Upstream version 1.0.3upstream/1.0.3
Diffstat (limited to 'Header.c')
-rw-r--r-- | Header.c | 47 |
1 files changed, 23 insertions, 24 deletions
@@ -37,9 +37,9 @@ typedef struct Header_ { Vector* leftMeters; Vector* rightMeters; ProcessList* pl; - bool margin; int height; int pad; + bool margin; } Header; }*/ @@ -49,9 +49,9 @@ typedef struct Header_ { #endif Header* Header_new(ProcessList* pl) { - Header* this = calloc(sizeof(Header), 1); - this->leftMeters = Vector_new(METER_CLASS, true, DEFAULT_SIZE, NULL); - this->rightMeters = Vector_new(METER_CLASS, true, DEFAULT_SIZE, NULL); + Header* this = calloc(1, sizeof(Header)); + this->leftMeters = Vector_new(Class(Meter), true, DEFAULT_SIZE); + this->rightMeters = Vector_new(Class(Meter), true, DEFAULT_SIZE); this->margin = true; this->pl = pl; return this; @@ -71,11 +71,11 @@ void Header_createMeter(Header* this, char* name, HeaderSide side) { char* paren = strchr(name, '('); int param = 0; if (paren) { - int ok = sscanf(paren, "(%d)", ¶m); + int ok = sscanf(paren, "(%10d)", ¶m); if (!ok) param = 0; *paren = '\0'; } - for (MeterType** type = Meter_types; *type; type++) { + for (MeterClass** type = Meter_types; *type; type++) { if (String_eq(name, (*type)->name)) { Vector_add(meters, Meter_new(this->pl, param, *type)); break; @@ -94,7 +94,7 @@ void Header_setMode(Header* this, int i, MeterModeId mode, HeaderSide side) { Meter_setMode(meter, mode); } -Meter* Header_addMeter(Header* this, MeterType* type, int param, HeaderSide side) { +Meter* Header_addMeter(Header* this, MeterClass* type, int param, HeaderSide side) { Vector* meters = side == LEFT_HEADER ? this->leftMeters : this->rightMeters; @@ -118,10 +118,10 @@ char* Header_readMeterName(Header* this, int i, HeaderSide side) { : this->rightMeters; Meter* meter = (Meter*) Vector_get(meters, i); - int nameLen = strlen(meter->type->name); + int nameLen = strlen(Meter_name(meter)); int len = nameLen + 100; char* name = malloc(len); - strncpy(name, meter->type->name, nameLen); + strncpy(name, Meter_name(meter), nameLen); name[nameLen] = '\0'; if (meter->param) snprintf(name + nameLen, len - nameLen, "(%d)", meter->param); @@ -140,38 +140,37 @@ MeterModeId Header_readMeterMode(Header* this, int i, HeaderSide side) { void Header_defaultMeters(Header* this, int cpuCount) { if (cpuCount > 8) { - Vector_add(this->leftMeters, Meter_new(this->pl, 0, &LeftCPUs2Meter)); - Vector_add(this->rightMeters, Meter_new(this->pl, 0, &RightCPUs2Meter)); + Vector_add(this->leftMeters, Meter_new(this->pl, 0, (MeterClass*) Class(LeftCPUs2Meter))); + Vector_add(this->rightMeters, Meter_new(this->pl, 0, (MeterClass*) Class(RightCPUs2Meter))); } else if (cpuCount > 4) { - Vector_add(this->leftMeters, Meter_new(this->pl, 0, &LeftCPUsMeter)); - Vector_add(this->rightMeters, Meter_new(this->pl, 0, &RightCPUsMeter)); + Vector_add(this->leftMeters, Meter_new(this->pl, 0, (MeterClass*) Class(LeftCPUsMeter))); + Vector_add(this->rightMeters, Meter_new(this->pl, 0, (MeterClass*) Class(RightCPUsMeter))); } else { - Vector_add(this->leftMeters, Meter_new(this->pl, 0, &AllCPUsMeter)); + Vector_add(this->leftMeters, Meter_new(this->pl, 0, (MeterClass*) Class(AllCPUsMeter))); } - Vector_add(this->leftMeters, Meter_new(this->pl, 0, &MemoryMeter)); - Vector_add(this->leftMeters, Meter_new(this->pl, 0, &SwapMeter)); - Vector_add(this->rightMeters, Meter_new(this->pl, 0, &TasksMeter)); - Vector_add(this->rightMeters, Meter_new(this->pl, 0, &LoadAverageMeter)); - Vector_add(this->rightMeters, Meter_new(this->pl, 0, &UptimeMeter)); + Vector_add(this->leftMeters, Meter_new(this->pl, 0, (MeterClass*) Class(MemoryMeter))); + Vector_add(this->leftMeters, Meter_new(this->pl, 0, (MeterClass*) Class(SwapMeter))); + Vector_add(this->rightMeters, Meter_new(this->pl, 0, (MeterClass*) Class(TasksMeter))); + Vector_add(this->rightMeters, Meter_new(this->pl, 0, (MeterClass*) Class(LoadAverageMeter))); + Vector_add(this->rightMeters, Meter_new(this->pl, 0, (MeterClass*) Class(UptimeMeter))); } void Header_reinit(Header* this) { for (int i = 0; i < Vector_size(this->leftMeters); i++) { Meter* meter = (Meter*) Vector_get(this->leftMeters, i); - if (meter->type->init) - meter->type->init(meter); + if (Meter_initFn(meter)) + Meter_init(meter); } for (int i = 0; i < Vector_size(this->rightMeters); i++) { Meter* meter = (Meter*) Vector_get(this->rightMeters, i); - if (meter->type->init) - meter->type->init(meter); + if (Meter_initFn(meter)) + Meter_init(meter); } } void Header_draw(const Header* this) { int height = this->height; int pad = this->pad; - attrset(CRT_colors[RESET_COLOR]); for (int y = 0; y < height; y++) { mvhline(y, 0, ' ', COLS); |