private Control CreateControlFor(SpriteDataField v) { // Console.WriteLine(v.display + " " + v.name); if (v.display == "checkbox") { CheckBox c = new CheckBox(); c.Checked = v.getValue(s.Data) == 1; c.Text = v.name; c.CheckedChanged += new EventHandler(saveData); return(c); } else if (v.display == "list") { ComboBox c = new ComboBox(); c.DropDownStyle = ComboBoxStyle.DropDownList; c.Items.AddRange(v.strings); try { c.SelectedIndex = Array.IndexOf(v.values, v.getValue(s.Data)); } catch (ArgumentOutOfRangeException) { } //just in case //c.SelectedIndexChanged += new EventHandler(saveData); c.SelectionChangeCommitted += new EventHandler(saveData); //c.DropDownClosed += new EventHandler(saveData); return(c); } else if (v.display == "label") { Label c = new Label(); c.Text = v.name; return(c); } else if (v.display == "binary") { BinaryEdit c = new BinaryEdit(); c.CheckBoxCount = v.getBitCount(); c.value = v.getValue(s.Data); c.ValueChanged += new EventHandler(saveData); return(c); } else { NumericUpDown c = new NumericUpDown(); c.Minimum = v.getMin(); c.Maximum = v.getMax(); c.Value = v.getValue(s.Data); c.ValueChanged += new EventHandler(saveData); return(c); } }
public void updateValue(SpriteDataField v) { Control c = controls[v]; int value = v.getValue(s.Data); if (c is CheckBox) { (c as CheckBox).Checked = value == 1; } if (c is ComboBox) { (c as ComboBox).SelectedIndex = Array.IndexOf(v.values, value); } if (c is BinaryEdit) { (c as BinaryEdit).value = value; } if (c is NumericUpDown) { (c as NumericUpDown).Value = value; } }
public static SpriteData readFromStream(XmlReader xmlr) { SpriteData sd = new SpriteData(); sd.spriteID = int.Parse(xmlr.GetAttribute("id")); xmlr.ReadToFollowing("name"); sd.name = xmlr.ReadElementContentAsString(); spriteNames.Add(sd.name); xmlr.ReadToFollowing("category"); sd.categoryID = int.Parse(xmlr.GetAttribute("id")); spritesInCategory[sd.categoryID].Add(sd.spriteID); xmlr.ReadToFollowing("notes"); sd.notes = xmlr.ReadElementContentAsString(); while (xmlr.ReadToNextSibling("field")) { SpriteDataField f = new SpriteDataField(); f.display = xmlr.GetAttribute("type"); f.name = xmlr.GetAttribute("name"); f.notes = xmlr.GetAttribute("notes"); string nybbles = xmlr.GetAttribute("id"); if (nybbles.Contains("-")) { string[] nybbles2 = nybbles.Split('-'); f.startNibble = int.Parse(nybbles2[0]); f.endNibble = int.Parse(nybbles2[1]); } else { f.startNibble = f.endNibble = int.Parse(nybbles); } string values = xmlr.GetAttribute("values"); switch (f.display) { case "list": string[] items = values.Split(','); f.values = new int[items.Length]; f.strings = new string[items.Length]; for (int j = 0; j < items.Length; j++) { string[] lulz = items[j].Split(new char[] { '=' }); f.values[j] = Int32.Parse(lulz[0]); f.strings[j] = lulz[1]; } break; case "signedvalue": if (values.Trim() == "") { f.data = 0; } else { f.data = Int32.Parse(values); } break; case "value": if (values.Trim() == "") { f.data = 0; } else { f.data = Int32.Parse(values); } break; case "checkbox": if (values.Trim() == "") { f.data = 1; } else { f.data = Int32.Parse(values); } break; } sd.fields.Add(f); } return(sd); }
public void updateValue(SpriteDataField v) { Control c = controls[v]; int value = v.getValue(s.Data); if (c is CheckBox) (c as CheckBox).Checked = value == 1; if (c is ComboBox) (c as ComboBox).SelectedIndex = Array.IndexOf(v.values, value); if (c is BinaryEdit) (c as BinaryEdit).value = value; if (c is NumericUpDown) (c as NumericUpDown).Value = value; }
private Control CreateControlFor(SpriteDataField v) { // Console.WriteLine(v.display + " " + v.name); if (v.display == "checkbox") { CheckBox c = new CheckBox(); c.Checked = v.getValue(s.Data) == 1; c.Text = v.name; c.CheckedChanged += new EventHandler(saveData); return c; } else if (v.display == "list") { ComboBox c = new ComboBox(); c.DropDownStyle = ComboBoxStyle.DropDownList; c.Items.AddRange(v.strings); try { c.SelectedIndex = Array.IndexOf(v.values, v.getValue(s.Data)); } catch (ArgumentOutOfRangeException) { } //just in case //c.SelectedIndexChanged += new EventHandler(saveData); c.SelectionChangeCommitted += new EventHandler(saveData); //c.DropDownClosed += new EventHandler(saveData); return c; } else if (v.display == "label") { Label c = new Label(); c.Text = v.name; return c; } else if (v.display == "binary") { BinaryEdit c = new BinaryEdit(); c.CheckBoxCount = v.getBitCount(); c.value = v.getValue(s.Data); c.ValueChanged += new EventHandler(saveData); return c; } else { NumericUpDown c = new NumericUpDown(); c.Minimum = v.getMin(); c.Maximum = v.getMax(); c.Value = v.getValue(s.Data); c.ValueChanged += new EventHandler(saveData); return c; } }
public static SpriteData readFromStream(XmlReader xmlr) { SpriteData sd = new SpriteData(); sd.spriteID = int.Parse(xmlr.GetAttribute("id")); xmlr.ReadToFollowing("name"); sd.name = xmlr.ReadElementContentAsString(); spriteNames.Add(sd.name); xmlr.ReadToFollowing("category"); sd.categoryID = int.Parse(xmlr.GetAttribute("id")); spritesInCategory[sd.categoryID].Add(sd.spriteID); xmlr.ReadToFollowing("notes"); sd.notes = xmlr.ReadElementContentAsString(); while (xmlr.ReadToNextSibling("field")) { SpriteDataField f = new SpriteDataField(); f.display = xmlr.GetAttribute("type"); f.name = xmlr.GetAttribute("name"); f.notes = xmlr.GetAttribute("notes"); string nybbles = xmlr.GetAttribute("id"); if (nybbles.Contains("-")) { string[] nybbles2 = nybbles.Split('-'); f.startNibble = int.Parse(nybbles2[0]); f.endNibble = int.Parse(nybbles2[1]); } else f.startNibble = f.endNibble = int.Parse(nybbles); string values = xmlr.GetAttribute("values"); switch (f.display) { case "list": string[] items = values.Split(','); f.values = new int[items.Length]; f.strings = new string[items.Length]; for (int j = 0; j < items.Length; j++) { string[] lulz = items[j].Split(new char[] { '=' }); f.values[j] = Int32.Parse(lulz[0]); f.strings[j] = lulz[1]; } break; case "signedvalue": if (values.Trim() == "") f.data = 0; else f.data = Int32.Parse(values); break; case "value": if (values.Trim() == "") f.data = 0; else f.data = Int32.Parse(values); break; case "checkbox": if (values.Trim() == "") f.data = 1; else f.data = Int32.Parse(values); break; } sd.fields.Add(f); } return sd; }
public static SpriteData readFromStream(XmlReader xmlr) { SpriteData sd = new SpriteData(); sd.spriteID = int.Parse(xmlr.GetAttribute("id")); //sd.spriteID = (int)ROM.GetClassIDFromTable(sd.spriteID); xmlr.ReadToFollowing("name"); sd.name = xmlr.ReadElementContentAsString(); xmlr.ReadToFollowing("category"); sd.categoryID = int.Parse(xmlr.GetAttribute("id")); xmlr.ReadToFollowing("notes"); sd.notes = xmlr.ReadElementContentAsString(); string field = "field"; if (sd.spriteID == 77 && Properties.Settings.Default.using_signboard_asm) { field = "fieldASM"; } while (xmlr.ReadToNextSibling(field)) { SpriteDataField f = new SpriteDataField(); f.display = xmlr.GetAttribute("type"); f.name = xmlr.GetAttribute("name"); f.notes = xmlr.GetAttribute("notes"); string nybbles = xmlr.GetAttribute("id"); if (nybbles.Contains("-")) { string[] nybbles2 = nybbles.Split('-'); f.startNibble = int.Parse(nybbles2[0]); f.endNibble = int.Parse(nybbles2[1]); } else { f.startNibble = f.endNibble = int.Parse(nybbles); } string values = xmlr.GetAttribute("values"); switch (f.display) { case "list": string[] items = values.Split(','); f.values = new int[items.Length]; f.strings = new string[items.Length]; for (int j = 0; j < items.Length; j++) { string[] lulz = items[j].Split(new char[] { '=' }); f.values[j] = Int32.Parse(lulz[0]); f.strings[j] = lulz[1]; } break; case "signedvalue": if (values.Trim() == "") { f.data = 0; } else { f.data = Int32.Parse(values); } break; case "value": if (values.Trim() == "") { f.data = 0; } else { f.data = Int32.Parse(values); } break; case "checkbox": if (values.Trim() == "") { f.data = 1; } else { f.data = Int32.Parse(values); } break; /*case "bitcheckbox": * if (values.Trim() == "") * f.data = 0; * else * f.data = Int32.Parse(values); * break;*/ } sd.fields.Add(f); } return(sd); }