public bool OnNewGroup(Group group) { if (!group.Fields.ContainsKey("Pad")) { return(false); } var gi = new GroupItem2(group); this.table[group.Id] = gi; if (this.groupIdsBySelectorKey.ContainsKey(gi.SelectorKey)) { if (!this.groupIdsBySelectorKey[gi.SelectorKey].Contains(group.Id)) { this.groupIdsBySelectorKey[gi.SelectorKey].Add(group.Id); } } else { this.groupIdsBySelectorKey[gi.SelectorKey] = new List <int>() { group.Id } }; InvokeAction(delegate { #if GTK if (cbxSelector.ContainsText(gi.SelectorKey)) { return; } this.cbxSelector.AppendText(gi.SelectorKey); this.eventsBySelectorKey[gi.SelectorKey] = new List <GroupEvent>(); this.freezeUpdate = true; if (this.cbxSelector.Model.IterNChildren() == 1) { this.cbxSelector.Active = 0; } #else if (this.cbxSelector.Items.Contains(gi.SelectorKey)) { return; } this.cbxSelector.Items.Add(gi.SelectorKey); this.eventsBySelectorKey[gi.SelectorKey] = new List <GroupEvent>(); this.freezeUpdate = true; if (this.cbxSelector.Items.Count == 1) { this.cbxSelector.SelectedIndex = 0; } #endif this.freezeUpdate = false; }); return(true); }
public void UpdateGUI() { if (FrameworkControl.UpdatedSuspened && this.framework.Mode == FrameworkMode.Simulation) { return; } var evnts = Queue.DequeueAll(this); if (evnts == null) { return; } var list1 = new List <GroupEvent>(); for (int i = 0; i < evnts.Length; ++i) { Event e = evnts[i]; if (e.TypeId == EventType.GroupEvent) { GroupEvent groupEvent = e as GroupEvent; GroupItem2 groupItem2 = this.table[groupEvent.Group.Id]; string selected = GetComboBoxSelected(); if (selected == null && string.IsNullOrWhiteSpace(groupItem2.SelectorKey) || selected != null && selected == groupItem2.SelectorKey) { list1.Add(groupEvent); } List <GroupEvent> list2; if (this.eventsBySelectorKey.TryGetValue(groupItem2.SelectorKey, out list2)) { list2.Add(groupEvent); } } else if (e.TypeId == EventType.OnFrameworkCleared) { list1.Clear(); Reset(false); } } for (int i = 0; i < list1.Count; ++i) { ProcessEvent(list1[i], i == list1.Count - 1); } SetSeries(); }
public bool OnNewGroup(Group group) { if (!group.Fields.ContainsKey("Pad")) return false; var gi = new GroupItem2(group); this.table[group.Id] = gi; if (this.groupIdsBySelectorKey.ContainsKey(gi.SelectorKey)) { if (!this.groupIdsBySelectorKey[gi.SelectorKey].Contains(group.Id)) this.groupIdsBySelectorKey[gi.SelectorKey].Add(group.Id); } else this.groupIdsBySelectorKey[gi.SelectorKey] = new List<int>() { group.Id }; InvokeAction(delegate { #if GTK if (cbxSelector.ContainsText(gi.SelectorKey)) return; this.cbxSelector.AppendText(gi.SelectorKey); this.eventsBySelectorKey[gi.SelectorKey] = new List<GroupEvent>(); this.freezeUpdate = true; if (this.cbxSelector.Model.IterNChildren() == 1) this.cbxSelector.Active = 0; #else if (this.cbxSelector.Items.Contains(gi.SelectorKey)) return; this.cbxSelector.Items.Add(gi.SelectorKey); this.eventsBySelectorKey[gi.SelectorKey] = new List<GroupEvent>(); this.freezeUpdate = true; if (this.cbxSelector.Items.Count == 1) this.cbxSelector.SelectedIndex = 0; #endif this.freezeUpdate = false; }); return true; }