コード例 #1
0
        private void AddIndicator(string name, double x, double y, Size size, bool _vertical)
        {
            Helios.Controls.Indicator indicator = new Helios.Controls.Indicator();
            indicator.Top      = y;
            indicator.Left     = x;
            indicator.Width    = size.Width;
            indicator.Height   = size.Height;
            indicator.OnImage  = "{Helios}/Images/Indicators/anunciator.png";
            indicator.OffImage = "{Helios}/Images/Indicators/anunciator.png";
            if (name == "Unknown 1" || name == "Unknown 2")
            {
                indicator.Text = ".";
            }
            else
            {
                indicator.Text = name;
            }
            indicator.Name                  = "Annunciator " + name;
            indicator.OnTextColor           = Color.FromArgb(0xff, 0x94, 0xEB, 0xA6);
            indicator.OffTextColor          = Color.FromArgb(0xff, 0x10, 0x10, 0x10);
            indicator.TextFormat.FontStyle  = FontStyles.Normal;
            indicator.TextFormat.FontWeight = FontWeights.Normal;
            if (_vertical)
            {
                if (_font == "MS 33558")
                {
                    indicator.TextFormat.FontSize = 8;
                }
                else
                {
                    indicator.TextFormat.FontSize = 11;
                }
            }
            else
            {
                indicator.TextFormat.FontSize = 12;
            }
            indicator.TextFormat.FontFamily          = new FontFamily(_font); // this probably needs to change before release
            indicator.TextFormat.PaddingLeft         = 0;
            indicator.TextFormat.PaddingRight        = 0;
            indicator.TextFormat.PaddingTop          = 0;
            indicator.TextFormat.PaddingBottom       = 0;
            indicator.TextFormat.VerticalAlignment   = TextVerticalAlignment.Center;
            indicator.TextFormat.HorizontalAlignment = TextHorizontalAlignment.Center;

            Children.Add(indicator);
            foreach (IBindingTrigger trigger in indicator.Triggers)
            {
                AddTrigger(trigger, name);
            }
            foreach (IBindingAction action in indicator.Actions)
            {
                AddAction(action, name);
            }
        }
コード例 #2
0
ファイル: CompositeVisual.cs プロジェクト: Phar71/Helios
        protected Indicator AddIndicator(string name, Point posn, Size size,
                                         string onImage, string offImage, Color onTextColor, Color offTextColor, string font,
                                         bool vertical, string interfaceDeviceName, string interfaceElementName, bool fromCenter)
        {
            if (fromCenter)
            {
                posn = FromCenter(posn, size);
            }
            string    componentName = GetComponentName("Annunciator " + name);
            Indicator indicator     = new Helios.Controls.Indicator
            {
                Top      = posn.Y,
                Left     = posn.X,
                Width    = size.Width,
                Height   = size.Height,
                OnImage  = onImage,
                OffImage = offImage
            };

            indicator.Text                  = name;
            indicator.Name                  = componentName;
            indicator.OnTextColor           = onTextColor;
            indicator.OffTextColor          = offTextColor;
            indicator.TextFormat.FontStyle  = FontStyles.Normal;
            indicator.TextFormat.FontWeight = FontWeights.Normal;
            if (vertical)
            {
                indicator.TextFormat.FontSize = 8;
            }
            else
            {
                indicator.TextFormat.FontSize = 12;
            }
            indicator.TextFormat.FontFamily          = new FontFamily(font);
            indicator.TextFormat.PaddingLeft         = 0;
            indicator.TextFormat.PaddingRight        = 0;
            indicator.TextFormat.PaddingTop          = 0;
            indicator.TextFormat.PaddingBottom       = 0;
            indicator.TextFormat.VerticalAlignment   = TextVerticalAlignment.Center;
            indicator.TextFormat.HorizontalAlignment = TextHorizontalAlignment.Center;

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

            return(indicator);
        }
コード例 #3
0
ファイル: SMC.cs プロジェクト: BlueFinBima/Helios14
        private void AddIndicator(string name, double x, double y, Size size, bool horizontal)
        {
            Helios.Controls.Indicator indicator = new Helios.Controls.Indicator();
            indicator.Top      = y;
            indicator.Left     = x;
            indicator.Width    = size.Width;
            indicator.Height   = size.Height;
            indicator.OnImage  = "{AV-8B}/Images/AV8BNA_SEL_On.png";
            indicator.OffImage = "{AV-8B}/Images/AV8BNA_SEL_Off.png";
            indicator.Text     = "";
            indicator.Name     = name;

            Children.Add(indicator);
            AddAction(indicator.Actions["set.indicator"], name);
        }
コード例 #4
0
 private void AddIndicator(string name, double x, double y, Size size, bool _vertical)
 {
     Helios.Controls.Indicator indicator = AddIndicator(
         name: name,
         posn: new Point(x, y),
         size: size,
         onImage: "{Helios}/Images/Indicators/anunciator.png",
         offImage: "{Helios}/Images/Indicators/anunciator.png",
         onTextColor: Color.FromArgb(0xff, 0x24, 0x8D, 0x22),
         offTextColor: Color.FromArgb(0xff, 0x1C, 0x1C, 0x1C),
         font: _font,
         vertical: _vertical,
         interfaceDeviceName: "",
         interfaceElementName: "",
         fromCenter: false
         );
 }
コード例 #5
0
        private void AddIndicator(string name, Point posn, Size size)
        {
            Helios.Controls.Indicator indicator = new Helios.Controls.Indicator();
            indicator.Top      = posn.Y;
            indicator.Left     = posn.X;
            indicator.Width    = size.Width;
            indicator.Height   = size.Height;
            indicator.OnImage  = "{Helios}/Gauges/AV-8B/Engine Panel/edp_water_light.xaml";
            indicator.OffImage = "{Helios}/Images/AV-8B/_transparant.png";
            indicator.Text     = "";
            indicator.Name     = name;

            Children.Add(indicator);
            foreach (IBindingTrigger trigger in indicator.Triggers)
            {
                AddTrigger(trigger, name);
            }
            AddAction(indicator.Actions["set.indicator"], name);
        }
コード例 #6
0
        protected new Indicator AddIndicator(string name, Point posn, Size size,
                                             string onImage, string offImage, Color onTextColor, Color offTextColor, string font,
                                             bool vertical, string interfaceDeviceName, string interfaceElementName, bool fromCenter, bool withText = true)
        {
            if (fromCenter)
            {
                posn = FromCenter(posn, size);
            }
            string    componentName = GetComponentName(name);
            Indicator indicator     = new Helios.Controls.Indicator
            {
                Top      = posn.Y,
                Left     = posn.X,
                Width    = size.Width,
                Height   = size.Height,
                OnImage  = onImage,
                OffImage = offImage,
                Name     = componentName
            };

            if (withText)
            {
                indicator.Text                  = name;
                indicator.OnTextColor           = onTextColor;
                indicator.OffTextColor          = offTextColor;
                indicator.TextFormat.FontStyle  = FontStyles.Normal;
                indicator.TextFormat.FontWeight = FontWeights.Normal;
                if (vertical)
                {
                    indicator.TextFormat.FontSize = 8;
                }
                else
                {
                    indicator.TextFormat.FontSize = 12;
                }
                indicator.TextFormat.FontFamily          = ConfigManager.FontManager.GetFontFamilyByName(font);
                indicator.TextFormat.PaddingLeft         = 0;
                indicator.TextFormat.PaddingRight        = 0;
                indicator.TextFormat.PaddingTop          = 0;
                indicator.TextFormat.PaddingBottom       = 0;
                indicator.TextFormat.VerticalAlignment   = TextVerticalAlignment.Center;
                indicator.TextFormat.HorizontalAlignment = TextHorizontalAlignment.Center;
            }
            else
            {
                indicator.Text = "";
            }

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

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

            return(indicator);
        }