Example #1
0
        protected ThreeWayToggleSwitch AddRocker(string name, Point posn, Size size,
                                                 ThreeWayToggleSwitchPosition defaultPosition, ThreeWayToggleSwitchType defaultType,
                                                 string interfaceDeviceName, string interfaceElementName, bool fromCenter,
                                                 string positionOneImage   = "{Helios}/Images/Toggles/round-up.png",
                                                 string positionTwoImage   = "{Helios}/Images/Toggles/round-norm.png",
                                                 string positionThreeImage = "{Helios}/Images/Toggles/round-down.png",
                                                 LinearClickType clickType = LinearClickType.Touch,
                                                 bool horizontal           = false)
        {
            string componentName        = GetComponentName(name);
            ThreeWayToggleSwitch rocker = new ThreeWayToggleSwitch
            {
                Top                = posn.Y,
                Left               = posn.X,
                Width              = size.Width,
                Height             = size.Height,
                DefaultPosition    = defaultPosition,
                PositionOneImage   = positionOneImage,
                PositionTwoImage   = positionTwoImage,
                PositionThreeImage = positionThreeImage,
                SwitchType         = defaultType,
                Name               = componentName,
                ClickType          = clickType
            };

            if (horizontal)
            {
                rocker.Rotation    = HeliosVisualRotation.CW;
                rocker.Orientation = ToggleSwitchOrientation.Horizontal;
            }

            Children.Add(rocker);
            foreach (IBindingTrigger trigger in rocker.Triggers)
            {
                AddTrigger(trigger, componentName);
            }
            AddAction(rocker.Actions["set.position"], componentName);
            AddDefaultOutputBinding(
                childName: componentName,
                deviceTriggerName: "position one.entered",
                interfaceActionName: interfaceDeviceName + ".push up." + interfaceElementName
                );
            AddDefaultOutputBinding(
                childName: componentName,
                deviceTriggerName: "position two.entered",
                interfaceActionName: interfaceDeviceName + ".release." + interfaceElementName
                );
            AddDefaultOutputBinding(
                childName: componentName,
                deviceTriggerName: "position three.entered",
                interfaceActionName: interfaceDeviceName + ".push down." + interfaceElementName
                );

            AddDefaultInputBinding(
                childName: componentName,
                interfaceTriggerName: interfaceDeviceName + "." + interfaceElementName + ".changed",
                deviceActionName: "set.position");

            return(rocker);
        }
Example #2
0
        public M2000C_TESTPanel()
            : base("Test Panel", new Size(690, 680))
        {
            int row0 = 51, row1 = 214, row2 = 277;
            int column0 = 106, column1 = 220, column2 = 424;

            //Pannes en vol
            AddIndicator("HYD", "hyd", new Point(column0, row0), new Size(65, 160));
            AddIndicator("ELEC", "elec", new Point(column0, row2), new Size(65, 160));
            //Test lights
            AddIndicator("Test Fail", "test-fail", new Point(column1, row1), new Size(156, 65));
            AddIndicator("Test Ok", "test-ok", new Point(column2, row1), new Size(156, 65));

            ThreeWayToggleSwitch fbwTestSwitch = Add3PosnToggle(
                name: "FBW Test Switch",
                posn: new Point(330, 65),
                image: "long-black-",
                fromCenter: true
                );

            AddGuard("FBW Test Guard", "fbw-test-", new Point(286, 5), new Size(200, 170), ToggleSwitchPosition.Two, ToggleSwitchType.OnOn,
                     new NonClickableZone[] { new NonClickableZone(new Rect(0, 30, 200, 140), ToggleSwitchPosition.Two, fbwTestSwitch, ToggleSwitchPosition.Two) }, false, false);

            ToggleSwitch autopilotTestSwitch = AddSwitch("Autopilot Test Switch", "long-black-down", "long-black-up", new Point(365, 428), ToggleSwitchPosition.Two, ToggleSwitchType.OnOn, true);

            AddGuard("Autopilot Test Guard", "autopilot-test-", new Point(285, 355), new Size(180, 80), ToggleSwitchPosition.Two, ToggleSwitchType.OnOn,
                     new NonClickableZone[] { new NonClickableZone(new Rect(30, 0, 180, 80), ToggleSwitchPosition.Two, autopilotTestSwitch, ToggleSwitchPosition.Two) }, false, false);
            ToggleSwitch cdve5Switch = AddSwitch("FBW Channel 5 Switch", "long-black-up", "long-black-down", new Point(187, 563), ToggleSwitchPosition.One, ToggleSwitchType.OnOn, false);

            AddGuard("FBW Channel 5 Guard", "cdve5-", new Point(160, 490), new Size(65, 180), ToggleSwitchPosition.Two, ToggleSwitchType.OnOn,
                     new NonClickableZone[] { new NonClickableZone(new Rect(0, 30, 65, 150), ToggleSwitchPosition.Two, cdve5Switch, ToggleSwitchPosition.One) }, false, false);
        }
Example #3
0
        protected ThreeWayToggleSwitch AddThreeWayToggle(string name, Point pos, Size size,
                                                         ThreeWayToggleSwitchPosition defaultPosition, ThreeWayToggleSwitchType switchType,
                                                         string interfaceDeviceName, string interfaceElementName, bool fromCenter,
                                                         string positionOneImage   = "{Helios}/Images/Toggles/round-up.png",
                                                         string positionTwoImage   = "{Helios}/Images/Toggles/round-norm.png",
                                                         string positionThreeImage = "{Helios}/Images/Toggles/round-down.png",
                                                         ClickType clickType       = ClickType.Swipe,
                                                         bool horizontal           = false,
                                                         bool horizontalRender     = false)
        {
            string componentName        = GetComponentName(name);
            ThreeWayToggleSwitch toggle = new ThreeWayToggleSwitch
            {
                Top                = pos.Y,
                Left               = pos.X,
                Width              = size.Width,
                Height             = size.Height,
                DefaultPosition    = defaultPosition,
                PositionOneImage   = positionOneImage,
                PositionTwoImage   = positionTwoImage,
                PositionThreeImage = positionThreeImage,
                SwitchType         = switchType,
                Name               = componentName
            };

            toggle.ClickType = clickType;
            if (horizontal)
            {
                toggle.Orientation = ToggleSwitchOrientation.Horizontal;
            }
            else
            {
                toggle.Orientation = ToggleSwitchOrientation.Vertical;
            }
            if (horizontalRender)
            {
                toggle.Rotation    = HeliosVisualRotation.CW;
                toggle.Orientation = ToggleSwitchOrientation.Horizontal;
            }

            Children.Add(toggle);
            foreach (IBindingTrigger trigger in toggle.Triggers)
            {
                AddTrigger(trigger, componentName);
            }
            AddAction(toggle.Actions["set.position"], componentName);

            AddDefaultOutputBinding(
                childName: componentName,
                deviceTriggerName: "position.changed",
                interfaceActionName: interfaceDeviceName + ".set." + interfaceElementName
                );
            AddDefaultInputBinding(
                childName: componentName,
                interfaceTriggerName: interfaceDeviceName + "." + interfaceElementName + ".changed",
                deviceActionName: "set.position");

            return(toggle);
        }
Example #4
0
 private void AddThreeWayToggle(string name, double x, double y, Size size, string interfaceElementName, string imageStem)
 {
     ThreeWayToggleSwitch toggle = AddThreeWayToggle(
         name: name,
         posn: new Point(x, y),
         size: size,
         defaultPosition: ThreeWayToggleSwitchPosition.Two,
         defaultType: ThreeWayToggleSwitchType.OnOnOn,
         positionOneImage: _imageLocation + imageStem + "Up.png",
         positionTwoImage: _imageLocation + imageStem + "Normal.png",
         positionThreeImage: _imageLocation + imageStem + "Down.png",
         interfaceDeviceName: _interfaceDeviceName,
         interfaceElementName: interfaceElementName,
         fromCenter: false
         );
 }
        private void AddThreeWayToggle(string name, double x, double y, Size size, ThreeWayToggleSwitchType switchType, string interfaceElementName, string imageName)
        {
            ThreeWayToggleSwitch toggle = AddThreeWayToggle(
                name: name,
                posn: new Point(x, y),
                size: size,
                defaultPosition: ThreeWayToggleSwitchPosition.Two,
                defaultType: switchType,
                positionOneImage: _imageLocation + "WQHD/Switch/" + imageName + " Up.png",
                positionTwoImage: _imageLocation + "WQHD/Switch/" + imageName + " Normal.png",
                positionThreeImage: _imageLocation + "WQHD/Switch/" + imageName + " Down.png",
                interfaceDeviceName: _interfaceDeviceName,
                interfaceElementName: interfaceElementName,
                fromCenter: false
                );

            toggle.Name = "Flaps and Gear Panel_" + name;
        }
Example #6
0
        private void AddThreeWayToggle(string name, double x, double y, Size size, string interfaceElementName)
        {
            ThreeWayToggleSwitch toggle = AddThreeWayToggle(
                name: name,
                posn: new Point(x, y),
                size: size,
                defaultPosition: ThreeWayToggleSwitchPosition.Two,
                defaultType: ThreeWayToggleSwitchType.OnOnOn,
                positionOneImage: "{Helios}/Images/Toggles/round-up.png",
                positionTwoImage: "{Helios}/Images/Toggles/round-norm.png",
                positionThreeImage: "{Helios}/Images/Toggles/round-down.png",
                interfaceDeviceName: _interfaceDeviceName,
                interfaceElementName: interfaceElementName,
                fromCenter: false
                );

            toggle.Name = "UFC1_" + name;
        }
Example #7
0
        private void AddThreeWayToggle(string name, double x, double y, Size size, string interfaceElementName)
        {
            ThreeWayToggleSwitch toggle = AddThreeWayToggle(
                name: name,
                posn: new Point(x, y),
                size: size,
                defaultPosition: ThreeWayToggleSwitchPosition.Two,
                defaultType: ThreeWayToggleSwitchType.MomOnMom,
                positionOneImage: "{AV-8B}/Images/3 Way Toggle Square Up 1.png",
                positionTwoImage: "{AV-8B}/Images/3 Way Toggle Square Mid 1.png",
                positionThreeImage: "{AV-8B}/Images/3 Way Toggle Square Down 1.png",
                interfaceDeviceName: _interfaceDeviceName,
                interfaceElementName: interfaceElementName,
                fromCenter: false
                );

            toggle.Name = "SMC1_" + name;
        }
Example #8
0
        private void AddRocker(string name, string imagePrefix, string imageOrientation, double x, double y, string interfaceElementName)
        {
            ThreeWayToggleSwitch rocker = AddThreeWayToggle(
                name: name,
                posn: new Point(x, y),
                size: new Size(0, 0),
                defaultPosition: ThreeWayToggleSwitchPosition.Two,
                defaultType: ThreeWayToggleSwitchType.MomOnMom,
                interfaceDeviceName: _interfaceDeviceName,
                interfaceElementName: interfaceElementName,
                positionTwoImage: "{AV-8B}/Images/" + imagePrefix + " " + imageOrientation + " Mid.png",
                clickType: LinearClickType.Touch,
                fromCenter: false
                );

            rocker.Name = _side + "_" + name;
            switch (imageOrientation)
            {
            case ("V"):
                rocker.PositionOneImage   = "{AV-8B}/Images/" + imagePrefix + " " + imageOrientation + " Up.png";
                rocker.PositionThreeImage = "{AV-8B}/Images/" + imagePrefix + " " + imageOrientation + " Dn.png";
                rocker.Width  = 54;
                rocker.Height = 114;
                break;

            case ("L"):
                rocker.PositionOneImage   = "{AV-8B}/Images/" + imagePrefix + " " + imageOrientation + " Up.png";
                rocker.PositionThreeImage = "{AV-8B}/Images/" + imagePrefix + " " + imageOrientation + " Dn.png";
                rocker.Width  = 120;
                rocker.Height = 110;
                break;

            case ("R"):
                rocker.PositionOneImage   = "{AV-8B}/Images/" + imagePrefix + " " + imageOrientation + " Up.png";
                rocker.PositionThreeImage = "{AV-8B}/Images/" + imagePrefix + " " + imageOrientation + " Dn.png";
                rocker.Width  = 120;
                rocker.Height = 110;
                break;

            default:
                break;
            }
        }
Example #9
0
        protected ThreeWayToggleSwitch AddThreeWayToggle(string name, Point pos, Size size,
                                                         ThreeWayToggleSwitchPosition defaultPosition, ThreeWayToggleSwitchType switchType,
                                                         string interfaceDeviceName, string interfaceElementName, bool fromCenter,
                                                         string positionOneImage   = "{Helios}/Images/Toggles/round-up.png",
                                                         string positionTwoImage   = "{Helios}/Images/Toggles/round-norm.png",
                                                         string positionThreeImage = "{Helios}/Images/Toggles/round-down.png")
        {
            string componentName        = GetComponentName(name);
            ThreeWayToggleSwitch toggle = new ThreeWayToggleSwitch
            {
                Top                = pos.Y,
                Left               = pos.X,
                Width              = size.Width,
                Height             = size.Height,
                DefaultPosition    = defaultPosition,
                PositionOneImage   = positionOneImage,
                PositionTwoImage   = positionTwoImage,
                PositionThreeImage = positionThreeImage,
                SwitchType         = switchType,
                Name               = componentName
            };

            Children.Add(toggle);
            foreach (IBindingTrigger trigger in toggle.Triggers)
            {
                AddTrigger(trigger, componentName);
            }
            AddAction(toggle.Actions["set.position"], componentName);

            AddDefaultOutputBinding(
                childName: componentName,
                deviceTriggerName: "position.changed",
                interfaceActionName: interfaceDeviceName + ".set." + interfaceElementName
                );
            AddDefaultInputBinding(
                childName: componentName,
                interfaceTriggerName: interfaceDeviceName + "." + interfaceElementName + ".changed",
                deviceActionName: "set.position");

            return(toggle);
        }
Example #10
0
        private void AddThreeWayToggle(string name, Point posn, Size size,
                                       string interfaceElementName)
        {
            string componentName        = _interfaceDeviceName + "_" + name;
            ThreeWayToggleSwitch toggle = new ThreeWayToggleSwitch
            {
                Top                = posn.Y,
                Left               = posn.X,
                Width              = size.Width,
                Height             = size.Height,
                DefaultPosition    = ThreeWayToggleSwitchPosition.Two,
                PositionOneImage   = _imageLocation + "A-10C_CMSP_Toggle_Up.png",
                PositionTwoImage   = _imageLocation + "A-10C_CMSP_Toggle_Middle.png",
                PositionThreeImage = _imageLocation + "A-10C_CMSP_Toggle_Down.png",
                SwitchType         = ThreeWayToggleSwitchType.MomOnOn,
                Name               = _interfaceDeviceName + "_" + name,
                ClickType          = LinearClickType.Swipe
            };

            Children.Add(toggle);
            foreach (IBindingTrigger trigger in toggle.Triggers)
            {
                AddTrigger(trigger, componentName);
            }
            AddAction(toggle.Actions["set.position"], componentName);
            AddDefaultOutputBinding(
                childName: componentName,
                deviceTriggerName: "position.changed",
                interfaceActionName: _interfaceDeviceName + ".set." + interfaceElementName);
            AddDefaultOutputBinding(
                childName: componentName,
                deviceTriggerName: "position two.entered",
                interfaceActionName: _interfaceDeviceName + ".release." + interfaceElementName);
            AddDefaultInputBinding(
                childName: componentName,
                interfaceTriggerName: _interfaceDeviceName + "." + interfaceElementName + ".changed",
                deviceActionName: "set.position");
        }
Example #11
0
        private void AddRocker(string name, string imagePrefix, double x, double y, bool horizontal)
        {
            ThreeWayToggleSwitch rocker = new ThreeWayToggleSwitch();

            rocker.Name             = name;
            rocker.SwitchType       = ThreeWayToggleSwitchType.MomOnMom;
            rocker.ClickType        = LinearClickType.Touch;
            rocker.PositionTwoImage = "{Helios}/Images/F-16/" + imagePrefix + "-middle.png";

            rocker.Top  = y;
            rocker.Left = x;
            if (horizontal)
            {
                rocker.Orientation        = ToggleSwitchOrientation.Horizontal;
                rocker.PositionOneImage   = "{Helios}/Images/F-16/" + imagePrefix + "-left.png";
                rocker.PositionThreeImage = "{Helios}/Images/F-16/" + imagePrefix + "-right.png";
                rocker.Width  = 56;
                rocker.Height = 32;
            }
            else
            {
                rocker.Orientation        = ToggleSwitchOrientation.Vertical;
                rocker.PositionOneImage   = "{Helios}/Images/F-16/" + imagePrefix + "-up.png";
                rocker.PositionThreeImage = "{Helios}/Images/F-16/" + imagePrefix + "-down.png";
                rocker.Width  = 32;
                rocker.Height = 56;
            }

            Children.Add(rocker);

            foreach (IBindingTrigger trigger in rocker.Triggers)
            {
                AddTrigger(trigger, name);
            }

            AddAction(rocker.Actions["set.position"], name);
        }