diff options
author | Hisham Muhammad <hisham@gobolinux.org> | 2008-03-09 08:58:38 +0000 |
---|---|---|
committer | Hisham Muhammad <hisham@gobolinux.org> | 2008-03-09 08:58:38 +0000 |
commit | da23c8c5a188324455c8f417293c10d85f65cb63 (patch) | |
tree | d7a4b8cb0af705de6650e20e00ba3da04d84b27f | |
parent | 12f4f09e6ed288bdedc86e4ef22f3cc34f0e787a (diff) |
Clean up headers by using 'static' whenever possible.
Reduces resulting code size.
-rw-r--r-- | AffinityPanel.c | 34 | ||||
-rw-r--r-- | AffinityPanel.h | 2 | ||||
-rw-r--r-- | AvailableColumnsPanel.c | 44 | ||||
-rw-r--r-- | AvailableColumnsPanel.h | 4 | ||||
-rw-r--r-- | AvailableMetersPanel.c | 72 | ||||
-rw-r--r-- | AvailableMetersPanel.h | 4 | ||||
-rw-r--r-- | CPUMeter.c | 68 | ||||
-rw-r--r-- | CPUMeter.h | 18 | ||||
-rw-r--r-- | CRT.c | 22 | ||||
-rw-r--r-- | CRT.h | 4 | ||||
-rw-r--r-- | CategoriesPanel.c | 84 | ||||
-rw-r--r-- | CategoriesPanel.h | 12 | ||||
-rw-r--r-- | CheckItem.c | 40 | ||||
-rw-r--r-- | CheckItem.h | 4 | ||||
-rw-r--r-- | ClockMeter.c | 14 | ||||
-rw-r--r-- | ClockMeter.h | 2 | ||||
-rw-r--r-- | ColorsPanel.c | 39 | ||||
-rw-r--r-- | ColorsPanel.h | 5 | ||||
-rw-r--r-- | ColumnsPanel.c | 91 | ||||
-rw-r--r-- | ColumnsPanel.h | 3 | ||||
-rw-r--r-- | DisplayOptionsPanel.c | 49 | ||||
-rw-r--r-- | DisplayOptionsPanel.h | 5 | ||||
-rw-r--r-- | Hashtable.c | 9 | ||||
-rw-r--r-- | Hashtable.h | 6 | ||||
-rw-r--r-- | ListItem.c | 30 | ||||
-rw-r--r-- | ListItem.h | 4 | ||||
-rw-r--r-- | LoadAverageMeter.c | 56 | ||||
-rw-r--r-- | LoadAverageMeter.h | 12 | ||||
-rw-r--r-- | MemoryMeter.c | 28 | ||||
-rw-r--r-- | MemoryMeter.h | 4 | ||||
-rw-r--r-- | Meter.c | 86 | ||||
-rw-r--r-- | Meter.h | 18 | ||||
-rw-r--r-- | MetersPanel.c | 40 | ||||
-rw-r--r-- | MetersPanel.h | 4 | ||||
-rw-r--r-- | Object.c | 2 | ||||
-rw-r--r-- | Object.h | 2 | ||||
-rw-r--r-- | Process.c | 172 | ||||
-rw-r--r-- | Process.h | 16 | ||||
-rw-r--r-- | ProcessList.c | 50 | ||||
-rw-r--r-- | ProcessList.h | 13 | ||||
-rw-r--r-- | ScreenManager.c | 6 | ||||
-rw-r--r-- | ScreenManager.h | 2 | ||||
-rw-r--r-- | Settings.c | 70 | ||||
-rw-r--r-- | Settings.h | 6 | ||||
-rw-r--r-- | SignalItem.c | 24 | ||||
-rw-r--r-- | SignalItem.h | 6 | ||||
-rw-r--r-- | SignalsPanel.c | 64 | ||||
-rw-r--r-- | SignalsPanel.h | 4 | ||||
-rw-r--r-- | String.c | 55 | ||||
-rw-r--r-- | String.h | 16 | ||||
-rw-r--r-- | SwapMeter.c | 28 | ||||
-rw-r--r-- | SwapMeter.h | 4 | ||||
-rw-r--r-- | TasksMeter.c | 28 | ||||
-rw-r--r-- | TasksMeter.h | 4 | ||||
-rw-r--r-- | TraceScreen.c | 2 | ||||
-rw-r--r-- | TraceScreen.h | 2 | ||||
-rw-r--r-- | UptimeMeter.c | 26 | ||||
-rw-r--r-- | UptimeMeter.h | 2 | ||||
-rw-r--r-- | UsersTable.c | 4 | ||||
-rw-r--r-- | UsersTable.h | 2 | ||||
-rw-r--r-- | Vector.c | 12 | ||||
-rw-r--r-- | Vector.h | 8 | ||||
-rw-r--r-- | htop.c | 10 | ||||
-rw-r--r-- | htop.h | 10 |
64 files changed, 660 insertions, 907 deletions
diff --git a/AffinityPanel.c b/AffinityPanel.c index 007b0590..bfd10e28 100644 --- a/AffinityPanel.c +++ b/AffinityPanel.c @@ -7,6 +7,23 @@ #include "debug.h" #include <assert.h> +static HandlerResult AffinityPanel_eventHandler(Panel* this, int ch) { + HandlerResult result = IGNORED; + CheckItem* selected = (CheckItem*) Panel_getSelected(this); + switch(ch) { + case ' ': + CheckItem_set(selected, ! (CheckItem_get(selected)) ); + result = HANDLED; + break; + case 0x0a: + case 0x0d: + case KEY_ENTER: + result = BREAK_LOOP; + break; + } + return result; +} + Panel* AffinityPanel_new(int processorCount, unsigned long mask) { Panel* this = Panel_new(1, 1, 1, 1, CHECKITEM_CLASS, true, ListItem_compare); this->eventHandler = AffinityPanel_eventHandler; @@ -29,20 +46,3 @@ unsigned long AffinityPanel_getAffinity(Panel* this) { } return mask; } - -HandlerResult AffinityPanel_eventHandler(Panel* this, int ch) { - HandlerResult result = IGNORED; - CheckItem* selected = (CheckItem*) Panel_getSelected(this); - switch(ch) { - case ' ': - CheckItem_set(selected, ! (CheckItem_get(selected)) ); - result = HANDLED; - break; - case 0x0a: - case 0x0d: - case KEY_ENTER: - result = BREAK_LOOP; - break; - } - return result; -} diff --git a/AffinityPanel.h b/AffinityPanel.h index dfea3d74..22283ee3 100644 --- a/AffinityPanel.h +++ b/AffinityPanel.h @@ -14,6 +14,4 @@ Panel* AffinityPanel_new(int processorCount, unsigned long mask); unsigned long AffinityPanel_getAffinity(Panel* this); -HandlerResult AffinityPanel_eventHandler(Panel* this, int ch); - #endif diff --git a/AvailableColumnsPanel.c b/AvailableColumnsPanel.c index eeceb60c..b21bd3c3 100644 --- a/AvailableColumnsPanel.c +++ b/AvailableColumnsPanel.c @@ -22,34 +22,14 @@ typedef struct AvailableColumnsPanel_ { }*/ -AvailableColumnsPanel* AvailableColumnsPanel_new(Settings* settings, Panel* columns, ScreenManager* scr) { - AvailableColumnsPanel* this = (AvailableColumnsPanel*) malloc(sizeof(AvailableColumnsPanel)); - Panel* super = (Panel*) this; - Panel_init(super, 1, 1, 1, 1, LISTITEM_CLASS, true); - ((Object*)this)->delete = AvailableColumnsPanel_delete; - - this->settings = settings; - this->scr = scr; - super->eventHandler = AvailableColumnsPanel_eventHandler; - - Panel_setHeader(super, "Available Columns"); - - for (int i = 1; i < LAST_PROCESSFIELD; i++) { - if (i != COMM) - Panel_add(super, (Object*) ListItem_new(Process_fieldNames[i], 0)); - } - this->columns = columns; - return this; -} - -void AvailableColumnsPanel_delete(Object* object) { +static void AvailableColumnsPanel_delete(Object* object) { Panel* super = (Panel*) object; AvailableColumnsPanel* this = (AvailableColumnsPanel*) object; Panel_done(super); free(this); } -HandlerResult AvailableColumnsPanel_eventHandler(Panel* super, int ch) { +static HandlerResult AvailableColumnsPanel_eventHandler(Panel* super, int ch) { AvailableColumnsPanel* this = (AvailableColumnsPanel*) super; char* text = ((ListItem*) Panel_getSelected(super))->value; HandlerResult result = IGNORED; @@ -69,3 +49,23 @@ HandlerResult AvailableColumnsPanel_eventHandler(Panel* super, int ch) { } return result; } + +AvailableColumnsPanel* AvailableColumnsPanel_new(Settings* settings, Panel* columns, ScreenManager* scr) { + AvailableColumnsPanel* this = (AvailableColumnsPanel*) malloc(sizeof(AvailableColumnsPanel)); + Panel* super = (Panel*) this; + Panel_init(super, 1, 1, 1, 1, LISTITEM_CLASS, true); + ((Object*)this)->delete = AvailableColumnsPanel_delete; + + this->settings = settings; + this->scr = scr; + super->eventHandler = AvailableColumnsPanel_eventHandler; + + Panel_setHeader(super, "Available Columns"); + + for (int i = 1; i < LAST_PROCESSFIELD; i++) { + if (i != COMM) + Panel_add(super, (Object*) ListItem_new(Process_fieldNames[i], 0)); + } + this->columns = columns; + return this; +} diff --git a/AvailableColumnsPanel.h b/AvailableColumnsPanel.h index d7bed265..d07acf80 100644 --- a/AvailableColumnsPanel.h +++ b/AvailableColumnsPanel.h @@ -25,8 +25,4 @@ typedef struct AvailableColumnsPanel_ { AvailableColumnsPanel* AvailableColumnsPanel_new(Settings* settings, Panel* columns, ScreenManager* scr); -void AvailableColumnsPanel_delete(Object* object); - -HandlerResult AvailableColumnsPanel_eventHandler(Panel* super, int ch); - #endif diff --git a/AvailableMetersPanel.c b/AvailableMetersPanel.c index cb87802e..0645eba2 100644 --- a/AvailableMetersPanel.c +++ b/AvailableMetersPanel.c @@ -23,41 +23,7 @@ typedef struct AvailableMetersPanel_ { }*/ -AvailableMetersPanel* AvailableMetersPanel_new(Settings* settings, Panel* leftMeters, Panel* rightMeters, ScreenManager* scr) { - AvailableMetersPanel* this = (AvailableMetersPanel*) malloc(sizeof(AvailableMetersPanel)); - Panel* super = (Panel*) this; - Panel_init(super, 1, 1, 1, 1, LISTITEM_CLASS, true); - ((Object*)this)->delete = AvailableMetersPanel_delete; - - this->settings = settings; - this->leftPanel = leftMeters; - this->rightPanel = rightMeters; - this->scr = scr; - super->eventHandler = AvailableMetersPanel_EventHandler; - - Panel_setHeader(super, "Available meters"); - for (int i = 1; Meter_types[i]; i++) { - MeterType* type = Meter_types[i]; - if (type != &CPUMeter) { - Panel_add(super, (Object*) ListItem_new(type->uiName, i << 16)); - } - } - MeterType* type = &CPUMeter; - int processors = settings->pl->processorCount; - if (processors > 1) { - Panel_add(super, (Object*) ListItem_new("CPU average", 0)); - for (int i = 1; i <= processors; i++) { - char buffer[50]; - sprintf(buffer, "%s %d", type->uiName, i); - Panel_add(super, (Object*) ListItem_new(buffer, i)); - } - } else { - Panel_add(super, (Object*) ListItem_new("CPU", 1)); - } - return this; -} - -void AvailableMetersPanel_delete(Object* object) { +static void AvailableMetersPanel_delete(Object* object) { Panel* super = (Panel*) object; AvailableMetersPanel* this = (AvailableMetersPanel*) object; Panel_done(super); @@ -69,7 +35,7 @@ static inline void AvailableMetersPanel_addHeader(Header* header, Panel* panel, Panel_add(panel, (Object*) Meter_toListItem(meter)); } -HandlerResult AvailableMetersPanel_EventHandler(Panel* super, int ch) { +static HandlerResult AvailableMetersPanel_eventHandler(Panel* super, int ch) { AvailableMetersPanel* this = (AvailableMetersPanel*) super; Header* header = this->settings->header; @@ -104,3 +70,37 @@ HandlerResult AvailableMetersPanel_EventHandler(Panel* super, int ch) { } return result; } + +AvailableMetersPanel* AvailableMetersPanel_new(Settings* settings, Panel* leftMeters, Panel* rightMeters, ScreenManager* scr) { + AvailableMetersPanel* this = (AvailableMetersPanel*) malloc(sizeof(AvailableMetersPanel)); + Panel* super = (Panel*) this; + Panel_init(super, 1, 1, 1, 1, LISTITEM_CLASS, true); + ((Object*)this)->delete = AvailableMetersPanel_delete; + + this->settings = settings; + this->leftPanel = leftMeters; + this->rightPanel = rightMeters; + this->scr = scr; + super->eventHandler = AvailableMetersPanel_eventHandler; + + Panel_setHeader(super, "Available meters"); + for (int i = 1; Meter_types[i]; i++) { + MeterType* type = Meter_types[i]; + if (type != &CPUMeter) { + Panel_add(super, (Object*) ListItem_new(type->uiName, i << 16)); + } + } + MeterType* type = &CPUMeter; + int processors = settings->pl->processorCount; + if (processors > 1) { + Panel_add(super, (Object*) ListItem_new("CPU average", 0)); + for (int i = 1; i <= processors; i++) { + char buffer[50]; + sprintf(buffer, "%s %d", type->uiName, i); + Panel_add(super, (Object*) ListItem_new(buffer, i)); + } + } else { + Panel_add(super, (Object*) ListItem_new("CPU", 1)); + } + return this; +} diff --git a/AvailableMetersPanel.h b/AvailableMetersPanel.h index 89d95179..25d4c08b 100644 --- a/AvailableMetersPanel.h +++ b/AvailableMetersPanel.h @@ -26,8 +26,4 @@ typedef struct AvailableMetersPanel_ { AvailableMetersPanel* AvailableMetersPanel_new(Settings* settings, Panel* leftMeters, Panel* rightMeters, ScreenManager* scr); -void AvailableMetersPanel_delete(Object* object); - -HandlerResult AvailableMetersPanel_EventHandler(Panel* super, int ch); - #endif @@ -22,33 +22,6 @@ int CPUMeter_attributes[] = { CPU_NICE, CPU_NORMAL, CPU_KERNEL, CPU_IRQ, CPU_SOFTIRQ, CPU_IOWAIT }; -MeterType CPUMeter = { - .setValues = CPUMeter_setValues, - .display = CPUMeter_display, - .mode = BAR_METERMODE, - .items = 6, - .total = 100.0, - .attributes = CPUMeter_attributes, - .name = "CPU", - .uiName = "CPU", - .caption = "CPU", - .init = CPUMeter_init -}; - -MeterType AllCPUsMeter = { - .mode = 0, - .items = 1, - .total = 100.0, - .attributes = CPUMeter_attributes, - .name = "AllCPUs", - .uiName = "All CPUs", - .caption = "CPU", - .draw = AllCPUsMeter_draw, - .init = AllCPUsMeter_init, - .setMode = AllCPUsMeter_setMode, - .done = AllCPUsMeter_done -}; - #ifndef MIN #define MIN(a,b) ((a)<(b)?(a):(b)) #endif @@ -56,7 +29,7 @@ MeterType AllCPUsMeter = { #define MAX(a,b) ((a)>(b)?(a):(b)) #endif -void CPUMeter_init(Meter* this) { +static void CPUMeter_init(Meter* this) { int processor = this->param; if (this->pl->processorCount > 1) { char caption[10]; @@ -67,7 +40,7 @@ void CPUMeter_init(Meter* this) { Meter_setCaption(this, "Avg"); } -void CPUMeter_setValues(Meter* this, char* buffer, int size) { +static void CPUMeter_setValues(Meter* this, char* buffer, int size) { ProcessList* pl = this->pl; int processor = this->param; double total = (double) pl->totalPeriod[processor]; @@ -90,7 +63,7 @@ void CPUMeter_setValues(Meter* this, char* buffer, int size) { snprintf(buffer, size, "%5.1f%%", cpu ); } -void CPUMeter_display(Object* cast, RichString* out) { +static void CPUMeter_display(Object* cast, RichString* out) { char buffer[50]; Meter* this = (Meter*)cast; RichString_init(out); @@ -123,7 +96,7 @@ void CPUMeter_display(Object* cast, RichString* out) { } } -void AllCPUsMeter_init(Meter* this) { +static void AllCPUsMeter_init(Meter* this) { int processors = this->pl->processorCount; this->drawBuffer = malloc(sizeof(Meter*) * processors); Meter** meters = (Meter**) this->drawBuffer; @@ -133,21 +106,21 @@ void AllCPUsMeter_init(Meter* this) { this->mode = BAR_METERMODE; } -void AllCPUsMeter_done(Meter* this) { +static void AllCPUsMeter_done(Meter* this) { int processors = this->pl->processorCount; Meter** meters = (Meter**) this->drawBuffer; for (int i = 0; i < processors; i++) Meter_delete((Object*)meters[i]); } -void AllCPUsMeter_setMode(Meter* this, int mode) { +static void AllCPUsMeter_setMode(Meter* this, int mode) { this->mode = mode; int processors = this->pl->processorCount; int h = Meter_modes[this->mode]->h; this->h = h * processors; } -void AllCPUsMeter_draw(Meter* this, int x, int y, int w) { +static void AllCPUsMeter_draw(Meter* this, int x, int y, int w) { int processors = this->pl->processorCount; Meter** meters = (Meter**) this->drawBuffer; for (int i = 0; i < processors; i++) { @@ -156,3 +129,30 @@ void AllCPUsMeter_draw(Meter* this, int x, int y, int w) { y += meters[i]->h; } } + +MeterType CPUMeter = { + .setValues = CPUMeter_setValues, + .display = CPUMeter_display, + .mode = BAR_METERMODE, + .items = 6, + .total = 100.0, + .attributes = CPUMeter_attributes, + .name = "CPU", + .uiName = "CPU", + .caption = "CPU", + .init = CPUMeter_init +}; + +MeterType AllCPUsMeter = { + .mode = 0, + .items = 1, + .total = 100.0, + .attributes = CPUMeter_attributes, + .name = "AllCPUs", + .uiName = "All CPUs", + .caption = "CPU", + .draw = AllCPUsMeter_draw, + .init = AllCPUsMeter_init, + .setMode = AllCPUsMeter_setMode, + .done = AllCPUsMeter_done +}; @@ -23,10 +23,6 @@ in the source distribution for its full text. extern int CPUMeter_attributes[]; -extern MeterType CPUMeter; - -extern MeterType AllCPUsMeter; - #ifndef MIN #define MIN(a,b) ((a)<(b)?(a):(b)) #endif @@ -34,18 +30,8 @@ extern MeterType AllCPUsMeter; #define MAX(a,b) ((a)>(b)?(a):(b)) #endif -void CPUMeter_init(Meter* this); - -void CPUMeter_setValues(Meter* this, char* buffer, int size); - -void CPUMeter_display(Object* cast, RichString* out); - -void AllCPUsMeter_init(Meter* this); - -void AllCPUsMeter_done(Meter* this); - -void AllCPUsMeter_setMode(Meter* this, int mode); +extern MeterType CPUMeter; -void AllCPUsMeter_draw(Meter* this, int x, int y, int w); +extern MeterType AllCPUsMeter; #endif @@ -114,6 +114,17 @@ int CRT_colors[LAST_COLORELEMENT] = { 0 }; char* CRT_termType; +static void CRT_handleSIGSEGV(int signal) { + CRT_done(); + fprintf(stderr, "htop " VERSION " aborted. Please report bug at http://htop.sf.net\n"); + exit(1); +} + +static void CRT_handleSIGTERM(int signal) { + CRT_done(); + exit(0); +} + // TODO: pass an instance of Settings instead. void CRT_init(int delay, int colorScheme) { @@ -182,17 +193,6 @@ void CRT_enableDelay() { halfdelay(CRT_delay); } -void CRT_handleSIGSEGV(int signal) { - CRT_done(); - fprintf(stderr, "htop " VERSION " aborted. Please report bug at http://htop.sf.net\n"); - exit(1); -} - -void CRT_handleSIGTERM(int signal) { - CRT_done(); - exit(0); -} - void CRT_setColors(int colorScheme) { CRT_colorScheme = colorScheme; if (colorScheme == COLORSCHEME_BLACKNIGHT) { @@ -127,10 +127,6 @@ void CRT_disableDelay(); void CRT_enableDelay(); -void CRT_handleSIGSEGV(int signal); - -void CRT_handleSIGTERM(int signal); - void CRT_setColors(int colorScheme); #endif diff --git a/CategoriesPanel.c b/CategoriesPanel.c index 9d471217..8b9d6636 100644 --- a/CategoriesPanel.c +++ b/CategoriesPanel.c @@ -35,31 +35,40 @@ static char* ColorsFunctions[10] = {" ", " ", " ", " ", " static char* AvailableColumnsFunctions[10] = {" ", " ", " ", " ", "Add ", " ", " ", " ", " ", "Done "}; -CategoriesPanel* CategoriesPanel_new(Settings* settings, ScreenManager* scr) { - CategoriesPanel* this = (CategoriesPanel*) malloc(sizeof(CategoriesPanel)); - Panel* super = (Panel*) this; - Panel_init(super, 1, 1, 1, 1, LISTITEM_CLASS, true); - ((Object*)this)->delete = CategoriesPanel_delete; - - this->settings = settings; - this->scr = scr; - super->eventHandler = CategoriesPanel_eventHandler; - Panel_setHeader(super, "Setup"); - Panel_add(super, (Object*) ListItem_new("Meters", 0)); - Panel_add(super, (Object*) ListItem_new("Display options", 0)); - Panel_add(super, (Object*) ListItem_new("Colors", 0)); - Panel_add(super, (Object*) ListItem_new("Columns", 0)); - return this; -} - -void CategoriesPanel_delete(Object* object) { +static void CategoriesPanel_delete(Object* object) { Panel* super = (Panel*) object; CategoriesPanel* this = (CategoriesPanel*) object; Panel_done(super); free(this); } -HandlerResult CategoriesPanel_eventHandler(Panel* super, int ch) { +void CategoriesPanel_makeMetersPage(CategoriesPanel* this) { + Panel* leftMeters = (Panel*) MetersPanel_new(this->settings, "Left column", this->settings->header->leftMeters, this->scr); + Panel* rightMeters = (Panel*) MetersPanel_new(this->settings, "Right column", this->settings->header->rightMeters, this->scr); + Panel* availableMeters = (Panel*) AvailableMetersPanel_new(this->settings, leftMeters, rightMeters, this->scr); + ScreenManager_add(this->scr, leftMeters, FunctionBar_new(10, MetersFunctions, NULL, NULL), 20); + ScreenManager_add(this->scr, rightMeters, FunctionBar_new(10, MetersFunctions, NULL, NULL), 20); + ScreenManager_add(this->scr, availableMeters, FunctionBar_new(10, AvailableMetersFunctions, NULL, NULL), -1); +} + +static void CategoriesPanel_makeDisplayOptionsPage(CategoriesPanel* this) { + Panel* displayOptions = (Panel*) DisplayOptionsPanel_new(this->settings, this->scr); + ScreenManager_add(this->scr, displayOptions, FunctionBar_new(10, DisplayOptionsFunctions, NULL, NULL), -1); +} + +static void CategoriesPanel_makeColorsPage(CategoriesPanel* this) { + Panel* colors = (Panel*) ColorsPanel_new(this->settings, this->scr); + ScreenManager_add(this->scr, colors, FunctionBar_new(10, ColorsFunctions, NULL, NULL), -1); +} + +static void CategoriesPanel_makeColumnsPage(CategoriesPanel* this) { + Panel* columns = (Panel*) ColumnsPanel_new(this->settings, this->scr); + Panel* availableColumns = (Panel*) AvailableColumnsPanel_new(this->settings, columns, this->scr); + ScreenManager_add(this->scr, columns, FunctionBar_new(10, ColumnsFunctions, NULL, NULL), 20); + ScreenManager_add(this->scr, availableColumns, FunctionBar_new(10, AvailableColumnsFunctions, NULL, NULL), -1); +} + +static HandlerResult CategoriesPanel_eventHandler(Panel* super, int ch) { CategoriesPanel* this = (CategoriesPanel*) super; HandlerResult result = IGNORED; @@ -107,28 +116,19 @@ HandlerResult CategoriesPanel_eventHandler(Panel* super, int ch) { return result; } -void CategoriesPanel_makeMetersPage(CategoriesPanel* this) { - Panel* leftMeters = (Panel*) MetersPanel_new(this->settings, "Left column", this->settings->header->leftMeters, this->scr); - Panel* rightMeters = (Panel*) MetersPanel_new(this->settings, "Right column", this->settings->header->rightMeters, this->scr); - Panel* availableMeters = (Panel*) AvailableMetersPanel_new(this->settings, leftMeters, rightMeters, this->scr); - ScreenManager_add(this->scr, leftMeters, FunctionBar_new(10, MetersFunctions, NULL, NULL), 20); - ScreenManager_add(this->scr, rightMeters, FunctionBar_new(10, MetersFunctions, NULL, NULL), 20); - ScreenManager_add(this->scr, availableMeters, FunctionBar_new(10, AvailableMetersFunctions, NULL, NULL), -1); -} - -void CategoriesPanel_makeDisplayOptionsPage(CategoriesPanel* this) { - Panel* displayOptions = (Panel*) DisplayOptionsPanel_new(this->settings, this->scr); - ScreenManager_add(this->scr, displayOptions, FunctionBar_new(10, DisplayOptionsFunctions, NULL, NULL), -1); -} - -void CategoriesPanel_makeColorsPage(CategoriesPanel* this) { - Panel* colors = (Panel*) ColorsPanel_new(this->settings, this->scr); - ScreenManager_add(this->scr, colors, FunctionBar_new(10, ColorsFunctions, NULL, NULL), -1); -} +CategoriesPanel* CategoriesPanel_new(Settings* settings, ScreenManager* scr) { + CategoriesPanel* this = (CategoriesPanel*) malloc(sizeof(CategoriesPanel)); + Panel* super = (Panel*) this; + Panel_init(super, 1, 1, 1, 1, LISTITEM_CLASS, true); + ((Object*)this)->delete = CategoriesPanel_delete; -void CategoriesPanel_makeColumnsPage(CategoriesPanel* this) { - Panel* columns = (Panel*) ColumnsPanel_new(this->settings, this->scr); - Panel* availableColumns = (Panel*) AvailableColumnsPanel_new(this->settings, columns, this->scr); - ScreenManager_add(this->scr, columns, FunctionBar_new(10, ColumnsFunctions, NULL, NULL), 20); - ScreenManager_add(this->scr, availableColumns, FunctionBar_new(10, AvailableColumnsFunctions, NULL, NULL), -1); + this->settings = settings; + this->scr = scr; + super->eventHandler = CategoriesPanel_eventHandler; + Panel_setHeader(super, "Setup"); + Panel_add(super, (Object*) ListItem_new("Meters", 0)); + Panel_add(super, (Object*) ListItem_new("Display options", 0)); + Panel_add(super, (Object*) ListItem_new("Colors", 0)); + Panel_add(super, (Object*) ListItem_new("Columns", 0)); + return thi |