diff options
| author | j-p <jp.bruyere@live.be> | 2018-12-11 23:20:54 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-12-11 23:20:54 +0100 |
| commit | d7239eebe4b07685aabaf6663bebbc77386286ea (patch) | |
| tree | 836cee695262dc2fc3f1219de385752177893ed2 /CrowIDE/src/ProjectTree/ProjectItem.cs | |
| parent | f1531e562b4ecd9d568a28c2fffe7ffed06c728a (diff) | |
| parent | 7e831f8ebac4affbb01211b1f6ec3887280fea2b (diff) | |
Merge pull request #44 from jpbruyere/xlib
Xlib
Diffstat (limited to 'CrowIDE/src/ProjectTree/ProjectItem.cs')
| -rw-r--r-- | CrowIDE/src/ProjectTree/ProjectItem.cs | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/CrowIDE/src/ProjectTree/ProjectItem.cs b/CrowIDE/src/ProjectTree/ProjectItem.cs index 7a30a8e1..89889ca3 100644 --- a/CrowIDE/src/ProjectTree/ProjectItem.cs +++ b/CrowIDE/src/ProjectTree/ProjectItem.cs @@ -43,7 +43,26 @@ namespace Crow.Coding public XmlNode node; - public string Extension { + public override Picture Icon { + get { + Console.WriteLine("extension="+Extension); + + switch (Extension) + { + case ".cs": + return new SvgPicture("#icons.cs-file.svg"); + case ".crow": + Console.WriteLine("loading icons.xml-file"); + return new SvgPicture("#icons.xml-file.svg"); + case ".xml": + return new SvgPicture("#icons.xml-file.svg"); + default: + return base.Icon; + } + } + } + + public string Extension { get { return System.IO.Path.GetExtension (Path); } } public string Path { @@ -71,6 +90,30 @@ namespace Crow.Coding public string HintPath { get { return node.SelectSingleNode ("HintPath")?.InnerText; } } + + public override bool IsSelected { + get { + return isSelected; + } + set { + if (value == isSelected) + return; + + isSelected = value; + + NotifyValueChanged ("IsSelected", isSelected); + + if (isSelected) { + Project.solution.SelectedItem = this; + Project.IsExpanded = true; + ProjectNode pn = Parent; + while (pn != null) { + pn.IsExpanded = true; + pn = pn.Parent; + } + } + } + } } } |