public void CloseDocument(IDocument document) { if (!OpenDocuments.Contains(document)) { throw new ArgumentException("CloseDocument called with non-existant document"); } if (document.IsScript && ActiveDocument == document) { _sectionBrowserViewModel.ClearDown(); _blockGroupBrowserViewModel.ClearDown(); _blockOutputPreviewViewModel.ClearDown(); } _openDocuments.Remove(document); if (_activeDocument == document) { _activeDocument = null; } // TODO: Replace _activeScriptViewModel and _activeThemeViewModel with a better solution. if (document.IsScript && _activeScriptViewModel == (IItemFilterScriptViewModel)document) { _activeScriptViewModel = null; } if (document.IsTheme && _activeThemeViewModel == (IThemeEditorViewModel)document) { _activeThemeViewModel = null; } }
public override void Initialise(IItemFilterBlockBase itemfilterBlock, IItemFilterScriptViewModel itemFilterScriptViewModel) { _parentScriptViewModel = itemFilterScriptViewModel; ItemFilterCommentBlock = itemfilterBlock as IItemFilterCommentBlock; BaseBlock = ItemFilterCommentBlock; base.Initialise(itemfilterBlock, itemFilterScriptViewModel); }
public IThemeEditorViewModel OpenMasterThemeForScript(IItemFilterScriptViewModel scriptViewModel) { var existingMasterThemeViewModelCount = OpenDocuments.OfType <IThemeEditorViewModel>() .Count(c => c.IsMasterThemeForScript == scriptViewModel.Script); if (existingMasterThemeViewModelCount > 0) { return(OpenDocuments.OfType <IThemeEditorViewModel>() .First(c => c.IsMasterThemeForScript == scriptViewModel.Script)); } return(null); }
public void AddDocument(IDocument document) { if (document.IsScript) { _activeScriptViewModel = (IItemFilterScriptViewModel)document; } else if (document.IsTheme) { _activeThemeViewModel = (IThemeEditorViewModel)document; } _openDocuments.Add(document); ActiveDocument = document; }
public void AddDocument(IDocument document) { if (document.IsScript) { _activeScriptViewModel = (IItemFilterScriptViewModel)document; } else if (document.IsTheme) { _activeThemeViewModel = (IThemeEditorViewModel)document; } Application.Current.Dispatcher.Invoke(() => _openDocuments.Add(document)); ActiveDocument = document; }
public virtual void Initialise(IItemFilterBlockBase itemfilterBlock, IItemFilterScriptViewModel itemFilterScriptViewModel) { BaseBlock = itemfilterBlock; _parentScriptViewModel = itemFilterScriptViewModel; CopyBlockCommand = new RelayCommand(OnCopyBlockCommand); PasteBlockCommand = new RelayCommand(OnPasteBlockCommand); AddBlockCommand = new RelayCommand(OnAddBlockCommand); AddSectionCommand = new RelayCommand(OnAddSectionCommand); DeleteBlockCommand = new RelayCommand(OnDeleteBlockCommand, () => _parentScriptViewModel.CanModifyBlock(this)); MoveBlockUpCommand = new RelayCommand(OnMoveBlockUpCommand); MoveBlockDownCommand = new RelayCommand(OnMoveBlockDownCommand); MoveBlockToTopCommand = new RelayCommand(OnMoveBlockToTopCommand); MoveBlockToBottomCommand = new RelayCommand(OnMoveBlockToBottomCommand); }
public void NewScript_ReturnsScriptFromViewModelFactory() { // Arrange var mockPersistenceService = new Mock <IItemFilterPersistenceService>(); var mockItemFilterScriptViewModel = new Mock <IItemFilterScriptViewModel>(); var mockItemFilterScriptViewModelFactory = new Mock <IItemFilterScriptViewModelFactory>(); mockItemFilterScriptViewModelFactory.Setup(f => f.Create()).Returns(mockItemFilterScriptViewModel.Object); var repository = new ItemFilterScriptRepository(mockPersistenceService.Object, mockItemFilterScriptViewModelFactory.Object); // Act IItemFilterScriptViewModel result = repository.NewScript(); // Assert Assert.AreEqual(mockItemFilterScriptViewModel.Object, result); }
public override void Initialise(IItemFilterBlockBase itemFilterBlockBase, IItemFilterScriptViewModel parentScriptViewModel) { var itemFilterBlock = itemFilterBlockBase as IItemFilterBlock; if (itemFilterBlock == null || parentScriptViewModel == null) { throw new ArgumentNullException(nameof(itemFilterBlock)); } _parentScriptViewModel = parentScriptViewModel; Block = itemFilterBlock; itemFilterBlock.BlockItems.CollectionChanged += OnBlockItemsCollectionChanged; foreach (var blockItem in itemFilterBlock.BlockItems) { blockItem.PropertyChanged += OnBlockItemChanged; } base.Initialise(itemFilterBlock, parentScriptViewModel); }
public override void Initialise(IItemFilterBlockBase itemFilterBlockBase, IItemFilterScriptViewModel parentScriptViewModel) { if (!(itemFilterBlockBase is IItemFilterBlock itemFilterBlock) || parentScriptViewModel == null) { throw new ArgumentNullException(nameof(itemFilterBlock)); } BlockGroups = new ObservableCollection <ItemFilterBlockGroup>(); _parentScriptViewModel = parentScriptViewModel; Block = itemFilterBlock; Block.EnabledStatusChanged += OnBlockEnabledStatusChanged; itemFilterBlock.BlockItems.CollectionChanged += OnBlockItemsCollectionChanged; foreach (var blockItem in itemFilterBlock.BlockItems) { blockItem.PropertyChanged += OnBlockItemChanged; } base.Initialise(itemFilterBlock, parentScriptViewModel); UpdateBlockGroups(); }
public void Initialise(IItemFilterBlockBase itemFilterBlock, IItemFilterScriptViewModel itemFilterScriptViewModel) { //throw new NotImplementedException(); }
public IThemeEditorViewModel OpenMasterThemeForScript(IItemFilterScriptViewModel scriptViewModel) { var existingMasterThemeViewModelCount = OpenDocuments.OfType<IThemeEditorViewModel>() .Count(c => c.IsMasterThemeForScript == scriptViewModel.Script); if (existingMasterThemeViewModelCount > 0) { return OpenDocuments.OfType<IThemeEditorViewModel>() .First(c => c.IsMasterThemeForScript == scriptViewModel.Script); } return null; }
public void CloseDocument(IDocument document) { if (!OpenDocuments.Contains(document)) { throw new ArgumentException("CloseDocument called with non-existant document"); } if (document.IsScript && ActiveDocument == document) { _sectionBrowserViewModel.ClearDown(); _blockGroupBrowserViewModel.ClearDown(); _blockOutputPreviewViewModel.ClearDown(); } _openDocuments.Remove(document); if (_activeDocument == document) { _activeDocument = null; } // TODO: Replace _activeScriptViewModel and _activeThemeViewModel with a better solution. if (document.IsScript && _activeScriptViewModel == (IItemFilterScriptViewModel) document) { _activeScriptViewModel = null; } if (document.IsTheme && _activeThemeViewModel == (IThemeEditorViewModel)document) { _activeThemeViewModel = null; } }
public void AddDocument(IDocument document) { if (document.IsScript) { _activeScriptViewModel = (IItemFilterScriptViewModel) document; } else if (document.IsTheme) { _activeThemeViewModel = (IThemeEditorViewModel) document; } _openDocuments.Add(document); ActiveDocument = document; }
public virtual void Initialise(IItemFilterBlockBase itemfilterBlock, IItemFilterScriptViewModel itemFilterScriptViewModel) { BaseBlock = itemfilterBlock; _parentScriptViewModel = itemFilterScriptViewModel; }