コード例 #1
0
        public void PasteBlockStyle(IItemFilterBlockViewModel targetBlockViewModel)
        {
            var clipboardText = _clipboardService.GetClipboardText();

            if (string.IsNullOrEmpty(clipboardText))
            {
                return;
            }

            _blockTranslator.ReplaceColorBlockItemsFromString(targetBlockViewModel.Block.BlockItems, clipboardText);
            targetBlockViewModel.RefreshBlockPreview();
        }
コード例 #2
0
 public void CopyBlock(IItemFilterBlockViewModel targetBlockViewModel)
 {
     try
     {
         _clipboardService.SetClipboardText(
             _blockTranslator.TranslateItemFilterBlockToString(SelectedBlockViewModel.Block));
     }
     catch
     {
         _messageBoxService.Show("Clipboard Error", "Failed to access the clipboard, copy command not completed.",
                                 MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
コード例 #3
0
        private bool ShowBlockBasedOnAdvanced(IItemFilterBlockViewModel blockViewModel)
        {
            if (ShowAdvanced)
            {
                return(true);
            }

            if (blockViewModel.Block.BlockGroup == null)
            {
                return(true);
            }

            return(!blockViewModel.Block.BlockGroup.Advanced);
        }
コード例 #4
0
        public void MoveBlockToTop(IItemFilterBlockViewModel targetBlockViewModel)
        {
            var currentIndex = ItemFilterBlockViewModels.IndexOf(targetBlockViewModel);

            if (currentIndex > 0)
            {
                var block = targetBlockViewModel.Block;
                Script.ItemFilterBlocks.Remove(block);
                Script.ItemFilterBlocks.Insert(0, block);
                ItemFilterBlockViewModels.Move(currentIndex, 0);
                IsDirty = true;
                RaisePropertyChanged("ItemFilterSectionViewModels");
            }
        }
コード例 #5
0
        public void MoveBlockToBottom(IItemFilterBlockViewModel targetBlockViewModel)
        {
            var currentIndex = ItemFilterBlockViewModels.IndexOf(targetBlockViewModel);

            if (currentIndex < ItemFilterBlockViewModels.Count - 1)
            {
                var block = targetBlockViewModel.Block;
                Script.ItemFilterBlocks.Remove(block);
                Script.ItemFilterBlocks.Add(block);
                ItemFilterBlockViewModels.Move(currentIndex, ItemFilterBlockViewModels.Count - 1);
                IsDirty = true;
                RaisePropertyChanged("ItemFilterSectionViewModels");
            }
        }
コード例 #6
0
        public void DeleteBlock(IItemFilterBlockViewModel targetBlockViewModel)
        {
            var result = _messageBoxService.Show("Delete Confirmation", "Are you sure you wish to delete this block?",
                                                 MessageBoxButton.YesNo,
                                                 MessageBoxImage.Question);

            if (result == MessageBoxResult.Yes)
            {
                Script.ItemFilterBlocks.Remove(targetBlockViewModel.Block);
                ItemFilterBlockViewModels.Remove(targetBlockViewModel);
                IsDirty = true;
            }
            SelectedBlockViewModel = null;
        }
コード例 #7
0
        public void MoveBlockDown(IItemFilterBlockViewModel targetBlockViewModel)
        {
            var currentIndex = ItemFilterBlockViewModels.IndexOf(targetBlockViewModel);

            if (currentIndex < ItemFilterBlockViewModels.Count - 1)
            {
                var block    = targetBlockViewModel.Block;
                var blockPos = Script.ItemFilterBlocks.IndexOf(block);
                Script.ItemFilterBlocks.RemoveAt(blockPos);
                Script.ItemFilterBlocks.Insert(blockPos + 1, block);
                ItemFilterBlockViewModels.Move(currentIndex, currentIndex + 1);
                IsDirty = true;
                RaisePropertyChanged("ItemFilterSectionViewModels");
            }
        }
コード例 #8
0
        public void AddSection(IItemFilterBlockViewModel targetBlockViewModel)
        {
            var vm         = _itemFilterBlockViewModelFactory.Create();
            var newSection = new ItemFilterSection {
                Description = "New Section"
            };

            vm.Initialise(newSection, this);

            Script.ItemFilterBlocks.Insert(Script.ItemFilterBlocks.IndexOf(targetBlockViewModel.Block), newSection);
            ItemFilterBlockViewModels.Insert(ItemFilterBlockViewModels.IndexOf(targetBlockViewModel), vm);
            IsDirty = true;
            SelectedBlockViewModel = vm;
            RaisePropertyChanged("ItemFilterSectionViewModels");
        }
コード例 #9
0
        public void CopyBlockStyle(IItemFilterBlockViewModel targetBlockViewModel)
        {
            string outputText = string.Empty;

            foreach (var blockItem in targetBlockViewModel.Block.BlockItems.Where(b => b is IAudioVisualBlockItem))
            {
                if (outputText != string.Empty)
                {
                    outputText += Environment.NewLine;
                }
                outputText += blockItem.OutputText;
            }

            Clipboard.SetText(outputText);
        }
コード例 #10
0
        public void MoveBlockUp(IItemFilterBlockViewModel targetBlockViewModel)
        {
            var currentIndex = ItemFilterBlockViewModels.IndexOf(targetBlockViewModel);

            if (currentIndex > 0)
            {
                var block    = targetBlockViewModel.Block;
                var blockPos = Script.ItemFilterBlocks.IndexOf(block);
                Script.ItemFilterBlocks.RemoveAt(blockPos);
                Script.ItemFilterBlocks.Insert(blockPos - 1, block);
                ItemFilterBlockViewModels.Move(currentIndex, currentIndex - 1);
                IsDirty = true;
                RaisePropertyChanged(nameof(ItemFilterSectionViewModels));
            }
        }
コード例 #11
0
        public void AddSection(IItemFilterBlockViewModel targetBlockViewModel)
        {
            var vm         = _itemFilterBlockViewModelFactory.Create();
            var newSection = new ItemFilterSection {
                Description = "New Section"
            };

            vm.Initialise(newSection, this);

            Script.ItemFilterBlocks.Insert(Script.ItemFilterBlocks.IndexOf(targetBlockViewModel.Block), newSection);
            ItemFilterBlockViewModels.Insert(ItemFilterBlockViewModels.IndexOf(targetBlockViewModel), vm);
            IsDirty = true;
            SelectedBlockViewModel = vm;
            RaisePropertyChanged(nameof(ItemFilterSectionViewModels));
            Messenger.Default.Send(new NotificationMessage("SectionsChanged"));
        }
コード例 #12
0
        public void PasteBlock(IItemFilterBlockViewModel targetBlockViewModel)
        {
            try
            {
                var clipboardText = _clipboardService.GetClipboardText();
                if (string.IsNullOrEmpty(clipboardText))
                {
                    return;
                }
                _blockGroupHierarchyBuilder.Initialise(Script.ItemFilterBlockGroups.First());

                var translatedBlock = _blockTranslator.TranslateStringToItemFilterBlock(clipboardText, Script.ThemeComponents);
                if (translatedBlock == null)
                {
                    return;
                }

                var vm = _itemFilterBlockViewModelFactory.Create();
                vm.Initialise(translatedBlock, this);

                if (ItemFilterBlockViewModels.Count > 0)
                {
                    Script.ItemFilterBlocks.Insert(Script.ItemFilterBlocks.IndexOf(targetBlockViewModel.Block) + 1,
                                                   translatedBlock);
                    ItemFilterBlockViewModels.Insert(ItemFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1, vm);
                }
                else
                {
                    Script.ItemFilterBlocks.Add(translatedBlock);
                    ItemFilterBlockViewModels.Add(vm);
                }

                SelectedBlockViewModel = vm;
                IsDirty = true;
            }
            catch (Exception e)
            {
                _logger.Error(e);
                var innerException = e.InnerException != null
                    ? e.InnerException.Message
                    : string.Empty;

                _messageBoxService.Show("Paste Error",
                                        e.Message + Environment.NewLine + innerException, MessageBoxButton.OK,
                                        MessageBoxImage.Error);
            }
        }
コード例 #13
0
        public void DeleteBlock(IItemFilterBlockViewModel targetBlockViewModel)
        {
            var result = _messageBoxService.Show("Delete Confirmation", "Are you sure you wish to delete this block?",
                                                 MessageBoxButton.YesNo,
                                                 MessageBoxImage.Question);

            if (result == MessageBoxResult.Yes)
            {
                var isSection = targetBlockViewModel.Block is ItemFilterSection;

                Script.ItemFilterBlocks.Remove(targetBlockViewModel.Block);
                ItemFilterBlockViewModels.Remove(targetBlockViewModel);
                IsDirty = true;

                if (isSection)
                {
                    Messenger.Default.Send(new NotificationMessage("SectionsChanged"));
                }
            }
            SelectedBlockViewModel = null;
        }
コード例 #14
0
        public void CopyBlockStyle(IItemFilterBlockViewModel targetBlockViewModel)
        {
            string outputText = string.Empty;

            foreach (var blockItem in targetBlockViewModel.Block.BlockItems.Where(b => b is IAudioVisualBlockItem))
            {
                if (outputText != string.Empty)
                {
                    outputText += Environment.NewLine;
                }
                outputText += blockItem.OutputText;
            }
            try
            {
                _clipboardService.SetClipboardText(outputText);
            }
            catch
            {
                _messageBoxService.Show("Clipboard Error", "Failed to access the clipboard, copy command not completed.",
                                        MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
コード例 #15
0
        public void AddBlock(IItemFilterBlockViewModel targetBlockViewModel)
        {
            var vm       = _itemFilterBlockViewModelFactory.Create();
            var newBlock = new ItemFilterBlock();

            vm.Initialise(newBlock, this);

            if (targetBlockViewModel != null)
            {
                Script.ItemFilterBlocks.Insert(Script.ItemFilterBlocks.IndexOf(targetBlockViewModel.Block) + 1, newBlock);
                ItemFilterBlockViewModels.Insert(ItemFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1, vm);
            }
            else
            {
                Script.ItemFilterBlocks.Add(newBlock);
                ItemFilterBlockViewModels.Add(vm);
            }

            SelectedBlockViewModel = vm;
            vm.IsExpanded          = true;
            IsDirty = true;
        }
コード例 #16
0
        public void MoveBlockToTop(IItemFilterBlockViewModel targetBlockViewModel)
        {
            var currentIndex = ItemFilterBlockViewModels.IndexOf(targetBlockViewModel);

            if (currentIndex > 0)
            {
                var block = targetBlockViewModel.Block;
                Script.ItemFilterBlocks.Remove(block);
                Script.ItemFilterBlocks.Insert(0, block);
                ItemFilterBlockViewModels.Move(currentIndex, 0);
                IsDirty = true;
                RaisePropertyChanged("ItemFilterSectionViewModels");
            }
        }
コード例 #17
0
        public void PasteBlockStyle(IItemFilterBlockViewModel targetBlockViewModel)
        {
            var clipboardText = _clipboardService.GetClipboardText();
            if (string.IsNullOrEmpty(clipboardText))
            {
                return;
            }

            _blockTranslator.ReplaceColorBlockItemsFromString(targetBlockViewModel.Block.BlockItems, clipboardText);
            targetBlockViewModel.RefreshBlockPreview();
        }
コード例 #18
0
        public void PasteBlock(IItemFilterBlockViewModel targetBlockViewModel)
        {
            try
            {
                var clipboardText = _clipboardService.GetClipboardText();
                if (string.IsNullOrEmpty(clipboardText)) return;
                _blockGroupHierarchyBuilder.Initialise(Script.ItemFilterBlockGroups.First());

                var translatedBlock = _blockTranslator.TranslateStringToItemFilterBlock(clipboardText, Script.ThemeComponents);
                if (translatedBlock == null) return;

                var vm = _itemFilterBlockViewModelFactory.Create();
                vm.Initialise(translatedBlock, this);

                if (ItemFilterBlockViewModels.Count > 0)
                {
                    Script.ItemFilterBlocks.Insert(Script.ItemFilterBlocks.IndexOf(targetBlockViewModel.Block) + 1,
                        translatedBlock);
                    ItemFilterBlockViewModels.Insert(ItemFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1, vm);
                }
                else
                {
                    Script.ItemFilterBlocks.Add(translatedBlock);
                    ItemFilterBlockViewModels.Add(vm);
                }

                SelectedBlockViewModel = vm;
                IsDirty = true;
            }
            catch (Exception e)
            {
                _logger.Error(e);
                var innerException = e.InnerException != null
                    ? e.InnerException.Message
                    : string.Empty;

                _messageBoxService.Show("Paste Error",
                    e.Message + Environment.NewLine + innerException, MessageBoxButton.OK,
                    MessageBoxImage.Error);
            }
        }
コード例 #19
0
 private void EnableBlock(IItemFilterBlockViewModel targetBlockViewModel)
 {
     targetBlockViewModel.BlockEnabled = true;
 }
コード例 #20
0
        public void CopyBlockStyle(IItemFilterBlockViewModel targetBlockViewModel)
        {
            string outputText = string.Empty;

            foreach (var blockItem in targetBlockViewModel.Block.BlockItems.Where(b => b is IAudioVisualBlockItem))
            {
                if (outputText != string.Empty)
                {
                    outputText += Environment.NewLine;
                }
                outputText += blockItem.OutputText;
            }

            Clipboard.SetText(outputText);
        }
コード例 #21
0
        public void AddBlock(IItemFilterBlockViewModel targetBlockViewModel)
        {
            var vm = _itemFilterBlockViewModelFactory.Create();
            var newBlock = new ItemFilterBlock();
            vm.Initialise(newBlock, this);

            if (targetBlockViewModel != null)
            {
                Script.ItemFilterBlocks.Insert(Script.ItemFilterBlocks.IndexOf(targetBlockViewModel.Block) + 1, newBlock);
                ItemFilterBlockViewModels.Insert(ItemFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1, vm);
            }
            else
            {
                Script.ItemFilterBlocks.Add(newBlock);
                ItemFilterBlockViewModels.Add(vm);
            }

            SelectedBlockViewModel = vm;
            vm.IsExpanded = true;
            IsDirty = true;
        }
コード例 #22
0
        public void DeleteBlock(IItemFilterBlockViewModel targetBlockViewModel)
        {
            var result = _messageBoxService.Show("Delete Confirmation", "Are you sure you wish to delete this block?",
                MessageBoxButton.YesNo,
                MessageBoxImage.Question);
            
            if (result == MessageBoxResult.Yes)
            {
                var isSection = targetBlockViewModel.Block is ItemFilterSection;

                Script.ItemFilterBlocks.Remove(targetBlockViewModel.Block);
                ItemFilterBlockViewModels.Remove(targetBlockViewModel);
                IsDirty = true;

                if (isSection)
                {
                    Messenger.Default.Send(new NotificationMessage("SectionsChanged"));
                }

            }
            SelectedBlockViewModel = null;
        }
コード例 #23
0
 private void EnableBlock(IItemFilterBlockViewModel targetBlockViewModel)
 {
     targetBlockViewModel.BlockEnabled = true;
 }
コード例 #24
0
 public static void SetSelectingItem(DependencyObject target, IItemFilterBlockViewModel value)
 {
     target.SetValue(SelectingItemProperty, value);
 }
コード例 #25
0
 public void CopyBlock(IItemFilterBlockViewModel targetBlockViewModel)
 {
     Clipboard.SetText(_blockTranslator.TranslateItemFilterBlockToString(SelectedBlockViewModel.Block));
 }
コード例 #26
0
 private void DisableBlock(IItemFilterBlockViewModel targetBlockViewModel)
 {
     targetBlockViewModel.BlockEnabled = false;
 }
コード例 #27
0
        public void MoveBlockUp(IItemFilterBlockViewModel targetBlockViewModel)
        {
            var currentIndex = ItemFilterBlockViewModels.IndexOf(targetBlockViewModel);

            if (currentIndex > 0)
            {
                var block = targetBlockViewModel.Block;
                var blockPos = Script.ItemFilterBlocks.IndexOf(block);
                Script.ItemFilterBlocks.RemoveAt(blockPos);
                Script.ItemFilterBlocks.Insert(blockPos - 1, block);
                ItemFilterBlockViewModels.Move(currentIndex, currentIndex - 1);
                IsDirty = true;
                RaisePropertyChanged(nameof(ItemFilterSectionViewModels));
            }
        }
コード例 #28
0
 public void ClearDown()
 {
     SectionBlockViewModels        = null;
     SelectedSectionBlockViewModel = null;
 }
コード例 #29
0
 public void CopyBlock(IItemFilterBlockViewModel targetBlockViewModel)
 {
     Clipboard.SetText(_blockTranslator.TranslateItemFilterBlockToString(SelectedBlockViewModel.Block));
 }
コード例 #30
0
        public void MoveBlockDown(IItemFilterBlockViewModel targetBlockViewModel)
        {
            var currentIndex = ItemFilterBlockViewModels.IndexOf(targetBlockViewModel);

            if (currentIndex < ItemFilterBlockViewModels.Count - 1)
            {
                var block = targetBlockViewModel.Block;
                var blockPos = Script.ItemFilterBlocks.IndexOf(block);
                Script.ItemFilterBlocks.RemoveAt(blockPos);
                Script.ItemFilterBlocks.Insert(blockPos + 1, block);
                ItemFilterBlockViewModels.Move(currentIndex, currentIndex + 1);
                IsDirty = true;
                RaisePropertyChanged("ItemFilterSectionViewModels");
            }
        }
コード例 #31
0
 public void ClearDown()
 {
     SectionBlockViewModels = null;
     SelectedSectionBlockViewModel = null;
 }
コード例 #32
0
        public void MoveBlockToBottom(IItemFilterBlockViewModel targetBlockViewModel)
        {
            var currentIndex = ItemFilterBlockViewModels.IndexOf(targetBlockViewModel);

            if (currentIndex < ItemFilterBlockViewModels.Count - 1)
            {
                var block = targetBlockViewModel.Block;
                Script.ItemFilterBlocks.Remove(block);
                Script.ItemFilterBlocks.Add(block);
                ItemFilterBlockViewModels.Move(currentIndex, ItemFilterBlockViewModels.Count - 1);
                IsDirty = true;
                RaisePropertyChanged("ItemFilterSectionViewModels");
            }
        }
コード例 #33
0
        private bool ShowBlockBasedOnAdvanced(IItemFilterBlockViewModel blockViewModel)
        {
            if (ShowAdvanced)
            {
                return true;
            }

            if (blockViewModel.Block.BlockGroup == null)
            {
                return true;
            }

            return !blockViewModel.Block.BlockGroup.Advanced;

        }
コード例 #34
0
        public void AddSection(IItemFilterBlockViewModel targetBlockViewModel)
        {
            var vm = _itemFilterBlockViewModelFactory.Create();
            var newSection = new ItemFilterSection { Description = "New Section" };
            vm.Initialise(newSection, this);

            Script.ItemFilterBlocks.Insert(Script.ItemFilterBlocks.IndexOf(targetBlockViewModel.Block), newSection);
            ItemFilterBlockViewModels.Insert(ItemFilterBlockViewModels.IndexOf(targetBlockViewModel), vm);
            IsDirty = true;
            SelectedBlockViewModel = vm;
            RaisePropertyChanged("ItemFilterSectionViewModels");
            Messenger.Default.Send(new NotificationMessage("SectionsChanged"));
        }
コード例 #35
0
 public void CopyBlock(IItemFilterBlockViewModel targetBlockViewModel)
 {
     try
     {
         _clipboardService.SetClipboardText(
             _blockTranslator.TranslateItemFilterBlockToString(SelectedBlockViewModel.Block));
     }
     catch
     {
         _messageBoxService.Show("Clipboard Error", "Failed to access the clipboard, copy command not completed.",
             MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
コード例 #36
0
 private void DisableBlock(IItemFilterBlockViewModel targetBlockViewModel)
 {
     targetBlockViewModel.BlockEnabled = false;
 }
コード例 #37
0
        public void CopyBlockStyle(IItemFilterBlockViewModel targetBlockViewModel)
        {
            string outputText = string.Empty;

            foreach (var blockItem in targetBlockViewModel.Block.BlockItems.Where(b => b is IAudioVisualBlockItem))
            {
                if (outputText != string.Empty)
                {
                    outputText += Environment.NewLine;
                }
                outputText += blockItem.OutputText;
            }
            try
            {
                _clipboardService.SetClipboardText(outputText);
            }
            catch
            {
                _messageBoxService.Show("Clipboard Error", "Failed to access the clipboard, copy command not completed.",
                    MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
コード例 #38
0
 public static void SetSelectingItem(DependencyObject target, IItemFilterBlockViewModel value)
 {
     target.SetValue(SelectingItemProperty, value);
 }
コード例 #39
0
        public void DeleteBlock(IItemFilterBlockViewModel targetBlockViewModel)
        {
            var result = _messageBoxService.Show("Delete Confirmation", "Are you sure you wish to delete this block?",
                MessageBoxButton.YesNo,
                MessageBoxImage.Question);

            if (result == MessageBoxResult.Yes)
            {
                Script.ItemFilterBlocks.Remove(targetBlockViewModel.Block);
                ItemFilterBlockViewModels.Remove(targetBlockViewModel);
                IsDirty = true;
            }
            SelectedBlockViewModel = null;
        }