コード例 #1
0
ファイル: SeqConfigDialog.cs プロジェクト: Onkeliroh/DSA
        /// <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 ();
        }