-
Notifications
You must be signed in to change notification settings - Fork 27
Expand file tree
/
Copy pathJavaFolderNode.cs
More file actions
54 lines (45 loc) · 1.98 KB
/
Copy pathJavaFolderNode.cs
File metadata and controls
54 lines (45 loc) · 1.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
namespace Tvl.VisualStudio.Language.Java.Project
{
using System.Diagnostics.Contracts;
using System.Runtime.InteropServices;
using Microsoft.VisualStudio.Project;
[ComVisible(true)]
public class JavaFolderNode : FolderNode
{
public JavaFolderNode(ProjectNode root, string relativePath, ProjectElement element)
: base(root, relativePath, element)
{
Contract.Requires(root != null);
Contract.Requires(relativePath != null);
Contract.Requires(element != null);
if (element.IsVirtual)
{
string buildAction = element.GetMetadata(ProjectFileConstants.BuildAction);
if (buildAction == ProjectFileConstants.Folder)
this.IsNonmemberItem = false;
}
}
public new JavaProjectNode ProjectManager
{
get
{
Contract.Ensures(Contract.Result<JavaProjectNode>() != null);
return (JavaProjectNode)base.ProjectManager;
}
}
public override object GetIconHandle(bool open)
{
if (this.IsNonmemberItem)
return base.GetIconHandle(open);
if (string.Equals(ItemNode.ItemName, JavaProjectFileConstants.SourceFolder))
return this.ProjectManager.ExtendedImageHandler.GetIconHandle(open ? (int)JavaProjectNode.ExtendedImageName.OpenSourceFolder : (int)JavaProjectNode.ExtendedImageName.SourceFolder);
if (string.Equals(ItemNode.ItemName, JavaProjectFileConstants.TestSourceFolder))
return this.ProjectManager.ExtendedImageHandler.GetIconHandle(open ? (int)JavaProjectNode.ExtendedImageName.OpenTestSourceFolder: (int)JavaProjectNode.ExtendedImageName.TestSourceFolder);
return base.GetIconHandle(open);
}
protected override NodeProperties CreatePropertiesObject()
{
return new JavaFolderNodeProperties(this);
}
}
}