System.Windows.Forms.Control CreateControl(System.Xml.XmlNode node) { if (node.Name == "Control") { AbstractObjectEditor editor = NekoKun.Core.ReflectionHelper.CreateInstanceFromTypeName( node.Attributes["Editor"].Value, NekoKun.Core.XMLHelper.BuildParameterDictionary(node) ) as AbstractObjectEditor; editor.DirtyChanged += new EventHandler(editor_DirtyChanged); StructField item = this.fields[node.Attributes["ID"].Value]; this.views[tab.SelectedIndex].Editors.Add(item, editor); this.views[tab.SelectedIndex].EditorsR.Add(editor, item); return(editor.Control); } else if (node.Name == "Layout") { IStructEditorLayout layout = NekoKun.Core.ReflectionHelper.CreateInstanceFromTypeName( node.Attributes["Type"].Value, node, new CreateControlDelegate(CreateControl) ) as IStructEditorLayout; return(layout as System.Windows.Forms.Control); } return(null); }
public ObjectFileEditor(ObjectFile file, AbstractObjectEditor editor) : base(file) { System.Windows.Forms.Control ed = editor.Control; ed.Dock = System.Windows.Forms.DockStyle.Fill; this.Controls.Add(ed); editor.DirtyChanged += new EventHandler(editor_DirtyChanged); editor.SelectedItem = file.Contents; }
public ArrayEditor(AbstractObjectEditor Con) : base(null) { con = Con; split.Dock = System.Windows.Forms.DockStyle.Fill; split.Panel1MinSize = 100; split.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; split.SplitterDistance = 150; list = new ArrayListbox(); list.Dock = System.Windows.Forms.DockStyle.Fill; list.SelectedIndexChanged += new EventHandler(list_SelectedIndexChanged); split.Panel1.Controls.Add(list); con.Control.Dock = System.Windows.Forms.DockStyle.Fill; split.Panel2.Controls.Add(con.Control); Con.DirtyChanged += new EventHandler(Con_DirtyChanged); menuResizeTextbox = new System.Windows.Forms.NumericUpDown(); menuResize = new System.Windows.Forms.ToolStripMenuItem(); menuResize.Text = "更改最大值(&M)"; menuResizeTextbox.Font = split.Font; menuResizeTextbox.UpDownAlign = System.Windows.Forms.LeftRightAlignment.Left; menuResizeTextbox.BorderStyle = System.Windows.Forms.BorderStyle.None; menuResizeTextbox.Cursor = System.Windows.Forms.Cursors.Default; var host = new System.Windows.Forms.ToolStripControlHost(menuResizeTextbox); menuResize.DropDownItems.Add(host); var dd = (menuResize.DropDown as System.Windows.Forms.ToolStripDropDownMenu); dd.ShowImageMargin = false; dd.BackColor = System.Drawing.SystemColors.Window; this.list.ContextMenuStrip = new EditContextMenuStrip(this); this.list.ContextMenuStrip.Items.Add(new System.Windows.Forms.ToolStripSeparator()); this.list.ContextMenuStrip.Items.Add(menuResize); this.list.ContextMenuStrip.Opening += new System.ComponentModel.CancelEventHandler(ContextMenuStrip_Opening); menuResizeTextbox.ValueChanged += new EventHandler(menuResizeTextbox_ValueChanged); }