diff options
Diffstat (limited to 'DynamicColumn.h')
-rw-r--r-- | DynamicColumn.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/DynamicColumn.h b/DynamicColumn.h new file mode 100644 index 0000000..bdce82d --- /dev/null +++ b/DynamicColumn.h @@ -0,0 +1,45 @@ +#ifndef HEADER_DynamicColumn +#define HEADER_DynamicColumn +/* +htop - DynamicColumn.h +(C) 2023 htop dev team +Released under the GNU GPLv2+, see the COPYING file +in the source distribution for its full text. +*/ + +#include <stdbool.h> + +#include "Hashtable.h" +#include "Process.h" +#include "RichString.h" +#include "Table.h" + + +#define DYNAMIC_MAX_COLUMN_WIDTH 64 +#define DYNAMIC_DEFAULT_COLUMN_WIDTH -5 + +typedef struct DynamicColumn_ { + char name[32]; /* unique, internal-only name */ + char* heading; /* displayed in main screen */ + char* caption; /* displayed in setup menu (short name) */ + char* description; /* displayed in setup menu (detail) */ + int width; /* display width +/- for value alignment */ + bool enabled; /* false == ignore this column (until enabled) */ + Table* table; /* pointer to DynamicScreen or ProcessTable */ +} DynamicColumn; + +Hashtable* DynamicColumns_new(void); + +void DynamicColumns_delete(Hashtable* dynamics); + +const char* DynamicColumn_name(unsigned int key); + +void DynamicColumn_done(DynamicColumn* this); + +const DynamicColumn* DynamicColumn_lookup(Hashtable* dynamics, unsigned int key); + +const DynamicColumn* DynamicColumn_search(Hashtable* dynamics, const char* name, unsigned int* key); + +bool DynamicColumn_writeField(const Process* proc, RichString* str, unsigned int key); + +#endif |