From 33113fe0d73ea3299843b483f108ef5bcfcc944f Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Mon, 10 Apr 2006 20:40:38 +0000 Subject: - Overhaul meters implementation; - add AllCPUsMeter; - because of that, the new .htoprc is incompatible with previous released versions. --- TasksMeter.c | 43 ++++++++++++++++++------------------------- 1 file changed, 18 insertions(+), 25 deletions(-) (limited to 'TasksMeter.c') diff --git a/TasksMeter.c b/TasksMeter.c index eab21c94..d970de06 100644 --- a/TasksMeter.c +++ b/TasksMeter.c @@ -14,33 +14,26 @@ in the source distribution for its full text. #include "debug.h" -/*{ - -typedef struct TasksMeter_ TasksMeter; - -struct TasksMeter_ { - Meter super; - ProcessList* pl; +/* private property */ +int TasksMeter_attributes[] = { TASKS_RUNNING }; + +/* private */ +MeterType TasksMeter = { + .setValues = TasksMeter_setValues, + .display = TasksMeter_display, + .mode = TEXT_METERMODE, + .items = 1, + .total = 100.0, + .attributes = TasksMeter_attributes, + .name = "Tasks", + .uiName = "Task counter", + .caption = "Tasks: " }; -}*/ - -TasksMeter* TasksMeter_new(ProcessList* pl) { - TasksMeter* this = malloc(sizeof(TasksMeter)); - Meter_init((Meter*)this, String_copy("Tasks"), String_copy("Tasks: "), 1); - ((Meter*)this)->attributes[0] = TASKS_RUNNING; - ((Object*)this)->display = TasksMeter_display; - ((Meter*)this)->setValues = TasksMeter_setValues; - this->pl = pl; - Meter_setMode((Meter*)this, TEXT); - return this; -} - -void TasksMeter_setValues(Meter* cast) { - TasksMeter* this = (TasksMeter*)cast; - cast->total = this->pl->totalTasks; - cast->values[0] = this->pl->runningTasks; - snprintf(cast->displayBuffer.c, 20, "%d/%d", (int) cast->values[0], (int) cast->total); +void TasksMeter_setValues(Meter* this, char* buffer, int len) { + this->total = this->pl->totalTasks; + this->values[0] = this->pl->runningTasks; + snprintf(buffer, len, "%d/%d", (int) this->values[0], (int) this->total); } void TasksMeter_display(Object* cast, RichString* out) { -- cgit v1.2.3