Пример #1
0
 //Устанавливаем имя тегу, если он не корневой и имя уникально среди детей родителя этого элемента
 public bool SetName(string name)
 {
     if (TagParent == null || TagParent.IsChildNameUnique(name))
     {
         TagName = name;
         NotifyPropertyChangedfromChildrens();
         return(true);
     }
     return(false);
 }
Пример #2
0
        //Показывает окно на добавление тега. Если все данные введены и есть поддтверждение,
        //то новый элемент добавляется как дочерний элемент к целевому элементу
        private void AskUserToAddTag(TagItem target)
        {
            AddNewTagWindow confirmAdding = new AddNewTagWindow(this);

            if (confirmAdding.ShowDialog() == true)
            {
                if (confirmAdding.TextBoxValue.Length <= 0)
                {
                    MessageBox.Show("Задано пустое имя.", "Ошибка");
                }
                else if (!target.IsChildNameUnique(confirmAdding.TextBoxValue))
                {
                    MessageBox.Show("Такое имя уже есть среди детей родителя этого элемента.", "Ошибка");
                }
                else if (Regex.IsMatch(confirmAdding.TextBoxValue, "[^a-zA-Zа-яА-Я0-9]"))
                {
                    MessageBox.Show("Найдены недопустимые символы. Используйте только алфавиты кириллицы и латиницы, а так же цифры", "Ошибка");
                }
                else
                {
                    isUnsavedData = true;
                    switch (confirmAdding.SelectedType)
                    {
                    case "None":
                        target.AddChild(confirmAdding.TextBoxValue, null);
                        break;

                    case "Bool":
                        target.AddChild(confirmAdding.TextBoxValue, false);
                        break;

                    case "Int":
                        target.AddChild(confirmAdding.TextBoxValue, 0);
                        break;

                    case "Double":
                        target.AddChild(confirmAdding.TextBoxValue, 0.0);
                        break;
                    }
                }
            }
        }