public void UpdateMeasuringElements() { var groups = PresentationElementViewModels.Where(model => model.TemplatedViewModelToShowOnCanvas is PresentationGroupViewModel).ToList(); foreach (var element in PresentationElementViewModels) { if (!(element.TemplatedViewModelToShowOnCanvas is PresentationGroupViewModel) && !_positioningInfosDictionary.ContainsKey((element.TemplatedViewModelToShowOnCanvas as IUniqueId).Id)) { _positioningInfosDictionary.Add((element.TemplatedViewModelToShowOnCanvas as IUniqueId).Id, element.PositioningInfoViewModel); } } PresentationElementViewModels.Clear(); PresentationElementViewModels.AddCollection(groups); foreach (var measuringElementEditorViewModel in _measuringGroupEditorViewModel .MeasuringElementEditorViewModels) { var measuringElementViewModel = _measuringElementViewModelFactory.CreateMeasuringElementViewModel( new MeasuringElementSaver().SaveMeasuringElement(measuringElementEditorViewModel), _measuringGroupEditorViewModel.Header); var presentationElementViewModel = new PresentationElementViewModel( InitializeTestValue(measuringElementViewModel), measuringElementViewModel.Id); InitializePositionInto(presentationElementViewModel, measuringElementViewModel); PresentationElementViewModels.Add(presentationElementViewModel); } UpdateFilter(); }
private void OnDeleteGroup() { PresentationElementViewModels.Remove(SelectedElementViewModel); SelectedElementViewModel.PositioningInfoViewModel.Dispose(); SelectedElementViewModel = null; UpdateFilter(); }
private void OnAddGroup() { var group = new PresentationGroupViewModel(); var newOne = new PresentationElementViewModel(group); newOne.PositioningInfoViewModel = new PositioningInfoViewModel(0, 0, 200, 200, new PresentationPositionChangedSubscription(group, this)); SelectedElementViewModel = newOne; PresentationElementViewModels.Add(newOne); UpdateFilter(); }