public void Serialize(object obj, Altaxo.Serialization.Xml.IXmlSerializationInfo info) { ColumnStyle s = (ColumnStyle)obj; info.AddEnum("Type", s._columnStyleType); info.AddValue("Size", (float)s.m_Size); info.AddValue("Alignment", Enum.GetName(typeof(System.Drawing.StringAlignment), s.m_TextFormat.Alignment)); info.AddValue("CustomPen", s._isCellPenCustom); if (s._isCellPenCustom) { info.AddValue("Pen", s.m_CellPen); } info.AddValue("CustomText", s._isTextBrushCustom); if (s._isTextBrushCustom) { info.AddValue("TextBrush", s.m_TextBrush); } info.AddValue("CustomBkg", s._isBackgroundBrushCustom); if (s._isBackgroundBrushCustom) { info.AddValue("BkgBrush", s.m_BackgroundBrush); } info.AddValue("CustomFont", s.IsCustomFont); if (s.IsCustomFont) { info.AddValue("Font", s.m_TextFont); } }
/// <summary> /// Retrieves the column number clicked onto /// </summary> /// <param name="dg">The parent data grid</param> /// <param name="mouseCoord">The coordinates of the mouse click.</param> /// <param name="cellRect">The function sets the x-properties (X and Width) of the cell rectangle.</param> /// <returns>Either -1 when clicked on the row header area, column number when clicked in the column range, or int.MinValue when clicked outside of all.</returns> public static int GetColumnNumber(WinFormsWorksheetController dg, Point mouseCoord, ref Rectangle cellRect) { int firstVisibleColumn = dg.FirstVisibleColumn; int actualColumnRight = dg.WorksheetLayout.RowHeaderStyle.Width; int columnCount = dg.DataTable.DataColumns.ColumnCount; if (mouseCoord.X < actualColumnRight) { cellRect.X = 0; cellRect.Width = actualColumnRight; return(-1); } for (int i = firstVisibleColumn; i < columnCount; i++) { cellRect.X = actualColumnRight; Altaxo.Worksheet.ColumnStyle cs = dg.GetDataColumnStyle(i); actualColumnRight += cs.Width; if (actualColumnRight > mouseCoord.X) { cellRect.Width = cs.Width; return(i); } } // end for return(int.MinValue); }
public object Deserialize(object o, Altaxo.Serialization.Xml.IXmlDeserializationInfo info, object parent) { ColumnStyle s = (ColumnStyle)o; if ("Size" == info.CurrentElementName) { return(new XmlSerializationSurrogate0().Deserialize(o, info, parent)); } s._columnStyleType = (ColumnStyleType)info.GetEnum("Type", typeof(ColumnStyleType)); s.m_Size = (int)info.GetSingle("Size"); s.m_TextFormat.Alignment = (StringAlignment)Enum.Parse(typeof(StringAlignment), info.GetString("Alignment")); s._isCellPenCustom = info.GetBoolean("CustomPen"); if (s._isCellPenCustom) { s.CellBorder = (PenX)info.GetValue("Pen", s); } else { s.SetDefaultCellBorder(); } s._isTextBrushCustom = info.GetBoolean("CustomText"); if (s._isTextBrushCustom) { s.TextBrush = (BrushX)info.GetValue("TextBrush", s); } else { s.SetDefaultTextBrush(); } s._isBackgroundBrushCustom = info.GetBoolean("CustomBkg"); if (s._isBackgroundBrushCustom) { s.BackgroundBrush = (BrushX)info.GetValue("BkgBrush", s); } else { s.SetDefaultBackgroundBrush(); } bool isCustomFont = info.GetBoolean("CustomFont"); if (isCustomFont) { s.TextFont = (Font)info.GetValue("Font", s); } else { s.SetDefaultTextFont(); } return(s); }
public void GetObjectData(object obj, System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { ColumnStyle s = (ColumnStyle)obj; info.AddValue("Size", (float)s.m_Size); info.AddValue("Pen", s.m_CellPen); info.AddValue("TextBrush", s.m_TextBrush); info.AddValue("BkgBrush", s.m_BackgroundBrush); info.AddValue("Alignment", s.m_TextFormat.Alignment); info.AddValue("Font", s.m_TextFont); // Serialization is possible in NET1SP2, but deserialization fails (Tested with SOAP formatter) }
public ColumnStyle(ColumnStyle s) { _columnStyleType = s._columnStyleType; m_Size = s.m_Size; _isCellPenCustom = s._isCellPenCustom; m_CellPen = (PenX)s.m_CellPen.Clone(); m_TextFormat = (StringFormat)s.m_TextFormat.Clone(); m_TextFont = (Font)s.m_TextFont.Clone(); _isTextBrushCustom = s._isTextBrushCustom; m_TextBrush = (BrushX)s.m_TextBrush.Clone(); _isBackgroundBrushCustom = s._isBackgroundBrushCustom; m_BackgroundBrush = (BrushX)s.m_BackgroundBrush.Clone(); }
public ColumnStyle(ColumnStyle s) { _columnStyleType = s._columnStyleType; _columnSize = s._columnSize; _isCellPenCustom = s._isCellPenCustom; ChildCopyToMember(ref _cellPen, s._cellPen); _textFormat = (StringFormat)s._textFormat.Clone(); _textFont = s._textFont; _isTextBrushCustom = s._isTextBrushCustom; ChildCopyToMember(ref _textBrush, s._textBrush); _isBackgroundBrushCustom = s._isBackgroundBrushCustom; ChildCopyToMember(ref _backgroundBrush, s._backgroundBrush); }
public object Deserialize(object o, Altaxo.Serialization.Xml.IXmlDeserializationInfo info, object parent) { ColumnStyle s = (ColumnStyle)o; s.m_Size = (int)info.GetSingle("Size"); object notneeded; notneeded = info.GetValue("Pen", s); notneeded = info.GetValue("TextBrush", s); notneeded = info.GetValue("SelTextBrush", s); notneeded = info.GetValue("BkgBrush", s); notneeded = info.GetValue("SelBkgBrush", s); s.m_TextFormat.Alignment = (StringAlignment)Enum.Parse(typeof(StringAlignment), info.GetString("Alignment")); s.m_TextFont = (Font)info.GetValue("Font", s); return(s); }
public object SetObjectData(object obj, System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context, System.Runtime.Serialization.ISurrogateSelector selector) { ColumnStyle s = (ColumnStyle)obj; s.m_Size = (int)info.GetSingle("Size"); s.m_CellPen = (PenX)info.GetValue("Pen", typeof(PenX)); s.m_TextBrush = (BrushX)info.GetValue("TextBrush", typeof(BrushX)); s.m_BackgroundBrush = (BrushX)info.GetValue("BkgBrush", typeof(BrushX)); s.m_TextFormat = new StringFormat(); s.m_TextFormat.Alignment = (StringAlignment)info.GetValue("Alignment", typeof(StringAlignment)); // Deserialising a font with SoapFormatter raises an error at least in Net1SP2, so I had to circuumvent this s.m_TextFont = (Font)info.GetValue("Font", typeof(Font)); // s.m_TextFont = new Font("Arial",8); return(s); }