public SourceInfoPresenter(Font font, bool useHexRepresentation, IRichTextView view)
 {
     _font   = font;
     _useHex = useHexRepresentation;
     _fontB  = new Font(font, FontStyle.Bold);
     _view   = view;
 }
Beispiel #2
0
        public void AddAndRemoveDocumentViewTest()
        {
            MainViewModel mainViewModel = Container.GetExportedValue <MainViewModel>();
            IFileService  fileService   = Container.GetExportedValue <IFileService>();

            Assert.IsFalse(fileService.Documents.Any());
            Assert.IsFalse(mainViewModel.DocumentViews.Any());

            // Create new documents

            fileService.NewCommand.Execute(null);
            IDocument document = fileService.Documents.Last();

            IRichTextView     richTextView      = mainViewModel.DocumentViews.OfType <IRichTextView>().Single();
            RichTextViewModel richTextViewModel = ViewHelper.GetViewModel <RichTextViewModel>(richTextView);

            Assert.AreEqual(document, richTextViewModel.Document);

            fileService.NewCommand.Execute(null);
            document = fileService.Documents.Last();

            Assert.AreEqual(2, mainViewModel.DocumentViews.Count);
            richTextView      = mainViewModel.DocumentViews.OfType <IRichTextView>().Last();
            richTextViewModel = ViewHelper.GetViewModel <RichTextViewModel>(richTextView);
            Assert.AreEqual(document, richTextViewModel.Document);

            // Test ActiveDocument <-> ActiveDocumentView synchronisation

            Assert.AreEqual(fileService.Documents.Last(), fileService.ActiveDocument);

            fileService.ActiveDocument = fileService.Documents.First();
            Assert.AreEqual(mainViewModel.DocumentViews.First(), mainViewModel.ActiveDocumentView);

            mainViewModel.ActiveDocumentView = mainViewModel.DocumentViews.Last();
            Assert.AreEqual(fileService.Documents.Last(), fileService.ActiveDocument);

            // Close all documents

            fileService.CloseCommand.Execute(null);
            fileService.ActiveDocument = fileService.Documents.First();
            fileService.CloseCommand.Execute(null);

            Assert.IsFalse(fileService.Documents.Any());
            Assert.IsFalse(mainViewModel.DocumentViews.Any());
        }
        private void PresentDataOn(IRichTextView dataView, ISourceInfo sourceInfo)
        {
            var displayHex = (Settings.Default.DisplayMode == DisplayMode.Hex);

            sourceInfo.PrintTo(new SourceInfoPresenter(_font, displayHex, dataView));
        }