public static TestWorkspace Create(string xmlDefinition, bool openDocuments = false, ExportProvider exportProvider = null, TestComposition composition = null) => Create(XElement.Parse(xmlDefinition), openDocuments, exportProvider, composition);
internal override TestWorkspace GetWorkspace(string markup, TestComposition composition) => TestWorkspace.CreateCSharp(markup, composition: composition);
protected override TestWorkspace CreateWorkspace(string code, TestComposition composition) => TestWorkspace.CreateCSharp(code, composition: composition);
internal abstract TestWorkspace GetWorkspace(string markup, TestComposition composition);
private List <StepCompositionLog> DoComposition() { var steps = new List <StepCompositionLog>(); string err_msg = ""; switch (ComboBox_Method.SelectedIndex) { case 0: steps = PosledGypergraph.Compose(tbCountOfElements.Value ?? 10, tbLimitsOfWires.Value ?? 100, out err_msg); break; case 1: steps = PosledMultigraph.Compose(tbCountOfElements.Value ?? 10, tbLimitsOfWires.Value ?? 100, out err_msg); break; case 2: steps = IterGypergraph.Compose(out err_msg); break; case 3: steps = IterMultigraphNew.Compose(out err_msg); break; case 4: steps = TestComposition.Compose(tbCountOfElements.Value ?? 10, tbLimitsOfWires.Value ?? 100, out err_msg); break; } // если не было ошибки - сериализуем результат if (err_msg == "") { if (steps.Count != 0) { var result = new CompositionResult(); result.BoardsElements = steps.Last().BoardsList; var sch = ApplicationData.ReadScheme(out err_msg); if (err_msg != "") { MessageBox.Show(err_msg, "Revolution CAD", MessageBoxButton.OK, MessageBoxImage.Error); return(null); } result.CreateBoardsWires(sch, out err_msg); if (err_msg != "") { MessageBox.Show(err_msg, "Revolution CAD", MessageBoxButton.OK, MessageBoxImage.Error); return(null); } // формируем новую матрицу R на основе сформированных проводов, которые были разделены по платам result.MatrixR_AfterComposition = ApplicationData.CreateMatrixR(result.BoardsWires, sch.MatrixR.RowsCount, sch.MatrixR.ColsCount); ApplicationData.WriteComposition(result, out err_msg); if (err_msg != "") { MessageBox.Show(err_msg, "Revolution CAD", MessageBoxButton.OK, MessageBoxImage.Error); return(null); } string msg; if (ApplicationData.IsFileExists(".plc", out msg)) { File.Delete($"{ApplicationData.FileName}.plc"); } if (ApplicationData.IsFileExists(".trs", out msg)) { File.Delete($"{ApplicationData.FileName}.trs"); } if (ApplicationData.IsFileExists(".lay", out msg)) { File.Delete($"{ApplicationData.FileName}.lay"); } mw.MatrControl.UpdateMatrices(); mw.PlaceControl.Update(); mw.TraceControl.Update(); mw.LayerControl.Update(); } } if (err_msg != "") { MessageBox.Show(err_msg, "Revolution CAD", MessageBoxButton.OK, MessageBoxImage.Error); } return(steps); }
protected abstract TestWorkspace CreateWorkspace(string code, TestComposition composition);
protected override TestWorkspace CreateWorkspace(string code, TestComposition composition) => TestWorkspace.CreateVisualBasic(code, composition: composition);