public void Setup() { mr = new MockRepository(); services = new ServiceContainer(); declarationForm = mr.Stub <IDeclarationForm>(); textBox = new FakeTextBox(); declarationForm.Stub(f => f.TextBox).Return(textBox); declarationForm.Stub(f => f.ShowAt(new Point())); declarationForm.Stub(f => f.Hide()); declarationForm.Stub(f => f.Dispose()); var dlgFactory = mr.Stub <IDialogFactory>(); dlgFactory.Stub(f => f.CreateDeclarationForm()).Return(declarationForm); services.AddService <IDialogFactory>(dlgFactory); mr.ReplayAll(); interactor = new DeclarationFormInteractor(services); var mem = new MemoryArea(Address32.Ptr32(0x10), new byte[40]); var seg = new ImageSegment(".text", mem, AccessMode.ReadWrite); var segmentMap = new SegmentMap(Address32.Ptr32(0x05), seg); var arch = new X86ArchitectureFlat32(); var platform = new Win32Platform(null, arch); program = new Program(segmentMap, arch, platform); program.ImageMap = segmentMap.CreateImageMap(); }
public void Setup() { services = new ServiceContainer(); declarationForm = new Mock <IDeclarationForm>(); textBox = new FakeTextBox(); declarationForm.Setup(f => f.TextBox).Returns(textBox); declarationForm.Setup(f => f.ShowAt(new Point())); declarationForm.Setup(f => f.Hide()); declarationForm.Setup(f => f.Dispose()); declarationForm.SetupProperty(f => f.HintText); var dlgFactory = new Mock <IDialogFactory>(); dlgFactory.Setup(f => f.CreateDeclarationForm()).Returns(declarationForm.Object); services.AddService <IDialogFactory>(dlgFactory.Object); interactor = new DeclarationFormInteractor(services); var mem = new MemoryArea(Address.Ptr32(0x10), new byte[40]); var seg = new ImageSegment(".text", mem, AccessMode.ReadWrite); var segmentMap = new SegmentMap(Address.Ptr32(0x05), seg); var arch = new X86ArchitectureFlat32(services, "x86-protected-32"); var platform = new Win32Platform(services, arch); program = new Program(segmentMap, arch, platform); program.ImageMap = segmentMap.CreateImageMap(); }
public Control CreateControl() { var uiSvc = services.RequireService <IDecompilerShellUiService>(); this.combinedCodeView = new CombinedCodeView(); this.combinedCodeView.Dock = DockStyle.Fill; this.combinedCodeView.CurrentAddressChanged += CombinedCodeView_CurrentAddressChanged; this.combinedCodeView.MixedCodeDataView.VScrollValueChanged += MixedCodeDataView_VScrollValueChanged; this.combinedCodeView.MixedCodeDataView.Services = services; this.combinedCodeView.MixedCodeDataView.MouseDown += MixedCodeDataView_MouseDown; this.combinedCodeView.MixedCodeDataView.ModelChanged += MixedCodeDataView_ModelChanged; this.combinedCodeView.MixedCodeDataView.Navigate += TextView_Navigate; this.combinedCodeView.CodeView.VScrollValueChanged += CodeView_VScrollValueChanged; this.combinedCodeView.CodeView.Services = services; this.combinedCodeView.CodeView.MouseDown += CodeView_MouseDown; this.combinedCodeView.CodeView.Navigate += TextView_Navigate; this.combinedCodeView.ContextMenu = uiSvc.GetContextMenu(MenuIds.CtxCodeView); this.combinedCodeView.ToolBarGoButton.Click += ToolBarGoButton_Click; this.combinedCodeView.ToolBarAddressTextbox.KeyDown += ToolBarAddressTextbox_KeyDown; this.gViewer = new GViewer(); this.gViewer.Dock = DockStyle.Fill; this.gViewer.Visible = false; this.gViewer.PanButtonPressed = true; this.gViewer.ToolBarIsVisible = true; this.gViewer.KeyDown += GViewer_KeyDown; this.gViewer.ContextMenu = uiSvc.GetContextMenu(MenuIds.CtxCodeView); this.gViewer.LayoutAlgorithmSettingsButtonVisible = false; this.gViewer.LayoutEditingEnabled = false; this.gViewer.EdgeInsertButtonVisible = false; this.gViewer.SaveButtonVisible = false; this.gViewer.SaveGraphButtonVisible = false; this.gViewer.SaveAsMsaglEnabled = false; this.gViewer.UndoRedoButtonsVisible = false; this.gViewer.KeyDown += GViewer_KeyDown; this.gViewer.ContextMenu = uiSvc.GetContextMenu(MenuIds.CtxCodeView); this.gViewer.MouseUp += GViewer_MouseUp; this.gViewer.DrawingPanel.MouseUp += GViewer_MouseUp; var iViewer = (IViewer)gViewer; iViewer.MouseUp += IViewer_MouseUp; iViewer.MouseDown += IViewer_MouseDown; this.navInteractor = new NavigationInteractor <Address>(); this.navInteractor.Attach(this.combinedCodeView); declarationFormInteractor = new DeclarationFormInteractor(services); previewInteractor = new PreviewInteractor( services, this.program, this.combinedCodeView.PreviewTimer, this.combinedCodeView.MixedCodeDataView); return(combinedCodeView); }
public object CreateControl() { var uiSvc = services.RequireService <IDecompilerShellUiService>(); this.codeView = new TextView(); this.codeView.Services = services; this.codeView.Dock = DockStyle.Fill; //this.codeView.VScrollValueChanged += CodeView_VScrollValueChanged; //this.codeView.MouseDown += CodeView_MouseDown; this.codeView.Navigate += TextView_Navigate; uiSvc.SetContextMenu(this.codeView, MenuIds.CtxCodeView); this.gViewer = new GViewer(); this.gViewer.Dock = DockStyle.Fill; this.gViewer.Visible = false; this.gViewer.PanButtonPressed = true; this.gViewer.ToolBarIsVisible = true; this.gViewer.KeyDown += GViewer_KeyDown; uiSvc.SetContextMenu(this.gViewer, MenuIds.CtxCodeView); this.gViewer.LayoutAlgorithmSettingsButtonVisible = false; this.gViewer.LayoutEditingEnabled = false; this.gViewer.EdgeInsertButtonVisible = false; this.gViewer.SaveButtonVisible = false; this.gViewer.SaveGraphButtonVisible = false; this.gViewer.SaveAsMsaglEnabled = false; this.gViewer.UndoRedoButtonsVisible = false; this.gViewer.KeyDown += GViewer_KeyDown; uiSvc.SetContextMenu(this.gViewer, MenuIds.CtxCodeView); this.gViewer.MouseUp += GViewer_MouseUp; this.gViewer.DrawingPanel.MouseUp += GViewer_MouseUp; var iViewer = (IViewer)gViewer; iViewer.MouseUp += IViewer_MouseUp; iViewer.MouseDown += IViewer_MouseDown; //this.navInteractor = new NavigationInteractor<Address>(); //this.navInteractor.Attach(this.combinedCodeView); declarationFormInteractor = new DeclarationFormInteractor(services); return(codeView); }