/// <summary> /// Initializes a new instance of the <see cref="SequenceConfigurationsDialog.SequenceConfiguration"/> class. /// </summary> /// <param name="pins">Pins.</param> /// <param name="groups">Groups.</param> /// <param name="seq">Seq.</param> /// <param name="RefPin">Reference pin.</param> /// <param name="parent">Parent.</param> public SeqConfigDialog(DPin[] pins, List<string> groups, Sequence seq = null, DPin RefPin = null, Gtk.Window parent = null) : base("Digital Sequences - Dialog", parent, Gtk.DialogFlags.Modal, new object[0]) { this.Build (); sbRadioBtnStopAfter.Adjustment.Upper = int.MaxValue; sbRadioBtnStopAfter.Adjustment.Lower = 0; DPins = pins; //no DPin no Sequence if (DPins.Length > 0) { for (int i = 0; i < DPins.Length; i++) { // cbPin.AppendText (string.Format ("{0}(D{1})", DPins [i].Name, DPins [i].Number)); cbPin.AppendText (DPins [i].DisplayNumber); } } SetupNodeView (); SetupOxyPlot (); if (seq != null) { PinSequence = seq; if (seq.Repetitions == -1) { rbRepeateContinously.Active = true; } else { rbStopAfter.Active = true; sbRadioBtnStopAfter.Sensitive = true; sbRadioBtnStopAfter.Value = seq.Repetitions; } buttonOk.Label = "Apply"; buttonOk.Image = new Image (Gtk.Stock.Apply, IconSize.Button); } else { pinSequence = new Sequence (); pinSequence.Repetitions = -1; } if (RefPin == null) { cbPin.Active = 0; } else { cbPin.Active = pins.ToList ().IndexOf (RefPin); } SetupGroups (groups); DisplaySequenceInfos (); BuildEvents (); }