/// <summary> /// Создание припуска /// </summary> public void NewPrirusk() { if (!isCreatingDimension) { foreach (UIElement UI in leftStackPanel.Children) { UI.IsEnabled = false; } isCreatingDimension = true; UnPickIfChosed(); UI_Dimension newDim = new UI_PripuskDimension(PUC); creatingDimAtThisMoment = newDim; (newDim as UI_PripuskDimension).PripuskApdatedEvent += new UI_PripuskDimension.PripuskApdatedEventHandler(Controller_PripuskApdated); // подписываемся на событие изменения нового размера } }
/// <summary> /// обработка события при изменении припуска пользователем (желаемого пользователем максимума или минимума) /// </summary> /// <param name="dim">UI-припуск, который сгенерировал событие</param> void Controller_PripuskApdated(UI_Dimension dim) { UI_PripuskDimension UI_pd = dim as UI_PripuskDimension; if (dim.lblNominal.Content.ToString() != "?") { double _max = Double.Parse(dim.lblNominal.Content.ToString()) + Double.Parse(dim.lblUp.Content.ToString()); double _min = Double.Parse(dim.lblNominal.Content.ToString()) + Double.Parse(dim.lblDown.Content.ToString()); if (_max > (dim as UI_PripuskDimension).max || _min < (dim as UI_PripuskDimension).min) { (dim as UI_PripuskDimension).Alarm(); } else { (dim as UI_PripuskDimension).NotAlarm(); } } }
public void ReNull() { UI_D = null; textBoxMin.Text = "0"; textBoxMax.Text = "0"; }
public void SetUI_PD(UI_PripuskDimension UI_PD) { UI_D = UI_PD; textBoxMin.Text = UI_D.min.ToString(); textBoxMax.Text = UI_D.max.ToString(); }
public UI_PripuskDimension_Save(UI_PripuskDimension dim) : base(dim) { max = dim.max; min = dim.min; typ = type.pripusk; }
void MainWindow_OpenSaved() { OpenFileDialog OFD = new OpenFileDialog(); OFD.Filter = "*.dch|*.dch"; OFD.ShowDialog(); fileName = OFD.FileName; if (fileName == "") { MessageBox.Show("Файл не выбран!"); return; } try { FileStream fs = new FileStream(fileName, FileMode.Open); BinaryFormatter bf = new BinaryFormatter(); Save save = (Save)bf.Deserialize(fs); fs.Close(); MainWindow_EscPressed(); // если вдруг в этот момент создаётся размер window.SetSaveEnable(true); window.Title = "Автоматический рассчёт размерных цепей - " + fileName; canv.Children.Clear(); rightStackPanel.Children.Clear(); this.graph = save.graph; listOfDimensions.Clear(); // список всех размеров dicUI_Dim.Clear(); // словарь: визуальный размер -> размер dicDim_UI.Clear(); // словарь: размер -> визуальный размер isCreatingDimension = false; chosedDimension = null; creatingDimAtThisMoment = null; foreach (UI_Dimension_Save UIDSaved in save.dic_UISave_Dim.Keys) { UI_Dimension newUIDim = null; switch (UIDSaved.typ) { case type.tech: newUIDim = new UI_TechDimension(UIDSaved); (newUIDim as UI_TechDimension).TechDimensionApdatedEvent += new UI_TechDimension.TechDimensionApdatedEventHandler(Controller_TechDimensionApdated); break; case type.pripusk: newUIDim = new UI_PripuskDimension(UIDSaved); (newUIDim as UI_PripuskDimension).PripuskApdatedEvent += new UI_PripuskDimension.PripuskApdatedEventHandler(Controller_PripuskApdated); break; case type.konstr: newUIDim = new UI_ConstrDimension(UIDSaved); (newUIDim as UI_ConstrDimension).ConstrApdatedEvent += new UI_ConstrDimension.ConstrApdatedEventHandler(Controller_ConstrApdated); break; } newUIDim.dimensionClicked += new UI_Dimension.dimensionClickedEventHandler(Controller_ClickOnDimension); newUIDim.lblClickedOtherPodpiska(); listOfDimensions.Add(newUIDim); dicUI_Dim.Add(newUIDim, save.dic_UISave_Dim[UIDSaved]); dicDim_UI.Add(save.dic_UISave_Dim[UIDSaved], newUIDim); } ReBuildAll(); if (graph.isCicle) { window.lblStateCicle.Content = "Размерная цепь замкнута!"; } else { window.lblStateCicle.Content = ""; } } catch (Exception ex) { MessageBox.Show(ex.Message); } }