public void Compose(ConceptUsecase useCase) { ToolStripContainer.Dock = DockStyle.Fill; Mainform.Controls.Add(ToolStripContainer); ToolStripContainer.BottomToolStripPanel.Controls.Add(StatusStrip); this.StatusStrip.Items.Add(StatusLabel); useCase.DataPostProcess = dataName => Mainform.Text = dataName + " - " + useCase.UseCaseTitle; useCase.MessageBoxShow = this.MessageBoxShow; useCase.Progress = (m, i, count) => { if (i == -1 && count == -1) { StatusLabel.Text = m; } else { StatusLabel.Text = string.Format(m, i, count); } Application.DoEvents(); }; Mainform.FormClosing += (s, e) => useCase.Close(); Application.ApplicationExit += (s, e) => { useCase.Close(); useCase.Dispose(); }; useCase.ApplicationQuit = () => useCase.ApplicationQuitted = true; useCase.ShowAboutWindow = () => { if (AboutForm == null) { AboutForm = new AboutForm(); } AboutForm.ShowDialog(); }; useCase.ExportAsImage = () => ExportAsImage(useCase); useCase.ShowStyleEditor = () => ShowStyleEditor(useCase); useCase.ShowLayoutEditor = () => ShowLayoutEditor(useCase); FinalizeCompose += () => Compose2(useCase); }
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(); }; }