//************************************************* //* TCfg * //************************************************* TCfg::TCfg( TFld &fld, TConfig &owner ) : mView(true), mKeyUse(false), mNoTransl(false), mReqKey(false), mExtVal(false), mInCfgCh(false), mOwner(owner) { //Chek for self field for dinamic elements if(fld.flg()&TFld::SelfFld) { mFld = new TFld(); *mFld = fld; } else mFld = &fld; switch(mFld->type()) { case TFld::String: setType(TVariant::String, true, (fld.flg()&TCfg::Key)); TVariant::setS(mFld->def()); break; case TFld::Integer: setType(TVariant::Integer, true); TVariant::setI(s2ll(mFld->def())); break; case TFld::Real: setType(TVariant::Real, true); TVariant::setR(s2r(mFld->def())); break; case TFld::Boolean: setType(TVariant::Boolean, true); TVariant::setB((bool)s2i(mFld->def()));break; default: break; } if(fld.flg()&TCfg::Hide) mView = false; }
TFld::TFld( TFld &ifld, const char *name ) : mLen(0), mDec(0), mType(TFld::Integer), mFlg(0) { mSel = NULL; mVal.s = NULL; mName = name ? string(name) : ifld.name(); mDescr = ifld.descr(); mType = ifld.type(); mFlg = ifld.flg(); mDef = ifld.def(); mRes = ifld.reserve(); mLen = ifld.len(); mDec = ifld.dec(); setValues(ifld.values()); setSelNames(ifld.selNames()); }