Exemplo n.º 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);
        }
Exemplo n.º 2
0
        private void InitRoadTypesProperty()
        {
            _roadTypesControl = new GenericTableRowControl <RoadType>()
            {
                TitleValue   = "Используемые типы дорог",
                TitleToolTip = "Представляет собой набор допустимых типов маршрутов в сети, используется при добавлении или обновлении маршрута",
                OnAdd        = alreadyUsedRoadTypes => {
                    var addDialog = new AddStringDialog()
                    {
                        Title    = "Новый тип дороги",
                        IsViable = newRoadTypeName => {
                            if (newRoadTypeName.Trim() == "")
                            {
                                ComponentUtils.ShowMessage("Введите не пустое название", MessageBoxImage.Error);
                                return(false);
                            }

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

                            return(true);
                        },
                        RowControl =
                        {
                            TitleValue = "Введите название",
                            Value      = ""
                        }
                    };
                    if (addDialog.ShowDialog() != true)
                    {
                        return(null);
                    }

                    var created = new RoadType()
                    {
                        Name = addDialog.RowControl.Value
                    };
                    return(new List <RoadType>()
                    {
                        created
                    });
                },
                Value = _roadTypes.Values
            };
            _roadTypesControl.AddColumns(RoadType.PropertyMatcher());

            PropertiesPanel.Children.Add(_roadTypesControl.GetUiElement);
        }
        private void InitUnusedRoadTypesProperty()
        {
            _roadUnusedTypesControl = new GenericTableRowControl <RoadType>()
            {
                TitleValue   = "Фильтр не используемых маршрутов",
                TitleToolTip =
                    "Представляет собой набор типов маршрутов, маршрут имеющий тип из списка не будет использоваться в работе алгоритма",
                OnAdd = alreadyUsedRoadTypes => {
                    var dialog = new GenericSelectEntitiesDialog <RoadType>(
                        "Выборите не используемые маршруты",
                        RoadType.PropertyMatcher(),
                        _availableRoadTypes.Values.Where(rt => !alreadyUsedRoadTypes.Contains(rt)));
                    return(dialog.Selected);
                },
                Value = _config.RoadTypes
            };
            _roadUnusedTypesControl.AddColumns(RoadType.PropertyMatcher());

            PropertiesPanelRight.Children.Add(_roadUnusedTypesControl.GetUiElement);
        }