public void Factor(ConceptUsecase useCase) { if (MainWindow == null) { this.MainWindow = new Vindow(); } useCase.MainWindow = this.MainWindow; ToolStripContainer = new ToolStripContainer(); StatusStrip = new StatusStrip(); StatusLabel = new ToolStripStatusLabel(); var splitViewBackend = useCase.SplitView.Backend.ToSwf() as SplitContainer; ToolStripContainer.SuspendLayout(); ToolStripContainer.ContentPanel.Controls.Add(splitViewBackend); ToolStripContainer.ResumeLayout(); ToolStripContainer.PerformLayout(); splitViewBackend.SplitterDistance = (int)(ToolStripContainer.Width / 2); var viewerProvider = Registry.Pooled <ContentViewerProvider>(); viewerProvider.Add(new HtmlContentViewer()); viewerProvider.Add(new DigidocContentViewer()); viewerProvider.Add(new TextContentViewerWithToolstrip0()); viewerProvider.Add(new SheetViewer()); if (PdfContentViewer.Available()) { viewerProvider.Add(new PdfContentViewer()); } if (MarkdownContentViewer.Available()) { viewerProvider.Add(new MarkdownContentViewer()); } viewerProvider.Add(new SdImageContentViewer()); if (MarkdownContentViewer.Available()) { viewerProvider.Add(new MarkdownContentViewer()); } }
public virtual void Compose(ConceptUsecase useCase) { var mainWindowBackend = MainWindow.Backend as Window; mainWindowBackend.MainMenu = useCase.Menu; useCase.DataPostProcess = dataName => mainWindowBackend.Title = dataName + " - " + useCase.UseCaseTitle; useCase.MessageBoxShow = (text, title, buttons) => new XwtMessageBoxShow().Show(text, title, buttons); useCase.Progress = (m, i, count) => { if (i == -1 && count == -1) { StatusLabel.Text = m; } else { StatusLabel.Text = string.Format(m, i, count); } Application.MainLoop.DispatchPendingEvents(); }; mainWindowBackend.CloseRequested += (s, e) => { useCase.Close(); useCase.Dispose(); Application.Exit(); }; var viewerProvider = Registry.Pooled <ContentViewerProvider>(); viewerProvider.Add(new SheetViewer()); viewerProvider.Add(new ImageContentViewer()); viewerProvider.Add(new DigidocContentViewer()); viewerProvider.Add(new HtmlContentViewer()); if (PdfContentViewer.Available()) { viewerProvider.Add(new PdfContentViewer()); } if (TextContentViewerWithToolbar.Available()) { viewerProvider.Add(new TextContentViewerWithToolbar()); } else if (TextContentViewer.Available()) { viewerProvider.Add(new TextContentViewer()); } if (MarkdownContentViewer.Available()) { viewerProvider.Add(new MarkdownContentViewer()); } useCase.ShowAboutWindow = () => { ComposeAbout(AboutWindow); AboutWindow.Show(); }; }