예제 #1
0
        // init methods
        private void InitConfigProperty()
        {
            _configAlgTypeControl = new ConstantStringRowControl()
            {
                TitleValue = "Тип алгоритма"
            };
            ConfigPropertiesPanel.Children.Add(_configAlgTypeControl);

            _configMethodTypeControl = new ConstantStringRowControl()
            {
                TitleValue = "Тип метода"
            };
            ConfigPropertiesPanel.Children.Add(_configMethodTypeControl);

            _configTransportSystemsControl = new GenericTableRowControl <TransportSystem>()
            {
                TitleValue = "Использованные транспортные системы",
            };
            _configTransportSystemsControl.AddColumns(TransportSystem.PropertyMatcher());
            ConfigPropertiesPanel.Children.Add(_configTransportSystemsControl.GetUiElement);

            _configCentralCitiesTagsControl = new GenericTableRowControl <CityTag>()
            {
                TitleValue = "Центральные города"
            };
            _configCentralCitiesTagsControl.AddColumns(CityTag.PropertyMatcher());
            ConfigPropertiesPanel.Children.Add(_configCentralCitiesTagsControl.GetUiElement);

            _configUnusedRoadTypesControl = new GenericTableRowControl <RoadType>()
            {
                TitleValue = "Исключенные дороги"
            };
            _configUnusedRoadTypesControl.AddColumns(RoadType.PropertyMatcher());
            ConfigPropertiesPanel.Children.Add(_configUnusedRoadTypesControl.GetUiElement);
        }
예제 #2
0
        // init methods
        private void InitCityTagsProperty()
        {
            _cityTagsControl = new GenericTableRowControl <CityTag>()
            {
                TitleValue   = "Используемые типы населенных пунктов",
                TitleToolTip = "Представляет собой набор допустимых типов населенных пунктов в сети, используется при добавлении или обновлении населенного пункта",
                OnAdd        = alreadyUsedCityTags => {
                    var addDialog = new AddStringDialog()
                    {
                        Title    = "Новый тип населенного пункта",
                        IsViable = newCityTagName => {
                            if (newCityTagName.Trim() == "")
                            {
                                ComponentUtils.ShowMessage("Введите не пустое название", MessageBoxImage.Error);
                                return(false);
                            }

                            if (alreadyUsedCityTags.Contains(new CityTag()
                            {
                                Name = newCityTagName.Trim()
                            }))
                            {
                                ComponentUtils.ShowMessage("Тип населенного пункта с таким названием уже существует",
                                                           MessageBoxImage.Error);
                                return(false);
                            }

                            return(true);
                        },
                        RowControl =
                        {
                            TitleValue = "Введите название",
                            Value      = ""
                        }
                    };

                    if (addDialog.ShowDialog() != true)
                    {
                        return(null);
                    }

                    var created = new CityTag()
                    {
                        Name = addDialog.RowControl.Value
                    };
                    return(new List <CityTag>()
                    {
                        created
                    });
                },
                Value = _cityTags.Values
            };
            _cityTagsControl.AddColumns(CityTag.PropertyMatcher());

            PropertiesPanel.Children.Add(_cityTagsControl.GetUiElement);
        }
        private void InitCityTagsProperty()
        {
            _cityTagsControl = new GenericTableRowControl <CityTag>()
            {
                TitleValue   = "Выбор центральных нас. пунктов",
                TitleToolTip =
                    "Представляет собой набор тэгов, нас. пункт имеющий хотя-бы 1 тег из списка будет считаться центральным",
                OnAdd = alreadyUsedCityTags => {
                    var dialog = new GenericSelectEntitiesDialog <CityTag>(
                        "Выберите типы центральных населенных пунктов",
                        CityTag.PropertyMatcher(),
                        _availableCityTags.Values.Where(ct => !alreadyUsedCityTags.Contains(ct)));
                    return(dialog.Selected);
                },
                Value = _config.CityTags
            };
            _cityTagsControl.AddColumns(CityTag.PropertyMatcher());

            PropertiesPanelRight.Children.Add(_cityTagsControl.GetUiElement);
        }
예제 #4
0
        private static void InitTagsProperty()
        {
            _tagsControl = new GenericTableRowControl <CityTag>()
            {
                TitleValue   = "Тэги нас. пункта",
                TitleToolTip =
                    "Представляет собой набор тэгов которые принадлежат данному нас. пункту, используется при спецификации алгоритма",
                OnAdd = alreadyUsedCityTags => {
                    var dialog = new GenericSelectEntitiesDialog <CityTag>(
                        "Добавить тэги к населенному пункту",
                        CityTag.PropertyMatcher(),
                        _availableCityTags.Values.Where(ct => !alreadyUsedCityTags.Contains(ct)));
                    return(dialog.Selected);
                }
            };
            _tagsControl.AddColumns(CityTag.PropertyMatcher());

            _dialog.AddProperty(
                _tagsControl.GetUiElement,
                () => _tagsControl.Value = new List <CityTag>(),
                c => _tagsControl.Value  = c.Tags);
        }