C# Class VsTeXProject.VisualStudio.Project.FileNode

Inheritance: HierarchyNode
Afficher le fichier Open project: mimura1133/vstex Class Usage Examples

Private Properties

Свойство Type Description
FileNode System
GetChildNodes List
GetSccSpecialFiles void
OnCustomToolChanged void
RenameCaseOnlyChange void
RenameDocument bool
RenameFileNode FileNode
RunGenerator void
SetNewParentOnChildNodes void

Méthodes publiques

Méthode Description
FileNode ( ProjectNode root, ProjectElement element ) : System

Constructor for the FileNode

GetAutomationObject ( ) : object

Get an instance of the automation object for a FileNode

GetIconHandle ( bool open ) : object
GetMkDocument ( ) : string
SetEditLabel ( string label ) : int

Renames a file node.

Méthodes protégées

Méthode 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
CreateSingleFileGenerator ( ) : ISingleFileGenerator

factory method for creating single file generators.

DeleteFromStorage ( string path ) : void

Delete the item corresponding to the specified path from storage.

DoDefaultAction ( ) : void
ExecCommandOnNode ( System.Guid cmdGroup, uint cmd, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut ) : int
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.

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.

QueryStatusOnNode ( System.Guid cmdGroup, uint cmd, IntPtr pCmdText, QueryStatusResult &result ) : int
RecoverFromRenameFailure ( string fileThatFailed, string originalFileName ) : void

Tries recovering from a rename failure.

RenameChildNodes ( FileNode parentNode ) : void

Rename all childnodes

RenameFileNode ( string oldFileName, string newFileName, uint newParentId ) : 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

SetEditLabel ( string label, string relativePath ) : int

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

Private Methods

Méthode Description
FileNode ( ) : System
GetChildNodes ( ) : List
GetSccSpecialFiles ( string sccFile, IList files, IList flags ) : void
OnCustomToolChanged ( object sender, HierarchyNodeEventArgs e ) : void

Event handler for the Custom tool property changes

RenameCaseOnlyChange ( string newFileName ) : void

Renames the file node for a case only change.

RenameDocument ( string oldName, string newName ) : bool

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

RenameFileNode ( string oldFileName, string newFileName ) : FileNode
RunGenerator ( ) : void

Runs a generator.

SetNewParentOnChildNodes ( FileNode newFileNode ) : void

Update the ChildNodes after the parent node has been renamed

Method Details

AfterSaveItemAs() protected méthode

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
Résultat int

CanDeleteItem() protected méthode

protected CanDeleteItem ( __VSDELETEITEMOPERATION deleteOperation ) : bool
deleteOperation __VSDELETEITEMOPERATION
Résultat bool

CanShowDefaultIcon() protected méthode

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

CreatePropertiesObject() protected méthode

protected CreatePropertiesObject ( ) : NodeProperties
Résultat NodeProperties

CreateSingleFileGenerator() protected méthode

factory method for creating single file generators.
protected CreateSingleFileGenerator ( ) : ISingleFileGenerator
Résultat ISingleFileGenerator

DeleteFromStorage() protected méthode

Delete the item corresponding to the specified path from storage.
protected DeleteFromStorage ( string path ) : void
path string
Résultat void

DoDefaultAction() protected méthode

protected DoDefaultAction ( ) : void
Résultat void

ExecCommandOnNode() protected méthode

protected ExecCommandOnNode ( System.Guid cmdGroup, uint cmd, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut ) : int
cmdGroup System.Guid
cmd uint
nCmdexecopt uint
pvaIn System.IntPtr
pvaOut System.IntPtr
Résultat int

FileNode() public méthode

Constructor for the FileNode
public FileNode ( ProjectNode root, ProjectElement element ) : System
root ProjectNode Root of the hierarchy
element ProjectElement
Résultat System

GetAutomationObject() public méthode

Get an instance of the automation object for a FileNode
public GetAutomationObject ( ) : object
Résultat object

GetDocumentManager() protected méthode

Returns a specific Document manager to handle files
protected GetDocumentManager ( ) : DocumentManager
Résultat DocumentManager

GetDragTargetHandlerNode() protected méthode

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.
protected GetDragTargetHandlerNode ( ) : HierarchyNode
Résultat HierarchyNode

GetIconHandle() public méthode

public GetIconHandle ( bool open ) : object
open bool
Résultat object

GetMkDocument() public méthode

public GetMkDocument ( ) : string
Résultat string

IsFileOnDisk() protected méthode

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.
protected IsFileOnDisk ( bool showMessage ) : bool
showMessage bool true if user should be presented for UI in case the file is not present
Résultat bool

IsFileOnDisk() protected méthode

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

QueryStatusOnNode() protected méthode

protected QueryStatusOnNode ( System.Guid cmdGroup, uint cmd, IntPtr pCmdText, QueryStatusResult &result ) : int
cmdGroup System.Guid
cmd uint
pCmdText System.IntPtr
result QueryStatusResult
Résultat int

RecoverFromRenameFailure() protected méthode

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
Résultat void

RenameChildNodes() protected méthode

Rename all childnodes
protected RenameChildNodes ( FileNode parentNode ) : void
parentNode FileNode
Résultat void

RenameFileNode() protected méthode

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, uint newParentId ) : FileNode
oldFileName string The old file name.
newFileName string The new file name
newParentId uint The new parent id of the item.
Résultat FileNode

RenameInStorage() protected méthode

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
Résultat void

SetEditLabel() public méthode

Renames a file node.
public SetEditLabel ( string label ) : int
label string The new name.
Résultat int

SetEditLabel() protected méthode

Rename the underlying document based on the change the user just made to the edit label.
protected SetEditLabel ( string label, string relativePath ) : int
label string
relativePath string
Résultat int