private ElementModel GetElement(IValueModel model) { ElementModel elementmodel = new ElementModel(); elementmodel.AddrType = model.Base; elementmodel.StartAddr = model.Index; elementmodel.DataType = GetDataType(model.Type); if (model.Offset != WordValue.Null) { elementmodel.IsIntrasegment = true; elementmodel.IntrasegmentType = model.Offset.Base; elementmodel.IntrasegmentAddr = model.Offset.Index; } else { elementmodel.IsIntrasegment = false; } elementmodel.SetShowTypes(); return(elementmodel); }
private void Initialize(LadderNetworkViewModel lnvmodel) { foreach (BaseViewModel bvmodel in lnvmodel.GetElements()) { bvmodel.ViewCtrl = this; BaseModel bmodel = bvmodel.Model; if (bmodel == null) { continue; } for (int i = 0; i < bmodel.ParaCount; i++) { IValueModel ivmodel = bmodel.GetPara(i); if (AssertValueModel(ivmodel)) { ElementModel elementmodel = new ElementModel(); elementmodel.AddrType = ivmodel.Base; elementmodel.StartAddr = ivmodel.Index; elementmodel.DataType = GetDataType(ivmodel.Type); if (ivmodel.Offset != WordValue.Null) { elementmodel.IsIntrasegment = true; elementmodel.IntrasegmentType = ivmodel.Offset.Base; elementmodel.IntrasegmentAddr = ivmodel.Offset.Index; } else { elementmodel.IsIntrasegment = false; } elementmodel.SetShowTypes(); _Add(elementmodel, false); elementmodel = Get(elementmodel); bvmodel.SetValueModel(i, elementmodel); } } } }