C# Class FSharp.ProjectExtender.Project.ItemList

Maintains a list of project items
The purpose of this class is to maintain a shadow list of all project items for the project When the Solution Explorer displays the project tree it traverses the project using the IVsHierarchy.GetProperty method. The ProjectExtender redirects the GetProperty method calls to provide them in the order defined by ItemList rather than the order of F# Project Manager
Inheritance: IVsHierarchyEvents
Exibir arquivo Open project: Hill30/F--Project-Extender Class Usage Examples

Public Methods

Method Description
CreateNode ( uint itemId ) : ItemNode

Creates a new (shadow) ItemNode given its itemID.

GetFirstChild ( uint itemId, object &value ) : int

returns the FirstChild according to the element order in the ItemList. Used to override the default ordering of the F# Project Manager

GetNextSibling ( uint itemId, object &value ) : int

returns the NextSibling according to the element order in the ItemList. Used to override the default ordering of the F# Project Manager

GetSelectedNodes ( ) : List

Builds a list of nodes currently selected in the solution explorer

ItemList ( Microsoft.Build.BuildEngine.ProjectManager project ) : System

Initalizes a new instance of the itemlist

ToBeHidden ( string file ) : bool

Determines whether the file is supposed to be visible if show_all is true

this ( string path ) : ItemNode

Private Methods

Method Description
ExecCommand ( uint itemId, System.Guid &pguidCmdGroup, uint nCmdID, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut, int &result ) : bool

Shows the context menu on the excluded items

GetNextItemID ( ) : uint

returns the next available itemID for the excluded nodes

GetProperty ( uint itemId, int propId, object &property ) : int

For Excluded Nodes redirects the property requests to the appropriate Excluded node

IVsHierarchyEvents ( IntPtr hicon ) : int
IVsHierarchyEvents ( uint itemidParent ) : int
IVsHierarchyEvents ( uint itemid, int propid, uint flags ) : int
IVsHierarchyEvents ( uint itemidParent, uint itemidSiblingPrev, uint itemidAdded ) : int
IncludeFileItem ( ItemNode node ) : int

Includes the file represented by the Excluded Node into the project

IncludeFolderItem ( ItemNode node ) : int

Includes all files in the Excluded folder in the project

Register ( ItemNode itemNode ) : void

Registers the itemNode in the ItemList internal lists/dictionaries

RemapNodes ( IEnumerable nodes ) : IEnumerable

Builds a list of ItemNodes with the same paths as the ones in the list passed as a parameter

SetShowAll ( bool show_all ) : void

Processes the Show All Files command

Unregister ( uint itemId ) : void

Removes the itemNode from the ItemList internal lists/dictionaries

ensure_included ( ItemNode node ) : uint
get_node_type ( uint itemId ) : Constants.ItemNodeType

Method Details

CreateNode() public method

Creates a new (shadow) ItemNode given its itemID.
public CreateNode ( uint itemId ) : ItemNode
itemId uint
return ItemNode

GetFirstChild() public method

returns the FirstChild according to the element order in the ItemList. Used to override the default ordering of the F# Project Manager
public GetFirstChild ( uint itemId, object &value ) : int
itemId uint
value object
return int

GetNextSibling() public method

returns the NextSibling according to the element order in the ItemList. Used to override the default ordering of the F# Project Manager
public GetNextSibling ( uint itemId, object &value ) : int
itemId uint
value object
return int

GetSelectedNodes() public method

Builds a list of nodes currently selected in the solution explorer
public GetSelectedNodes ( ) : List
return List

ItemList() public method

Initalizes a new instance of the itemlist
public ItemList ( Microsoft.Build.BuildEngine.ProjectManager project ) : System
project Microsoft.Build.BuildEngine.ProjectManager
return System

ToBeHidden() public method

Determines whether the file is supposed to be visible if show_all is true
public ToBeHidden ( string file ) : bool
file string
return bool

this() public method

public this ( string path ) : ItemNode
path string
return ItemNode