1 /* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ 2 3 #ifndef _DATA_H_ 4 5 #define _DATA_H_ 6 7 /* Check init_data() in main.c */ 8 #define MAX_ENTRY 9 9 10 /* 11 * typedefs 12 */ 13 typedef enum { ENT_NONE, ENT_STRING, ENT_NUMERIC, ENT_COLOR, ENT_BOOL, ENT_RADIO } entry_type_t; 14 15 typedef struct { 16 const char *name; 17 const char *key; 18 int modified; 19 entry_type_t type; 20 void *data; 21 } entry_t; 22 23 typedef struct { 24 const char *name; 25 int size; 26 int selected; 27 int modified; 28 int maxwidth; 29 entry_t entry[MAX_ENTRY]; 30 } section_t; 31 32 typedef enum { DS_CANCEL, DS_SELECT, DS_EDIT } display_state_t; 33 34 int entry_free(entry_t *entry); 35 int entry_edit(window_t *window, entry_t *entry, int x, int y); 36 int entry_apply(entry_t *entry); 37 int entry_display(window_t *window, entry_t *entry, int x, int y, int state); 38 int entry_reset(entry_t *entry); 39 window_t *entry_window_new(window_t *section); 40 41 void section_free(section_t *section); 42 #endif 43