C# Class Microsoft.VisualStudio.Project.FileNode

Inheritance: HierarchyNode
显示文件 Open project: tunnelvisionlabs/MPFProj10 Class Usage Examples

Protected Properties

Property Type Description
extensionIcons int>.Dictionary

Private Properties

Property Type Description
GetSccSpecialFiles void
IProjectSourceNode int
IProjectSourceNode int

Public Methods

Method Description
CreateSingleFileGenerator ( ) : ISingleFileGenerator

factory method for creating single file generators.

DeleteFromStorage ( string path ) : void

Delete the item corresponding to the specified path from storage.

FileNode ( ProjectNode root, ProjectElement element ) : System

Constructor for the FileNode

GetAutomationObject ( ) : object

Get an instance of the automation object for a FileNode

GetDocumentManager ( ) : DocumentManager

Returns a specific Document manager to handle files

GetDragTargetHandlerNode ( ) : HierarchyNode

Called by the drag&drop implementation to ask the node which is being dragged/droped over which nodes should process the operation. This allows for dragging to a node that cannot contain items to let its parent accept the drop, while a reference node delegate to the project and a folder/project node to itself.

GetEditLabel ( ) : string

Provides the node name for inline editing of caption. Overriden to diable this fuctionality for non member fodler node.

GetIconHandle ( bool open ) : object
GetMKDocument ( ) : string
GetProperty ( int propId ) : object

Gets the node property.

IsFileOnDisk ( bool showMessage ) : bool

Determine if this item is represented physical on disk and shows a messagebox in case that the file is not present and a UI is to be presented.

IsFileOnDisk ( string path ) : bool

Determine if the file represented by "path" exist in storage. Override this method if your files are not persisted on disk.

OnCustomToolChanged ( object sender, HierarchyNodeEventArgs e ) : void

Event handler for the Custom tool property changes

OnCustomToolNameSpaceChanged ( object sender, HierarchyNodeEventArgs e ) : void

Event handler for the Custom tool namespce property changes

RenameDocument ( string oldName, string newName ) : bool

Get's called to rename the eventually running document this hierarchyitem points to

RunGenerator ( ) : void

Runs a generator.

SetEditLabel ( string label ) : int

Renames a file node.

SetEditLabel ( string label, string relativePath ) : int

Rename the underlying document based on the change the user just made to the edit label.

SetProperty ( int propid, object value ) : int

Sets the node property.

Protected Methods

Method Description
AfterSaveItemAs ( IntPtr docData, string newFilePath ) : int

Performs a SaveAs operation of an open document. Called from SaveItem after the running document table has been updated with the new doc data.

CanDeleteItem ( __VSDELETEITEMOPERATION deleteOperation ) : bool
CanShowDefaultIcon ( ) : bool

Determines if this is node a valid node for painting the default file icon.

CreatePropertiesObject ( ) : NodeProperties
DoDefaultAction ( ) : void
ExecCommandOnNode ( System.Guid cmdGroup, uint cmd, Microsoft.VisualStudio.OLE.Interop.OLECMDEXECOPT nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut ) : int
QueryStatusOnNode ( System.Guid cmdGroup, uint cmd, IntPtr pCmdText, EnvDTE.vsCommandStatus &result ) : int
RecoverFromRenameFailure ( string fileThatFailed, string originalFileName ) : void

Tries recovering from a rename failure.

RenameCaseOnlyChange ( string newFileName ) : void

Renames the file node for a case only change.

RenameChildNodes ( FileNode parentNode ) : void

Rename all childnodes

RenameFileNode ( string oldFileName, string newFileName ) : FileNode
RenameFileNode ( string oldFileName, string newFileName, string linkPath, HierarchyNode newParent ) : FileNode

Renames the file in the hierarchy by removing old node and adding a new node in the hierarchy.

While a new node will be used to represent the item, the underlying MSBuild item will be the same and as a result file properties saved in the project file will not be lost.

RenameInStorage ( string oldName, string newName ) : void

This should be overriden for node that are not saved on disk

Private Methods

Method Description
GetSccSpecialFiles ( string sccFile, IList files, IList flags ) : void
IProjectSourceNode ( ) : int
IProjectSourceNode ( bool recursive ) : int

Method Details

AfterSaveItemAs() protected method

Performs a SaveAs operation of an open document. Called from SaveItem after the running document table has been updated with the new doc data.
protected AfterSaveItemAs ( IntPtr docData, string newFilePath ) : int
docData System.IntPtr A pointer to the document in the rdt
newFilePath string The new file path to the document
return int

CanDeleteItem() protected method

protected CanDeleteItem ( __VSDELETEITEMOPERATION deleteOperation ) : bool
deleteOperation __VSDELETEITEMOPERATION
return bool

CanShowDefaultIcon() protected method

Determines if this is node a valid node for painting the default file icon.
protected CanShowDefaultIcon ( ) : bool
return bool

CreatePropertiesObject() protected method

protected CreatePropertiesObject ( ) : NodeProperties
return NodeProperties

CreateSingleFileGenerator() public method

factory method for creating single file generators.
public CreateSingleFileGenerator ( ) : ISingleFileGenerator
return ISingleFileGenerator

DeleteFromStorage() public method

Delete the item corresponding to the specified path from storage.
public DeleteFromStorage ( string path ) : void
path string
return void

DoDefaultAction() protected method

protected DoDefaultAction ( ) : void
return void

ExecCommandOnNode() protected method

protected ExecCommandOnNode ( System.Guid cmdGroup, uint cmd, Microsoft.VisualStudio.OLE.Interop.OLECMDEXECOPT nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut ) : int
cmdGroup System.Guid
cmd uint
nCmdexecopt Microsoft.VisualStudio.OLE.Interop.OLECMDEXECOPT
pvaIn System.IntPtr
pvaOut System.IntPtr
return int

FileNode() public method

Constructor for the FileNode
public FileNode ( ProjectNode root, ProjectElement element ) : System
root ProjectNode Root of the hierarchy
element ProjectElement Associated project element
return System

GetAutomationObject() public method

Get an instance of the automation object for a FileNode
public GetAutomationObject ( ) : object
return object

GetDocumentManager() public method

Returns a specific Document manager to handle files
public GetDocumentManager ( ) : DocumentManager
return DocumentManager

GetDragTargetHandlerNode() public method

Called by the drag&drop implementation to ask the node which is being dragged/droped over which nodes should process the operation. This allows for dragging to a node that cannot contain items to let its parent accept the drop, while a reference node delegate to the project and a folder/project node to itself.
public GetDragTargetHandlerNode ( ) : HierarchyNode
return HierarchyNode

GetEditLabel() public method

Provides the node name for inline editing of caption. Overriden to diable this fuctionality for non member fodler node.
public GetEditLabel ( ) : string
return string

GetIconHandle() public method

public GetIconHandle ( bool open ) : object
open bool
return object

GetMKDocument() public method

public GetMKDocument ( ) : string
return string

GetProperty() public method

Gets the node property.
public GetProperty ( int propId ) : object
propId int Property id.
return object

IsFileOnDisk() public method

Determine if this item is represented physical on disk and shows a messagebox in case that the file is not present and a UI is to be presented.
public IsFileOnDisk ( bool showMessage ) : bool
showMessage bool true if user should be presented for UI in case the file is not present
return bool

IsFileOnDisk() public method

Determine if the file represented by "path" exist in storage. Override this method if your files are not persisted on disk.
public IsFileOnDisk ( string path ) : bool
path string Url representing the file
return bool

OnCustomToolChanged() public method

Event handler for the Custom tool property changes
public OnCustomToolChanged ( object sender, HierarchyNodeEventArgs e ) : void
sender object FileNode sending it
e HierarchyNodeEventArgs Node event args
return void

OnCustomToolNameSpaceChanged() public method

Event handler for the Custom tool namespce property changes
public OnCustomToolNameSpaceChanged ( object sender, HierarchyNodeEventArgs e ) : void
sender object FileNode sending it
e HierarchyNodeEventArgs Node event args
return void

QueryStatusOnNode() protected method

protected QueryStatusOnNode ( System.Guid cmdGroup, uint cmd, IntPtr pCmdText, EnvDTE.vsCommandStatus &result ) : int
cmdGroup System.Guid
cmd uint
pCmdText System.IntPtr
result EnvDTE.vsCommandStatus
return int

RecoverFromRenameFailure() protected method

Tries recovering from a rename failure.
protected RecoverFromRenameFailure ( string fileThatFailed, string originalFileName ) : void
fileThatFailed string The file that failed to be renamed.
originalFileName string The original filenamee
return void

RenameCaseOnlyChange() protected method

Renames the file node for a case only change.
protected RenameCaseOnlyChange ( string newFileName ) : void
newFileName string The new file name.
return void

RenameChildNodes() protected method

Rename all childnodes
protected RenameChildNodes ( FileNode parentNode ) : void
parentNode FileNode The newly added Parent node.
return void

RenameDocument() public method

Get's called to rename the eventually running document this hierarchyitem points to
public RenameDocument ( string oldName, string newName ) : bool
oldName string
newName string
return bool

RenameFileNode() protected method

protected RenameFileNode ( string oldFileName, string newFileName ) : FileNode
oldFileName string
newFileName string
return FileNode

RenameFileNode() protected method

Renames the file in the hierarchy by removing old node and adding a new node in the hierarchy.
While a new node will be used to represent the item, the underlying MSBuild item will be the same and as a result file properties saved in the project file will not be lost.
protected RenameFileNode ( string oldFileName, string newFileName, string linkPath, HierarchyNode newParent ) : FileNode
oldFileName string The old file name.
newFileName string The new file name
linkPath string
newParent HierarchyNode The new parent of the item.
return FileNode

RenameInStorage() protected method

This should be overriden for node that are not saved on disk
protected RenameInStorage ( string oldName, string newName ) : void
oldName string Previous name in storage
newName string New name in storage
return void

RunGenerator() public method

Runs a generator.
public RunGenerator ( ) : void
return void

SetEditLabel() public method

Renames a file node.
if the file cannot be validated
public SetEditLabel ( string label ) : int
label string The new name.
return int

SetEditLabel() public method

Rename the underlying document based on the change the user just made to the edit label.
public SetEditLabel ( string label, string relativePath ) : int
label string
relativePath string
return int

SetProperty() public method

Sets the node property.
public SetProperty ( int propid, object value ) : int
propid int Property id.
value object Property value.
return int

Property Details

extensionIcons protected_oe static_oe property

protected static Dictionary extensionIcons
return int>.Dictionary