50void eField::setData( QWidget *o,
aCfg *cfg )
58 if ( o->className() != QString(
"wField") || !md ) {
63 QString ts = f->getFieldType();
66 int w=0, d=0, oid, idx=0;
73 QStringList tlist = md->types();
76 for ( QStringList::Iterator it = tlist.begin(); it != tlist.end(); ++it ) {
77 otypes.append( (*it).section(
"\t", 0, 0 ) );
78 eType->insertItem( (*it).section(
"\t", 1, 1 ), idx++ );
80 if ( !ts.isEmpty() ) {
81 sscanf( ts,
"%c %d %d", &t, &w, &d );
87 for( i = 0 ; i < otypes.count(); i++ ) {
88 if( otypes[i][0] ==
'O' ) {
89 sscanf( (
const char *)otypes[ i ],
"O %d", &oid );
91 eType->setCurrentItem( i );
97 eWidth->setValue( w );
99 if ( t ==
' ' ) eType->setCurrentItem( 0 );
100 if ( t ==
'N' ) eType->setCurrentItem( 1 );
101 if ( t ==
'C' ) eType->setCurrentItem( 2 );
102 if ( t ==
'D' ) eType->setCurrentItem( 3 );
103 if ( t ==
'B' ) eType->setCurrentItem( 4 );
105 typeSelect( eType->currentItem() );
109void eField::getData( QWidget *o )
113 if ( o->className() != QString(
"wField") )
return;
115 wField::tEditorType type;
117 int idx=eType->currentItem();
121 sprintf(ntype, (
const char *) otypes[idx], eWidth->value(), eDec->value());
123 if(otypes[idx][0]==
' ') type = wField::Unknown;
124 if(otypes[idx][0]==
'N') type = wField::Numberic;
125 if(otypes[idx][0]==
'C') type = wField::String;
126 if(otypes[idx][0]==
'D') type = wField::Date;
127 if(otypes[idx][0]==
'B') type = wField::Boolean;
128 if(otypes[idx][0]==
'O')
130 QString tmp = otypes[idx].section(
' ',1,1);
131 long tid = atol(tmp);
132 aCfgItem item = md->find(tid);
136 tmp = md->objClass(item);
137 if(tmp == md_catalogue)
138 type = wField::Catalogue;
139 if(tmp == md_document)
140 type = wField::Document;
147void eField::typechanged(
const QString &s )
151void eField::typeSelect(
int idx )
153 bool w =
false, d =
false;
154 if ( otypes[ idx ][0] ==
'N' ){
159 if ( otypes[ idx ][0] ==
'C' ){
163 eWidth->setShown( w );
164 tWidth->setShown( w );
Класс реализует програмный интерфейс доступа к элементам метаданных системы. Наследует QObject.
Определения acfg.h:437
Плагин – виджет предназначенный для редактирования значений любых типов, определенных в бизнес схеме....
Определения wfield.h:64
void setEditorType(tEditorType n)
Определения wfield.cpp:324
void setFieldType(QString n)
Определения wfield.cpp:308