Microsoft.VisualStudio.Project.ProjectNode.SccGlyphChanged C# (CSharp) Method

SccGlyphChanged() public method

This method is called by the source control portion of the environment to inform the project of changes to the source control glyph on various nodes.
public SccGlyphChanged ( int affectedNodes, uint itemidAffectedNodes, VsStateIcon newGlyphs, uint newSccStatus ) : int
affectedNodes int Count of changed nodes.
itemidAffectedNodes uint An array of VSITEMID identifiers of the changed nodes.
newGlyphs VsStateIcon An array of VsStateIcon glyphs representing the new state of the corresponding item in rgitemidAffectedNodes.
newSccStatus uint An array of status flags from SccStatus corresponding to rgitemidAffectedNodes.
return int
        public virtual int SccGlyphChanged(int affectedNodes, uint[] itemidAffectedNodes, VsStateIcon[] newGlyphs, uint[] newSccStatus)
        {
            // if all the paramaters are null adn the count is 0, it means scc wants us to updated everything
            if (affectedNodes == 0 && itemidAffectedNodes == null && newGlyphs == null && newSccStatus == null)
            {
                this.ReDraw(UIHierarchyElement.SccState);
                this.UpdateSccStateIcons();
            }
            else if (affectedNodes > 0 && itemidAffectedNodes != null && newGlyphs != null && newSccStatus != null)
            {
                for (int i = 0; i < affectedNodes; i++)
                {
                    HierarchyNode n = this.NodeFromItemId(itemidAffectedNodes[i]);
                    if (n == null)
                    {
                        throw new ArgumentException(SR.GetString(SR.InvalidParameter, CultureInfo.CurrentUICulture), "itemidAffectedNodes");
                    }

                    n.ReDraw(UIHierarchyElement.SccState);
                }
            }
            return VSConstants.S_OK;
        }
ProjectNode