public virtual void Factor(ConceptUsecase useCase) { if (AboutWindow == null) { AboutWindow = new Vindow(); } var splitViewBackend = useCase.SplitView.Backend.ToXwt(); StatusLabel = new Label { HeightRequest = 20, Text = "starting...", TextColor = Colors.Black, TextAlignment = Alignment.Start, }; var box = new VBox { Spacing = 2 }; box.PackStart(splitViewBackend, true); box.PackEnd(StatusLabel); (MainWindow.Backend as Window).Content = box; OnShow += () => (splitViewBackend as Paned).PositionFraction = 0.50;// WindowSize.Width / 2; }
private void ExportAsImage(ConceptUsecase useCase) { var currentDisplay = useCase.GetCurrentDisplay(); if (currentDisplay != null && currentDisplay.Data != null) { var saveFileDialog = new FileDialogMemento { DefaultExt = "tif", Filter = "TIF-Image|*.tif|All Files|*.*", }; if (useCase.FileDialogShow(saveFileDialog, false) == DialogResult.Ok) { var image = new ImageExporter(currentDisplay.Data, currentDisplay.Layout) { StyleSheet = currentDisplay.StyleSheet } .ExportImage(); if (image != null) { image.Save(saveFileDialog.FileName, ImageFormat.Tiff); image.Dispose(); } } } }
public void ComposeMenus(ConceptUsecase useCase) { if (useCase.Menu == null) { return; } // ComposeAdditionalMenus (useCase); var menuBackend = useCase.Menu.GetBackend() as Xwt.Swf.Xwt.SwfBackend.MenuBackend; if (menuBackend != null) { MenuStrip = menuBackend.Menu; } var font = MenuStrip.Font; Action <ToolStripMenuItem> setFont = null; setFont = (item) => { item.Font = font; foreach (ToolStripMenuItem sub in item.DropDownItems) { sub.Font = font; setFont(sub); } }; foreach (ToolStripMenuItem item in MenuStrip.Items) { setFont(item); } }
private void ShowLayoutEditor(ConceptUsecase useCase) { options = new Options(); options.ApplyButton.Click += (s1, e1) => { useCase.ArrangerToolbar.FullLayout(useCase.GetCurrentDisplay().Layout.Options()); }; var editor = new LayoutEditor(); editor.Dock = DockStyle.Fill; editor.SelectedObject = useCase.GetCurrentDisplay().Layout; editor.PropertyValueChanged += (s1, e1) => { useCase.DisplayStyleChanged?.Invoke(s1, new EventArgs <IStyle> (null)); }; options.SuspendLayout(); options.Controls.Remove(options.OptionList); options.OptionChanger = editor; options.ContentPanel.Size = editor.Size; options.ContentPanel.Controls.Add(editor); options.ClientSize = ControlSize(options).Size; options.ResumeLayout(true); Application.DoEvents(); options.ClientSize = ControlSize(options).Size; Application.DoEvents(); options.Show(); }
public override void Compose(ConceptUsecase useCase) { base.Compose(useCase); var deviceComposer = BackendComposer as SwfConceptUseCaseComposer; CreateTestCases(useCase, deviceComposer); }
public void ComposeAdditionalMenus(ConceptUsecase useCase) { var l = new Localizer(); var addToFile = new ToolStripMenuItem[] { new ToolStripMenuItem(l["Print ..."], null, (s, e) => { this.Print(useCase); }), new ToolStripMenuItem(l["PrintPreview ..."], null, (s, e) => { this.PrintPreview(useCase); }), }; }
public void ExampleOpen(ConceptUsecase useCase) { var dialog = new OpenExampleData(); if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { var testData = dialog.SceneExamples.Selected; testData.Data.Count = (int)dialog.numericUpDown1.Value; var scene = dialog.SceneExamples.GetScene(testData.Data); SetExampleScene(useCase, scene); } dialog.Dispose(); }
private void PrintPreview(ConceptUsecase useCase) { using (PrintPreviewDialog printDialog = new PrintPreviewDialog()) { var currentDisplay = useCase.GetCurrentDisplay(); PrintManager man = new PrintManager(); using (var doc = man.CreatePrintDocument(currentDisplay.Data, currentDisplay.Layout)) { printDialog.Document = doc; if (printDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { doc.Print(); } printDialog.Document = null; } } }
private void Print(ConceptUsecase useCase) { using (var printDialog = new PrintDialog()) { var currentDisplay = useCase.GetCurrentDisplay(); var man = new PrintManager(); using (var doc = man.CreatePrintDocument(currentDisplay.Data, currentDisplay.Layout)) { printDialog.Document = doc; if (printDialog.Show() == DialogResult.Ok) { doc.Print(); } printDialog.Document = null; } } }
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 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 void CreateTestCases(ConceptUsecase useCase, SwfConceptUseCaseComposer composer) { composer.MenuStrip.Items.AddRange( new ToolStripMenuItem[] { new ToolStripMenuItem("Test", null, new ToolStripMenuItem[] { new ToolStripMenuItem("Open Testcase...", null, (s, e) => { this.ExampleOpen(useCase); }), new ToolStripMenuItem("Selector", null, (s, e) => { var test = DisplayTest(); test.RunSelectorTest(); test.TearDown(); }), new ToolStripMenuItem("BenchmarkOne", null, (s, e) => { var test = DisplayTest(); test.MoveAlongSceneBoundsTest(); test.TearDown(); }), new ToolStripMenuItem("QuadTree", null, (s, e) => { this.ShowQuadTree(useCase.GetCurrentDisplay().Data); }), new ToolStripMenuItem("WCF", null, (s, e) => { this.WCFServiceTest(useCase); }), new ToolStripMenuItem("SchemaFilter off", null, (s, e) => { this.NoSchemaThingGraph(useCase); }), new ToolStripMenuItem("Database refresh Compression", null, (s, e) => { useCase.RefreshCompression(); }), new ToolStripMenuItem("Timeline", null, (s, e) => { useCase.TimelineSheet(); }), new ToolStripMenuItem("File-Explorer", null, (s, e) => { this.ShowFileExplorer(useCase); }), new ToolStripMenuItem("current problem", null, (s, e) => { this.CurrentProblem(useCase); }), }) }); }
public void WriteUsecase(ConceptUsecase usecase) { try { var hasPerst = false; var perst = new UsecasePersistor(); var fileName = "laststate.limstate"; if (File.Exists(fileName)) { using (var reader = new StreamReader(fileName)) { perst.XmlUsecase = XElement.Parse(reader.ReadToEnd()); } hasPerst = true; } if (perst.XmlUsecase == null) { perst.Save(usecase); Trace.WriteLine(perst.XmlUsecase.ToString()); if (Registry.Pooled <IMessageBoxShow> ().Show("save state", "save", MessageBoxButtons.YesNo) == DialogResult.Yes) { using (var writer = new StreamWriter(fileName)) { writer.Write(perst.XmlUsecase); } } } if (hasPerst) { // usecase.SplitView = new Limada.View.Vidgets.SplitView0 (); perst.Resume(usecase); } } catch (Exception ex) { Registry.Pooled <IExceptionHandler> ().Catch(ex); } }
/// <summary> /// runs after usecasefactory.compose /// </summary> /// <param name="useCase">Use case.</param> public void Compose2(ConceptUsecase useCase) { ComposeMenus(useCase); if (useCase.Toolbar == null) { return; } var toolStrips = useCase.Toolbar.Items .Cast <Limaki.View.IVidget> () .Select(v => v.ToSwf() as ToolStrip).ToArray(); var utils = new ToolStripUtils { ToolStripItemSelectedColor = Color.White }; utils.InitializeToolstrips( this.ToolStripContainer.TopToolStripPanel, this.MenuStrip, toolStrips ); }
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(); }; }
private void ShowStyleEditor(ConceptUsecase useCase) { var options = ComposeStyleEditor(useCase.GetCurrentDisplay().StyleSheet.Styles, useCase.DisplayStyleChanged); options.Show(); }
private void ShowLayoutEditor(ConceptUsecase useCase) { var editor = new LayoutEditor(); }
private void ShowStyleEditor(ConceptUsecase useCase) { var editor = new StyleEditor(); }
private void PrintPreview(ConceptUsecase useCase) { throw new System.NotImplementedException(); }
public void WriteUsecase0(ConceptUsecase usecase) { try { var mesh = Registry.Pooled <IGraphSceneDisplayMesh <IVisual, IVisualEdge> > (); //TODO:move this to another test if (true) { var mesh2 = Registry.Pooled <IGraphSceneMesh <IVisual, IVisualEdge> > (); if (mesh2 != mesh) { throw new Exception(); } } XElement dmx = null; var fileName = "laststate.limstate"; if (File.Exists(fileName)) { using (var reader = new StreamReader(fileName)) { dmx = XElement.Parse(reader.ReadToEnd()); } } // write current state var dmx1 = new UsecaseXmlSerializer() .Write(usecase); Trace.WriteLine(dmx1.ToString()); if (Registry.Pooled <IMessageBoxShow> ().Show("save state", "save", MessageBoxButtons.YesNo) == DialogResult.Yes) { using (var writer = new StreamWriter(fileName)) { writer.Write(dmx1); } } var usecase1 = usecase; // test with new usecase var testNewUsecase = false && dmx != null; if (testNewUsecase) { var backendComposer = Registry.Create <IBackendConceptUseCaseComposer> (); backendComposer.MainWindow = new Vindow { Size = new Size(800, 600) }; var factory = new UsecaseFactory <ConceptUsecase> (); factory.Composer = new ConceptUsecaseComposer(); factory.BackendComposer = backendComposer; usecase1 = factory.Create(); factory.Compose(usecase1); } if (dmx != null) { mesh.Clear(); new UsecaseXmlSerializer() .Read(dmx, usecase1); if (testNewUsecase) { usecase1.MainWindow.Show(); } } } catch (Exception ex) { Registry.Pooled <IExceptionHandler> ().Catch(ex); } }