//Mutex th = new Mutex(); //List<MessageForm> messages = new List<MessageForm>(); //private void startNew() //{ // main_timer.Stop(); // if (tlp_main.Controls.Count == 0) return; // var arr = GetAlarmArray() // .Where(f => f.IsEdited == false); // if (arr.Count() == 0) return; // DateTime t = arr.Min(f => f.StartDate); // int tmp = (int)(t - DateTime.Now).TotalMilliseconds; // if (tmp <= 0) tmp = 100; // main_timer.Interval = tmp; // main_timer.Start(); //} //private IEnumerable<AlarmRow> GetAlarmArray() //{ // List<AlarmRow> arr = new List<AlarmRow>(); // foreach (var element in tlp_main.Controls) // arr.Add((AlarmRow)element); // return arr; //} //private void Main_timer_Tick(object sender, EventArgs e) //{ // th.WaitOne(); // main_timer.Stop(); // List<AlarmRow> arr = new List<AlarmRow>(); // var tarr = GetAlarmArray() // .Where(f => f.IsEdited == false); // if (tarr.Count() == 0) { // th.ReleaseMutex(); // return; // } // foreach (var item in tarr) // { // var tmp = DateTime.Now; // if (item.StartDate <= tmp) // { // arr.Add(item); // } // } // foreach (var item in arr) // { // tlp_main.Controls.Remove(item); // } // foreach (var item in arr) // { // var box = new MessageForm(item.Message, closeDelegate); // messages.Add(box); // box.Show(); // } // th.ReleaseMutex(); // startNew(); //} //void closeDelegate(MessageForm sender) //{ // messages.Remove(sender); //} //protected override void OnClosing(CancelEventArgs e) //{ // base.OnClosing(e); // main_timer.Stop(); // foreach (var element in messages.ToArray()) // element.Close(); //} private void btn_add_Click(object sender, EventArgs e) { var element = new AlarmRow(); element.OnDelete = OnItemDelete; element.OnEdit = OnItemEdit; tlp_main.Controls.Add(element); timer.AddTask(element); }
/// <summary> /// Graphically remove an alarm row from the gui /// </summary> /// <param name="row"> /// The row to remove from the GUI /// </param> public void RemoveAlarmRow(AlarmRow row, bool fadeBeforeRemoving) { if (fadeBeforeRemoving) { fadeTheseWithTimer.Add(row); fadeTimer.IsEnabled = true; } else { row.RemoveFromGUI(); } }
public void RemoveTask(AlarmRow element) { events.Remove(element); DeleteDelegate(element); }
public void AddTask(AlarmRow element) { events.Add(element); }
private void Timer_DeleteDelegate(AlarmRow e) { tlp_main.Controls.Remove(e); }
void OnItemEdit(AlarmRow element) { timer.UpdateAll(); }
void OnItemDelete(AlarmRow element) { tlp_main.Controls.Remove(element); timer.RemoveTask(element); timer.UpdateAll(); }
public void RemoveAlarmRowImmediately(AlarmRow row) { row.RemoveFromGUI(); }
/// <summary> /// Graphically add an alarm row to the gui /// </summary> /// <param name="row"> /// The alarm row to add to the GUI /// </param> public void AddAlarmRow(AlarmRow row) { row.AddToGUI(this.AlarmPanel); }
/// <summary> /// Graphically remove an alarm row from the gui /// </summary> /// <param name="row"> /// The row to remove from the GUI /// </param> public void RemoveAlarmRow(AlarmRow row) { row.RemoveFromGUI(); }