diff options
| author | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2018-02-24 11:51:12 +0100 |
|---|---|---|
| committer | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2018-02-24 11:51:12 +0100 |
| commit | af3a87ef16e2f4df9fa01a89fd709125c91188d6 (patch) | |
| tree | 506b54417e5e9f2ccb8e17b90642ad94060ccc91 /CrowIDE/src/ProjectNodes.cs | |
| parent | 1293bc896bdbc6819999d17bda8286a6e1a792b0 (diff) | |
change namespace of CrowIDE to Crow.Coding, move editor source inside, crowIde wip
Diffstat (limited to 'CrowIDE/src/ProjectNodes.cs')
| -rw-r--r-- | CrowIDE/src/ProjectNodes.cs | 49 |
1 files changed, 45 insertions, 4 deletions
diff --git a/CrowIDE/src/ProjectNodes.cs b/CrowIDE/src/ProjectNodes.cs index bdabbdd8..ac2602e3 100644 --- a/CrowIDE/src/ProjectNodes.cs +++ b/CrowIDE/src/ProjectNodes.cs @@ -30,7 +30,7 @@ using System.Xml; using System.IO; using Crow; -namespace CrowIDE +namespace Crow.Coding { public enum ItemType { ReferenceGroup, @@ -144,11 +144,24 @@ namespace CrowIDE } public class ProjectFile : ProjectItem { bool isDirty = false; + bool isOpened = false; +// bool isSelected = false; + DateTime accessTime; + string source; object selectedItem; + public ProjectFile (ProjectItem pi) : base (pi.Project, pi.node){ } + public string ResourceID { + get { + return Type != ItemType.EmbeddedResource ? null : + node.SelectSingleNode ("LogicalName") == null ? + Project.Name + "." + Path.Replace ('/', '.') : + LogicalName; + } + } public string LogicalName { get { return node.SelectSingleNode ("LogicalName")?.InnerText; @@ -156,11 +169,39 @@ namespace CrowIDE } public string Source { get { - using (StreamReader sr = new StreamReader (AbsolutePath)) { - return sr.ReadToEnd (); - } + if (!isOpened) { + accessTime = System.IO.File.GetLastWriteTime (AbsolutePath); + using (StreamReader sr = new StreamReader (AbsolutePath)) { + source = sr.ReadToEnd (); + } + isOpened = true; + isDirty = false; + } else { + if (DateTime.Compare ( + accessTime, + System.IO.File.GetLastWriteTime (AbsolutePath)) < 0) + Console.WriteLine ("File has been modified outside CrowIDE"); + } + return source; + } + set { + if (source == value) + return; + source = value; + NotifyValueChanged ("Source", source); } } + +// public bool IsSelected { +// get { return isSelected; } +// set { +// if (isSelected == value) +// return; +// isSelected = value; +// NotifyValueChanged ("IsSelected", isSelected); +// } +// } + public object SelectedItem { get { return selectedItem; } set { |