Mercurial > repos > IBBoard.WarFoundry.GUI.WinForms
view UI/StatColumnStyle.cs @ 27:526fefefb16b
Fixes #91: Fix WinForms rendering of unit stats
* Add StatColumnStyle (custom data grid style)
* Use custom column style and fix positioning of columns
Also, moved some forms from IBBoard.WarFoundry namespace to IBBoard.WarFoundry.WinForms
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sat, 01 Aug 2009 14:01:56 +0000 |
parents | |
children | 6ab7ddc038f9 |
line wrap: on
line source
using System; using System.Drawing; using System.Text; using System.Windows.Forms; using IBBoard.WarFoundry.API.Objects; namespace IBBoard.WarFoundry.WinForms.UI { class StatColumnStyle : DataGridTextBoxColumn { protected override void Paint(Graphics g, Rectangle bounds, CurrencyManager source, int rowNum, Brush backBrush, Brush foreBrush, bool alignToRight) { Object obj = GetColumnValueAtRow(source, rowNum); Rectangle rect = bounds; g.FillRectangle(backBrush, rect); rect.Offset(0, 2); rect.Height -= 2; if (obj is Stat) { Stat stat = (Stat) obj; StringFormat stringFormat = new StringFormat(); stringFormat.Alignment = (stat.ParentSlotName == "Name" ? StringAlignment.Near : StringAlignment.Center); g.DrawString(stat.SlotValueString, this.DataGridTableStyle.DataGrid.Font, foreBrush, rect, stringFormat); } else { g.DrawString(NullText, this.DataGridTableStyle.DataGrid.Font, foreBrush, rect); } } } }