private void AddElement() { using (AddElementDialog dialog = new AddElementDialog()) { dialog.EnsureButtonClick += (sender1, e1) => { List <ElementModel> emb = new List <ElementModel>(); int span = GetSpan(dialog.DataType); for (int j = 0, i = 0; j < dialog.AddNums; i += span, j++) { ElementModel ele = new ElementModel(dialog.IntrasegmentType != string.Empty, dialog.DataType); ele.AddrType = dialog.AddrType; ele.DataType = dialog.DataType; ele.StartAddr = (uint)(dialog.StartAddr + i); ele.IntrasegmentType = dialog.IntrasegmentType; ele.IntrasegmentAddr = dialog.IntrasegmentAddr; emb.Add(ele); } Manager.Add(emb); foreach (ElementModel ele in emb) { CurrentTable.AddElement( Manager.Get(ele)); } dialog.Close(); }; dialog.ShowDialog(); } }
private void ChangeDialogStyle(AddElementDialog dialog, ElementModel element) { dialog.Title = string.Format(Properties.Resources.Variable_Modification); dialog.Themetextblock.Text = string.Format(Properties.Resources.Variable_Modification); dialog.stackpanel.Visibility = Visibility.Hidden; dialog.comboBox.SelectedIndex = (int)Enum.Parse(typeof(ElementAddressType), element.AddrType); dialog.textBox.Text = element.StartAddr.ToString(); dialog.DataTypeCombox.SelectedIndex = element.DataType == 0 ? 0 : element.DataType - 1; if (element.IsIntrasegment) { dialog.checkbox1.IsChecked = true; dialog.comboBox1.SelectedIndex = element.IntrasegmentType == string.Format("V") ? 0 : 1; dialog.textBox1.Text = element.IntrasegmentAddr.ToString(); } }
private bool IsElementAdded(AddElementDialog dialog, ElementModel element) { if (Elements.ToList().Exists(x => { if (x == element) { return(false); } return(x.AddrType == dialog.AddrType && x.StartAddr == dialog.StartAddr && dialog.IntrasegmentType == x.IntrasegmentType && dialog.IntrasegmentAddr == x.IntrasegmentAddr); })) { return(true); } else { return(false); } }
private void ShowAddDialog(ElementModel element) { using (AddElementDialog dialog = new AddElementDialog()) { ChangeDialogStyle(dialog, element); dialog.EnsureButtonClick += (sender1, e1) => { if (!IsElementAdded(dialog, element)) { if (dialog.IntrasegmentType != string.Empty) { element.IsIntrasegment = true; element.IntrasegmentType = dialog.IntrasegmentType; element.IntrasegmentAddr = dialog.IntrasegmentAddr; } else { element.IsIntrasegment = false; element.IntrasegmentType = string.Empty; element.IntrasegmentAddr = 0; } element.DataType = dialog.DataType; element.AddrType = dialog.AddrType; element.StartAddr = dialog.StartAddr; element.ShowTypes = dialog.DataTypes; element.ShowPropertyChanged(); dialog.Close(); } else { LocalizedMessageBox.Show(Properties.Resources.Message_Element_Has_Added, LocalizedMessageIcon.Information); } }; dialog.ShowDialog(); } }