protected void OnSelectorChanged(object sender, SelectorChangedEventArgs args)
        {
            var d = sender as DigitalDisplay;

            var ic = IndividualControl.Empty;

            ic.Group      = card;
            ic.Individual = Driver.DigitalInput.GetChannelIndex(card, d.label.text);

            bool oldState = Driver.DigitalInput.GetChannelValue(ic);
            bool newState = args.currentSelectedIndex == 1;

            if (!oldState && newState)
            {
                Driver.DigitalInput.SetChannelValue(ic, true);
                d.textBox.textColor = "pri";
                d.textBox.text      = "Closed";
            }
            else if (oldState && !newState)
            {
                Driver.DigitalInput.SetChannelValue(ic, false);
                d.textBox.textColor = "seca";
                d.textBox.text      = "Open";
            }

            d.QueueDraw();
        }
 protected void OnSelectorChange(object sender, SelectorChangedEventArgs args)
 {
     if (StateSelectedChangedEvent != null)
     {
         StateSelectedChangedEvent(this, args);
     }
     else
     {
         throw new NotImplementedException("State selector changed not implemented");
     }
 }
Exemplo n.º 3
0
        protected void OnDimmingModeSelectorChanged(object sender, SelectorChangedEventArgs args)
        {
            if (args.currentSelectedIndex == 0)
            {
                Devices.Lighting.SetDimmingMode(fixtureName, Mode.Manual);
                var ic = Devices.Lighting.GetGadgetChannel(fixtureName);
                Driver.Power.SetChannelMode(ic, Mode.Manual);
                dimmingProgressBar.enableTouch = true;
                requestedTextBox.Visible       = true;
                requestedTextBox.text          = string.Format("{0:N2}", Devices.Lighting.GetRequestedDimmingLevel(fixtureName));
                autoTextBox.Visible            = true;
                autoLabel.Visible = true;
                dimmingIsManual   = true;
                autoTextBox.text  = string.Format("{0:N2}", Devices.Lighting.GetAutoDimmingLevel(fixtureName));
                if (Driver.Power.GetChannelValue(ic))
                {
                    outletSelectorSwitch.currentSelected = 0;
                }
                else
                {
                    outletSelectorSwitch.currentSelected = 2;
                }
                outletSelectorSwitch.QueueDraw();
            }
            else
            {
                Devices.Lighting.SetDimmingMode(fixtureName, Mode.Auto);
                Driver.Power.SetChannelMode(Devices.Lighting.GetGadgetChannel(fixtureName), Mode.Auto);
                dimmingProgressBar.enableTouch = false;
                requestedTextBox.Visible       = false;
                autoTextBox.Visible            = false;
                autoLabel.Visible = false;
                dimmingIsManual   = false;
                outletSelectorSwitch.currentSelected = 1;
                outletSelectorSwitch.QueueDraw();
            }

            dimmingProgressBar.QueueDraw();
            autoTextBox.QueueDraw();
            autoLabel.QueueDraw();
        }
Exemplo n.º 4
0
        protected void OnOutletControlSelectorChanged(object sender, SelectorChangedEventArgs args)
        {
            var ic = Devices.Lighting.GetGadgetChannel(fixtureName);

            if (args.currentSelectedIndex == 0)   // Manual Off
            {
                Driver.Power.SetChannelMode(ic, Mode.Manual);
                Driver.Power.SetChannelValue(ic, false);
            }
            else if (args.currentSelectedIndex == 2)     // Manual On
            {
                Driver.Power.SetChannelMode(ic, Mode.Manual);
                Driver.Power.SetChannelValue(ic, true);
            }
            else if (args.currentSelectedIndex == 1)
            {
                Driver.Power.SetChannelMode(ic, Mode.Auto);
            }

            GetFixtureData();
        }
Exemplo n.º 5
0
        protected void OnSelectorChanged(object sender, SelectorChangedEventArgs e)
        {
            var ss = sender as TouchSelectorSwitch;
            var ic = IndividualControl.Empty;

            ic.Group      = powerStripName;
            ic.Individual = ss.id;

            if (ss.currentSelected == 1)   // auto
            {
                power.SetChannelMode(ic, Mode.Auto);
            }
            else if (ss.currentSelected == 0)     // manual and state off
            {
                power.SetChannelMode(ic, Mode.Manual);
                power.SetChannelValue(ic, false);
            }
            else if (ss.currentSelected == 2)    // manual and state on
            {
                power.SetChannelMode(ic, Mode.Manual);
                power.SetChannelValue(ic, true);
            }
        }
Exemplo n.º 6
0
        private void OnSelectorChanged(object obj)
        {
            SelectorChangedEventArgs args = obj as SelectorChangedEventArgs;

            // Need to adjust selected node's position, if it in contact with any other elements on drag complete
            if (args.Item is SelectorViewModel && args.NewValue.InteractionState == NodeChangedInteractionState.Dragged)
            {
                var selectorViewModel = (SelectorViewModel)args.Item;
                if (selectorViewModel.Nodes is IEnumerable <object> )
                {
                    var selectedNodes = ((IEnumerable <object>)selectorViewModel.Nodes).ToList();
                    if (selectedNodes.Count == 1 && selectedNodes[0] is NodeViewModel)
                    {
                        var selectedNode   = (NodeViewModel)selectedNodes[0];
                        var collisionState = new CollisionState()
                        {
                            Item = selectedNode
                        };

                        // Finding overlapping nodes & connectors for the selected node.
                        var intercepts = ((IGraphInfo)this.Info).GetOverlappingObjects(collisionState);

                        foreach (var intercept in intercepts)
                        {
                            if (intercept is NodeViewModel && (intercept as NodeViewModel).Content.ToString() == "CollisionNode2")
                            {
                                var intersectingNode = (NodeViewModel)intercept;
                                var collisionState1  = new CollisionState()
                                {
                                    Item = intersectingNode
                                };
                                ((IGraphInfo)this.Info).GetCollisionFreeLocation(collisionState1);

                                // Re-arranging CollisionNode's position
                                intersectingNode.OffsetX = collisionState1.Offset.X;
                                intersectingNode.OffsetY = collisionState1.Offset.Y;
                            }
                            else if ((intercept is NodeViewModel && (intercept as NodeViewModel).Content.ToString() == "CollisionNode1") ||
                                     intercept is ConnectorViewModel)
                            {
                                ((IGraphInfo)this.Info).GetCollisionFreeLocation(collisionState);

                                // Re-arranging Drag Object's position
                                selectedNode.OffsetX = collisionState.Offset.X;
                                selectedNode.OffsetY = collisionState.Offset.Y;
                            }
                            else if (intercept is NodeViewModel && (intercept as NodeViewModel).Content.ToString() == "IgnoreNode")
                            {
                                var collisionstate2 = new CollisionState()
                                {
                                    Item = selectedNode, IgnoreList = new ObservableCollection <object>()
                                    {
                                        intercept
                                    }
                                };
                                ((IGraphInfo)this.Info).GetCollisionFreeLocation(collisionstate2);

                                selectedNode.OffsetX = collisionstate2.Offset.X;
                                selectedNode.OffsetY = collisionstate2.Offset.Y;
                            }
                        }
                    }
                }
            }
        }