示例#1
0
 public void BoxChangedHandler(object obj, EventArgsBox e)
 {
     this.BeginInvoke(
         (MethodInvoker) delegate() {
         ChangeItem(e.BoxArg);
     }
         );
 }
示例#2
0
 // when room name changes topology removes the box and adds the new box.
 // this handler removes the event handler for the box in the old room.
 // the new box box changed handler will be added in AddBox.
 private void BoxRemovedHandler(object obj, EventArgsBox e)
 {
     lock (this)
     {
         e.BoxArg.EventBoxChanged -= BoxChangedHandler;
         Box box = e.BoxArg;
         iBoxList.Remove(box);
     }
 }
示例#3
0
 protected override void BoxChangedHandler(object obj, EventArgsBox e)
 {
     if (e.BoxArg.State == Box.EState.eOn && !e.BoxArg.IsProxy)
     {
         iUi.Enable();
     }
     else
     {
         iUi.Disable();
     }
 }
示例#4
0
        private void BoxAddedHandler(object obj, EventArgsBox e)
        {
            lock (this)
            {
                e.BoxArg.EventBoxChanged += BoxChangedHandler;

                Box box = e.BoxArg;

                foreach (Box existingBox in iBoxList)
                {
                    if (existingBox.MacAddress == box.MacAddress)
                    {
                        // don't add this box if it's already in the list (discovered on a different net adaptor)
                        return;
                    }
                }
                iBoxList.Add(box);
            }
        }
示例#5
0
        private void AddItem(EventArgsBox e)
        {
            Target         target         = new Target(e.BoxArg);
            TargetMediator targetMediator = new TargetMediator(target, iManager);

            ListViewItem item = new ListViewItem(new string[] { "", "", "", "", "", "", "", "", "", "", "", "", "" });

            SetListViewItem(targetMediator, item);
            listView1.Items.Add(item);

            //on startup set selected item to the last user selected device
            if (e.BoxArg.MacAddress == iHelper.ApplicationOptions.LastBoxSelected)
            {
                item.Selected             = true;
                pictureBox1.ImageLocation = e.BoxArg.ImageUri;
            }
            if (iFormTree != null && !iFormTree.IsDisposed)
            {
                iFormTree.UpdateTree();
            }
        }
示例#6
0
        public void BoxAddedHandler(object obj, EventArgsBox e)
        {
            e.BoxArg.EventBoxChanged += BoxChangedHandler;

            // made synchronous to handle starting from fallback case, box added and box changed called in succession, so targetMediator.Target.AddBoxChangeEvent is missed otherwise
            this.Invoke(
                (MethodInvoker) delegate() {
                if (listView1.Items.ContainsKey(e.BoxArg.MacAddress))
                {
                    //if the box is being added due to a room change update the item
                    TargetMediator targetMediator = (TargetMediator)listView1.Items[e.BoxArg.MacAddress].Tag;
                    targetMediator.Target.AddBoxChangeEvent(e.BoxArg);

                    ChangeItem(e.BoxArg);
                }
                else
                {
                    AddItem(e);
                }
            }
                );
        }
示例#7
0
        private void BoxChangedHandler(object obj, EventArgsBox e)
        {
            lock (this)
            {
                Console.WriteLine("BoxChangedHandler {0} ip [{1}] state [{2}] iBoxList count {3}", e.BoxArg.Name, e.BoxArg.IpAddress, e.BoxArg.State, iBoxList.Count);

                Box box = e.BoxArg;

                bool found = false;
                foreach (Box b in iBoxList)
                {
                    if (b.MacAddress == box.MacAddress)
                    {
                        iBoxList[iBoxList.IndexOf(b)] = box;    // modify existing entry
                        found = true;
                        break;
                    }
                }
                if (found == false)
                {
                    iBoxList.Add(box);                          // add new entry
                }
            }
        }
示例#8
0
 protected abstract void BoxChangedHandler(object obj, EventArgsBox e);
示例#9
0
 //when room name changes topology removes and adds the box the new box. this handler removed the event handler for the box
 //in the old room. the new box box changed handler will be added in AddBox.
 public void BoxRemovedHandler(object obj, EventArgsBox e)
 {
     e.BoxArg.EventBoxChanged -= BoxChangedHandler;
 }