diff options
author | Daniel Lange <DLange@git.local> | 2016-04-11 13:00:22 +0200 |
---|---|---|
committer | Daniel Lange <DLange@git.local> | 2016-04-11 13:00:22 +0200 |
commit | c74c38760df69bb87e93dff18cf91464e5d02f37 (patch) | |
tree | ee2a19a0ef3a808bdfc8c1e6a00e96d79966dcb0 /AvailableColumnsPanel.c | |
parent | 9379132a8234eeedf62d37ef57713e52c12db6ab (diff) | |
download | debian_htop-c74c38760df69bb87e93dff18cf91464e5d02f37.tar.gz debian_htop-c74c38760df69bb87e93dff18cf91464e5d02f37.tar.bz2 debian_htop-c74c38760df69bb87e93dff18cf91464e5d02f37.zip |
Imported Upstream version 0.8.1upstream/0.8.1
Diffstat (limited to 'AvailableColumnsPanel.c')
-rw-r--r-- | AvailableColumnsPanel.c | 49 |
1 files changed, 24 insertions, 25 deletions
diff --git a/AvailableColumnsPanel.c b/AvailableColumnsPanel.c index 237be69..b21bd3c 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; @@ -59,10 +39,9 @@ HandlerResult AvailableColumnsPanel_eventHandler(Panel* super, int ch) { case KEY_ENTER: case KEY_F(5): { - int at = Panel_getSelectedIndex(this->columns) + 1; - if (at == Panel_getSize(this->columns)) - at--; + int at = Panel_getSelectedIndex(this->columns); Panel_insert(this->columns, at, (Object*) ListItem_new(text, 0)); + Panel_setSelected(this->columns, at+1); ColumnsPanel_update(this->columns); result = HANDLED; break; @@ -70,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; +} |