/// <summary>
        /// Creates image list and image monikers for project icons.
        /// Must be called on UI thread.
        /// </summary>
        public static void LoadProjectImages()
        {
            if (_monikerImageList == null)
            {
                IVsImageService2 imageService = VsAppShell.Current.GetGlobalService <IVsImageService2>(typeof(SVsImageService));

                _imageList = new ImageList();
                foreach (var b in _bitmaps)
                {
                    _imageList.Images.Add(b);
                }

                _monikerImageList = imageService.CreateMonikerImageListFromHIMAGELIST(_imageList.Handle);
                imageService.AddCustomImageList(_monikerImageList);

                ImageMoniker[] monikers = new ImageMoniker[_bitmaps.Length];
                _monikerImageList.GetImageMonikers(0, _bitmaps.Length, monikers);

                ProjectNodeImage       = monikers[0];
                RFileNodeImage         = monikers[1];
                RDataFileNodeImage     = monikers[2];
                RdFileNodeImage        = monikers[3];
                RMarkdownFileNodeImage = monikers[4];
                SqlFileNodeImage       = monikers[5];
                SqlProcFileNodeImage   = monikers[6];
            }
        }
        /// <summary>
        /// Creates image list and image monikers for project icons.
        /// Must be called on UI thread.
        /// </summary>
        public static void LoadProjectImages()
        {
            if (_monikerImageList == null)
            {
                IVsImageService2 imageService = VisualRustPackage.GetGlobalService(typeof(SVsImageService)) as IVsImageService2;

                if (_imageList == null)
                {
                    _imageList = new ImageList();
                }

                _imageList.Images.Add(Resources.RustProjectNode);
                _imageList.Images.Add(Resources.RustFileNode);
                _imageList.Images.Add(Resources.CargoManifestNode);

                _monikerImageList = imageService.CreateMonikerImageListFromHIMAGELIST(_imageList.Handle);
                imageService.AddCustomImageList(_monikerImageList);

                ImageMoniker[] monikers = new ImageMoniker[3];
                _monikerImageList.GetImageMonikers(0, 3, monikers);

                ProjectNodeImage       = monikers[0];
                RustFileNodeImage      = monikers[1];
                CargoManifestNodeImage = monikers[2];
            }
        }
Exemple #3
0
        /// <summary>
        /// Creates image list and image monikers for project icons.
        /// Must be called on UI thread.
        /// </summary>
        public static void LoadProjectImages()
        {
            if (_monikerImageList == null)
            {
                IVsImageService2 imageService = VsAppShell.Current.GetGlobalService <IVsImageService2>(typeof(SVsImageService));

                if (_imageList == null)
                {
                    _imageList = new ImageList();
                }

                _imageList.Images.Add(Resources.RProjectNode);
                _imageList.Images.Add(Resources.RFileNode);
                _imageList.Images.Add(Resources.RDataNode);

                _monikerImageList = imageService.CreateMonikerImageListFromHIMAGELIST(_imageList.Handle);
                imageService.AddCustomImageList(_monikerImageList);

                ImageMoniker[] monikers = new ImageMoniker[3];
                _monikerImageList.GetImageMonikers(0, 3, monikers);

                ProjectNodeImage   = monikers[0];
                RFileNodeImage     = monikers[1];
                RDataFileNodeImage = monikers[2];
            }
        }
Exemple #4
0
        public static IVsImageService2 Create()
        {
            IVsImageService2 svc = Substitute.For <IVsImageService2>();

            IImageHandle h = ImageHandleMock.Create();

            svc.AddCustomImage(null).ReturnsForAnyArgs(h);
            svc.AddCustomImageList(null).ReturnsForAnyArgs(h);

            IVsUIObject uiObj = VsUiObjectMock.Create();

            svc.GetImage(Arg.Any <ImageMoniker>(), Arg.Any <ImageAttributes>()).ReturnsForAnyArgs(uiObj);
            svc.GetImageMonikerForFile(null).ReturnsForAnyArgs(KnownMonikers.AboutBox);
            svc.GetImageMonikerForHierarchyItem(null, 0u, 0).ReturnsForAnyArgs(KnownMonikers.AboutBox);
            svc.GetImageMonikerForName(null).ReturnsForAnyArgs(KnownMonikers.AboutBox);
            svc.GetImageMonikerType(Arg.Any <ImageMoniker>()).ReturnsForAnyArgs(0u);

            IVsImageMonikerImageList mock = VsImageMonikerImageListMock.Create();

            svc.CreateMonikerImageListFromHIMAGELIST(IntPtr.Zero).ReturnsForAnyArgs(mock);
            svc.GetImageListImageMonikers(Arg.Any <ImageMoniker>()).ReturnsForAnyArgs(mock);
            return(svc);
        }