aboutsummaryrefslogtreecommitdiffstatsci
path: root/CrowIDE/src/ProjectTree/ProjectItem.cs
diff options
context:
space:
mode:
authorj-p <jp.bruyere@live.be>2018-12-11 23:20:54 +0100
committerGitHub <noreply@github.com>2018-12-11 23:20:54 +0100
commitd7239eebe4b07685aabaf6663bebbc77386286ea (patch)
tree836cee695262dc2fc3f1219de385752177893ed2 /CrowIDE/src/ProjectTree/ProjectItem.cs
parentf1531e562b4ecd9d568a28c2fffe7ffed06c728a (diff)
parent7e831f8ebac4affbb01211b1f6ec3887280fea2b (diff)
Merge pull request #44 from jpbruyere/xlib
Xlib
Diffstat (limited to 'CrowIDE/src/ProjectTree/ProjectItem.cs')
-rw-r--r--CrowIDE/src/ProjectTree/ProjectItem.cs45
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;
+ }
+ }
+ }
+ }
}
}