Animatroller.Simulator.SimulatorForm.AddDigitalInput_Momentarily C# (CSharp) Method

AddDigitalInput_Momentarily() public method

public AddDigitalInput_Momentarily ( DigitalInput2 logicalDevice ) : Animatroller.Framework.PhysicalDevice.DigitalInput
logicalDevice DigitalInput2
return Animatroller.Framework.PhysicalDevice.DigitalInput
        public Animatroller.Framework.PhysicalDevice.DigitalInput AddDigitalInput_Momentarily(DigitalInput2 logicalDevice)
        {
            var control = new Control.SimpleButton();
            control.Text = logicalDevice.Name;
            control.UseMnemonic = false;
            control.Size = new System.Drawing.Size(80, 80);
            control.TextAlign = ContentAlignment.MiddleCenter;

            flowLayoutPanelLights.Controls.Add(control);

            var device = new Animatroller.Framework.PhysicalDevice.DigitalInput();

            control.MouseDown += (sender, e) =>
            {
                device.Trigger(true);
            };

            control.MouseUp += (sender, e) =>
            {
                device.Trigger(false);
            };

            device.Connect(logicalDevice);

            control.Checked = logicalDevice.Value;

            logicalDevice.Output
                .ObserveOn(SynchronizationContext.Current)
                .Subscribe(x =>
                {
                    control.Checked = x;
                });

            return device;
        }