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
00030
00031
00032
00033
00034
00035
00036
00037
00038
00043 void addfdialog::doOk()
00044 {
00045 int idx;
00046 idx = ListBox->currentItem();
00047 if(idx>=0)
00048 {
00049 id = idlist[idx];
00050 field = list[idx];
00051 }
00052 else id="0";
00053 accept();
00054 }
00055
00056
00057 void addfdialog::init()
00058 {
00059 id="0";
00060 field="";
00061 }
00062
00063
00064 void addfdialog::destroy()
00065 {
00066
00067 }
00068
00069
00074 const QString addfdialog::getData(bool name)
00075 {
00076 if(name) return field;
00077 else return id;
00078 }
00079
00085 void addfdialog::setData( QStringList displst, QStringList flst, QStringList ilds)
00086 {
00087 list = flst;
00088 ListBox->insertStringList(displst);
00089 idlist = ilds;
00090 }
00091
00092
00093
00094
00095 void addfdialog::setData( QWidget *o, aCfg *md )
00096 {
00097
00098 wDBField *w = (wDBField *)o;
00099 w->getFields();
00100 setData( w->defDisplayFields, w->defFields,w->defId);
00101 ListBox->setCurrentItem(ListBox->findItem(w->getFieldName()));
00102 }
00103
00104
00105 void addfdialog::getData( QWidget *o )
00106 {
00107 QString s;
00108 wDBField *w = (wDBField *)o;
00109 QValueList<Q_ULLONG> bindList = w->getBindList();
00110 s = getData(true);
00111 if(s.isEmpty()) return;
00112 w->setFieldName(s);
00113 s = getData(false);
00114 if(s=="0") return;
00115
00116 if(bindList.find(s.toULongLong()) != bindList.end())
00117 {
00118 cfg_message(0, tr("field already binding, please select another field."));
00119 return;
00120 }
00121 w->setId(s.toInt());
00122 w->setEditorType();
00123
00124
00125 }