예제 #1
0
 public BxCompoundCoreFieldData(FieldInfo fi)
 {
     _fi             = fi;
     _configID       = null;
     _suicProvider   = null;
     _staticUIConfig = InvalidSUIC;
 }
예제 #2
0
        public virtual void InitCarrier(IBxElementCarrier carrier)
        {
            if (carrier == null)
            {
                throw new NullReferenceException();
            }
            if (_carrier == carrier)
            {
                return;
            }
            bool bFirstInit = (_carrier == null);

            _carrier = carrier;

            if (_childs.Count > 0)
            {
                foreach (T one in ChildSites)
                {
                    if (bFirstInit)
                    {
                        one.InitContainer(this);
                    }
                    one.InitCarrier(_carrier);
                }
            }
            if (bFirstInit)
            {
                BxXmlUIItem xmlItem = StaticXmlItem;
                if (xmlItem != null)
                {
                    _childs.ForEach(x => x.InitStaticUIConfig(xmlItem));
                }
            }
        }
예제 #3
0
 public BxXmlUIItem GetStaticXmlUIItem()
 {
     if ((_staticItem == null) && (_xmlFileID != null) && (_configItemID != null))
     {
         _staticItem = new BxXmlUIItem(_configItemID.Value, _xmlFileID, Carrier.UIConfigProvider);
     }
     return(_staticItem);
 }
예제 #4
0
 public virtual void InitStaticUIConfig(BxXmlUIItem staticItem)
 {
     _staticItem = staticItem;
     if (_config != null)
     {
         _config.XmlItem = _staticItem;
     }
 }
예제 #5
0
 public virtual void InitStaticUIConfig(BxXmlUIItem staticItem)
 {
     if (_staticItem == staticItem)
     {
         return;
     }
     _staticItem = staticItem;
 }
예제 #6
0
 public override void InitStaticUIConfig(BxXmlUIItem staticItem)
 {
     base.InitStaticUIConfig(staticItem);
     if (_childs.Count > 0)
     {
         foreach (T one in _childs)
         {
             one.InitStaticUIConfig(staticItem);
         }
     }
 }
예제 #7
0
 public void InitConfigID(string xmlFileID, Int32 itemID)
 {
     _xmlFileID    = xmlFileID;
     _configItemID = itemID;
     if (_config != null)
     {
         _staticItem     = new BxXmlUIItem(_configItemID.Value, _xmlFileID, _carrier.UIConfigProvider);
         _config.XmlItem = _staticItem;
     }
     else
     {
         _staticItem = null;
     }
 }
예제 #8
0
 protected BxXmlUIItem GetXmlUIItem()
 {
     if (_staticItem == null)
     {
         if ((_xmlFileID != null) && (_configItemID != null))
         {
             _staticItem = new BxXmlUIItem(_configItemID.Value, _xmlFileID, _carrier.UIConfigProvider);
             if (_config != null)
             {
                 _config.XmlItem = _staticItem;
             }
         }
     }
     return(_staticItem);
 }
예제 #9
0
        public override void InitStaticUIConfig(BxXmlUIItem staticItem)
        {
            base.InitStaticUIConfig(staticItem);
            BxXmlUITable t = staticItem.SubItemTable;

            if (t != null)
            {
                _columnConfigs = new IBxUIConfigEx[t.SubColumns.Length];
                BxXmlUIItem item = null;
                for (int i = 0; i < t.SubColumns.Length; i++)
                {
                    item = new BxXmlUIItem(t.SubColumns[i], _staticItem.UIConfigFile);
                    _columnConfigs[i] = new BxUIConfigItemEx(item);
                }
            }
        }
예제 #10
0
        public override void InitFieldInfo(IBxCompound container, FieldInfo info)
        {
            base.InitFieldInfo(container, info);
            //获取Sub element 的配置
            BxXmlUIItem  staticItem = GetXmlUIItem();
            BxXmlUITable t          = staticItem.SubItemTable;

            if (t != null)
            {
                _columnConfigs = new IBxUIConfigEx[t.SubColumns.Length];
                BxXmlUIItem item = null;
                for (int i = 0; i < t.SubColumns.Length; i++)
                {
                    item = new BxXmlUIItem(t.SubColumns[i], _staticItem.UIConfigFile);
                    _columnConfigs[i] = new BxUIConfigItemEx(item);
                }
            }
        }
예제 #11
0
 public BxUIConfigItemEx GetUIConfigItemEx()
 {
     if (_config == null)
     {
         if (_staticItem != null)
         {
             _config = new BxUIConfigItemEx(_staticItem);
         }
         else
         {
             if ((_carrier != null) && (_xmlFileID != null) && (_configItemID != null))
             {
                 _staticItem = new BxXmlUIItem(_configItemID.Value, _xmlFileID, _carrier.UIConfigProvider);
                 _config     = new BxUIConfigItemEx(_staticItem);
             }
         }
     }
     return(_config);
 }
예제 #12
0
        public BxXmlUIItem GetStaticUIConfig(string id)
        {
            BxXmlUIItem staticUIConfig;

            if (_map.TryGetValue(id, out staticUIConfig))
            {
                return(staticUIConfig);
            }

            IBxUIConfigFile file;
            XmlElement      xmlNode;

            if (_uiConfigProvider.FindUIConfigItem(BxUIConfigID.GetItemID(id), BxUIConfigID.GetFileID(id), out xmlNode, out file))
            {
                staticUIConfig = new BxXmlUIItem(id, this, _uiConfigProvider);
                _map.Add(id, staticUIConfig);
                return(staticUIConfig);
            }
            return(null);
        }
예제 #13
0
 public BxSUICPregnant()
 {
     _suicProvider = null; _suic = BxXmlUIItem.Invalid;
 }
예제 #14
0
 public BxSUICPregnant(string fullID)
 {
     _id           = fullID;
     _suicProvider = null;
     _suic         = BxXmlUIItem.Invalid;
 }
예제 #15
0
 public BxSUICPregnant(string fullID, IBxStaticUIConfigProvider suicProvider)
 {
     _id           = fullID;
     _suicProvider = suicProvider;
     _suic         = BxXmlUIItem.Invalid;
 }
예제 #16
0
 public void InitSUICProvider(IBxStaticUIConfigProvider suicProvider)
 {
     _suicProvider = suicProvider;
     _suic         = BxXmlUIItem.Invalid;
 }
예제 #17
0
 public void InitSUICProvider(IBxStaticUIConfigProvider suicProvider)
 {
     _suicProvider   = suicProvider;
     _staticUIConfig = InvalidSUIC;
 }
예제 #18
0
 public override void InitStaticUIConfig(BxXmlUIItem staticItem)
 {
     base.InitStaticUIConfig(staticItem);
     _value.InitStaticUIConfig(staticItem.SubArrayUIItem);
 }
예제 #19
0
 //suicProvider不能是空的
 public BxCompoundFieldData(BxCompoundCoreFieldData fi, IBxStaticUIConfigProvider suicProvider)
 {
     _fi             = fi;
     _suicProvider   = suicProvider;
     _staticUIConfig = InvalidSUIC;
 }