From ff9409b1737627857eb47f64f536a3f66b6a09a4 Mon Sep 17 00:00:00 2001 From: Daniel Lange Date: Mon, 11 Apr 2016 13:01:07 +0200 Subject: Imported Upstream version 2.0.0 --- AvailableColumnsPanel.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'AvailableColumnsPanel.c') diff --git a/AvailableColumnsPanel.c b/AvailableColumnsPanel.c index d954da8..6865b8b 100644 --- a/AvailableColumnsPanel.c +++ b/AvailableColumnsPanel.c @@ -6,6 +6,7 @@ in the source distribution for its full text. */ #include "AvailableColumnsPanel.h" +#include "Platform.h" #include "Header.h" #include "ColumnsPanel.h" @@ -13,22 +14,20 @@ in the source distribution for its full text. #include #include #include +#include /*{ #include "Panel.h" -#include "Settings.h" -#include "ScreenManager.h" typedef struct AvailableColumnsPanel_ { Panel super; Panel* columns; - - Settings* settings; - ScreenManager* scr; } AvailableColumnsPanel; }*/ +static const char* AvailableColumnsFunctions[] = {" ", " ", " ", " ", "Add ", " ", " ", " ", " ", "Done ", NULL}; + static void AvailableColumnsPanel_delete(Object* object) { Panel* super = (Panel*) object; AvailableColumnsPanel* this = (AvailableColumnsPanel*) object; @@ -38,7 +37,7 @@ static void AvailableColumnsPanel_delete(Object* object) { static HandlerResult AvailableColumnsPanel_eventHandler(Panel* super, int ch) { AvailableColumnsPanel* this = (AvailableColumnsPanel*) super; - char* text = ((ListItem*) Panel_getSelected(super))->value; + int key = ((ListItem*) Panel_getSelected(super))->key; HandlerResult result = IGNORED; switch(ch) { @@ -47,7 +46,7 @@ static HandlerResult AvailableColumnsPanel_eventHandler(Panel* super, int ch) { case KEY_F(5): { int at = Panel_getSelectedIndex(this->columns); - Panel_insert(this->columns, at, (Object*) ListItem_new(text, 0)); + Panel_insert(this->columns, at, (Object*) ListItem_new(Process_fields[key].name, key)); Panel_setSelected(this->columns, at+1); ColumnsPanel_update(this->columns); result = HANDLED; @@ -55,7 +54,7 @@ static HandlerResult AvailableColumnsPanel_eventHandler(Panel* super, int ch) { } default: { - if (isalpha(ch)) + if (ch < 255 && isalpha(ch)) result = Panel_selectByTyping(super, ch); break; } @@ -71,19 +70,20 @@ PanelClass AvailableColumnsPanel_class = { .eventHandler = AvailableColumnsPanel_eventHandler }; -AvailableColumnsPanel* AvailableColumnsPanel_new(Settings* settings, Panel* columns, ScreenManager* scr) { +AvailableColumnsPanel* AvailableColumnsPanel_new(Panel* columns) { AvailableColumnsPanel* this = AllocThis(AvailableColumnsPanel); Panel* super = (Panel*) this; - Panel_init(super, 1, 1, 1, 1, Class(ListItem), true); - - this->settings = settings; - this->scr = scr; + FunctionBar* fuBar = FunctionBar_new(AvailableColumnsFunctions, NULL, NULL); + Panel_init(super, 1, 1, 1, 1, Class(ListItem), true, fuBar); 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)); + for (int i = 1; i < Platform_numberOfFields; i++) { + if (i != COMM && Process_fields[i].description) { + char description[256]; + snprintf(description, sizeof(description), "%s - %s", Process_fields[i].name, Process_fields[i].description); + Panel_add(super, (Object*) ListItem_new(description, i)); + } } this->columns = columns; return this; -- cgit v1.2.3