public static void ConfigureParamsView(ParamsView view) { var sawingModesView = new SawingModesView(); view.AddMachine(CAM.MachineType.Donatoni, CAM.MachineType.ScemaLogic) .AddMaterial() .AddParam(nameof(Thickness)) .AddIndent() .AddTool() .AddParam(nameof(Frequency)) .AddParam(nameof(PenetrationFeed)) .AddParam(nameof(ZSafety)) .AddIndent() .AddAcadObject(message: "Выберите объекты распиловки", allowedTypes: $"{AcadObjectNames.Line},{AcadObjectNames.Arc},{AcadObjectNames.Lwpolyline}", afterSelect: ids => view.GetParams <SawingTechProcess>().CreateExtraObjects(ids) ) .AddIndent() .AddComboBox("Режимы", new[] { "Отрезок", "Кривая" }, SetSawingModes) .AddControl(sawingModesView, 6); void SetSawingModes(int index) => sawingModesView.sawingModesBindingSource.DataSource = index == 0 ? view.GetParams <SawingTechProcess>().SawingTechProcessParams.SawingLineModes : view.GetParams <SawingTechProcess>().SawingTechProcessParams.SawingCurveModes; }
public static void ConfigureParamsView(ParamsView view) { var sawingModesView = new SawingModesView(); view.BindingSource.DataSourceChanged += (s, e) => sawingModesView.sawingModesBindingSource.DataSource = view.GetParams <SawingTechOperation>().SawingModes; view.AddParam(nameof(IsExactlyBegin), "Начало точно") .AddParam(nameof(IsExactlyEnd), "Конец точно") .AddParam(nameof(AngleA)) .AddParam(nameof(Departure)) .AddIndent() .AddAcadObject(message: "Выберите объект", allowedTypes: $"{AcadObjectNames.Line},{AcadObjectNames.Arc},{AcadObjectNames.Lwpolyline}", afterSelect: ids => { var operation = view.GetParams <SawingTechOperation>(); operation.ProcessingArea = null; var border = ((SawingTechProcess)operation.TechProcess).CreateExtraObjects(ids[0])[0]; operation.SetFromBorder(border); view.ResetControls(); sawingModesView.sawingModesBindingSource.DataSource = operation.SawingModes; } ) .AddText("Режимы") .AddControl(sawingModesView, 6); }