private void OnEditOptionsExecute() { var placeOptVM = new PlaceOptionsViewModel(Place.Options); if (InsService.ShowDialog(placeOptVM) == true) { Place.Update(); } }
private void OnEditTreeOptionsExecute() { var treeOptionsVM = new TreeOptionsViewModel(Tree.TreeOptions); if (InsService.ShowDialog(treeOptionsVM) == true) { // Обновление расчета елочек Tree.UpdateVisual(); } }
/// <summary> /// Определение расчетного сервиса по Options /// </summary> /// <returns>Изменилось или нет</returns> public bool DefineCalcService() { bool res = false; if (CalcService == null || !CalcService.IsIdenticalOptions(Options)) { CalcService = InsService.GetCalcService(Options); res = true; } return(res); }
public override int SetAttributes(Drawable drawable, DrawableTraits traits) { var dbPt = drawable as DBPoint; var insPoint = InsService.FindInsPoint(dbPt.Position, dbPt.Database); if (insPoint != null && insPoint.InsValue != null) { traits.TrueColor = Color.FromColor(insPoint.InsValue.Requirement.Color).EntityColor; return(1); } return(base.SetAttributes(drawable, traits)); }
private void OnShowOptionsExecute(FrontGroup group) { var fgOptionsVM = new FrontGroupOptionsViewModel(group.Options, group); if (InsService.ShowDialog(fgOptionsVM) == true) { if (fgOptionsVM.SelectedExtents != null) { group.SelectRegion = fgOptionsVM.SelectedExtents.Value; } group.Update(); } }
private void OnUpdateExecute() { try { Inspector.Clear(); Model?.Update(); } catch (Exception ex) { InsService.ShowMessage(ex, ""); } Inspector.Show(); Inspector.Clear(); }
private void OnShowHouseOptionsExecute(House house) { HouseOptions houseOptions = house.Options ?? new HouseOptions(house.FrontGroup.Options); var fgOptionsVM = new FrontGroupOptionsViewModel(houseOptions, null); if (InsService.ShowDialog(fgOptionsVM) == true) { if (!houseOptions.Equals(house.FrontGroup.Options)) { house.Options = houseOptions; house.Update(); } } }
public Place AddPlace(ObjectId placeId) { // Проверка нет ли уже такой площадки (по placeId) var place = FindPlace(placeId); if (place != null) { InsService.ShowMessage("Эта площадка уже добавлена - " + place.Name, System.Windows.MessageBoxImage.Information); return(null); } place = new Place(placeId, this); Places.Add(place); place.Update(); return(place); }
private void OnEditInsOptionsExecute() { var optVM = new InsOptionsViewModel(Model.Options); if (InsService.ShowDialog(optVM) == true) { bool needUpdate; Model.SetOptions(optVM.InsOptions, out needUpdate); if (needUpdate) { OnUpdateExecute(); } UpdateBinding(); } }
private void OnEditPointExecute(InsPoint insPoint) { var building = insPoint?.Building; //if (building == null) return; var oldBuildingType = building?.BuildingType ?? Elements.Buildings.BuildingTypeEnum.Living; var selectedPoints = Tree.Points.Where(w => w.IsSelected).ToList(); var insPointVM = new InsPointViewModel(insPoint, selectedPoints.Count == 1); //var uiVisualizerService = ServiceLocator.Default.ResolveType<IUIVisualizerService>(); if (InsService.ShowDialog(insPointVM) != true) { return; } // Если измениля тип здания - то пересчет всех точек на этом здании if (building != null && oldBuildingType != building.BuildingType) { //// Учет изменения типа здания для всех точек на этом здании Tree.Model.ChangeBuildingType(building); } else { if (selectedPoints.Count > 1) { selectedPoints.Remove(insPoint); foreach (var selPt in selectedPoints) { selPt.Height = insPoint.Height; if (insPoint.Window != null) { selPt.Window = insPoint.Window; } selPt.Update(); } } // Обновление точки insPoint.Update(); } // Обновление елочек Tree.UpdateVisualTree(insPoint); // Сохранение точки в словарь insPoint.SaveInsPoint(); }
public override bool WorldDraw(Drawable drawable, WorldDraw wd) { var dbPt = drawable as DBPoint; // Найти инсоляционную точку var insPoint = InsService.FindInsPoint(dbPt.Position, dbPt.Database); if (insPoint != null && insPoint.VisualPoint != null) { var draws = insPoint.VisualPoint.CreateVisual(); foreach (var item in draws) { item.WorldDraw(wd); item.Dispose(); // ??? } return(true); } return(base.WorldDraw(drawable, wd)); }
/// <summary> /// Добавление новой площадки /// </summary> private void InsAddPlaceExecute() { try { var selPlace = new SelectPlace(); var placeId = selPlace.Select(); if (!placeId.IsValidEx()) { return; } var place = Place.AddPlace(placeId); if (place != null) { place.IsVisualPlaceOn = true; } // Запись статистики PluginStatisticsHelper.AddStatistic(); } catch (Exception ex) { InsService.ShowMessage(ex, "Ошибка"); } }
private void InsAddFrontExecute() { // Выбор области на чертеже var selectGroup = new SelectGroup(Front.Model.Doc); Extents3d selReg; try { selReg = selectGroup.Select(); } catch { return; } // Проверка, что в указанной области есть свободные дома if (!Front.Model.Map.Houses.GetHousesInExtents(selReg).Any(h => h.FrontGroup == null)) { // В области новой группы не должно быть домов из других групп InsService.ShowMessage($"В выбранной области нет домов не входящих в другие группы.", System.Windows.MessageBoxImage.Error); return; } // Создание группы фронтонов try { var frontGroup = FrontGroup.New(selReg, Front); Front.AddGroup(frontGroup); // Запись статистики PluginStatisticsHelper.AddStatistic(); } catch (Exception ex) { InsService.ShowMessage(ex, "Ошибка при создании группы фронтонов."); } }
private void InsAddPointExecute() { try { // Выбор точки на чертеже и задание параметров окна var selPt = new SelectPoint(); InsPoint p = selPt.SelectNewPoint(Tree.Model); if (p != null) { // Расчет и добавление точки Tree.AddPoint(p); // Включение зон инсоляции точки p.IsVisualIllumsOn = true; // Сохранение точки p.SaveInsPoint(); // Запись статистики PluginStatisticsHelper.AddStatistic(); } } catch (Exception ex) { InsService.ShowMessage(ex, "Ошибка"); } }
private void OnSelectColorExecute(TileLevel level) { level.Color = InsService.ColorPicker(level.Color); }
private void OnSelectColorExecute(TreeVisualOption treeVisOpt) { treeVisOpt.Color = InsService.ColorPicker(treeVisOpt.Color); }