/// <summary> /// Creates a new WpfViewer object /// </summary> public WpfViewer(OpenedFile file, ProfilingDataSQLiteProvider provider) { // HACK : OpenedFile architecture does not allow to keep files open // but it is necessary for the ProfilerView to keep the session file open. // We don't want to load all session data into memory. // this.Files.Add(file); this.file = file; this.provider = provider; this.TabPageText = Path.GetFileName(file.FileName); this.TitleName = this.TabPageText; dataView = new ProfilerView(this.provider); // HACK : The file is not recognised by the FileService for closing if it is deleted while open. // (reason see above comment) FileService.FileRemoving += FileServiceFileRemoving; }
/// <summary> /// Creates a new WpfViewer object /// </summary> public WpfViewer(OpenedFile file) { // HACK : OpenedFile architecture does not allow to keep files open // but it is necessary for the ProfilerView to keep the session file open. // We don't want to load all session data into memory. // this.Files.Add(file); // HACK : The file is not recognised by the FileService for closing if it is deleted while open. // (reason see above comment) FileService.FileRemoving += FileServiceFileRemoving; this.file = file; this.provider = ProfilingDataSQLiteProvider.FromFile(file.FileName); this.TabPageText = Path.GetFileName(file.FileName); this.TitleName = this.TabPageText; this.host = new SharpDevelopElementHost(dataView = new ProfilerView(this.provider)); // HACK : Make host.Child visible WorkbenchSingleton.SafeThreadAsyncCall( () => { this.host.Dock = DockStyle.None; this.host.Dock = DockStyle.Fill; } ); }