示例#1
0
        private void SaveSelectionMaskCommandExecute()
        {
            var mask = new SelectionMask();

            int i = 0, savedCount = 0;

            foreach (var trendViewModel in ContextMenuTrendsContainer.Trends)
            {
                if (trendViewModel.IsOnPlot)
                {
                    mask.Items.Add(new SelectionItem {
                        Number = i,
                        Name   = trendViewModel.Name,
                    });
                    savedCount++;
                }

                i++;
            }

            if (savedCount == 0)
            {
                return;
            }

            SaveSelectionMask(ContextMenuTrendsContainer.Name, mask);
            RaisePropertyChanged(() => SelectionMasksStorage);
            RaisePropertyChanged(() => SelectionMasksStorage.SelectionMasks);
        }
示例#2
0
        private void SaveSelectionMask(string containerName, SelectionMask mask)
        {
            if (!SelectionMasksStorage.SelectionMasks.ContainsKey(containerName))
            {
                SelectionMasksStorage.SelectionMasks[containerName] = new SelectionMasksCollection();
            }

            if (!SelectionMasksStorage.SelectionMasks[containerName].Contains(mask))
            {
                SelectionMasksStorage.SelectionMasks[containerName].Items.Add(mask);
                SelectionMasksStorage.Save(_applicationSettings.SelectionMasksFullFilePath);
            }
        }
        /// <summary> Move geometry by mask to level. </summary>
        ///
        /// <param name="mask">      The mask. </param>
        /// <param name="selection"> The selection. </param>
        /// <param name="level">     The level. </param>
        public static void MoveGeometryByMaskToLevel(GeometryMask mask, SelectionMask selection, int level)
        {
            const int SearchAllLevels = -1;

            var geometries = SearchManager.GetGeometry(mask, selection, SearchAllLevels).ToList();

            if (!geometries.Any())
            {
                return;
            }

            foreach (var entity in geometries)
            {
                entity.Level = level;
                entity.Commit();
            }
        }