public IMainForm LoadForm() { this.form = dlgFactory.CreateMainForm(); dm = new DecompilerMenus(this); form.Menu = dm.MainMenu; dm.MainToolbar.Text = ""; dm.MainToolbar.ImageList = form.ImageList; dm.ProjectBrowserToolbar.ImageList = form.ImageList; form.AddToolbar(dm.MainToolbar); form.AddProjectBrowserToolbar(dm.ProjectBrowserToolbar); var svcFactory = sc.RequireService <IServiceFactory>(); CreateServices(svcFactory, sc, dm); CreatePhaseInteractors(svcFactory); projectBrowserSvc.Clear(); form.Load += this.MainForm_Loaded; form.Closed += this.MainForm_Closed; form.ProcessCommandKey += this.MainForm_ProcessCommandKey; form.ToolBar.ItemClicked += toolBar_ItemClicked; form.ProjectBrowserToolbar.ItemClicked += toolBar_ItemClicked; //form.InitialPage.IsDirtyChanged += new EventHandler(InitialPage_IsDirtyChanged);//$REENABLE //MainForm.InitialPage.IsDirty = false; //$REENABLE return(form); }
public DecompilerShellUiService( IMainForm form, DecompilerMenus dm, OpenFileDialog ofd, SaveFileDialog sfd, IServiceProvider sp) : base((Form)form, ofd, sfd) { this.form = form; this.dm = dm; this.services = sp; this.framesByName = new Dictionary <string, WindowFrame>(); this.framesByTab = new Dictionary <TabPage, WindowFrame>(); this.form.DocumentTabs.ControlRemoved += documentTabs_ControlRemoved; this.form.DocumentTabs.MouseUp += documentTabs_MouseUp; }
private void CreateServices(IServiceFactory svcFactory, IServiceContainer sc, DecompilerMenus dm) { sc.AddService <DecompilerHost>(this); config = svcFactory.CreateDecompilerConfiguration(); sc.AddService(typeof(IConfigurationService), config); var cmdFactory = new Commands.CommandFactory(sc); sc.AddService <ICommandFactory>(cmdFactory); sc.AddService(typeof(IStatusBarService), (IStatusBarService)this); diagnosticsSvc = svcFactory.CreateDiagnosticsService(form.DiagnosticsList); sc.AddService(typeof(IDiagnosticsService), diagnosticsSvc); decompilerSvc = svcFactory.CreateDecompilerService(); sc.AddService(typeof(IDecompilerService), decompilerSvc); uiSvc = svcFactory.CreateShellUiService(form, dm); subWindowCommandTarget = uiSvc; sc.AddService(typeof(IDecompilerShellUiService), uiSvc); sc.AddService(typeof(IDecompilerUIService), uiSvc); var codeViewSvc = new CodeViewerServiceImpl(sc); sc.AddService <ICodeViewerService>(codeViewSvc); var segmentViewSvc = new ImageSegmentServiceImpl(sc); sc.AddService(typeof(ImageSegmentService), segmentViewSvc); var del = svcFactory.CreateDecompilerEventListener(); workerDlgSvc = (IWorkerDialogService)del; sc.AddService(typeof(IWorkerDialogService), workerDlgSvc); sc.AddService(typeof(DecompilerEventListener), del); loader = svcFactory.CreateLoader(); sc.AddService <ILoader>(loader); var abSvc = svcFactory.CreateArchiveBrowserService(); sc.AddService <IArchiveBrowserService>(abSvc); sc.AddService <ILowLevelViewService>(svcFactory.CreateMemoryViewService()); sc.AddService <IDisassemblyViewService>(svcFactory.CreateDisassemblyViewService()); var tlSvc = svcFactory.CreateTypeLibraryLoaderService(); sc.AddService <ITypeLibraryLoaderService>(tlSvc); this.projectBrowserSvc = svcFactory.CreateProjectBrowserService(form.ProjectBrowser); sc.AddService <IProjectBrowserService>(projectBrowserSvc); var upSvc = svcFactory.CreateUiPreferencesService(); sc.AddService <IUiPreferencesService>(upSvc); var fsSvc = svcFactory.CreateFileSystemService(); sc.AddService <IFileSystemService>(fsSvc); this.searchResultsTabControl = svcFactory.CreateTabControlHost(form.TabControl); sc.AddService <ITabControlHostService>(this.searchResultsTabControl); srSvc = svcFactory.CreateSearchResultService(form.FindResultsList); sc.AddService <ISearchResultService>(srSvc); searchResultsTabControl.Attach((IWindowPane)srSvc, form.FindResultsPage); searchResultsTabControl.Attach((IWindowPane)diagnosticsSvc, form.DiagnosticsPage); var resEditService = svcFactory.CreateResourceEditorService(); sc.AddService <IResourceEditorService>(resEditService); var cgvSvc = svcFactory.CreateCallGraphViewService(); sc.AddService <ICallGraphViewService>(cgvSvc); var viewImpSvc = svcFactory.CreateViewImportService(); sc.AddService <IViewImportsService>(viewImpSvc); }
public IDecompilerShellUiService CreateShellUiService(IMainForm form, DecompilerMenus dm) { return(new DecompilerShellUiService(form, dm, form.OpenFileDialog, form.SaveFileDialog, services)); }