src/Builder4/Editor.bjs
[app.Builder.js] / src / Project / Project.vala
index 8e619dc..d5b0f5b 100644 (file)
@@ -138,6 +138,40 @@ namespace Project {
                        return null;
                
                }
+               
+               public static string listAllToString()
+               {
+                       var all = new Gee.ArrayList<Project>();
+
+                       var fiter = projects.map_iterator();
+                       
+                       while(fiter.next()) {
+                               all.add(fiter.get_value());
+                       }
+                       
+                       all.sort((fa,fb) => {
+                               return ((Project)fa).name.collate(((Project)fb).name);
+
+                       });
+
+                       var iter = all.list_iterator();
+                       var ret = "ID\tName\tDirectory\n";
+                       while (iter.next()) {
+                               ret += "%s\t%s\t%s\n".printf(
+                                               iter.get().fn,
+                                               iter.get().name,
+                                               iter.get().firstPath()
+                                               );
+                        
+                               
+                       }
+                       
+                       return ret;
+               
+               }
+               
+               
+               
                public static Project getProjectByHash(string fn)
                {
                        
@@ -374,7 +408,7 @@ namespace Project {
                        while(fiter.next()) {
                                files.add(fiter.get_value());
                        }
-                               files.sort((fa,fb) => {
+                       files.sort((fa,fb) => {
                                return ((JsRender.JsRender)fa).name.collate(((JsRender.JsRender)fb).name);
 
                        });
@@ -383,6 +417,29 @@ namespace Project {
                }
                
         
+        
+               public string listAllFilesToString()
+               {
+                       this.scanDirs();
+                       var iter = this.sortedFiles().list_iterator();
+                       var ret = "ID\tName\tDirectory\n";
+                       while (iter.next()) {
+                               ret += "%s\n".printf(
+                                                
+                                               iter.get().name
+                                                
+                                               );
+                        
+                               
+                       }
+                       
+                       return ret;
+               
+               }
+               
+        
+        
+        
                public JsRender.JsRender? getByName(string name)
                {
                        
@@ -399,6 +456,22 @@ namespace Project {
                        };
                        return null;
                }
+               public JsRender.JsRender? getByPath(string path)
+               {
+                       
+                       var fiter = files.map_iterator();
+                       while(fiter.next()) {
+                        
+                               var f = fiter.get_value();
+                               
+                               
+                               //GLib.debug ("Project.getByName: %s ?= %s" ,f.name , name);
+                               if (f.path == path) {
+                                       return f;
+                               }
+                       };
+                       return null;
+               }
                
                public JsRender.JsRender? getById(string id)
                {