00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
#ifndef _vdkxclist_h
00030
#define _vdkxclist_h
00031
#include <vdkxdb2/vdkxctrl.h>
00032
#include <vdk/vdkclist.h>
00033
#include <vdk/value_sem_list.h>
00034
#include <vdk/vdkarray.h>
00035
00036
class VDKXCustomList;
00037
00038
class ClistField
00039 {
00040
public:
00041 VDKString name;
00042 xbShort
id,type,len;
00043 ClistField():name(""),id(-1),type(-1),len(0) {}
00044 ClistField(
char* name, xbShort
id, xbShort type, xbShort len):
00045 name(name),id(id),type(type),len(len) {}
00046 ~ClistField() {}
00047
bool operator==(ClistField& f)
00048 {
return id == f.id; }
00049
bool operator<(ClistField& f)
00050 {
return id < f.id; }
00051 };
00052
00053
00054
00055
00056
typedef VDKArray<ClistField> FieldArray;
00057
00058
00066 class VDKXCustomList:
00067
public VDKCustomList,
public VDKXControl
00068 {
00069
protected:
00070
00071 FieldArray fieldArray;
00072
void PrepareTupleTh(
char** tuple,
int z);
00073
public:
00074
00086
VDKXCustomList(VDKForm* owner,
00087
int columns = 1,
00088
char** titles = NULL,
00089 GtkSelectionMode mode = GTK_SELECTION_SINGLE);
00091 virtual ~VDKXCustomList() {}
00095
virtual xbShort
Read();
00105
virtual bool AssignTableFieldToColumn(
00106
int column,
00107
VDKXTable* table,
00108
char* fname);
00109
bool AssignTableFieldToColumn(
int column,
00110
VDKXDatabase* xdb,
00111
char* tablename,
00112
char* fieldname);
00117
bool AssignTable(
VDKXTable* t);
00118
00119 };
00120
#endif