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;
            }
        }
Example #2
0
 public async Task SaveThemeAsync(IThemeEditorViewModel themeEditorViewModel, string filePath)
 {
     await Task.Run(() =>
     {
         var theme = Mapper.Map<Theme>(themeEditorViewModel);
         _themePersistenceService.SaveThemeAsync(theme, filePath);
     });
 }
Example #3
0
 public async Task SaveThemeAsync(IThemeEditorViewModel themeEditorViewModel, string filePath)
 {
     await Task.Run(() =>
     {
         var theme = Mapper.Map <Theme>(themeEditorViewModel);
         _themePersistenceService.SaveThemeAsync(theme, filePath);
     });
 }
 private void OpenTheme(IThemeEditorViewModel themeEditorViewModel)
 {
     if (AvalonDockWorkspaceViewModel.OpenDocuments.Contains(themeEditorViewModel))
     {
         AvalonDockWorkspaceViewModel.SwitchActiveDocument(themeEditorViewModel);
     }
     else
     {
         AvalonDockWorkspaceViewModel.AddDocument(themeEditorViewModel);
     }
 }
        public void AddDocument(IDocument document)
        {
            if (document.IsScript)
            {
                _activeScriptViewModel = (IItemFilterScriptViewModel)document;
            }
            else if (document.IsTheme)
            {
                _activeThemeViewModel = (IThemeEditorViewModel)document;
            }

            _openDocuments.Add(document);
            ActiveDocument = document;
        }
Example #6
0
        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 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;
        }
Example #9
0
 public void SaveTheme(IThemeEditorViewModel themeEditorViewModel, string filePath)
 {
     var theme = Mapper.Map<Theme>(themeEditorViewModel);
     _themePersistenceService.SaveTheme(theme, filePath);
 }
Example #10
0
        public void SaveTheme(IThemeEditorViewModel themeEditorViewModel, string filePath)
        {
            var theme = Mapper.Map <Theme>(themeEditorViewModel);

            _themePersistenceService.SaveTheme(theme, filePath);
        }
 private void OpenTheme(IThemeEditorViewModel themeEditorViewModel)
 {
     if (AvalonDockWorkspaceViewModel.OpenDocuments.Contains(themeEditorViewModel))
     {
         AvalonDockWorkspaceViewModel.SwitchActiveDocument(themeEditorViewModel);
     }
     else
     {
         AvalonDockWorkspaceViewModel.AddDocument(themeEditorViewModel);
     }
 }