Cosmos/source2/VSIP/MPF/9.0/Src/CSharp/Automation/VSProject/OAVSProjectItem.cs
kudzu_cp 7003fe2c9e
2009-05-28 14:33:45 +00:00

71 lines
1.4 KiB
C#

/// Copyright (c) Microsoft Corporation. All rights reserved.
using System;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices;
using EnvDTE;
using VSLangProj;
namespace Microsoft.VisualStudio.Project.Automation
{
/// <summary>
/// Represents a language-specific project item
/// </summary>
[SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "OAVS")]
[ComVisible(true), CLSCompliant(false)]
public class OAVSProjectItem : VSProjectItem
{
#region fields
private FileNode fileNode;
#endregion
#region ctors
public OAVSProjectItem(FileNode fileNode)
{
this.FileNode = fileNode;
}
#endregion
#region VSProjectItem Members
public virtual EnvDTE.Project ContainingProject
{
get { return fileNode.ProjectMgr.GetAutomationObject() as EnvDTE.Project; }
}
public virtual ProjectItem ProjectItem
{
get { return fileNode.GetAutomationObject() as ProjectItem; }
}
public virtual DTE DTE
{
get { return (DTE)this.fileNode.ProjectMgr.Site.GetService(typeof(DTE)); }
}
public virtual void RunCustomTool()
{
this.FileNode.RunGenerator();
}
#endregion
#region public properties
/// <summary>
/// File Node property
/// </summary>
public FileNode FileNode
{
get
{
return fileNode;
}
set
{
fileNode = value;
}
}
#endregion
}
}