/// <summary>
        /// Converts the given <paramref name="imageMoniker"/> to its <see cref="BitmapSource"/> counterpart.
        /// </summary>
        /// <param name="imageMoniker">The image moniker.</param>
        /// <param name="width">The width.</param>
        /// <param name="height">The height.</param>
        /// <param name="visualStudioImageService">The visual studio image service.</param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException"></exception>
        /// <exception cref="ArgumentOutOfRangeException">
        /// Must be a positive, non-zero value
        /// or
        /// Must be a positive, non-zero value
        /// </exception>
        public static BitmapSource ToBitmapSource(this ImageMoniker imageMoniker, int width, int height, IVsImageService2 visualStudioImageService)
        {
            // based on https://github.com/madskristensen/ExtensibilityTools/blob/master/src/Misc/Commands/ImageMonikerDialog.xaml.cs#L47

            if (visualStudioImageService == null) throw new ArgumentNullException(nameof(visualStudioImageService));
            if (width <= 0) throw new ArgumentOutOfRangeException(nameof(width), "Must be a positive, non-zero value");
            if (height <= 0) throw new ArgumentOutOfRangeException(nameof(height), "Must be a positive, non-zero value");

            if (Microsoft.VisualStudio.Imaging.ExtensionMethods.IsNullImage(imageMoniker))
                return null;

            ImageAttributes imageAttributes = new ImageAttributes
            {
                Flags = (uint)_ImageAttributesFlags.IAF_RequiredFlags,
                ImageType = (uint)_UIImageType.IT_Bitmap,
                Format = (uint)_UIDataFormat.DF_WPF,
                LogicalHeight = height,
                LogicalWidth = width,
                StructSize = Marshal.SizeOf(typeof(ImageAttributes))
            };

            IVsUIObject result = visualStudioImageService.GetImage(imageMoniker, imageAttributes);

            object data;
            result.get_Data(out data);

            return data as BitmapSource;
        }
Exemple #2
0
        public FileChange(TextDocument left,
            TextDocument right,
            IComponentModel componentModel,
            AbstractChange parent,
            PreviewEngine engine,
            IVsImageService2 imageService) : base(engine)
        {
            Contract.ThrowIfFalse(left != null || right != null);

            this.Id = left != null ? left.Id : right.Id;
            _left = left;
            _right = right;
            _imageService = imageService;

            _componentModel = componentModel;
            var bufferFactory = componentModel.GetService<ITextBufferFactoryService>();
            var bufferText = left != null ?
                left.GetTextAsync(CancellationToken.None).WaitAndGetResult(CancellationToken.None) :
                right.GetTextAsync(CancellationToken.None).WaitAndGetResult(CancellationToken.None);
            _buffer = bufferFactory.CreateTextBuffer(bufferText.ToString(), bufferFactory.InertContentType);
            _encoding = bufferText.Encoding;

            this.Children = ComputeChildren(left, right, CancellationToken.None);
            this.parent = parent;
        }
Exemple #3
0
 public PreviewEngine(
     string title,
     string helpString,
     string description,
     string topLevelItemName,
     Glyph topLevelGlyph,
     Solution newSolution,
     Solution oldSolution,
     IComponentModel componentModel,
     IVsImageService2 imageService,
     bool showCheckBoxes = true)
 {
     _topLevelName = topLevelItemName;
     _topLevelGlyph = topLevelGlyph;
     _title = title;
     _helpString = helpString;
     _description = description;
     _newSolution = newSolution.WithMergedLinkedFileChangesAsync(oldSolution, cancellationToken: CancellationToken.None).Result;
     _oldSolution = oldSolution;
     _diffSelector = componentModel.GetService<ITextDifferencingSelectorService>();
     _editorFactory = componentModel.GetService<IVsEditorAdaptersFactoryService>();
     _componentModel = componentModel;
     this.ShowCheckBoxes = showCheckBoxes;
     _imageService = imageService;
 }
        public static bool TryGetImageListAndIndex(this VisualStudioWorkspaceImpl workspace, IVsImageService2 imageService, ProjectId id, out IntPtr imageList, out int index)
        {
            var result = TryGetImageListAndIndex(workspace, imageService, id, out imageList, out ushort ushortIndex);

            index = ushortIndex;
            return result;
        }
        public NavigationBarClient(
            IVsDropdownBarManager manager,
            IVsCodeWindow codeWindow,
            IServiceProvider serviceProvider,
            VisualStudioWorkspaceImpl workspace)
        {
            _manager = manager;
            _codeWindow = codeWindow;
            _workspace = workspace;
            _imageService = (IVsImageService2)serviceProvider.GetService(typeof(SVsImageService));
            _projectItems = SpecializedCollections.EmptyList<NavigationBarProjectItem>();
            _currentTypeItems = SpecializedCollections.EmptyList<NavigationBarItem>();

            var vsShell = serviceProvider.GetService(typeof(SVsShell)) as IVsShell;
            if (vsShell != null)
            {
                object varImageList;
                int hresult = vsShell.GetProperty((int)__VSSPROPID.VSSPROPID_ObjectMgrTypesImgList, out varImageList);
                if (ErrorHandler.Succeeded(hresult) && varImageList != null)
                {
                    _imageList = (IntPtr)(int)varImageList;
                }
            }

            _codeWindowEventsSink = ComEventSink.Advise<IVsCodeWindowEvents>(codeWindow, this);
            _editorAdaptersFactoryService = serviceProvider.GetMefService<IVsEditorAdaptersFactoryService>();

            IVsTextView pTextView;
            codeWindow.GetPrimaryView(out pTextView);
            StartTrackingView(pTextView);

            pTextView = null;
            codeWindow.GetSecondaryView(out pTextView);
            StartTrackingView(pTextView);
        }
        public static IntPtr GetImageList(Color backgroundColor, IVsImageService2 imageService) {

            EnsureImageListHandle(imageService);

            IntPtr hImageList = NavLanguagePackage.GetImageList(ImageListHandle.Moniker, backgroundColor);

            return hImageList;
        }
 public VsctCompletionSource(ITextBuffer buffer, IClassifierAggregatorService classifier, ITextStructureNavigatorSelectorService navigator, IGlyphService glyphService)
 {
     _buffer = buffer;
     _classifier = classifier.GetClassifier(buffer);
     _navigator = navigator;
     _glyphService = glyphService;
     _defaultGlyph = glyphService.GetGlyph(StandardGlyphGroup.GlyphGroupField, StandardGlyphItem.GlyphItemPublic);
     _builtInGlyph = glyphService.GetGlyph(StandardGlyphGroup.GlyphGroupProperty, StandardGlyphItem.TotalGlyphItems);
     _imageService = ExtensibilityToolsPackage.GetGlobalService(typeof(SVsImageService)) as IVsImageService2;
 }
        public static bool TryGetImageListAndIndex(this VisualStudioWorkspaceImpl workspace, IVsImageService2 imageService, ProjectId id, out IntPtr imageList, out ushort index)
        {
            var hierarchy = workspace.GetHostProject(id)?.Hierarchy;
            if (hierarchy != null)
            {
                return TryGetImageListAndIndex(hierarchy, imageService, VSConstants.VSITEMID_ROOT, out imageList, out index);
            }

            imageList = default(IntPtr);
            index = 0;
            return false;
        }
        protected override void Initialize()
        {
            base.Initialize();

            IComponentModel model = (IComponentModel)this.GetService(typeof(SComponentModel));
            _glyphService = model.GetService<IGlyphService>();
            _imageService = GetService(typeof(SVsImageService)) as IVsImageService2;

            OleMenuCommandService mcs = GetService(typeof(IMenuCommandService)) as OleMenuCommandService;

            CommandID cmdGlyphId = new CommandID(GuidList.guidGlyphExporterCmdSet, (int)PkgCmdIDList.cmdidGlyph);
            MenuCommand menuGlyph = new MenuCommand(ButtonClicked, cmdGlyphId);
            mcs.AddCommand(menuGlyph);
        }
        static void EnsureImageListHandle(IVsImageService2 imageService) {

            if (ImageListHandle != null) {
                return;
            }
            
            var imageList = new ImageMonikerImageList(
                ImageMonikers.ProjectNode,
                ImageMonikers.TaskDeclaration,
                ImageMonikers.TaskDefinition,
                ImageMonikers.SignalTrigger);

            ImageListHandle = imageService.AddCustomImageList(imageList);
        }
        private static bool TryGetImageListAndIndex(this IVsHierarchy hierarchy, IVsImageService2 imageService, uint itemId, out IntPtr imageList, out ushort index)
        {
            var itemIdToImageHandle = s_hierarchyToItemIdToImageHandle.GetValue(hierarchy, s_createValue);

            // Get the actual image moniker that the vs hierarchy is using to in solution explorer.
            var imageMoniker = imageService.GetImageMonikerForHierarchyItem(hierarchy, itemId, (int)__VSHIERARCHYIMAGEASPECT.HIA_Icon);
            var monikerImageList = new VsImageMonikerImageList(imageMoniker);

            // Get an image handle to this image moniker, and keep it around for the lifetime of the
            // hierarchy itself.
            var imageHandle = imageService.AddCustomImageList(monikerImageList);
            itemIdToImageHandle[itemId] = imageHandle;

            // Now, we want to get an HIMAGELIST ptr for that image.  
            var uiObject = imageService.GetImage(imageHandle.Moniker, new ImageAttributes
            {
                StructSize = Marshal.SizeOf(typeof(ImageAttributes)),
                Dpi = 96,
                LogicalWidth = 16,
                LogicalHeight = 16,
                ImageType = (uint)_UIImageType.IT_ImageList,
                Format = (uint)_UIDataFormat.DF_Win32,
                Flags = (uint)_ImageAttributesFlags.IAF_RequiredFlags,
            });

            if (uiObject != null)
            {
                var imageListData = Microsoft.Internal.VisualStudio.PlatformUI.Utilities.GetObjectData(uiObject) as IVsUIWin32ImageList;
                if (imageListData != null)
                {
                    int imageListInt;
                    if (ErrorHandler.Succeeded(imageListData.GetHIMAGELIST(out imageListInt)))
                    {
                        imageList = (IntPtr)imageListInt;
                        index = 0;
                        return true;
                    }
                }
            }

            imageList = default(IntPtr);
            index = 0;
            return false;
        }
        private static bool TryGetImageListAndIndex(this IVsHierarchy hierarchy, IVsImageService2 imageService, uint itemId, out IntPtr imageList, out ushort index)
        {
            var itemIdToImageHandle = s_hierarchyToItemIdToImageHandle.GetValue(hierarchy, s_createValue);

            // Get the actual image moniker that the vs hierarchy is using to in solution explorer.
            var imageMoniker     = imageService.GetImageMonikerForHierarchyItem(hierarchy, itemId, (int)__VSHIERARCHYIMAGEASPECT.HIA_Icon);
            var monikerImageList = new VsImageMonikerImageList(imageMoniker);

            // Get an image handle to this image moniker, and keep it around for the lifetime of the
            // hierarchy itself.
            var imageHandle = imageService.AddCustomImageList(monikerImageList);

            itemIdToImageHandle[itemId] = imageHandle;

            // Now, we want to get an HIMAGELIST ptr for that image.
            var uiObject = imageService.GetImage(imageHandle.Moniker, new ImageAttributes
            {
                StructSize    = Marshal.SizeOf(typeof(ImageAttributes)),
                Dpi           = 96,
                LogicalWidth  = 16,
                LogicalHeight = 16,
                ImageType     = (uint)_UIImageType.IT_ImageList,
                Format        = (uint)_UIDataFormat.DF_Win32,
                Flags         = (uint)_ImageAttributesFlags.IAF_RequiredFlags,
            });

            if (uiObject != null)
            {
                if (Microsoft.Internal.VisualStudio.PlatformUI.Utilities.GetObjectData(uiObject) is IVsUIWin32ImageList imageListData)
                {
                    if (ErrorHandler.Succeeded(imageListData.GetHIMAGELIST(out var imageListInt)))
                    {
                        imageList = (IntPtr)imageListInt;
                        index     = 0;
                        return(true);
                    }
                }
            }

            imageList = default;
            index     = 0;
            return(false);
        }
Exemple #13
0
        private async Task RegisterSubTreeProviderAsync(IProjectDependenciesSubTreeProvider subTreeProvider,
                                                        IGraphContext graphContext)
        {
            lock (_RegisteredSubTreeProvidersLock)
            {
                if (RegisteredSubTreeProviders.Contains(subTreeProvider.ProviderType))
                {
                    return;
                }

                RegisteredSubTreeProviders.Add(subTreeProvider.ProviderType);
            }

            var icons = subTreeProvider.Icons;

            if (icons == null)
            {
                return;
            }

            IVsImageService2 imageService = null;

            foreach (var icon in icons)
            {
                if (Images.Contains(icon))
                {
                    // already registered - next
                    continue;
                }

                // register icon
                if (imageService == null)
                {
                    await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync();

                    imageService = ServiceProvider.GetService <IVsImageService2, SVsImageService>();
                }

                imageService.TryAssociateNameWithMoniker(GetIconStringName(icon), icon);
                Images.Add(icon);
            }
        }
Exemple #14
0
        /// <summary>
        /// Load and display an image moniker in a PictureBox
        /// </summary>
        private void LoadMoniker(object sender, EventArgs e)
        {
            IVsImageService2 imageService = (IVsImageService2)OptionsPagePackageCS.GetGlobalService(typeof(SVsImageService));

            ImageAttributes attributes = new ImageAttributes
            {
                StructSize    = Marshal.SizeOf(typeof(ImageAttributes)),
                ImageType     = (uint)_UIImageType.IT_Bitmap,
                Format        = (uint)_UIDataFormat.DF_WinForms,
                LogicalWidth  = 32,
                LogicalHeight = 32,
                // Desired RGBA color, don't set IAF_Background below unless you also use this
                Background = 0xFFFFFFFF,
                // (uint)(_ImageAttributesFlags.IAF_RequiredFlags | _ImageAttributesFlags.IAF_Background)
                Flags = (uint)_ImageAttributesFlags.IAF_RequiredFlags,
            };

            IVsUIObject uIObj = imageService.GetImage(KnownMonikers.Search, attributes);

            bitmapPictureBox.Image = (Bitmap)GelUtilities.GetObjectData(uIObj);
        }
Exemple #15
0
        public NavigationBarClient(
            IVsDropdownBarManager manager,
            IVsCodeWindow codeWindow,
            IServiceProvider serviceProvider,
            VisualStudioWorkspaceImpl workspace)
        {
            _manager          = manager;
            _codeWindow       = codeWindow;
            _workspace        = workspace;
            _imageService     = (IVsImageService2)serviceProvider.GetService(typeof(SVsImageService));
            _projectItems     = SpecializedCollections.EmptyList <NavigationBarProjectItem>();
            _currentTypeItems = SpecializedCollections.EmptyList <NavigationBarItem>();

            _codeWindowEventsSink         = ComEventSink.Advise <IVsCodeWindowEvents>(codeWindow, this);
            _editorAdaptersFactoryService = serviceProvider.GetMefService <IVsEditorAdaptersFactoryService>();
            codeWindow.GetPrimaryView(out var pTextView);
            StartTrackingView(pTextView);

            codeWindow.GetSecondaryView(out pTextView);
            StartTrackingView(pTextView);
        }
Exemple #16
0
        /// <summary>
        /// Converts an ImageMoniker to an IVsUIObject in the specified size.
        /// </summary>
        public static async Task <IVsUIObject> ToUiObjectAsync(this ImageMoniker moniker, int size)
        {
            await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync();

            IVsImageService2 imageService = await AsyncServiceProvider.GlobalProvider.GetServiceAsync <SVsImageService, IVsImageService2>();

            Color backColor = VSColorTheme.GetThemedColor(EnvironmentColors.ToolWindowBackgroundColorKey);

            var imageAttributes = new ImageAttributes
            {
                Flags         = (uint)_ImageAttributesFlags.IAF_RequiredFlags | unchecked ((uint)_ImageAttributesFlags.IAF_Background),
                ImageType     = (uint)_UIImageType.IT_Bitmap,
                Format        = (uint)_UIDataFormat.DF_WPF,
                Dpi           = 96,
                LogicalHeight = size,
                LogicalWidth  = size,
                Background    = (uint)backColor.ToArgb(),
                StructSize    = Marshal.SizeOf(typeof(ImageAttributes))
            };

            return(imageService.GetImage(moniker, imageAttributes));
        }
        public static BitmapSource ToBitmap(this ImageMoniker moniker, int size)
        {
            Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread();

            _imageService = _imageService ?? ServiceProvider.GlobalProvider.GetService <SVsImageService, IVsImageService2>();

            var imageAttributes = new ImageAttributes
            {
                Flags         = (uint)_ImageAttributesFlags.IAF_RequiredFlags,
                ImageType     = (uint)_UIImageType.IT_Bitmap,
                Format        = (uint)_UIDataFormat.DF_WPF,
                LogicalHeight = size,
                LogicalWidth  = size,
                StructSize    = Marshal.SizeOf(typeof(ImageAttributes))
            };

            IVsUIObject result = _imageService.GetImage(moniker, imageAttributes);

            result.get_Data(out object data);

            return(data as BitmapSource);
        }
Exemple #18
0
        private Icon GetWarningIcon()
        {
            if (WarningIcon == null)
            {
                ImageAttributes attributes = new ImageAttributes
                {
                    StructSize    = Marshal.SizeOf(typeof(ImageAttributes)),
                    ImageType     = (uint)_UIImageType.IT_Icon,
                    Format        = (uint)_UIDataFormat.DF_WinForms,
                    LogicalWidth  = 16,
                    LogicalHeight = 16,
                    Flags         = (uint)_ImageAttributesFlags.IAF_RequiredFlags
                };

                IVsImageService2 imageService = (IVsImageService2)Microsoft.VisualStudio.Shell.Package.GetGlobalService(typeof(SVsImageService));
                IVsUIObject      uIObj        = imageService.GetImage(KnownMonikers.StatusWarning, attributes);

                WarningIcon = (Icon)GelUtilities.GetObjectData(uIObj);
            }

            return(WarningIcon);
        }
Exemple #19
0
        public static BitmapSource GetIconForImageMoniker(ImageMoniker?imageMoniker, int sizeX, int sizeY)
        {
            if (imageMoniker == null)
            {
                return(null);
            }

            IVsImageService2 vsIconService = ServiceProvider.GlobalProvider.GetService(typeof(SVsImageService)) as IVsImageService2;

            if (vsIconService == null)
            {
                return(null);
            }

            ImageAttributes imageAttributes = new ImageAttributes
            {
                Flags         = (uint)_ImageAttributesFlags.IAF_RequiredFlags,
                ImageType     = (uint)_UIImageType.IT_Bitmap,
                Format        = (uint)_UIDataFormat.DF_WPF,
                LogicalHeight = sizeY,
                LogicalWidth  = sizeX,
                StructSize    = Marshal.SizeOf(typeof(ImageAttributes))
            };

            IVsUIObject result = vsIconService.GetImage(imageMoniker.Value, imageAttributes);

            object data;

            result.get_Data(out data);
            BitmapSource glyph = data as BitmapSource;

            if (glyph != null)
            {
                glyph.Freeze();
            }

            return(glyph);
        }
Exemple #20
0
        //public IVsImageService2 ImageService { get; set; }
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            ImageMoniker imageMoniker = new ImageMoniker {
                Guid = JFrogManifestGuid, Id = 10
            };
            IVsImageService2 imageService = (IVsImageService2)Package.GetGlobalService(typeof(SVsImageService));
            ImageAttributes  attributes   = new ImageAttributes
            {
                StructSize = Marshal.SizeOf(typeof(ImageAttributes)),
                // IT_Bitmap for Bitmap, IT_Icon for Icon
                ImageType     = (uint)_UIImageType.IT_Bitmap,
                Format        = (uint)_UIDataFormat.DF_WinForms,
                LogicalWidth  = 16,
                LogicalHeight = 16,
                // Desired RGBA color, if you don't use this, don't set IAF_Background below
                Background = 0xFFFFFFFF,
                Flags      = (uint)_ImageAttributesFlags.IAF_RequiredFlags,
            };
            IVsUIObject uIObj = imageService.GetImage(imageMoniker, attributes);

            return((BitmapImage)GelUtilities.GetObjectData(uIObj));
//            return new ImageMoniker { Guid = JFrogManifestGuid, Id = 20 };
        }
Exemple #21
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);
        }
Exemple #22
0
        public NavigationBarClient(
            IVsDropdownBarManager manager,
            IVsCodeWindow codeWindow,
            IServiceProvider serviceProvider,
            VisualStudioWorkspaceImpl workspace)
        {
            _manager          = manager;
            _codeWindow       = codeWindow;
            _workspace        = workspace;
            _imageService     = (IVsImageService2)serviceProvider.GetService(typeof(SVsImageService));
            _projectItems     = SpecializedCollections.EmptyList <NavigationBarProjectItem>();
            _currentTypeItems = SpecializedCollections.EmptyList <NavigationBarItem>();

            var vsShell = serviceProvider.GetService(typeof(SVsShell)) as IVsShell;

            if (vsShell != null)
            {
                object varImageList;
                int    hresult = vsShell.GetProperty((int)__VSSPROPID.VSSPROPID_ObjectMgrTypesImgList, out varImageList);
                if (ErrorHandler.Succeeded(hresult) && varImageList != null)
                {
                    _imageList = (IntPtr)(int)varImageList;
                }
            }

            _codeWindowEventsSink         = ComEventSink.Advise <IVsCodeWindowEvents>(codeWindow, this);
            _editorAdaptersFactoryService = serviceProvider.GetMefService <IVsEditorAdaptersFactoryService>();

            IVsTextView pTextView;

            codeWindow.GetPrimaryView(out pTextView);
            StartTrackingView(pTextView);

            pTextView = null;
            codeWindow.GetSecondaryView(out pTextView);
            StartTrackingView(pTextView);
        }
        public static BitmapSource ToBitmap(this ImageMoniker moniker, int size)
        {
            ThreadHelper.ThrowIfNotOnUIThread();

            IVsImageService2 imageService = ServiceProvider.GlobalProvider.GetService <SVsImageService, IVsImageService2>();
            Color            backColor    = VSColorTheme.GetThemedColor(EnvironmentColors.ToolWindowBackgroundColorKey);

            var imageAttributes = new ImageAttributes
            {
                Flags         = (uint)_ImageAttributesFlags.IAF_RequiredFlags | unchecked ((uint)_ImageAttributesFlags.IAF_Background),
                ImageType     = (uint)_UIImageType.IT_Bitmap,
                Format        = (uint)_UIDataFormat.DF_WPF,
                LogicalHeight = size,
                LogicalWidth  = size,
                Background    = (uint)backColor.ToArgb(),
                StructSize    = Marshal.SizeOf(typeof(ImageAttributes))
            };

            IVsUIObject result = imageService.GetImage(moniker, imageAttributes);

            result.get_Data(out var data);

            return(data as BitmapSource);
        }
        public static ImageSource GetImage(this ImageMoniker imageMoniker)
        {
            IVsImageService2 vsIconService = ServiceProvider.GlobalProvider.GetService(typeof(SVsImageService)) as IVsImageService2;

            ImageAttributes imageAttributes = new ImageAttributes();

            imageAttributes.Flags         = (uint)_ImageAttributesFlags.IAF_RequiredFlags;
            imageAttributes.ImageType     = (uint)_UIImageType.IT_Bitmap;
            imageAttributes.Format        = (uint)_UIDataFormat.DF_WPF;
            imageAttributes.LogicalHeight = 16; //IconHeight,
            imageAttributes.LogicalWidth  = 16; //IconWidth,
            imageAttributes.StructSize    = Marshal.SizeOf(typeof(ImageAttributes));

            IVsUIObject result = vsIconService.GetImage(imageMoniker, imageAttributes);

            object data;

            result.get_Data(out data);
            ImageSource glyph = data as ImageSource;

            glyph.Freeze();

            return(glyph);
        }
Exemple #25
0
 static ImageHelper()
 {
     _imageService = Package.GetGlobalService(typeof(SVsImageService)) as IVsImageService2;
 }
 public ImageMonikerDialog(IVsImageService2 imageService)
 {
     _imageService = imageService;
     Loaded       += OnLoad;
     InitializeComponent();
 }
 public ImageDataProvider(IVsImageService2 vsImageService, IVsUIShell6 vsUiShell)
 {
     _vsImageService = vsImageService;
     _vsUiShell      = vsUiShell;
 }
 public static IEnumerable <XamlCompletion> Create(
     IEnumerable <Completion> source,
     IVsImageService2 imageService)
 {
     return(source.Select(x => new XamlCompletion(x, imageService)));
 }
 static ImageHelper()
 {
     _imageService = WebEssentialsPackage.GetGlobalService(typeof(SVsImageService)) as IVsImageService2;
 }
 public VisualStudioImageMonikerService(SVsServiceProvider serviceProvider)
 {
     _imageService = (IVsImageService2)serviceProvider.GetService(typeof(SVsImageService));
 }
 public VisualStudioImageMonikerService(IThreadingContext threadingContext, SVsServiceProvider serviceProvider)
     : base(threadingContext)
 {
     _imageService = (IVsImageService2)serviceProvider.GetService(typeof(SVsImageService));
 }
Exemple #32
0
 public XamlCompletionSourceProvider(
     [Import(typeof(SVsServiceProvider))] IServiceProvider serviceProvider)
 {
     _imageService = serviceProvider.GetService <IVsImageService2, SVsImageService>();
 }
        public FileListWindow(FilteredListProvider filteredListProvider, OpenFileFromDirPackage package, IVsImageService2 imageService)
        {
            this.package = package;
            this.filteredListProvider = filteredListProvider;
            this.imageService         = imageService;

            InitializeComponent();

            filterTextBox.Text = "";
            filterTextBox.Focus();

            UpdateListBox("");
        }
Exemple #34
0
 public FileNameLocationListItemCreator(IVsImageService2 vsImageService, ILogger logger)
 {
     this.vsImageService = vsImageService;
     this.logger         = logger;
 }
        public FileNameLocationListItem(IAnalysisIssueLocationVisualization location, IVsImageService2 vsImageService, ILogger logger)
        {
            this.location             = location;
            this.vsImageService       = vsImageService;
            this.logger               = logger;
            location.PropertyChanged += Location_PropertyChanged;

            UpdateState();
        }
Exemple #36
0
 public PreviewDialogService(SVsServiceProvider serviceProvider)
 {
     _previewChanges = (IVsPreviewChangesService)serviceProvider.GetService(typeof(SVsPreviewChangesService));
     _componentModel = (IComponentModel)serviceProvider.GetService(typeof(SComponentModel));
     _imageService   = (IVsImageService2)serviceProvider.GetService(typeof(SVsImageService));
 }
 public ImageMonikerDialog(IVsImageService2 imageService)
 {
     _imageService = imageService;
     Loaded += OnLoad;
     InitializeComponent();
 }
Exemple #38
0
        public static bool TryGetImageListAndIndex(this VisualStudioWorkspaceImpl workspace, IVsImageService2 imageService, DocumentId id, out IntPtr imageList, out ushort index)
        {
            var hierarchy = workspace.GetHierarchy(id.ProjectId);
            var document  = workspace.CurrentSolution.GetDocument(id);

            if (hierarchy != null)
            {
                var itemId = hierarchy.TryGetItemId(document.FilePath);
                return(TryGetImageListAndIndex(hierarchy, imageService, itemId, out imageList, out index));
            }

            imageList = default;
            index     = 0;
            return(false);
        }
        public static bool TryGetImageListAndIndex(this VisualStudioWorkspaceImpl workspace, IVsImageService2 imageService, ProjectId id, out IntPtr imageList, out int index)
        {
            ushort ushortIndex;
            var    result = TryGetImageListAndIndex(workspace, imageService, id, out imageList, out ushortIndex);

            index = ushortIndex;
            return(result);
        }
Exemple #40
0
 private GraphIconCache(IVsImageService2 imageService) => _imageService = imageService;
        public static bool TryGetImageListAndIndex(this VisualStudioWorkspaceImpl workspace, IVsImageService2 imageService, ProjectId id, out IntPtr imageList, out ushort index)
        {
            var project = workspace.GetHostProject(id);

            if (project != null)
            {
                var hierarchy = project.Hierarchy;

                return(TryGetImageListAndIndex(hierarchy, imageService, VSConstants.VSITEMID_ROOT, out imageList, out index));
            }

            imageList = default(IntPtr);
            index     = 0;
            return(false);
        }
Exemple #42
0
 public PreviewDialogService(SVsServiceProvider serviceProvider)
 {
     _previewChanges = (IVsPreviewChangesService)serviceProvider.GetService(typeof(SVsPreviewChangesService));
     _componentModel = (IComponentModel)serviceProvider.GetService(typeof(SComponentModel));
     _imageService = (IVsImageService2)serviceProvider.GetService(typeof(SVsImageService));
 }
        public static bool TryGetImageListAndIndex(this VisualStudioWorkspaceImpl workspace, IVsImageService2 imageService, DocumentId id, out IntPtr imageList, out ushort index)
        {
            var hostDocument = workspace.GetHostDocument(id);

            if (hostDocument != null)
            {
                var hierarchy = hostDocument.Project.Hierarchy;
                var itemId    = hostDocument.GetItemId();
                return(TryGetImageListAndIndex(hierarchy, imageService, itemId, out imageList, out index));
            }

            imageList = default(IntPtr);
            index     = 0;
            return(false);
        }
        public static bool TryGetImageListAndIndex(this VisualStudioWorkspaceImpl workspace, IVsImageService2 imageService, DocumentId id, out IntPtr imageList, out ushort index)
        {
            var hostDocument = workspace.GetHostDocument(id);
            if (hostDocument != null)
            {
                var hierarchy = hostDocument.Project.Hierarchy;
                var itemId = hostDocument.GetItemId();
                return TryGetImageListAndIndex(hierarchy, imageService, itemId, out imageList, out index);
            }

            imageList = default(IntPtr);
            index = 0;
            return false;
        }
Exemple #45
0
        private static ImageSource GetImage(IVsImageService2 imageService, ImageMoniker imageMoniker) {
            var imageAttributes = new ImageAttributes {
                ImageType = (uint)_UIImageType.IT_Bitmap,
                Flags = (uint)_ImageAttributesFlags.IAF_RequiredFlags,
                Format = (uint)_UIDataFormat.DF_WPF,
                LogicalHeight = 16,
                LogicalWidth = 16,
                StructSize = Marshal.SizeOf(typeof(ImageAttributes))
            };

            IVsUIObject uiObject = imageService.GetImage(imageMoniker, imageAttributes);

            object data;
            if (uiObject.get_Data(out data) != VSConstants.S_OK) {
                return null;
            }

            var imageSource = data as ImageSource;
            imageSource?.Freeze();
            return imageSource;
        }
Exemple #46
0
 public VisualStudioImageMonikerService(SVsServiceProvider serviceProvider)
 {
     _imageService = (IVsImageService2)serviceProvider.GetService(typeof(SVsImageService));
 }
Exemple #47
0
 public XamlCompletionSource(ITextBuffer textBuffer, IVsImageService2 imageService)
 {
     _buffer       = textBuffer;
     _imageService = imageService;
     _engine       = new CompletionEngine();
 }