/// <summary> /// The but_ click. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The e.</param> /// <remarks></remarks> private void but_Click(object sender, EventArgs e) { // Remove control object ControlSwapper cs = (ControlSwapper)((Control)sender).TopLevelControl; int conNum = cs.splitContainer1.Panel2.Controls.IndexOf(((Control)sender).Parent); string s = string.Empty; int j = 0; int size = 0; cs.getDataOf(((Control)sender).Parent, ref s, ref size, ref j, ref j); cs.newControlSize -= size; if (((ControlSwapper)this.TopLevelControl).label1.Text.Contains(" :: ")) { ((ControlSwapper)this.TopLevelControl).label1.Text = ((ControlSwapper)this.TopLevelControl).label1.Text.Remove( ((ControlSwapper)this.TopLevelControl).label1.Text.IndexOf(" :: ")); } ((ControlSwapper)this.TopLevelControl).label1.Text += " :: New Control Size : " + ((ControlSwapper)this.TopLevelControl). newControlSize; cs.splitContainer1.Panel2.Controls.RemoveAt(conNum); // throw new NotImplementedException(); }
/// <summary> /// The button 1_ click. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The e.</param> /// <remarks></remarks> private void button1_Click(object sender, EventArgs e) { ControlSwapper parent = (ControlSwapper)this.Parent.Parent.Parent; // Add selected control IFPIO.Option[] options = null; //int strLength = 0; Control con = null; switch (((dataTypeStruct)comboBox1.SelectedItem).name.ToLower()) { /* * parent.splitContainer1.Panel2.Controls.Add(new DataValues(parent.name, null, parent.chunkoffset, IFPIO.ObjectEnum.Byte, parent.lineNum)); * parent.splitContainer1.Panel2.Controls.Add(new DataValues(parent.name, null, parent.chunkoffset, IFPIO.ObjectEnum.Short, parent.lineNum)); * parent.splitContainer1.Panel2.Controls.Add(new DataValues(parent.name, null, parent.chunkoffset, IFPIO.ObjectEnum.Int, parent.lineNum)); * parent.splitContainer1.Panel2.Controls.Add(new DataValues(parent.name, null, parent.chunkoffset, IFPIO.ObjectEnum.Float, parent.lineNum)); */ case "byte": case "short": case "ushort": case "int": case "uint": case "float": case "unknown": case "unused": con = new DataValues( parent.name, null, parent.chunkoffset, (IFPIO.ObjectEnum) Enum.Parse(typeof(IFPIO.ObjectEnum), ((dataTypeStruct)comboBox1.SelectedItem).name, true), parent.lineNum); break; case "char_enum": case "enum": case "long_enum": options = new IFPIO.Option[((dataTypeStruct)comboBox1.SelectedItem).size << 3]; // Size * 8 bits for (int x = 0; x < options.Length; x++) { options[x] = new IFPIO.Option("Bit " + x, x.ToString(), parent.lineNum); } if (parent.splitContainer1.Panel1.Controls[0] is Bitmask) { Bitmask b = (Bitmask)parent.splitContainer1.Panel1.Controls[0]; foreach (IFPIO.Option o in b.Options) { if (o.value < options.Length) { options[o.value].name = o.name; } } } ; if (parent.splitContainer1.Panel1.Controls[0] is Enums) { Enums en = (Enums)parent.splitContainer1.Panel1.Controls[0]; foreach (IFPIO.Option o in en.Options) { if (o.value < options.Length) { options[o.value].name = o.name; } } } ; con = new Enums(parent.name, null, parent.chunkoffset, options.Length, options, parent.lineNum); break; case "byte_flags": case "word_flags": case "long_flags": options = new IFPIO.Option[((dataTypeStruct)comboBox1.SelectedItem).size << 3]; // Size * 8 bits for (int x = 0; x < options.Length; x++) { options[x] = new IFPIO.Option("Bit " + x, x.ToString(), parent.lineNum); } if (parent.splitContainer1.Panel1.Controls[0] is Bitmask) { Bitmask b = (Bitmask)parent.splitContainer1.Panel1.Controls[0]; foreach (IFPIO.Option o in b.Options) { options[o.value].name = o.name; } } ; if (parent.splitContainer1.Panel1.Controls[0] is Enums) { Enums en = (Enums)parent.splitContainer1.Panel1.Controls[0]; foreach (IFPIO.Option o in en.Options) { options[o.value].name = o.name; } } ; con = new Bitmask( parent.name, null, parent.chunkoffset, options.Length, options, parent.lineNum); break; case "stringid": con = new SID(parent.name, null, parent.chunkoffset, parent.lineNum); break; case "string": con = new EntStrings( parent.name, null, parent.chunkoffset, ((dataTypeStruct)comboBox1.SelectedItem).size, false, parent.lineNum); break; case "unicodestring": con = new EntStrings( parent.name, null, parent.chunkoffset, ((dataTypeStruct)comboBox1.SelectedItem).size, true, parent.lineNum); break; case "block": con = new TagBlock(parent.name, null, parent.chunkoffset, parent.lineNum); break; case "ident": con = new Ident(parent.name, null, parent.chunkoffset, true, parent.lineNum); break; case "struct": // Unhandled //int ifkdn = 0; break; default: { return; } } Button but = new Button(); but.Dock = DockStyle.Right; but.Size = new Size(30, 30); but.Text = "-"; but.Click += but_Click; if (con != null) { con.Controls.Add(but); // con.Enabled = false; con.Dock = DockStyle.Top; Point loc = con.Controls[con.Controls.Count - 2].Location; loc.X -= 50; con.Controls[con.Controls.Count - 2].Location = loc; // con.TabIndex--; parent.splitContainer1.Panel2.Controls.Add(con); con.BringToFront(); ((ControlSwapper)this.TopLevelControl).newControlSize += ((ControlSwapper)this.TopLevelControl).getSizeOf(((dataTypeStruct)comboBox1.SelectedItem).name); if (((ControlSwapper)this.TopLevelControl).label1.Text.Contains(" :: ")) { ((ControlSwapper)this.TopLevelControl).label1.Text = ((ControlSwapper)this.TopLevelControl).label1.Text.Remove( ((ControlSwapper)this.TopLevelControl).label1.Text.IndexOf(" :: ")); } ((ControlSwapper)this.TopLevelControl).label1.Text += " :: New Control Size : " + ((ControlSwapper)this.TopLevelControl). newControlSize; } parent.splitContainer1.Panel2.Controls[parent.splitContainer1.Panel2.Controls.IndexOf(this)]. BringToFront(); parent.splitContainer1.Panel2.Controls[parent.splitContainer1.Panel2.Controls.IndexOf(this)].TabIndex++; }