コード例 #1
0
        // Crea una series section
        private void CrearSeriesSection(int valueAboutSlider, bool is3D)
        {
            // Elementos de la Section
            seriesSection       = new StackLayout();
            seriesTitleSection  = new SettingsSectionTitle();
            settingSeriesValues = new SettingsItem(TypeItemsGrid.Slider);
            settingSeriesMarks  = new SettingsItem(TypeItemsGrid.Switch);
            settingSeriesTitle  = new SettingsItem(TypeItemsGrid.Entry);
            settingSeries3D     = new SettingsItem(TypeItemsGrid.Switch);
            sliderValues        = new SettingsSliderItem();
            entryTitle          = new Entry();
            switch3D            = new SettingsSwitchItem();

            // Add Section
            settingsPanelComponent.AddChildren = seriesSection;

            // Series
            seriesTitleSection.Text = "Series";
            seriesSection.Children.Add(seriesTitleSection);

            if (valueAboutSlider != 3)
            {
                if (valueAboutSlider == 1)
                {
                    seriesSection.Children.Add(settingSeriesValues);
                    settingSeriesValues.TitleText         = "Values";
                    settingSeriesValues.DetailText        = "Change the values from this chart";
                    settingSeriesValues.AddChildrenSlider = sliderValues;
                    settingsPanelComponent.AddSeparation(seriesSection, true);
                }

                if (valueAboutSlider != 2)
                {
                    seriesSection.Children.Add(settingSeriesMarks);
                    settingsPanelComponent.AddSeparation(seriesSection, true);
                }
            }

            seriesSection.Children.Add(settingSeriesTitle);

            //settingSeriesValues.GestureRecognizers.Add(new TapGestureRecognizer { Command = new Command(() => settingSeriesValues.OnClickItem(settingSeriesValues)) });

            settingSeriesMarks.TitleText         = "Marks";
            settingSeriesMarks.AddChildrenSwitch = switchMarks;
            settingSeriesMarks.isToogled         = chart.Chart.Series[0].Marks.Visible;
            switchMarks.Toggled += SwitchMarks_Toggled;

            settingSeriesTitle.TitleText = "Title";
            settingSeriesTitle.GestureRecognizers.Add(new TapGestureRecognizer {
                Command = new Command(() => SettingItem3_Clicked(settingSeriesTitle))
            });
            settingSeriesTitle.AddChildrenEntry        = entryTitle;
            settingSeriesTitle.GetButtonEntry.Clicked += GetButtonEntry_Clicked;
            entryTitle.IsVisible = false;

            if (is3D)
            {
                //settingsPanelComponent.AddSeparation(seriesSection, true);

                settingSeries3D.TitleText         = "3D View";
                settingSeries3D.AddChildrenSwitch = switch3D;
                settingSeries3D.isToogled         = chart.Chart.Aspect.View3D;
                switch3D.Toggled += Switch3D_Toggled;

                //seriesSection.Children.Add(settingSeries3D);
            }
        }
コード例 #2
0
        // Crea una axes section
        private void CrearAxesSection()
        {
            // Elementos de la Section
            axesSection         = new StackLayout();
            axesTitleSection    = new SettingsSectionTitle();
            settingAxesSelect   = new SettingsItem(TypeItemsGrid.Button);
            settingAxesVisible  = new SettingsItem(TypeItemsGrid.Switch);
            settingAxesInverted = new SettingsItem(TypeItemsGrid.Switch);
            settingAxesGrid     = new SettingsItem(TypeItemsGrid.Switch);
            pickerSelectAxes    = new Picker();
            switchVisibleAxes   = new SettingsSwitchItem();
            switchInvertedAxes  = new SettingsSwitchItem();
            switchGridAxes      = new SettingsSwitchItem();

            // Add Section
            settingsPanelComponent.AddChildren = axesSection;

            // Axes
            axesTitleSection.Text = "Axes";
            axesSection.Children.Add(axesTitleSection);
            axesSection.Children.Add(settingAxesSelect);
            settingsPanelComponent.AddSeparation(axesSection, true);
            axesSection.Children.Add(settingAxesVisible);
            settingsPanelComponent.AddSeparation(axesSection, true);
            axesSection.Children.Add(settingAxesInverted);
            settingsPanelComponent.AddSeparation(axesSection, true);
            axesSection.Children.Add(settingAxesGrid);

            settingAxesSelect.TitleText = "Axis";
            settingAxesSelect.GestureRecognizers.Add(new TapGestureRecognizer {
                Command = new Command(() => FocusPicker_OnClick(settingAxesSelect, pickerSelectAxes))
            });
            settingAxesSelect.AddChildrenPicker = pickerSelectAxes;
            pickerSelectAxes.IsVisible          = false;

            selectAxis = new string[6] {
                "Left", "Right", "Top", "Bottom", "Depth", "Depth Top"
            };

            pickerSelectAxes.Title                 = "Axis";
            pickerSelectAxes.ItemsSource           = selectAxis;
            pickerSelectAxes.SelectedItem          = selectAxis[0];
            pickerSelectAxes.SelectedIndexChanged += PickerAxis_SelectedIndexChanged;

            settingAxesVisible.TitleText         = "Visible";
            settingAxesVisible.AddChildrenSwitch = switchVisibleAxes;
            settingAxesVisible.isToogled         = chart.Chart.Axes.Left.Visible;
            switchVisibleAxes.Toggled           += SwitchVisibleAxis_Toggled;

            settingAxesInverted.TitleText         = "Inverted";
            settingAxesInverted.AddChildrenSwitch = switchInvertedAxes;
            settingAxesInverted.isToogled         = chart.Chart.Axes.Left.Inverted;
            switchInvertedAxes.Toggled           += SwitchInvertedAxes_Toggled;

            settingAxesGrid.TitleText         = "Grid";
            settingAxesGrid.AddChildrenSwitch = switchGridAxes;
            settingAxesGrid.isToogled         = chart.Chart.Axes.Left.Grid.Visible;
            switchGridAxes.Toggled           += SwitchGridAxes_Toggled;

            axisSelected = chart.Chart.Axes.Left;
            settingAxesSelect.ValueItemText = pickerSelectAxes.SelectedItem.ToString();
        }
コード例 #3
0
        private void CrearSettings()
        {
            // Declarar variables

            settingItemHandStyle = new SettingsItem(TypeItemsGrid.Button);
            switchMarks          = new SettingsSwitchItem();
            picker          = new Picker();
            itemsPickerHand = new List <PointerStyles>();

            // Sections Propiedades
            seriesSection.VerticalOptions = LayoutOptions.FillAndExpand;

            // Creación de las Sections
            ItemsForEachChart();

            // Vuelve a pintar el componente con las nuevas Sections
            settingsPanelComponent.Repaint();

            switch (titleChart)
            {
            case "Line":
            case "Column Bar":
            case "Area":
            case "Pie":
            case "Fast Line":
            case "Horizontal Line":
            case "Horizontal Area":
            case "Horizontal Bar":
            case "Donut":
            case "Bubble":
            case "Shape":
            case "Gantt":
            case "Point/Scatter":
            case "Interpolating Line":
            case "Bar Styles":
            case "Zoom & Panning":
            case "Bar Gradient":
            case "Bubble Transparent":
            case "Real Time":
            case "Stack Area":
            case "Multiple Pies":
            case "Semi-Pie":
            case "Semi-Donut":
                break;

            case "Circular Gauge":
            case "Car Fuel":
            case "Custom Hand":
            case "Acceleration":
            case "Knob Gauge":
            case "Temperature Knob":
            case "Compass":
            case "Linear Gauge":
            case "Scales":
            case "SubLines":
            case "Mobile Battery":
                // Series
                if (chart.Chart.Series[0] is CircularGauge)
                {
                    settingSeriesMarks.isToogled = ((CircularGauge)chart.Chart.Series[0]).Axis.Labels.Visible;
                    sliderValues.Maximum         = ((CircularGauge)chart.Chart.Series[0]).Maximum;
                    sliderValues.Minimum         = ((CircularGauge)chart.Chart.Series[0]).Minimum;
                    sliderValues.Value           = Math.Round(((CircularGauge)chart.Chart.Series[0]).Value, 2);
                }
                else if (chart.Chart.Series[0] is KnobGauge)
                {
                    settingSeriesMarks.isToogled = ((KnobGauge)chart.Chart.Series[0]).Axis.Labels.Visible;
                    sliderValues.Maximum         = ((KnobGauge)chart.Chart.Series[0]).Maximum;
                    sliderValues.Minimum         = ((KnobGauge)chart.Chart.Series[0]).Minimum;
                    sliderValues.Value           = Math.Round(((KnobGauge)chart.Chart.Series[0]).Value, 2);
                }
                else if (chart.Chart.Series[0] is LinearGauge)
                {
                    settingSeriesMarks.isToogled = ((LinearGauge)chart.Chart.Series[0]).Marks.Visible;
                    sliderValues.Maximum         = ((LinearGauge)chart.Chart.Series[0]).Maximum;
                    sliderValues.Minimum         = ((LinearGauge)chart.Chart.Series[0]).Minimum;

                    if (titleChart != "Mobile Battery")
                    {
                        sliderValues.Value = Math.Round(((LinearGauge)chart.Chart.Series[0]).Value, 2);
                    }
                    else
                    {
                        sliderValues.Value = Math.Round(100 - ((LinearGauge)chart.Chart.Series[0]).Value, 2);
                    }
                }
                sliderValues.ValueChanged        += SliderValues_ValueChanged;
                settingSeriesValues.ValueItemText = sliderValues.Value.ToString();

                if (titleChart == "Custom Hand")
                {
                    settingsPanelComponent.AddSeparation(seriesSection, true);
                    seriesSection.Children.Add(settingItemHandStyle);

                    settingItemHandStyle.TitleText = "Hand Style";
                    settingItemHandStyle.GestureRecognizers.Add(new TapGestureRecognizer {
                        Command = new Command(() => FocusPicker_OnClick(settingItemHandStyle, picker))
                    });
                    settingItemHandStyle.AddChildrenPicker = picker;
                    picker.IsVisible = false;

                    pointerStyles = (PointerStyles[])MyConvert.ToArray("PointerStyles");

                    for (int i = 0; i < pointerStyles.Length; i++)
                    {
                        if (i != 2 && i != 3 && i != 6 && i != 11 && i != 13 && i != 12 && i != 14)
                        {
                            itemsPickerHand.Add(pointerStyles[i]);
                        }
                    }

                    picker.Title = "Select a style hand";

                    picker.ItemsSource                 = itemsPickerHand;
                    picker.SelectedItem                = (PointerStyles)((CircularGauge)(chart.Chart.Series[0])).Hand.Style.Value;
                    picker.SelectedIndexChanged       += PickerHand_SelectedIndexChanged;
                    settingItemHandStyle.ValueItemText = picker.SelectedItem.ToString();
                }
                break;
            }
        }