public XmlNode GetXml(XmlDocument xDoc, XmlNode parent = null) { XmlNode root = XmlAdder.Element(xDoc, "TabControl", parent); XmlNode xInfo = XmlAdder.Element(xDoc, "TabControlInfo", root); XmlImageList xImgList = this.ImageList as XmlImageList; if (xImgList != null) { xImgList.GetXml(xDoc, xInfo); } XmlNode xTabs = XmlAdder.Element(xDoc, "Tabs", root); for (int i = 0; i < this.TabPages.Count; i++) { XmlTab tab = this.TabPages[i] as XmlTab; if (tab != null) { tab.GetXml(xDoc, xTabs); } } return(root); }
public XmlNode GetXml(XmlDocument xDoc, XmlNode parent = null) { XmlNode xTableNode = XmlAdder.Element(xDoc, "Table", parent); XmlNode xTableInfo = XmlAdder.Element(xDoc, "TableInfo", xTableNode); XmlNode xBaseRowHeight = XmlAdder.Element(xDoc, "BaseRowHeight", this.BaseRowHeight.ToString(), xTableInfo); XmlNode xColumns = XmlAdder.Element(xDoc, "Columns", xTableNode); for (int colIndex = 0; colIndex < this.ColumnCount; colIndex++) { XmlNode xColumn = XmlAdder.Element(xDoc, "Column", xColumns); IEasyGridColumn col = Columns(colIndex); ItemTypes itemType = col.ItemType; switch (itemType) { case ItemTypes.Button: { EasyGridButtonColumn c = col as EasyGridButtonColumn; XmlNode xProperties = XmlAdder.Element(xDoc, itemType.ToString() + "Properties", xColumn); XmlAdder.Attribute(xDoc, "HeaderText", c.HeaderText, xProperties); XmlAdder.Attribute(xDoc, "BaseText", c.Text, xProperties); } break; case ItemTypes.CheckBox: { EasyGridCheckBoxColumn c = col as EasyGridCheckBoxColumn; XmlNode xProperties = XmlAdder.Element(xDoc, itemType.ToString() + "Properties", xColumn); XmlAdder.Attribute(xDoc, "TriState", c.ThreeState ? "true" : "false", xProperties); } break; case ItemTypes.CheckBoxGroup: { EasyGridCheckBoxGroupColumn c = col as EasyGridCheckBoxGroupColumn; XmlNode xProperties = XmlAdder.Element(xDoc, itemType.ToString() + "Properties", xColumn); XmlAdder.Attribute(xDoc, "HeaderText", c.HeaderText, xProperties); if (c.Items.Count > 0) { XmlNode multiSelItems = XmlAdder.Element(xDoc, "MultiSelItems", xProperties); for (int i = 0; i < c.Items.Count; i++) { XmlNode multiSelItem = XmlAdder.Element(xDoc, "MultiSelItem", c.Items[i].Text, multiSelItems); XmlAdder.Attribute(xDoc, "Checked", c.Items[i].Checked ? "true" : "false", multiSelItem); } } } break; case ItemTypes.CloseButton: { EasyGridCloseButtonColumn c = col as EasyGridCloseButtonColumn; XmlNode xProperties = XmlAdder.Element(xDoc, itemType.ToString() + "Properties", xColumn); XmlAdder.Attribute(xDoc, "HeaderText", c.HeaderText, xProperties); XmlAdder.Attribute(xDoc, "BaseText", c.Text, xProperties); } break; case ItemTypes.ComboBox: { EasyGridComboBoxColumn c = col as EasyGridComboBoxColumn; XmlNode xProperties = XmlAdder.Element(xDoc, itemType.ToString() + "Properties", xColumn); XmlAdder.Attribute(xDoc, "HeaderText", c.HeaderText, xProperties); if (c.Items.Count > 0) { XmlNode singleSelItems = XmlAdder.Element(xDoc, "SingleSelItems", xProperties); for (int i = 0; i < c.Items.Count; i++) { XmlAdder.Element(xDoc, "SingleSelItem", c.Items.ElementAt(i), singleSelItems); } } } break; case ItemTypes.FileOpenBox: { EasyGridFileOpenBoxColumn c = col as EasyGridFileOpenBoxColumn; XmlNode xProperties = XmlAdder.Element(xDoc, itemType.ToString() + "Properties", xColumn); XmlAdder.Attribute(xDoc, "HeaderText", c.HeaderText, xProperties); XmlAdder.Attribute(xDoc, "Editable", c.IsEditable?"true":"false", xProperties); XmlAdder.Attribute(xDoc, "TextAlignMode", c.ColumnTextAlignMode.ToString(), xProperties); } break; case ItemTypes.Image: { EasyGridImageColumn c = col as EasyGridImageColumn; XmlNode xProperties = XmlAdder.Element(xDoc, itemType.ToString() + "Properties", xColumn); XmlAdder.Attribute(xDoc, "HeaderText", c.HeaderText, xProperties); XmlAdder.Attribute(xDoc, "TitleShowImage", c.SelectedIndex.ToString(), xProperties); XmlImageList imgs = c.Images as XmlImageList; if (imgs != null && imgs.Count > 0) { imgs.GetXml(xDoc, xProperties); } } break; case ItemTypes.ImageButton: { EasyGridImageButtonColumn c = col as EasyGridImageButtonColumn; XmlNode xProperties = XmlAdder.Element(xDoc, itemType.ToString() + "Properties", xColumn); XmlAdder.Attribute(xDoc, "HeaderText", c.HeaderText, xProperties); XmlAdder.Attribute(xDoc, "TitleShowImage", c.SelectedIndex.ToString(), xProperties); XmlAdder.Attribute(xDoc, "ShowTitleText", c.HeaderText.Length > 0 ? "true" : "false", xProperties); XmlAdder.Attribute(xDoc, "UseColumnTextForButtonValue", c.UseColumnTextForButtonValue.ToString(), xProperties); XmlImageList imgs = c.Images as XmlImageList; if (imgs != null && imgs.Count > 0) { imgs.GetXml(xDoc, xProperties); } } break; case ItemTypes.ImageCheckBox: { EasyGridImageCheckBoxColumn c = col as EasyGridImageCheckBoxColumn; XmlNode xProperties = XmlAdder.Element(xDoc, itemType.ToString() + "Properties", xColumn); XmlAdder.Attribute(xDoc, "HeaderText", c.HeaderText, xProperties); XmlAdder.Attribute(xDoc, "InitValue", c.SelectedIndex.ToString(), xProperties); XmlCheckImageList imgs = c.Images as XmlCheckImageList; if (imgs != null && imgs.Count > 0) { imgs.GetXml(xDoc, xProperties); } else { if (c.Images.Count > 1) { if (c.Images.ElementAt(1).Equals(FormAdders.Properties.Resources.check_red)) { XmlAdder.Attribute(xDoc, "CheckColor", CheckBoxColors.Red.ToString(), xProperties); } else { XmlAdder.Attribute(xDoc, "CheckColor", CheckBoxColors.Blue.ToString(), xProperties); } } else { XmlAdder.Attribute(xDoc, "CheckColor", CheckBoxColors.Red.ToString(), xProperties); } } } break; case ItemTypes.KeyValue: { EasyGridKeyValueColumn c = col as EasyGridKeyValueColumn; XmlNode xProperties = XmlAdder.Element(xDoc, itemType.ToString() + "Properties", xColumn); XmlAdder.Attribute(xDoc, "HeaderText", c.HeaderText, xProperties); XmlAdder.Attribute(xDoc, "TextAlignMode", c.ColumnTextAlignMode.ToString(), xProperties); } break; case ItemTypes.RadioButton: { EasyGridRadioButtonColumn c = col as EasyGridRadioButtonColumn; XmlNode xProperties = XmlAdder.Element(xDoc, itemType.ToString() + "Properties", xColumn); XmlAdder.Attribute(xDoc, "HeaderText", c.HeaderText, xProperties); if (c.Items.Count > 0) { XmlNode singleSelItems = XmlAdder.Element(xDoc, "SingleSelItems", xProperties); for (int i = 0; i < c.Items.Count; i++) { XmlAdder.Element(xDoc, "SingleSelItem", c.Items[i].Text, singleSelItems); } } } break; case ItemTypes.TextBox: { EasyGridTextBoxColumn c = col as EasyGridTextBoxColumn; XmlNode xProperties = XmlAdder.Element(xDoc, itemType.ToString() + "Properties", xColumn); XmlAdder.Attribute(xDoc, "HeaderText", c.HeaderText, xProperties); XmlAdder.Attribute(xDoc, "TextAlignMode", c.ColumnTextAlignMode.ToString(), xProperties); XmlAdder.Attribute(xDoc, "Editable", c.IsEditable ? "true" : "false", xProperties); XmlAdder.Attribute(xDoc, "IsAutoSort", c.SortMode == DataGridViewColumnSortMode.Automatic ? "true" : "false", xProperties); } break; case ItemTypes.Various: { EasyGridVariousColumn c = col as EasyGridVariousColumn; XmlNode xProperties = XmlAdder.Element(xDoc, itemType.ToString() + "Properties", xColumn); XmlAdder.Attribute(xDoc, "HeaderText", c.HeaderText, xProperties); } break; } } Rows.GetXml(xDoc, xTableNode); return(xTableNode); }