private static void Setup(LadderNetworkViewModel lnvmodel) { foreach (BaseViewModel bvmodel in lnvmodel.GetElements()) { bvmodel.ViewCtrl = smmanager; BaseModel bmodel = bvmodel.Model; if (bmodel == null) { continue; } for (int i = 0; i < bmodel.ParaCount; i++) { IValueModel vmodel = bmodel.GetPara(i); SimulateVariableUnit svunit = null; if (vmodel.ValueString.Equals(String.Empty)) { continue; } switch (vmodel.Type) { case LadderValueType.Bool: svunit = smodel.GetVariableUnit(vmodel.ValueString, "BIT"); break; case LadderValueType.Word: svunit = smodel.GetVariableUnit(vmodel.ValueString, "WORD"); break; case LadderValueType.DoubleWord: svunit = smodel.GetVariableUnit(vmodel.ValueString, "DWORD"); break; case LadderValueType.Float: svunit = smodel.GetVariableUnit(vmodel.ValueString, "FLOAT"); break; case LadderValueType.String: svunit = new SimulateStringUnit(vmodel.ValueString); break; } svunit.CanClose = false; SimuMoniValueModel smvmodel = new SimuMoniValueModel(svunit, smodel); bvmodel.SetValueModel(i, smvmodel); } } }
public void Add(ElementModel emodel) { SimulateVariableUnit svunit = smodel.GetVariableUnit(emodel.ShowName, _Type(emodel.DataType)); if (!dict.ContainsKey(svunit)) { dict.Add(svunit, emodel); emodel.RefCount = 1; svunit.ValueChanged += OnValueChanged; } else { emodel = dict[svunit]; emodel.RefCount++; } UpdateValue(emodel, svunit); }