aboutsummaryrefslogtreecommitdiffstats
path: root/Header.c
diff options
context:
space:
mode:
authorDaniel Lange <DLange@git.local>2016-04-11 13:00:33 +0200
committerDaniel Lange <DLange@git.local>2016-04-11 13:00:33 +0200
commitf75ab6d2c11e8a8e18191b087564aedebbeb96c5 (patch)
tree2a046e11678e798f3f9c7f7af4f9ac205c8d2731 /Header.c
parent2004bbc3ef28ada3acca05f5d5fa9108121a6784 (diff)
downloaddebian_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.c47
1 files changed, 23 insertions, 24 deletions
diff --git a/Header.c b/Header.c
index ea1078f..5558684 100644
--- a/Header.c
+++ b/Header.c
@@ -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)", &param);
+ int ok = sscanf(paren, "(%10d)", &param);
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);

© 2014-2024 Faster IT GmbH | imprint | privacy policy