예제 #1
0
        protected override CollectionForm CreateCollectionForm()
        {
            CollectionForm collectionForm = base.CreateCollectionForm();

            _GaugeItem = null;

            if (collectionForm.Controls[0] is TableLayoutPanel)
            {
                TableLayoutPanel tlpf = collectionForm.Controls["overArchingTableLayoutPanel"] as TableLayoutPanel;

                if (tlpf != null)
                {
                    TableLayoutPanel tlp2 = tlpf.Controls["addRemoveTableLayoutPanel"] as TableLayoutPanel;

                    if (tlp2 != null)
                    {
                        _RemButton = tlp2.Controls["removeButton"] as Button;

                        if (_RemButton != null)
                            _RemButton.Click += GaugeCollectionEditor_RemoveClick;

                        _AddButton = tlp2.Controls["addButton"] as Button;

                        if (_AddButton != null)
                        {
                            _AddButton.Click += GaugeCollectionEditor_AddClick;

                            AddCopyButton(collectionForm);
                        }
                    }

                    _ListBox = tlpf.Controls["listbox"] as ListBox;

                    if (_ListBox != null)
                        _ListBox.SelectedIndexChanged += ListBox_SelectedIndexChanged;

                    _PropertyGrid = tlpf.Controls["propertyBrowser"] as PropertyGrid;

                    if (_PropertyGrid != null)
                        _PropertyGrid.HelpVisible = true;
                }
            }

            return (collectionForm);
        }
예제 #2
0
        public override void CopyToItem(GaugeItem copy)
        {
            GaugeTickMark c = copy as GaugeTickMark;

            if (c != null)
            {
                base.CopyToItem(c);

                c.Interval = _Interval;
                c.IntervalOffset = _IntervalOffset;

                c._DefaultInterval = _DefaultInterval;
            }
        }
예제 #3
0
        /// <summary>
        /// When the sensor collection changes, a new sensor has appeared or deleted. We need to position it on the page
        /// if it is the type of sensor we are displaying on this page.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        async private void SensorCollection_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            switch (e.Action)
            {
            case NotifyCollectionChangedAction.Add:
            {
                // We want to only automatically add sensors which are of the correct type. For example
                // on the tank page only automatically add tank sensors.
                List <IGaugeItem> addedGaugeItems = new List <IGaugeItem>();
                foreach (ISensorItem sensorItem in e.NewItems)
                {
                    if (sensorItem.SensorType == this.SensorType)
                    {
                        IGaugeItem gaugeItem = new GaugeItem(this.GaugePageItem.PageId);
                        gaugeItem.TextFontColor = App.VesselSettings.ThemeForegroundColor;
                        gaugeItem.GaugeColor    = App.VesselSettings.ThemeForegroundColor;
                        switch (gt)
                        {
                        case 0: gaugeItem.GaugeType = GaugeTypeEnum.LeftArcGauge; break;

                        case 1: gaugeItem.GaugeType = GaugeTypeEnum.LeftTankGauge; break;

                        case 2: gaugeItem.GaugeType = GaugeTypeEnum.RightTankGauge; break;

                        case 3: gaugeItem.GaugeType = GaugeTypeEnum.DonutGauge; break;

                        case 4: gaugeItem.GaugeType = GaugeTypeEnum.VerticalBarGauge; break;

                        case 5: gaugeItem.GaugeType = GaugeTypeEnum.HorizontalBarGauge; break;

                        case 6: gaugeItem.GaugeType = GaugeTypeEnum.TextGauge; break;

                        case 7: gaugeItem.GaugeType = GaugeTypeEnum.PieChartGauge; break;

                        case 8: gaugeItem.GaugeType = GaugeTypeEnum.CompassRoseGauge; break;

                        default: gaugeItem.GaugeType = GaugeTypeEnum.DonutGauge; break;
                        }
                        gt++;
                        gaugeItem.Divisions   = 5;
                        gaugeItem.GaugeHeight = 300;       // * 1.7;
                        gaugeItem.GaugeWidth  = 240;       // * 1.7;
                        gaugeItem.SensorId    = sensorItem.SensorId;
                        gaugeItem.Units       = sensorItem.SensorUnits;
                        await gaugeItem.BeginCommit();

                        App.GaugeItemCollection.Add(gaugeItem);
                        addedGaugeItems.Add(gaugeItem);
                        this.GaugeItemList.Add(gaugeItem);
                    }
                }

                // If we have found a sensor to add, them send a message to the page to display
                // the corresponding gauges.
                if (addedGaugeItems.Count > 0)
                {
                    Messenger.Default.Send <List <IGaugeItem> >(addedGaugeItems, "AddGaugeItemList");
                }
            }
            break;

            case NotifyCollectionChangedAction.Remove:
            {
                // Find all of the gauge items on this page for the sensors being deleted.
                List <IGaugeItem> deletedGaugeItems = new List <IGaugeItem>();
                foreach (ISensorItem sensorItem in e.OldItems)
                {
                    var gaugeItemQuery =
                        from gaugeItem in this.GaugeItemList
                        where gaugeItem.SensorId == sensorItem.SensorId
                        select gaugeItem;

                    if (gaugeItemQuery.Count <IGaugeItem>() > 0)
                    {
                        deletedGaugeItems.AddRange(gaugeItemQuery.ToList <IGaugeItem>());
                    }
                }

                // If we have found gauges to delete, send a message to the page telling it which gauges to delete.
                if (deletedGaugeItems.Count <IGaugeItem>() > 0)
                {
                    Messenger.Default.Send <List <IGaugeItem> >(deletedGaugeItems.ToList <IGaugeItem>(), "RemoveGaugeItemList");
                    deletedGaugeItems.ForEach(item => this.GaugeItemList.Remove(item));
                }
            }
            break;

            case NotifyCollectionChangedAction.Replace:
                break;

            case NotifyCollectionChangedAction.Reset:
                this.GaugeItemList.Clear();
                break;
            }
        }
예제 #4
0
        public override void CopyToItem(GaugeItem copy)
        {
            StateIndicator c = copy as StateIndicator;

            if (c != null)
            {
                base.CopyToItem(c);

                c.Angle = _Angle;
                c.Image = _Image;

                if (_Ranges != null)
                    c.Ranges = (StateRangeCollection)_Ranges.Clone();

                c.RoundRectangleArc = _RoundRectangleArc;
                c.Style = _Style;
                c.TextAlignment = _TextAlignment;
                c.TextColor = _TextColor;
                c.TextHorizontalOffset = _TextHorizontalOffset;
                c.TextVerticalOffset = _TextVerticalOffset;
            }
        }
예제 #5
0
        public async void InitGauge()
        {
            var idLogin = await BlobCache.LocalMachine.GetObject <string>("loginCookie");

            string       gaugeId   = null;
            List <Image> imgList   = new List <Image>();
            GaugeItem    gaugeList = null;


            //Set the cookiee manually (propertie 'UseCookies = false')
            //Or use cookieContainer
            using (var client = new HttpClient(new HttpClientHandler {
                UseCookies = false
            }))
            {
                client.DefaultRequestHeaders.Add("Cookie", idLogin);
                var dashboardUrl = new Uri("http://app.casterstats.com/dashboard");
                var resp         = await client.GetAsync(dashboardUrl);

                string content = await resp.Content.ReadAsStringAsync();


                List <Dashboard> dashboards = JsonConvert.DeserializeObject <List <Dashboard> >(content);
                foreach (var dashboard in dashboards)
                {
                    gaugeId = dashboard.DashboardComponents.FirstOrDefault(x => x.Name.Equals("Stream Gauges")).Id;
                }

                if (gaugeId != null)
                {
                    dashboardUrl = new Uri("http://app.casterstats.com/dashboard/component/gauge/" + gaugeId + "");
                    resp         = await client.GetAsync(dashboardUrl);

                    content = await resp.Content.ReadAsStringAsync();



                    gaugeList = JsonConvert.DeserializeObject <GaugeItem>(content);
                }
                if (gaugeList != null)
                {
                    foreach (var c in gaugeList.GaugeDatas)
                    {
                        var counterUrl = new Uri("http://app.casterstats.com" + c[1] + "");
                        resp = await client.GetAsync(counterUrl);

                        var byteContent = await resp.Content.ReadAsStreamAsync();

                        var image = ImageSource.FromStream(() => byteContent);
                        imgList.Add(new Image
                        {
                            Source = image
                        });
                    }
                }
            }
            //Display content
            StackLayout s  = new StackLayout();
            Grid        g  = new Grid();
            ScrollView  sc = new ScrollView();

            g.ColumnDefinitions = new ColumnDefinitionCollection
            {
                new ColumnDefinition()
                {
                    Width = GridLength.Auto
                },
                new ColumnDefinition()
                {
                    Width = GridLength.Auto
                }
            };
            g.RowDefinitions = new RowDefinitionCollection();
            var row = -1;

            for (var i = 0; i < imgList.Count; i++)
            {
                if (i % 2 == 0)
                {
                    g.RowDefinitions.Add(new RowDefinition()
                    {
                        Height = new GridLength(120, GridUnitType.Absolute)
                    });
                    row++;
                    g.Children.Add(imgList[i], 0, row);
                }
                else
                {
                    g.Children.Add(imgList[i], 1, row);
                }
            }


            sc.Content = g;     //content in scrollview
            s.Children.Add(sc); // add content scrollview in stacklayout


            Content = s;
        }
예제 #6
0
        public override void CopyToItem(GaugeItem copy)
        {
            GaugeTickMarkBase c = copy as GaugeTickMarkBase;

            if (c != null)
            {
                base.CopyToItem(c);

                _Layout.CopyToItem(c.Layout);
            }
        }
예제 #7
0
        private List <IGaugeItem> ParseGauges(XmlDocument xmlDocument)
        {
            List <IGaugeItem> gaugeItemList = new List <IGaugeItem>();

            XmlNodeList gaugeListNode = xmlDocument.GetElementsByTagName("Gauge");

            foreach (XmlNode node in gaugeListNode)
            {
                XmlElement element = (XmlElement)node;

                // Get a index to the gaugePageId for this gauge
                int gaugePageIndex = Convert.ToInt32(element["GaugePageIndex"].InnerText);
                int sensorIndex    = Convert.ToInt32(element["SensorIndex"].InnerText);

                IGaugeItem gaugeItem = new GaugeItem(_gaugePageItemList[gaugePageIndex].PageId);
                gaugeItem.SensorId = _sensorItemList[sensorIndex].SensorId;

                if (null != element["GaugeType"])
                {
                    gaugeItem.GaugeType = (GaugeTypeEnum)Enum.Parse(typeof(GaugeTypeEnum), element["GaugeType"].InnerText);
                }
                if (null != element["GaugeHeight"])
                {
                    gaugeItem.GaugeHeight = Convert.ToDouble(element["GaugeHeight"].InnerText);
                }
                if (null != element["GaugeWidth"])
                {
                    gaugeItem.GaugeWidth = Convert.ToDouble(element["GaugeWidth"].InnerText);
                }
                if (null != element["GaugeLeft"])
                {
                    gaugeItem.GaugeLeft = Convert.ToDouble(element["GaugeLeft"].InnerText);
                }
                if (null != element["GaugeTop"])
                {
                    gaugeItem.GaugeTop = Convert.ToDouble(element["GaugeTop"].InnerText);
                }
                if (null != element["GaugeColor"])
                {
                    gaugeItem.GaugeColor = ColorHelper.ToColor(element["GaugeColor"].InnerText);
                }
                if (null != element["Divisions"])
                {
                    gaugeItem.Divisions = Convert.ToInt32(element["Divisions"].InnerText);
                }
                if (null != element["MinorTicsPerMajorTic"])
                {
                    gaugeItem.MinorTicsPerMajorTic = Convert.ToInt32(element["MinorTicsPerMajorTic"].InnerText);
                }
                if (null != element["MediumTicsPerMajorTic"])
                {
                    gaugeItem.MediumTicsPerMajorTic = Convert.ToInt32(element["MediumTicsPerMajorTic"].InnerText);
                }
                if (null != element["Resolution"])
                {
                    gaugeItem.Resolution = Convert.ToInt32(element["Resolution"].InnerText);
                }
                if (null != element["GaugeOutlineVisibility"])
                {
                    gaugeItem.GaugeOutlineVisibility = (Visibility)Enum.Parse(typeof(Visibility), element["GaugeOutlineVisibility"].InnerText);
                }
                if (null != element["MiddleCircleDelta"])
                {
                    gaugeItem.MiddleCircleDelta = Convert.ToInt32(element["MiddleCircleDelta"].InnerText);
                }
                if (null != element["InnerCircleDelta"])
                {
                    gaugeItem.InnerCircleDelta = Convert.ToInt32(element["InnerCircleDelta"].InnerText);
                }
                if (null != element["ValueFontSize"])
                {
                    gaugeItem.ValueFontSize = Convert.ToDouble(element["ValueFontSize"].InnerText);
                }
                if (null != element["UnitsFontSize"])
                {
                    gaugeItem.UnitsFontSize = Convert.ToDouble(element["UnitsFontSize"].InnerText);
                }
                if (null != element["MajorTicLength"])
                {
                    gaugeItem.MajorTicLength = Convert.ToDouble(element["MajorTicLength"].InnerText);
                }
                if (null != element["MediumTicLength"])
                {
                    gaugeItem.MediumTicLength = Convert.ToDouble(element["MediumTicLength"].InnerText);
                }
                if (null != element["MinorTicLength"])
                {
                    gaugeItem.MinorTicLength = Convert.ToDouble(element["MinorTicLength"].InnerText);
                }
                if (null != element["Text"])
                {
                    gaugeItem.Text = element["Text"].InnerText;
                }
                if (null != element["TextFontSize"])
                {
                    gaugeItem.TextFontSize = Convert.ToDouble(element["TextFontSize"].InnerText);
                }
                if (null != element["TextAngle"])
                {
                    gaugeItem.TextAngle = Convert.ToDouble(element["TextAngle"].InnerText);
                }
                if (null != element["TextFontColor"])
                {
                    gaugeItem.TextFontColor = ColorHelper.ToColor(element["TextFontColor"].InnerText);
                }
                if (null != element["TextHorizontalAlignment"])
                {
                    gaugeItem.TextHorizontalAlignment = (CanvasHorizontalAlignment)Enum.Parse(typeof(CanvasHorizontalAlignment), element["TextHorizontalAlignment"].InnerText);
                }
                if (null != element["TextVerticalAlignment"])
                {
                    gaugeItem.TextVerticalAlignment = (CanvasVerticalAlignment)Enum.Parse(typeof(CanvasVerticalAlignment), element["TextVerticalAlignment"].InnerText);
                }
                if (null != element["Units"])
                {
                    gaugeItem.Units = (Units)Enum.Parse(typeof(Units), element["Units"].InnerText);
                }

                gaugeItemList.Add(gaugeItem);
            }

            return(gaugeItemList);
        }
예제 #8
0
        void GaugeCollectionEditor_RemoveClick(object sender, EventArgs e)
        {
            if (_LastGaugeItem != null)
            {
                RemovedItems.Add(_LastGaugeItem);

                _LastGaugeItem.Visible = false;
                _LastGaugeItem = null;
            }
            else if (_GaugeItem != null)
            {
                RemovedItems.Add(_GaugeItem);

                _GaugeItem.Visible = false;
                _GaugeItem = null;
            }
        }
예제 #9
0
        public override void CopyToItem(GaugeItem copy)
        {
            GaugeBaseLabel c = copy as GaugeBaseLabel;

            if (c != null)
            {
                base.CopyToItem(c);

                _Layout.CopyToItem(c.Layout);
            }
        }
예제 #10
0
        public override void CopyToItem(GaugeItem copy)
        {
            NumericIndicator c = copy as NumericIndicator;

            if (c != null)
            {
                base.CopyToItem(c);

                c.DecimalColor = _DecimalColor;
                c.DecimalDimColor = _DecimalDimColor;
                c.DigitColor = _DigitColor;
                c.DigitDimColor = _DigitDimColor;
                c.DigitPlacement = _DigitPlacement;
                c.FormatString = _FormatString;
                c.NumberOfDecimals = _NumberOfDecimals;
                c.NumberOfDigits = _NumberOfDigits;
                c.Padding = _Padding;

                if (_Ranges != null)
                    c.Ranges = (NumericRangeCollection)_Ranges.Clone();

                c.SegmentWidth = _SegmentWidth;

                if (_SeparatorColor != null)
                    c.SeparatorColor = (GradientFillColor)_SeparatorColor.Clone();

                c.SeparatorWidth = _SeparatorWidth;
                c.ShearFactor = _ShearFactor;
                c.ShowDecimalPoint = _ShowDecimalPoint;
                c.ShowDimColonPoints = _ShowDimColonPoints;
                c.ShowDimDecimalPoint = _ShowDimDecimalPoint;
                c.ShowDimSegments = _ShowDimSegments;
                c.ShowLeadingZeros = _ShowLeadingZeros;
                c.SignVisibility = _SignVisibility;
                c.Style = _Style;
            }
        }
예제 #11
0
        public GetDisplayTemplateTextEventArgs(GaugeItem gaugeItem,
            string displayTemplate, string displayFormat)
        {
            _GaugeItem = gaugeItem;

            _DisplayText = displayTemplate;
            _DisplayTemplate = displayTemplate;
            _DisplayFormat = displayFormat;
        }
예제 #12
0
        protected override void OnMouseMove(MouseEventArgs e)
        {
            base.OnMouseMove(e);

            if (_MouseDown == true)
            {
                if (_HotItem != null)
                    _HotItem.OnMouseMove(e, true);
            }
            else
            {
                GaugeItem item = GetGaugeItemFromPoint(e.Location);

                if (item != null)
                {
                    if (_HotItem != item)
                    {
                        if (_HotItem != null)
                            _HotItem.OnMouseLeave();

                        Cursor = Cursors.Default;

                        item.OnMouseEnter();

                        if (_ShowToolTips == true)
                            _ToolTip.SetToolTip(this, item.GetitemTemplateText(this));
                    }

                    item.OnMouseMove(e, false);
                }
                else
                {
                    if (_HotItem != null)
                    {
                        _HotItem.OnMouseLeave();

                        _ToolTip.SetToolTip(this, "");
                    }

                    Cursor = Cursors.Default;
                }

                _HotItem = item;
            }
        }
예제 #13
0
        internal string OnGetDisplayTemplateText(
            GaugeItem item, string displayTemplate, string displayFormat)
        {
            if (GetDisplayTemplateText != null)
            {
                GetDisplayTemplateTextEventArgs e =
                    new GetDisplayTemplateTextEventArgs(item, displayTemplate, displayFormat);

                GetDisplayTemplateText(this, e);

                return (e.DisplayText);
            }

            return (displayTemplate);
        }
예제 #14
0
        public override void CopyToItem(GaugeItem copy)
        {
            GaugeStrip c = copy as GaugeStrip;

            if (c != null)
            {
                base.CopyToItem(c);

                if (_CapFillColor != null)
                    c.CapFillColor = (GradientFillColor)_CapFillColor.Clone();

                c.EndValue = _EndValue;

                if (_PointerFillColor != null)
                    c.PointerFillColor = (GradientFillColor)_PointerFillColor.Clone();

                if (_FillColor != null)
                    c.FillColor = (GradientFillColor)_FillColor.Clone();

                c.LabelColor = _LabelColor;

                if (_MajorTickMarkFillColor != null)
                    c.MajorTickMarkFillColor = (GradientFillColor)_MajorTickMarkFillColor.Clone();

                if (_MinorTickMarkFillColor != null)
                    c.MinorTickMarkFillColor = (GradientFillColor)_MinorTickMarkFillColor.Clone();

                c.ScaleOffset = _ScaleOffset;
                c.StartValue = _StartValue;
            }
        }
예제 #15
0
        void ListBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (_ListBox.SelectedItem != null)
            {
                PropertyInfo p = _ListBox.SelectedItem.GetType().GetProperty("Value");

                _LastGaugeItem = _GaugeItem;
                _GaugeItem = (GaugeItem)p.GetValue(_ListBox.SelectedItem, null);

                _CopyButton.Enabled = true;
            }
            else
            {
                _CopyButton.Enabled = false;
            }
        }
예제 #16
0
        public override void CopyToItem(GaugeItem copy)
        {
            GaugeIndicator c = copy as GaugeIndicator;

            if (c != null)
            {
                base.CopyToItem(c);

                c.AutoSize = _AutoSize;

                if (_BackColor != null)
                    c.BackColor = (GradientFillColor)_BackColor.Clone();

                c.DampeningSweepTime = _DampeningSweepTime;
                c.EmptyString = _EmptyString;

                if (_Font != null)
                    c.Font = (Font)_Font.Clone();

                c.Location = _Location;
                c.MaxValue = _MaxValue;
                c.MinValue = _MinValue;
                c.OverRangeString = _OverRangeString;
                c.RefreshRate = _RefreshRate;
                c.Size = _Size;
                c.Text = _Text;
                c.UnderRangeString = _UnderRangeString;
                c.UnderScale = _UnderScale;
                c.Value = _Value;
            }
        }
예제 #17
0
        void CopyButton_Click(object sender, EventArgs e)
        {
            if (_GaugeItem != null)
            {
                _CopyItem = _GaugeItem;

                if (_GaugeItem is GaugeText)
                    _AddTextItem.PerformClick();

                else if (_GaugeItem is GaugeImage)
                    _AddImageItem.PerformClick();

                else if (_GaugeItem is NumericIndicator)
                {
                    if (((NumericIndicator) _GaugeItem).Style == NumericIndicatorStyle.Mechanical)
                        _AddMechanicalIndicatorItem.PerformClick();
                    else
                        _AddDigitalIndicatorItem.PerformClick();
                }
                else if (_GaugeItem is StateIndicator)
                    _AddStateIndicatorItem.PerformClick();
            }
        }
예제 #18
0
        public override void CopyToItem(GaugeItem copy)
        {
            GaugePinLabel c = copy as GaugePinLabel;

            if (c != null)
            {
                base.CopyToItem(c);

                c.Text = _Text;
            }
        }
예제 #19
0
        void ListBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (_ListBox.SelectedItem != null)
            {
                PropertyInfo p = _ListBox.SelectedItem.GetType().GetProperty("Value");

                _LastGaugeItem = _GaugeItem;
                _GaugeItem = (GaugeItem)p.GetValue(_ListBox.SelectedItem, null);

                if (_CopyItem != null)
                {
                    if (_GaugeItem is GaugeText)
                        CopyGaugeText(_LastGaugeItem as GaugeText, _GaugeItem as GaugeText);

                    else if (_GaugeItem is GaugeImage)
                        CopyGaugeImage(_LastGaugeItem as GaugeImage, _GaugeItem as GaugeImage);

                    else if (_GaugeItem is NumericIndicator)
                        CopyGaugeNumericIndicator(_LastGaugeItem as NumericIndicator, _GaugeItem as NumericIndicator);

                    else if (_GaugeItem is StateIndicator)
                        CopyGaugeStateIndicator(_LastGaugeItem as StateIndicator, _GaugeItem as StateIndicator);

                    _CopyItem = null;
                }

                _CopyButton.Enabled = true;
            }
            else
            {
                _CopyButton.Enabled = false;
            }
        }
예제 #20
0
        public override void CopyToItem(GaugeItem copy)
        {
            GaugeIntervalLabel c = copy as GaugeIntervalLabel;

            if (c != null)
            {
                base.CopyToItem(c);

                c.FormatString = _FormatString;
                c.Interval = _Interval;
                c.IntervalOffset = _IntervalOffset;
                c.ShowMaxLabel = _ShowMaxLabel;
                c.ShowMinLabel = _ShowMinLabel;
            }
        }
예제 #21
0
 public GaugeItemCollectionEditor(Type type)
     : base(type)
 {
     _CopyItem = null;
 }
        async Task PopulateDemoGaugeCollection()
        {
            //App.GaugeItemCollection.Clear();
            //await App.BuildDBTables.GaugeTable.BeginEmpty();

            // gauge 0
            IGaugeItem gaugeItem = new GaugeItem(App.GaugePageCollection[0].PageId);

            gaugeItem.GaugeType             = GaugeTypeEnum.LeftArcGauge;
            gaugeItem.SensorId              = App.SensorCollection[2].SensorId;
            gaugeItem.GaugeTop              = 0;
            gaugeItem.GaugeLeft             = 0;
            gaugeItem.GaugeHeight           = 380;
            gaugeItem.GaugeWidth            = 380;
            gaugeItem.GaugeColor            = App.VesselSettings.ThemeForegroundColor;
            gaugeItem.Divisions             = 7;
            gaugeItem.MinorTicsPerMajorTic  = 5;
            gaugeItem.MediumTicsPerMajorTic = 0;
            gaugeItem.ValueFontSize         = 30;
            gaugeItem.UnitsFontSize         = 14;
            gaugeItem.Units = Units.AmpHrs;
            await App.GaugeItemCollection.BeginAdd(gaugeItem);

            // gauge 1
            gaugeItem                       = new GaugeItem(App.GaugePageCollection[0].PageId);
            gaugeItem.GaugeType             = GaugeTypeEnum.LeftArcGauge;
            gaugeItem.SensorId              = App.SensorCollection[2].SensorId;
            gaugeItem.GaugeTop              = 0;
            gaugeItem.GaugeLeft             = 364;
            gaugeItem.GaugeHeight           = 190;
            gaugeItem.GaugeWidth            = 190;
            gaugeItem.GaugeColor            = App.VesselSettings.ThemeForegroundColor;
            gaugeItem.Divisions             = 4;
            gaugeItem.MinorTicsPerMajorTic  = 10;
            gaugeItem.MediumTicsPerMajorTic = 0;
            gaugeItem.ValueFontSize         = 30;
            gaugeItem.UnitsFontSize         = 12;
            gaugeItem.MajorTicLength        = 12;
            gaugeItem.MiddleCircleDelta     = 45;
            gaugeItem.InnerCircleDelta      = 20;
            gaugeItem.Units                 = Units.Amps;
            await App.GaugeItemCollection.BeginAdd(gaugeItem);

            //// gauge 2
            //gaugeItem = new GaugeItem(App.GaugePageCollection[0].PageId);
            //gaugeItem.GaugeType = GaugeTypeEnum.LeftArcGauge;
            //gaugeItem.SensorId = App.SensorCollection[2].SensorId;
            //gaugeItem.GaugeTop = 230;
            //gaugeItem.GaugeLeft = 346;
            //gaugeItem.GaugeHeight = 190;
            //gaugeItem.GaugeWidth = 190;
            //gaugeItem.GaugeColor = App.VesselSettings.ThemeForegroundColor;
            //gaugeItem.Divisions = 4;
            //gaugeItem.MinorTicsPerMajorTic = 10;
            //gaugeItem.MediumTicsPerMajorTic = 0;
            //gaugeItem.ValueFontSize = 30;
            //gaugeItem.UnitsFontSize = 12;
            //gaugeItem.MajorTicLength = 12;
            //gaugeItem.MiddleCircleDelta = 45;
            //gaugeItem.InnerCircleDelta = 20;
            //gaugeItem.Units = Units.Bar;
            //await App.GaugeItemCollection.BeginAdd(gaugeItem);

            //// gauge 3
            //gaugeItem = new GaugeItem(App.GaugePageCollection[0].PageId);
            //gaugeItem.GaugeType = GaugeTypeEnum.LeftArcGauge;
            //gaugeItem.SensorId = App.SensorCollection[3].SensorId;
            //gaugeItem.GaugeTop = 0;
            //gaugeItem.GaugeLeft = 1199;
            //gaugeItem.GaugeHeight = 380;
            //gaugeItem.GaugeWidth = 380;
            //gaugeItem.GaugeColor = App.VesselSettings.ThemeForegroundColor;
            //gaugeItem.Divisions = 7;
            //gaugeItem.MinorTicsPerMajorTic = 5;
            //gaugeItem.MediumTicsPerMajorTic = 0;
            //gaugeItem.ValueFontSize = 30;
            //gaugeItem.UnitsFontSize = 14;
            //gaugeItem.Units = Units.Celsius;
            //await App.GaugeItemCollection.BeginAdd(gaugeItem);

            //// gauge 4
            //gaugeItem = new GaugeItem(App.GaugePageCollection[0].PageId);
            //gaugeItem.GaugeType = GaugeTypeEnum.LeftArcGauge;
            //gaugeItem.SensorId = App.SensorCollection[4].SensorId;
            //gaugeItem.GaugeTop = 0;
            //gaugeItem.GaugeLeft = 1025;
            //gaugeItem.GaugeHeight = 190;
            //gaugeItem.GaugeWidth = 190;
            //gaugeItem.GaugeColor = App.VesselSettings.ThemeForegroundColor;
            //gaugeItem.Divisions = 4;
            //gaugeItem.MinorTicsPerMajorTic = 10;
            //gaugeItem.MediumTicsPerMajorTic = 0;
            //gaugeItem.ValueFontSize = 30;
            //gaugeItem.UnitsFontSize = 12;
            //gaugeItem.MajorTicLength = 12;
            //gaugeItem.MiddleCircleDelta = 45;
            //gaugeItem.InnerCircleDelta = 20;
            //gaugeItem.Units = Units.CubicMeters;
            //await App.GaugeItemCollection.BeginAdd(gaugeItem);

            //// gauge 5
            //gaugeItem = new GaugeItem(App.GaugePageCollection[0].PageId);
            //gaugeItem.GaugeType = GaugeTypeEnum.LeftArcGauge;
            //gaugeItem.SensorId = App.SensorCollection[5].SensorId;
            //gaugeItem.GaugeTop = 230;
            //gaugeItem.GaugeLeft = 1042;
            //gaugeItem.GaugeHeight = 190;
            //gaugeItem.GaugeWidth = 190;
            //gaugeItem.GaugeColor = App.VesselSettings.ThemeForegroundColor;
            //gaugeItem.Divisions = 4;
            //gaugeItem.MinorTicsPerMajorTic = 10;
            //gaugeItem.MediumTicsPerMajorTic = 0;
            //gaugeItem.ValueFontSize = 30;
            //gaugeItem.UnitsFontSize = 12;
            //gaugeItem.MajorTicLength = 12;
            //gaugeItem.MiddleCircleDelta = 45;
            //gaugeItem.InnerCircleDelta = 20;
            //gaugeItem.Units = Units.CubicMetersPerHr;
            //await App.GaugeItemCollection.BeginAdd(gaugeItem);

            //// tank gauge 0
            //gaugeItem = new GaugeItem(App.GaugePageCollection[1].PageId);
            //gaugeItem.GaugeType = GaugeTypeEnum.LeftTankGauge;
            //gaugeItem.SensorId = App.SensorCollection[6].SensorId;
            //gaugeItem.GaugeTop = 50;
            //gaugeItem.GaugeLeft = 540;
            //gaugeItem.GaugeHeight = 330;
            //gaugeItem.GaugeWidth = 140;
            //gaugeItem.GaugeColor = App.VesselSettings.ThemeForegroundColor;
            //gaugeItem.Units = Units.CubicMetersPerHr;
            //gaugeItem.Resolution = 0;
            //await App.GaugeItemCollection.BeginAdd(gaugeItem);

            //// tank gauge 1
            //gaugeItem = new GaugeItem(App.GaugePageCollection[1].PageId);
            //gaugeItem.GaugeType = GaugeTypeEnum.LeftTankGauge;
            //gaugeItem.SensorId = App.SensorCollection[7].SensorId;
            //gaugeItem.GaugeTop = 50;
            //gaugeItem.GaugeLeft = 680;
            //gaugeItem.GaugeHeight = 330;
            //gaugeItem.GaugeWidth = 140;
            //gaugeItem.GaugeColor = App.VesselSettings.ThemeForegroundColor;
            //gaugeItem.Units = Units.CubicMetersPerHr;
            //gaugeItem.Resolution = 0;
            //await App.GaugeItemCollection.BeginAdd(gaugeItem);

            //// tank gauge 2
            //gaugeItem = new GaugeItem(App.GaugePageCollection[1].PageId);
            //gaugeItem.GaugeType = GaugeTypeEnum.RightTankGauge;
            //gaugeItem.SensorId = App.SensorCollection[8].SensorId;
            //gaugeItem.GaugeTop = 50;
            //gaugeItem.GaugeLeft = 760;
            //gaugeItem.GaugeHeight = 330;
            //gaugeItem.GaugeWidth = 140;
            //gaugeItem.GaugeColor = App.VesselSettings.ThemeForegroundColor;
            //gaugeItem.Units = Units.CubicMetersPerHr;
            //gaugeItem.Resolution = 0;
            //await App.GaugeItemCollection.BeginAdd(gaugeItem);

            //// tank gauge 3
            //gaugeItem = new GaugeItem(App.GaugePageCollection[1].PageId);
            //gaugeItem.GaugeType = GaugeTypeEnum.RightTankGauge;
            //gaugeItem.SensorId = App.SensorCollection[9].SensorId;
            //gaugeItem.GaugeTop = 50;
            //gaugeItem.GaugeLeft = 870;
            //gaugeItem.GaugeHeight = 330;
            //gaugeItem.GaugeWidth = 140;
            //gaugeItem.GaugeColor = App.VesselSettings.ThemeForegroundColor;
            //gaugeItem.Units = Units.CubicMetersPerHr;
            //gaugeItem.Resolution = 0;
            //await App.GaugeItemCollection.BeginAdd(gaugeItem);

            //// text control 0
            //gaugeItem = new GaugeItem(App.GaugePageCollection[1].PageId);
            //gaugeItem.GaugeType = GaugeTypeEnum.TextControl;
            //gaugeItem.Text = "Fuel\nPort";
            //gaugeItem.GaugeTop = 10;
            //gaugeItem.GaugeLeft = 595;
            //gaugeItem.GaugeHeight = 60;
            //gaugeItem.GaugeWidth = 60;
            //gaugeItem.TextFontSize = 13;
            //gaugeItem.TextFontColor = App.VesselSettings.ThemeForegroundColor;
            //gaugeItem.TextHorizontalAlignment = CanvasHorizontalAlignment.Left;
            //gaugeItem.TextVerticalAlignment = CanvasVerticalAlignment.Top;
            //await App.GaugeItemCollection.BeginAdd(gaugeItem);

            //// text control 1
            //gaugeItem = new GaugeItem(App.GaugePageCollection[1].PageId);
            //gaugeItem.GaugeType = GaugeTypeEnum.TextControl;
            //gaugeItem.Text = "Fresh\nWater";
            //gaugeItem.GaugeTop = 10;
            //gaugeItem.GaugeLeft = 735;
            //gaugeItem.GaugeHeight = 60;
            //gaugeItem.GaugeWidth = 60;
            //gaugeItem.TextFontSize = 13;
            //gaugeItem.TextFontColor = App.VesselSettings.ThemeForegroundColor;
            //gaugeItem.TextHorizontalAlignment = CanvasHorizontalAlignment.Left;
            //gaugeItem.TextVerticalAlignment = CanvasVerticalAlignment.Top;
            //await App.GaugeItemCollection.BeginAdd(gaugeItem);

            //// text control 2
            //gaugeItem = new GaugeItem(App.GaugePageCollection[1].PageId);
            //gaugeItem.GaugeType = GaugeTypeEnum.TextControl;
            //gaugeItem.Text = "Black\nWater";
            //gaugeItem.GaugeTop = 10;
            //gaugeItem.GaugeLeft = 820;
            //gaugeItem.GaugeHeight = 60;
            //gaugeItem.GaugeWidth = 60;
            //gaugeItem.TextFontSize = 13;
            //gaugeItem.TextFontColor = App.VesselSettings.ThemeForegroundColor;
            //gaugeItem.TextHorizontalAlignment = CanvasHorizontalAlignment.Left;
            //gaugeItem.TextVerticalAlignment = CanvasVerticalAlignment.Top;
            //await App.GaugeItemCollection.BeginAdd(gaugeItem);

            //// text control 3
            //gaugeItem = new GaugeItem(App.GaugePageCollection[1].PageId);
            //gaugeItem.GaugeType = GaugeTypeEnum.TextControl;
            //gaugeItem.Text = "Fuel\nStbd";
            //gaugeItem.GaugeTop = 10;
            //gaugeItem.GaugeLeft = 925;
            //gaugeItem.GaugeHeight = 60;
            //gaugeItem.GaugeWidth = 60;
            //gaugeItem.TextFontSize = 13;
            //gaugeItem.TextFontColor = App.VesselSettings.ThemeForegroundColor;
            //gaugeItem.TextHorizontalAlignment = CanvasHorizontalAlignment.Left;
            //gaugeItem.TextVerticalAlignment = CanvasVerticalAlignment.Top;
            //await App.GaugeItemCollection.BeginAdd(gaugeItem);

            //App.BuildDBTables.GaugeTable.Load();
            //App.GaugeItemCollection = new GaugeItemCollection();
            //await App.GaugeItemCollection.BeginLoad();
        }
예제 #23
0
        public override void CopyToItem(GaugeItem copy)
        {
            GaugePin c = copy as GaugePin;

            if (c != null)
            {
                base.CopyToItem(c);

                c.EndOffset = _EndOffset;

                if (_FillColor != null)
                    c.FillColor = (GradientFillColor)_FillColor.Clone();

                c.Image = _Image;
                c.IsMaxPin = _IsMaxPin;
                c.Length = _Length;
                c.Placement = _Placement;
                c.Scale = _Scale;
                c.ScaleOffset = _ScaleOffset;
                c.Style = _Style;
                c.Width = _Width;

                c.Label = new GaugePinLabel(c);
                _Label.CopyToItem(c.Label);
            }
        }