public SpriteDataEditor(List <LevelItem> sprites, SpriteData sd, LevelEditorControl EdControl) { this.SizeChanged += new EventHandler(this_SizeChanged); updating = true; this.ColumnCount = 3; //Talbe layout panel doesn't automatically create row or column styles this.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F)); this.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F)); this.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 20F)); this.RowCount = sd.fields.Count; for (int l = 0; l < this.RowCount; l++) { this.RowStyles.Add(new RowStyle(SizeType.Absolute)); } this.AutoSize = true; this.AutoSizeMode = AutoSizeMode.GrowAndShrink; this.sprites = sprites; foreach (LevelItem obj in sprites) { if (obj is NSMBSprite) { s = obj as NSMBSprite; break; } } this.sd = sd; this.Dock = DockStyle.Fill; this.EdControl = EdControl; int row = 0; foreach (SpriteDataField v in sd.fields) { Control c = CreateControlFor(v); c.Anchor = AnchorStyles.Left | AnchorStyles.Right; if (c is CheckBox || c is Label) { c.Font = new System.Drawing.Font(c.Font.FontFamily, c.Font.Size * 0.9F); this.Controls.Add(c, 0, row); this.RowStyles[row].Height = 25; if (v.notes == "") { this.SetColumnSpan(c, 3); } else { NotesCtrl note = new NotesCtrl(); this.Controls.Add(note, 2, row); note.Text = v.notes; } } else { this.Controls.Add(c, 1, row); Label l = new Label(); l.Text = v.name; l.Font = new System.Drawing.Font(l.Font.FontFamily, l.Font.Size * 0.9F); l.TextAlign = System.Drawing.ContentAlignment.MiddleRight; l.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom; this.Controls.Add(l, 0, row); this.RowStyles[row].Height = 25; if (v.notes == "") { this.SetColumnSpan(c, 2); } else { NotesCtrl note = new NotesCtrl(); this.Controls.Add(note, 2, row); note.Text = v.notes; } } row++; controls.Add(v, c); } updating = false; }
public SpriteDataEditor(List<LevelItem> sprites, SpriteData sd, LevelEditorControl EdControl) { this.SizeChanged += new EventHandler(this_SizeChanged); updating = true; this.ColumnCount = 3; //Talbe layout panel doesn't automatically create row or column styles this.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F)); this.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F)); this.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 20F)); this.RowCount = sd.fields.Count; for (int l = 0; l < this.RowCount; l++) this.RowStyles.Add(new RowStyle(SizeType.Absolute)); this.AutoSize = true; this.AutoSizeMode = AutoSizeMode.GrowAndShrink; this.sprites = sprites; foreach (LevelItem obj in sprites) if (obj is NSMBSprite) { s = obj as NSMBSprite; break; } this.sd = sd; this.Dock = DockStyle.Fill; this.EdControl = EdControl; int row = 0; foreach (SpriteDataField v in sd.fields) { Control c = CreateControlFor(v); c.Anchor = AnchorStyles.Left | AnchorStyles.Right; if (c is CheckBox || c is Label) { c.Font = new System.Drawing.Font(c.Font.FontFamily, c.Font.Size * 0.9F); this.Controls.Add(c, 0, row); this.RowStyles[row].Height = 25; if (v.notes == "") this.SetColumnSpan(c, 3); else { NotesCtrl note = new NotesCtrl(); this.Controls.Add(note, 2, row); note.Text = v.notes; } } else { this.Controls.Add(c, 1, row); Label l = new Label(); l.Text = v.name; l.Font = new System.Drawing.Font(l.Font.FontFamily, l.Font.Size * 0.9F); l.TextAlign = System.Drawing.ContentAlignment.MiddleRight; l.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom; this.Controls.Add(l, 0, row); this.RowStyles[row].Height = 25; if (v.notes == "") this.SetColumnSpan(c, 2); else { NotesCtrl note = new NotesCtrl(); this.Controls.Add(note, 2, row); note.Text = v.notes; } } row++; controls.Add(v, c); } updating = false; }