aboutsummaryrefslogtreecommitdiffstatsci
path: root/CrowIDE/src/ProjectNodes.cs
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2018-02-24 11:51:12 +0100
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2018-02-24 11:51:12 +0100
commitaf3a87ef16e2f4df9fa01a89fd709125c91188d6 (patch)
tree506b54417e5e9f2ccb8e17b90642ad94060ccc91 /CrowIDE/src/ProjectNodes.cs
parent1293bc896bdbc6819999d17bda8286a6e1a792b0 (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.cs49
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 {