// 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); } }
// 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(); }
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; } }