Ejemplo n.º 1
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));

                _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];
            }
        }
Ejemplo n.º 2
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 = 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];
            }
        }
Ejemplo n.º 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];
            }
        }
Ejemplo n.º 4
0
 public static void Close()
 {
     if (_imageList != null)
     {
         _imageList.Dispose();
         _imageList        = null;
         _monikerImageList = null;
     }
 }
Ejemplo n.º 5
0
        public static IVsImageMonikerImageList Create()
        {
            IVsImageMonikerImageList il = Substitute.For <IVsImageMonikerImageList>();

            il.ImageCount.Returns(1);
            il
            .When(x => x.GetImageMonikers(
                      Arg.Is <int>(first => first >= 0),
                      Arg.Is <int>(count => count >= 0),
                      Arg.Is <ImageMoniker[]>(array => array != null)))
            .Do(x => {
                ImageMoniker[] array = x[2] as ImageMoniker[];
                for (int i = 0; i < array.Length; i++)
                {
                    array[i] = KnownMonikers.AboutBox;
                }
            });
            return(il);
        }
Ejemplo n.º 6
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);
        }