public IDockContent DelegateHandler(string name) { string[] split = name.Split(':'); switch (split[0]) { case "Control": if (myButtonBar == null) { myButtonBar = new ButtonBar("Control"); } return(myButtonBar); case "Log": { foreach (LogView lv in myLogs) { if (lv.viewName == name) { return(lv); } } LogView t = new LogView("Log", "Log"); myLogs.Add(t); return(t); } case "Registers": if (myNewRegisters == null) { myNewRegisters = new Registers("Registers", "Registers"); } return(myNewRegisters); case "Disassembly": if (myDisassembly == null) { myDisassembly = new Disassembly("Disassembly", "Disassembly"); } return(myDisassembly); case "Screen": if (myScreen == null) { myScreen = new SpectrumScreen("Screen", "Screen"); } return(myScreen); case "Breakpoints": if (myBreakpoints == null) { myBreakpoints = new Breakpoint("Breakpoints", "Breakpoints"); } return(myBreakpoints); case "SpritePatterns": { foreach (BaseDock sv in myDocks) { if (sv.viewName == name) { return(sv); } } SpriteView t = new SpriteView("Sprite Patterns", "SpritePatterns"); myDocks.Add(t); return(t); } default: break; } return(null); }
public MainForm() { Program.myMainForm = this; //myDocks = new List<BaseDock>(); InitializeComponent(); sourceCodeView = new SourceCodeView(); //spawn source window and dock it mySourceWindow = new SourceWindow("", ""); mySourceWindow.TopLevel = false; LeftsplitContainer.Panel1.Controls.Add(mySourceWindow); mySourceWindow.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; mySourceWindow.Dock = DockStyle.Fill; mySourceWindow.Show(); //spawn log myLog = new LogView("", ""); myLog.TopLevel = false; LeftsplitContainer.Panel2.Controls.Add(myLog); myLog.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; myLog.Dock = DockStyle.Fill; myLog.Show(); //spawn register window myNewRegisters = new Registers("", ""); myNewRegisters.TopLevel = false; RightFlow.Controls.Add(myNewRegisters); myNewRegisters.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; //myNewRegisters.Dock = DockStyle.Fill; myNewRegisters.Show(); //add dissasembly window myDisassembly = new Disassembly("", ""); myDisassembly.TopLevel = false; RightFlow.Controls.Add(myDisassembly); myDisassembly.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; myDisassembly.Dock = DockStyle.Fill; myDisassembly.Show(); //add watch window myWatchWindow = new Watch(); myWatchWindow.TopLevel = false; RightFlow.Controls.Add(myWatchWindow); myWatchWindow.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; myWatchWindow.Dock = DockStyle.Fill; myWatchWindow.Show(); //this.IsMdiContainer = true; //this.dockPanel = new WeifenLuo.WinFormsUI.Docking.DockPanel(); //this.dockPanel.Dock = System.Windows.Forms.DockStyle.Fill; //this.Controls.Add(this.dockPanel); UpdateStatus(); /* * if (File.Exists("layout.xml")) * { * dockPanel.LoadFromXml("layout.xml",DelegateHandler); * } * else * { * myButtonBar = new ButtonBar("Control"); * myLogs.Add(new LogView("Log", "Log")); * myNewRegisters = new Registers("Registers", "Registers"); * myDisassembly = new Disassembly("Disassembly", "Disassembly"); * myScreen = new SpectrumScreen("Screen", "Screen"); * myBreakpoints = new Breakpoint("Breakpoints", "Breakpoints"); * myDocks.Add(new SpriteView("Sprite Patterns", "SpritePatterns")); * * myButtonBar.Show(this.dockPanel, DockState.DockTop); * myNewRegisters.Show(this.dockPanel, DockState.DockLeft); * myDisassembly.Show(this.dockPanel, DockState.DockRight); * myLogs[0].Show(this.dockPanel, DockState.DockBottom); * myBreakpoints.Show(this.dockPanel, DockState.DockLeft); * myScreen.Show(this.dockPanel, DockState.DockRight); * myDocks[0].Show(this.dockPanel, DockState.Float); * } */ Program.telnetConnection.SendCommand("help", null); refreshScreen = false; if (!string.IsNullOrEmpty(TraceDataPath)) { if (System.IO.File.Exists(TraceDataPath)) { TraceFile.ParseTraceData(TraceDataPath); if (mySourceWindow != null) { mySourceWindow.InitSourceWindow(Path.GetDirectoryName(TraceDataPath)); } } } Invalidate(); }