public void SetNextLogInfo(String row, int lineNumber) { switch (lineNumber) { case 2: string[] version = row.Split(new char[] { '\t' }, StringSplitOptions.None); if (version.Length == 2) { Softwareversion = version[1].Trim(); } break; case 3: string[] system = row.Split(new char[] { '\t' }, StringSplitOptions.None); if (system.Length == 2) { SolvisSystem = system[1].Trim(); } break; case 4: String[] names = row.Split(new char[] { '\t' }, StringSplitOptions.None); if (names.Length > 2) { for (int i = 2; i < names.Length; i++) { attribs.Add(new IOAttribute(names[i])); } } break; case 5: string[] formats = row.Split(new char[] { '\t' }, StringSplitOptions.None); if (formats.Length > 2 && attribs.Count == formats.Length - 2) { for (int i = 2; i < formats.Length; i++) { attribs[i - 2].SetValues(formats[i]); } } int actualSensorIndex = 0; int actualActorIndex = CountSensorCheckBoxes; for (int i = 0; i < attribs.Count; i++) { IOAttribute iOAttrib = attribs[i]; if (iOAttrib.Ident == GroupIdent.Sensor && actualSensorIndex < CountSensorCheckBoxes) { NamesAndUnits[actualSensorIndex++] = iOAttrib.IOName + ", " + iOAttrib.Unit; } if (iOAttrib.Ident == GroupIdent.Actor && actualActorIndex < (CountSensorCheckBoxes + CountActorCheckBoxes)) { NamesAndUnits[actualActorIndex++] = iOAttrib.IOName + ", " + iOAttrib.Unit; } } AppManager.MainForm.UpdateToolTips(); break; default: break; } }
private void MiConvert(string[] values) { int actualSensorIndex = 0; int actualActorIndex = 0; int k, j; for (k = 2, j = 0; k < values.Length; k++, j++) { int tmp = Convert.ToInt32(values[k], CultureInfo.InvariantCulture); if (j == S10Index) //Aussen Temperatur { S10Raw = (double)tmp / 10.0D; int last = mean.GetLastValue(tmp); if (Math.Abs(last - tmp) > 40) //4 Grad Abweichung zulässig { tmp = last; } mean.Write(tmp); } IOAttribute iOAttrib = Infos.Attribs[j]; if (iOAttrib.Ident == GroupIdent.Sensor && actualSensorIndex < Infos.CountSensorCheckBoxes) { sensors[actualSensorIndex++] = (double)tmp * iOAttrib.Multiplier; } if (iOAttrib.Ident == GroupIdent.Actor && actualActorIndex < Infos.CountActorCheckBoxes) { actors[actualActorIndex++] = (double)tmp * iOAttrib.Multiplier; } } }
/// <summary> /// Creates a binsized pin according to the information in the desciptor. Ignores IsRequired. /// </summary> /// <param name="field"></param> /// <exception cref="InvalidComObjectException">PluginInterface: Internal COM disconnect</exception> /// <returns>The container around the pin.</returns> protected virtual IIOContainer CreatePin(FormularFieldDescriptor field) { IOAttribute attr = SetPinAttributes(field); // each implementation of DynamicPinsNode must create its own InputAttribute or OutputAttribute ( Type pinType = typeof(ISpread <>).MakeGenericType((typeof(ISpread <>)).MakeGenericType(field.Type)); // the Pin is always a binsized one IIOContainer pin = null; pin = FPins[field.Name] = FIOFactory.CreateIOContainer(pinType, attr); DynPinCount += 2; // total pincount. always add two to account for data pin and binsize pin return(pin); }
public DiffSpreadList(IIOFactory ioFactory, IOAttribute attribute) : base(0) { //store fields FIOFactory = ioFactory; FAttribute = attribute; //create config pin var att = new ConfigAttribute(FAttribute.Name + " Count"); att.DefaultValue = 2; //increment instance Counter and store it as pin offset FOffsetCounter = FInstanceCounter++; FCountSpread = ioFactory.CreateIO <IDiffSpread <int> >(att); FCountSpread.Changed += UpdatePins; }
public SpreadList(IIOFactory factory, IOAttribute attribute) : base(new SpreadListStream()) { //store fields FFactory = factory; FAttribute = attribute; //increment instance Counter and store it as pin offset FOffsetCounter = FInstanceCounter++; //create config pin FCountSpread = factory.CreateIO <IDiffSpread <int> >( new ConfigAttribute(FAttribute.Name + " Count") { DefaultValue = 2, MinValue = 2 } ); FCountSpread.Changed += HandleCountSpreadChanged; FCountSpread.Sync(); }
protected virtual void OnConfigChange(IDiffSpread <string> configSpread) { var formular = new MessageFormular(MessageFormular.DYNAMIC, configSpread[0] ?? "string Value"); if (formular.FieldNames.Count() < 1) { return; } if (FValue != null) { FValue.Dispose(); } var name = formular.FieldNames.First(); TargetDynamicType = formular[name].Type; IOAttribute attr = DefinePin(formular[name]); // each implementation of DynamicNode must create its own InputAttribute or OutputAttribute Type pinType = typeof(ISpread <>).MakeGenericType((typeof(ISpread <>)).MakeGenericType(TargetDynamicType)); // the Pin is always a binsized one FValue = FIOFactory.CreateIOContainer(pinType, attr); }
public BinSpread(IIOFactory ioFactory, IOAttribute attribute, BinSpreadStream stream) : base(stream) { FIOFactory = ioFactory; }
/// <summary></summary> /// <param name="spread"></param> /// <param name="attr"></param> public SpreadWrapper(ISpread spread, IOAttribute attr) { Attributes = attr; Spread = spread; }
protected virtual void HandleConfigChange(IDiffSpread <string> configSpread) { FCount = 0; List <string> invalidPins = FPins.Keys.ToList(); string[] config = configSpread[0].Trim().Split(','); foreach (string pinConfig in config) { string[] pinData = pinConfig.Trim().Split(' '); try { string typeName = pinData[0].ToLower(); string name = pinData[1]; bool create = false; if (FPins.ContainsKey(name) && FPins[name] != null) { invalidPins.Remove(name); if (FTypes.ContainsKey(name)) { if (FTypes[name] != typeName) { FPins[name].Dispose(); FPins[name] = null; create = true; } } else { // key is in FPins, but no type defined. should never happen create = true; } } else { FPins.Add(name, null); create = true; } if (create) { Type type = typeof(string); foreach (Type key in TypeIdentity.Instance.Keys) { if (TypeIdentity.Instance[key] == typeName) { type = key; } } IOAttribute attr = DefinePin(name, type); // each implementation of DynamicNode must create its own InputAttribute or OutputAttribute ( Type pinType = typeof(ISpread <>).MakeGenericType((typeof(ISpread <>)).MakeGenericType(type)); // the Pin is always a binsized one FPins[name] = FIOFactory.CreateIOContainer(pinType, attr); FTypes.Add(name, typeName); } FCount += 2; // total pincount. always add two to account for data pin and binsize pin } catch (Exception ex) { var e = ex; FLogger.Log(LogType.Debug, ex.ToString()); FLogger.Log(LogType.Debug, "Invalid Descriptor in Config Pin"); } } foreach (string name in invalidPins) { FPins[name].Dispose(); FPins.Remove(name); FTypes.Remove(name); } }
public GenericInput(IPluginHost plgh, IOAttribute attr) { plgh.CreateNodeInput(attr.Name, (TSliceMode)attr.SliceMode, (TPinVisibility)attr.Visibility, out Pin); Pin.SetSubType2(null, new Guid[] { }, "Variant"); }
public GenericBinSizedInput(IPluginHost plgh, IOAttribute attr) { plgh.CreateNodeInput(attr.Name, (TSliceMode)attr.SliceMode, (TPinVisibility)attr.Visibility, out Pin); plgh.CreateValueInput(attr.Name + " Bin Size", 1, new[] { "X" }, TSliceMode.Dynamic, (TPinVisibility)attr.Visibility, out BinSizePin); Pin.SetSubType2(null, new Guid[] { }, "Variant"); }
public DiffSpreadPin(NGIDiffSpread spread, IOAttribute attr, IIOContainer ioc) { Attributes = attr; IOContainer = ioc; Spread = spread; }