aboutsummaryrefslogtreecommitdiffstats
path: root/AvailableColumnsPanel.c
diff options
context:
space:
mode:
Diffstat (limited to 'AvailableColumnsPanel.c')
-rw-r--r--AvailableColumnsPanel.c37
1 files changed, 28 insertions, 9 deletions
diff --git a/AvailableColumnsPanel.c b/AvailableColumnsPanel.c
index b21bd3c..d954da8 100644
--- a/AvailableColumnsPanel.c
+++ b/AvailableColumnsPanel.c
@@ -1,16 +1,23 @@
+/*
+htop - AvailableColumnsPanel.c
+(C) 2004-2011 Hisham H. Muhammad
+Released under the GNU GPL, see the COPYING file
+in the source distribution for its full text.
+*/
#include "AvailableColumnsPanel.h"
-#include "Settings.h"
+
#include "Header.h"
-#include "ScreenManager.h"
#include "ColumnsPanel.h"
-#include "Panel.h"
-
-#include "debug.h"
#include <assert.h>
+#include <stdlib.h>
+#include <ctype.h>
/*{
+#include "Panel.h"
+#include "Settings.h"
+#include "ScreenManager.h"
typedef struct AvailableColumnsPanel_ {
Panel super;
@@ -46,19 +53,31 @@ static HandlerResult AvailableColumnsPanel_eventHandler(Panel* super, int ch) {
result = HANDLED;
break;
}
+ default:
+ {
+ if (isalpha(ch))
+ result = Panel_selectByTyping(super, ch);
+ break;
+ }
}
return result;
}
+PanelClass AvailableColumnsPanel_class = {
+ .super = {
+ .extends = Class(Panel),
+ .delete = AvailableColumnsPanel_delete
+ },
+ .eventHandler = AvailableColumnsPanel_eventHandler
+};
+
AvailableColumnsPanel* AvailableColumnsPanel_new(Settings* settings, Panel* columns, ScreenManager* scr) {
- AvailableColumnsPanel* this = (AvailableColumnsPanel*) malloc(sizeof(AvailableColumnsPanel));
+ AvailableColumnsPanel* this = AllocThis(AvailableColumnsPanel);
Panel* super = (Panel*) this;
- Panel_init(super, 1, 1, 1, 1, LISTITEM_CLASS, true);
- ((Object*)this)->delete = AvailableColumnsPanel_delete;
+ Panel_init(super, 1, 1, 1, 1, Class(ListItem), true);
this->settings = settings;
this->scr = scr;
- super->eventHandler = AvailableColumnsPanel_eventHandler;
Panel_setHeader(super, "Available Columns");