diff options
author | Hisham Muhammad <hisham@gobolinux.org> | 2006-05-30 13:52:12 +0000 |
---|---|---|
committer | Hisham Muhammad <hisham@gobolinux.org> | 2006-05-30 13:52:12 +0000 |
commit | 73de9f1ed4fad1c55a1116c411a1e8bb13c0ae72 (patch) | |
tree | fdf44194175e52255dd9bd6130062b2fdbb3fa7e /ColumnsListBox.c | |
parent | c2cdcd0c1d2950291243b3a8645b5f061a0cdb2a (diff) |
Rename ListBox'es to Panel's, matching dit.
Diffstat (limited to 'ColumnsListBox.c')
-rw-r--r-- | ColumnsListBox.c | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/ColumnsListBox.c b/ColumnsListBox.c deleted file mode 100644 index 8d3dd458..00000000 --- a/ColumnsListBox.c +++ /dev/null @@ -1,104 +0,0 @@ - -#include "ColumnsPanel.h" - -#include "Panel.h" -#include "Settings.h" -#include "ScreenManager.h" - -#include "debug.h" -#include <assert.h> - -/*{ - -typedef struct ColumnsPanel_ { - Panel super; - - Settings* settings; - ScreenManager* scr; -} ColumnsPanel; - -}*/ - -ColumnsPanel* ColumnsPanel_new(Settings* settings, ScreenManager* scr) { - ColumnsPanel* this = (ColumnsPanel*) malloc(sizeof(ColumnsPanel)); - Panel* super = (Panel*) this; - Panel_init(super, 1, 1, 1, 1, LISTITEM_CLASS, true); - ((Object*)this)->delete = ColumnsPanel_delete; - - this->settings = settings; - this->scr = scr; - super->eventHandler = ColumnsPanel_eventHandler; - Panel_setHeader(super, "Active Columns"); - - ProcessField* fields = this->settings->pl->fields; - for (; *fields; fields++) { - Panel_add(super, (Object*) ListItem_new(Process_fieldNames[*fields], 0)); - } - return this; -} - -void ColumnsPanel_delete(Object* object) { - Panel* super = (Panel*) object; - ColumnsPanel* this = (ColumnsPanel*) object; - Panel_done(super); - free(this); -} - -void ColumnsPanel_update(Panel* super) { - ColumnsPanel* this = (ColumnsPanel*) super; - int size = Panel_getSize(super); - this->settings->changed = true; - // FIXME: this is crappily inefficient - free(this->settings->pl->fields); - this->settings->pl->fields = (ProcessField*) malloc(sizeof(ProcessField) * (size+1)); - for (int i = 0; i < size; i++) { - char* text = ((ListItem*) Panel_get(super, i))->value; - for (int j = 1; j <= LAST_PROCESSFIELD; j++) { - if (String_eq(text, Process_fieldNames[j])) { - this->settings->pl->fields[i] = j; - break; - } - } - } - this->settings->pl->fields[size] = 0; -} - -HandlerResult ColumnsPanel_eventHandler(Panel* super, int ch) { - - int selected = Panel_getSelectedIndex(super); - HandlerResult result = IGNORED; - int size = Panel_getSize(super); - - switch(ch) { - case KEY_F(7): - case '[': - case '-': - { - if (selected < size - 1) - Panel_moveSelectedUp(super); - result = HANDLED; - break; - } - case KEY_F(8): - case ']': - case '+': - { - if (selected < size - 2) - Panel_moveSelectedDown(super); - result = HANDLED; - break; - } - case KEY_F(9): - case KEY_DC: - { - if (selected < size - 1) { - Panel_remove(super, selected); - } - result = HANDLED; - break; - } - } - if (result == HANDLED) - ColumnsPanel_update(super); - return result; -} |