1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #ifndef HEADER_IncSet
- #define HEADER_IncSet
- /*
- htop - IncSet.h
- (C) 2005-2012 Hisham H. Muhammad
- Released under the GNU GPLv2+, see the COPYING file
- in the source distribution for its full text.
- */
- #include <stdbool.h>
- #include <stddef.h>
- #include "FunctionBar.h"
- #include "Panel.h"
- #include "Vector.h"
- #define INCMODE_MAX 128
- typedef enum {
- INC_SEARCH = 0,
- INC_FILTER = 1
- } IncType;
- typedef struct IncMode_ {
- char buffer[INCMODE_MAX + 1];
- int index;
- FunctionBar* bar;
- bool isFilter;
- } IncMode;
- typedef struct IncSet_ {
- IncMode modes[2];
- IncMode* active;
- Panel* panel;
- FunctionBar* defaultBar;
- bool filtering;
- bool found;
- } IncSet;
- static inline const char* IncSet_filter(const IncSet* this) {
- return this->filtering ? this->modes[INC_FILTER].buffer : NULL;
- }
- void IncSet_setFilter(IncSet* this, const char* filter);
- typedef const char* (*IncMode_GetPanelValue)(Panel*, int);
- void IncSet_reset(IncSet* this, IncType type);
- IncSet* IncSet_new(FunctionBar* bar);
- void IncSet_delete(IncSet* this);
- bool IncSet_handleKey(IncSet* this, int ch, Panel* panel, IncMode_GetPanelValue getPanelValue, Vector* lines);
- const char* IncSet_getListItemValue(Panel* panel, int i);
- void IncSet_activate(IncSet* this, IncType type, Panel* panel);
- void IncSet_drawBar(const IncSet* this, int attr);
- int IncSet_synthesizeEvent(IncSet* this, int x);
- #endif
|