00001 #ifndef fields_h
00002 #define fields_h
00003
00004 #define FLD_TYPE_STRING 0
00005 #define FLD_TYPE_BOOL 1
00006 #define FLD_TYPE_NUM 2
00007 #define FLD_TYPE_ENUM 3
00008 #define FLD_TYPE_PAD 4
00009 #define FLD_TYPE_TITLE 5
00010 #define FLD_TYPE_COMBO 6
00011 #define FLD_TYPE_LIST 7
00012
00013 class CONFDB;
00014
00015 class FIELD_DEF: public ARRAY_OBJ{
00016 public:
00017 SSTRING id;
00018 SSTRING title;
00019 SSTRING fdefault;
00020 int type;
00021 int minimum,maximum;
00022 int order;
00023 char must_fill;
00024 SSTRINGS values;
00025
00026 struct {
00027 SSTRING str;
00028 int num;
00029 char sel;
00030 } val;
00031 int field_num;
00032
00033
00034 public:
00035 FIELD_DEF (void);
00036 void delval (CONFDB *c_data, const char *key);
00037 int edit (void);
00038 void loadval (CONFDB *c_data, const char *key);
00039 void saveval (CONFDB *c_data, const char *key);
00040
00041 };
00042
00043 class FIELD_DEFS: public ARRAY{
00044 public:
00045 CONFIG_FILE *f_form;
00046 CONFDB *c_form;
00047
00048 public:
00049 FIELD_DEFS (CONFDB *formconfig);
00050 FIELD_DEFS (CONFIG_FILE *formfile);
00051 FIELD_DEFS (const char *filename);
00052 FIELD_DEFS (void);
00053 void delval (CONFDB *c_data, const char *key);
00054 int edit (void);
00055 SSTRING *getdefault (const char *sid);
00056 FIELD_DEF *getitem (int no)const;
00057 void loadval (CONFDB *c_data, const char *key);
00058 int read (void);
00059 void saveval (CONFDB *c_data, const char *key);
00060 void setupdia (DIALOG&dia);
00061 int write (void);
00062
00063 };
00064
00065
00066 class USERACCT_COMNG;
00067 class DICTIONARY;
00068
00069 #endif
00070