public void CreateBitmapSource_Should_Handle_Bitmap()
        {
            var ret = WpfImageSourceConverter.CreateBitmapSource(Resources.OpenFile_16x);

            Assert.NotNull(ret);
            Assert.Equal(16, ret.Width);
            Assert.Equal(16, ret.Height);
        }
        public void CreateBitmapSource_Should_Handle_Bytes()
        {
            var converter = new ImageConverter();
            var bytes     = (byte[])converter.ConvertTo(Resources.OpenFile_16x, typeof(byte[]));

            var ret = WpfImageSourceConverter.CreateBitmapSource(bytes);

            Assert.NotNull(ret);
            Assert.Equal(16, ret.Width);
            Assert.Equal(16, ret.Height);
        }
        private BitmapSource GetFileTypeBitmapSource(IClosedDocument doc)
        {
            var extension = Path.GetExtension(doc.FullName).ToLower();

            if (!_fileTypeImages.ContainsKey(extension))
            {
                var bitmapSource = WpfImageSourceConverter.CreateBitmapSource(_fileExtensionIconResolver.GetIcon(doc).ToBitmap());

                _fileTypeImages.Add(extension, bitmapSource);
                return(bitmapSource);
            }

            return(_fileTypeImages[extension]);
        }
        public void CreateBitmapSource_Should_Handle_Null_Bytes()
        {
            var ret = WpfImageSourceConverter.CreateBitmapSource(null as byte[]);

            Assert.Null(ret);
        }
        public void CreateBitmapSource_Should_Handle_Empty_Bytes()
        {
            var ret = WpfImageSourceConverter.CreateBitmapSource(new byte[0]);

            Assert.Null(ret);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ClosedDocumentsHistoryControl"/> class.
        /// </summary>
        public ClosedDocumentsHistoryControl(IDocumentHistoryQueries documentHistoryQueries,
                                             IHistoryCommand reopenLastClosdCommand,
                                             IHistoryCommandFactory reopenSomeDocumentsCommandFactory,
                                             IHistoryCommandFactory removeSomeDocumentsCommandFactory,
                                             IHistoryCommand clearHistoryCommand,
                                             IFileExtensionIconResolver fileExtensionIconResolver,
                                             IHistoryToolWindowRepositoryFactory historyToolWindowRepositoryFactory)
        {
            InitializeComponent();

            _documentHistoryQueries            = documentHistoryQueries;
            _reopenLastClosdCommand            = reopenLastClosdCommand;
            _reopenSomeDocumentsCommandFactory = reopenSomeDocumentsCommandFactory;
            _removeSomeDocumentsCommandFactory = removeSomeDocumentsCommandFactory;
            _clearHistoryCommand                = clearHistoryCommand;
            _fileExtensionIconResolver          = fileExtensionIconResolver;
            _historyToolWindowRepositoryFactory = historyToolWindowRepositoryFactory;

            var openState = new ButtonDisabledState(_openSelected,
                                                    new Image()
            {
                Source = WpfImageSourceConverter.CreateBitmapSource(VSDocumentReopen.Resources.OpenFile_16x)
            },
                                                    new Image()
            {
                Source = WpfImageSourceConverter.CreateBitmapSource(VSDocumentReopen.Resources.OpenFile_16x_Gray)
            });

            openState.Disable();

            var removeState = new ButtonDisabledState(_removeSelected,
                                                      new Image()
            {
                Source = WpfImageSourceConverter.CreateBitmapSource(VSDocumentReopen.Resources.RemoveGuide_16x)
            },
                                                      new Image()
            {
                Source = WpfImageSourceConverter.CreateBitmapSource(VSDocumentReopen.Resources.RemoveGuide_16x_Gray)
            });

            removeState.Disable();

            var removeNonExistingState = new ButtonDisabledState(_removeNonExisting,
                                                                 new Image()
            {
                Source = WpfImageSourceConverter.CreateBitmapSource(VSDocumentReopen.Resources.RemoveNonExisting_16x)
            },
                                                                 new Image()
            {
                Source = WpfImageSourceConverter.CreateBitmapSource(VSDocumentReopen.Resources.RemoveNonExisting_16x_Gray)
            });

            removeNonExistingState.Disable();

            var clearState = new ButtonDisabledState(_clearAll,
                                                     new Image()
            {
                Source = WpfImageSourceConverter.CreateBitmapSource(VSDocumentReopen.Resources.ClearWindowContent_16x)
            },
                                                     new Image()
            {
                Source = WpfImageSourceConverter.CreateBitmapSource(VSDocumentReopen.Resources.ClearWindowContent_16x_Gray)
            });

            clearState.Disable();

            _documentHistoryQueries.HistoryChanged += DocumentHistoryChanged;
            UpdateHistoryView(GetFullHistory);

            _listView.Focus();
            var customizationSettings = LoadCustomizationSettings();

            _columnHeaders = Enumerable.Range(0, _listViewContect.Columns.Count).ToDictionary(i => i++,
                                                                                              i => _listViewContect.Columns[i].GetGridViewHeaderText());

            AddContextMenu(customizationSettings);
            HandleColumnsStatus(customizationSettings);
        }