private void TimingChanged(object sender, EventArgs e) { if (m_Engine == null) { return; } ctrEditTiming ctr = (ctrEditTiming)sender; Engine.Timings eTiming = ctr.Meaning; Config.UserUser.Write(Engine.TimingConfigField(eTiming), ctr.Value); }
private void FillTimings() { tblTimings.SuspendLayout(); while (tblTimings.Controls.Count > 0) { tblTimings.Controls[0].Dispose(); } if (m_Engine == null || !m_Loaded) { return; } Engine.Timings needed = m_Engine.RelevantTimings; for (int index = 0; index <= Logical.Count - 1; index++) { Logical logical = Logical.Switch(index); if (logical != null) { needed = needed | logical.RequiredTimings; } } int row = 0; foreach (Engine.Timings timing in Enum.GetValues(typeof(Engine.Timings))) { if ((needed & timing) > 0) { Label label = new Label { Text = Strings.Item("Switch_Timing_" + timing), TextAlign = System.Drawing.ContentAlignment.MiddleRight, Dock = DockStyle.Fill }; tblTimings.Controls.Add(label); tblTimings.SetRow(label, row); ctrEditTiming ctr = new ctrEditTiming { Meaning = timing, Value = m_Engine.ConfiguredTiming(timing), Dock = DockStyle.Fill }; ctr.UserChangedValue += TimingChanged; tblTimings.Controls.Add(ctr); tblTimings.SetRow(ctr, row); tblTimings.SetColumn(ctr, 1); row++; } } tblTimings.ResumeLayout(); }