/// <summary> /// User has changed the selected series in the gallery - update the details box. /// </summary> void OnGalleryChartChange(object sender, EventArgs e) { if (UserChange) { GalleryPanel Gallery = (GalleryPanel)tabControl1.SelectedTab.Controls[0]; Steema.TeeChart.Styles.Series S = Gallery.SelectedChart[0]; ShowHideListBox("X", S, 0); ShowHideListBox("Y1", S, 1); ShowHideListBox("Y2", S, 2); ShowHideListBox("Y3", S, 3); ShowHideListBox("Y4", S, 4); if (S.ValuesLists.Count > 5) { MessageBox.Show("Too many y variables for this type of plot"); } } }
/// <summary> /// Return one or more series - fully configured, ready to go. /// </summary> public List <Series> GetSeries() { List <Series> ReturnSeries = new List <Series>(); GalleryPanel Gallery = (GalleryPanel)tabControl1.SelectedTab.Controls[0]; int i = 0; for (i = 0; i != Gallery.Charts.Count; i++) { if (Gallery.Charts[i] == Gallery.SelectedChart) { break; } } if (X.Items.Count == 1 && Y1.Items.Count > 0) { // XYYYY foreach (string Y in Y1.Items) { Series S = Gallery.SelectedChart.Series[0]; if (Y != Y1.Items[0].ToString()) { S = (Series)Gallery.SelectedChart.Series[0].Clone(); } S.Title = Y; XmlDocument Doc = new XmlDocument(); XmlNode PlotNode = Doc.AppendChild(Doc.CreateElement("XY")); XmlHelper.SetValue(PlotNode, "GalleryPageName", tabControl1.SelectedTab.Text); XmlHelper.SetValue(PlotNode, "GallerySeriesIndex", i.ToString()); XmlHelper.SetValue(PlotNode, "GallerySubIndex", Gallery.SubIndex.ToString()); XmlHelper.SetValue(PlotNode, "DataSource", DataList.Text); XmlHelper.SetValue(PlotNode, "X", X.Items[0].ToString()); XmlHelper.SetValue(PlotNode, "Y", Y); if (Y2.Items.Count > 0) { XmlHelper.SetValue(PlotNode, "Y2", Y2.Items[0].ToString()); } if (Y3.Items.Count > 0) { XmlHelper.SetValue(PlotNode, "Y3", Y3.Items[0].ToString()); } if (Y4.Items.Count > 0) { XmlHelper.SetValue(PlotNode, "Y4", Y4.Items[0].ToString()); } S.ValuesLists[0].DataMember = PlotNode.OuterXml; ReturnSeries.Add(S); } } else if (X.Items.Count > 1 && Y1.Items.Count == 1) { // XXXXY foreach (string XName in X.Items) { Series S = Gallery.SelectedChart.Series[0]; if (XName != X.Items[0].ToString()) { S = (Series)Gallery.SelectedChart.Series[0].Clone(); } S.Title = XName; XmlDocument Doc = new XmlDocument(); XmlNode PlotNode = Doc.AppendChild(Doc.CreateElement("XY")); XmlHelper.SetValue(PlotNode, "GalleryPageName", tabControl1.SelectedTab.Text); XmlHelper.SetValue(PlotNode, "GallerySeriesIndex", i.ToString()); XmlHelper.SetValue(PlotNode, "GallerySubIndex", Gallery.SubIndex.ToString()); XmlHelper.SetValue(PlotNode, "DataSource", DataList.Text); XmlHelper.SetValue(PlotNode, "X", XName); XmlHelper.SetValue(PlotNode, "Y", Y1.Items[0].ToString()); if (Y2.Items.Count > 0) { XmlHelper.SetValue(PlotNode, "Y2", Y2.Items[0].ToString()); } if (Y3.Items.Count > 0) { XmlHelper.SetValue(PlotNode, "Y3", Y3.Items[0].ToString()); } if (Y4.Items.Count > 0) { XmlHelper.SetValue(PlotNode, "Y4", Y4.Items[0].ToString()); } S.ValuesLists[0].DataMember = PlotNode.OuterXml; ReturnSeries.Add(S); } } if (ReturnSeries.Count == 1 && SavedSeriesTitle != "") { ReturnSeries[0].Title = SavedSeriesTitle; } return(ReturnSeries); }