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();
        }