Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
 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;
 }