src/Builder4/ValaCompileErrors.bjs
[app.Builder.js] / src / Builder4 / ValaCompileErrors.bjs
1 {
2  "name" : "ValaCompileErrors",
3  "parent" : "",
4  "title" : "",
5  "path" : "/home/alan/gitlive/app.Builder.js/src/Builder4/ValaCompileErrors.bjs",
6  "permname" : "",
7  "modOrder" : "",
8  "build_module" : "builder",
9  "items" : [
10   {
11    "int height_request" : 800,
12    "id" : "ValaCompileErrors",
13    "Xcls_MainWindow window" : "",
14    "| void show" : "(Json.Object tree, Gtk.Widget onbtn) {\n\n    \n         //print(\"looking for %s\\n\", id);\n        // loop through parent childnre\n          \n        \n        var store = this.compile_result_store.el;    \n        \n        store.clear();\n     \n        \n        tree.foreach_member((obj, file, node) => {\n            // id line \"display text\", file\n            \n            var title = GLib.Path.get_basename( file) ;\n            Gtk.TreeIter iter;\n            print(\"Add file %s\", title);\n            store.append(out iter, null);\n            var lines = tree.get_object_member(file);\n            title += \" (\" + lines.get_size().to_string() + \")\";\n            store.set(iter, 0, file, 1, 0, 2, title, 3, file,-1);\n            \n            lines.foreach_member((obja, line, nodea) => {\n                var msg  = \"\";\n                var ar = lines.get_array_member(line);\n                for (var i = 0 ; i < ar.get_length(); i++) {\n    \t\t    msg += (msg.length > 0) ? \"\\n\" : \"\";\n    \t\t    msg += ar.get_string_element(i);\n\t        }\n                Gtk.TreeIter citer;  \n                print(\"Add line %s\", line);\n                store.append(out citer, iter);\n                store.set(citer, \n                    0, file + \":\" + line, \n                    1, int.parse(line), \n                    2, GLib.Markup.escape_text(line + \": \" + msg), \n                    3, file,-1);\n            \n            });\n            \n            \n        \n        });\n           \n \n    \n    this.hpane.el.set_position(250);\n   if (this.el.relative_to == null) {\n        this.el.set_relative_to(onbtn);\n    }\n    this.el.show_all();\n          \n\n}\n",
15    "xtype" : "Popover",
16    "Gtk.PositionType position" : "Gtk.PositionType.TOP",
17    "int width_request" : 900,
18    "$ xns" : "Gtk",
19    "bool modal" : true,
20    "Json.Object" : "notices",
21    "items" : [
22     {
23      "id" : "compile_view",
24      "* pack" : "add",
25      "xtype" : "VBox",
26      "gboolean homogeneous" : false,
27      "$ xns" : "Gtk",
28      "items" : [
29       {
30        "xtype" : "HBox",
31        "* pack" : "pack_start,false,false,0",
32        "$ xns" : "Gtk",
33        "items" : [
34         {
35          "* pack" : "pack_start,true,true,0",
36          "xtype" : "Button",
37          "$ xns" : "Gtk",
38          "utf8 label" : "Compile and Run"
39         }
40        ]
41       },
42       {
43        "id" : "hpane",
44        "* pack" : "pack_start,true,true,0",
45        "xtype" : "HPaned",
46        "$ xns" : "Gtk",
47        "items" : [
48         {
49          "* init" : "{\n this.el.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);\n \n\n}\n",
50          "xtype" : "ScrolledWindow",
51          "* pack" : "add",
52          "$ xns" : "Gtk",
53          "items" : [
54           {
55            "id" : "compile_tree",
56            "* init" : "{\n var description = new Pango.FontDescription();\n    description.set_size(8000);\n    this.el.modify_font(description);\n\n}\n",
57            "* pack" : "add",
58            "xtype" : "TreeView",
59            "$ xns" : "Gtk",
60            "items" : [
61             {
62              "gint n_columns" : 4,
63              "id" : "compile_result_store",
64              "columns" : "  typeof(string), typeof(int), typeof(string), typeof(string) ",
65              "* pack" : "set_model",
66              "xtype" : "TreeStore",
67              "$ xns" : "Gtk"
68             },
69             {
70              "utf8 title" : "Compile output",
71              "* init" : "{\n  this.el.add_attribute(_this.renderer.el , \"markup\", 2 );\n \n}\n",
72              "xtype" : "TreeViewColumn",
73              "* pack" : "append_column",
74              "string id" : "column",
75              "$ xns" : "Gtk",
76              "items" : [
77               {
78                "id" : "renderer",
79                "* pack" : "pack_start,true",
80                "xtype" : "CellRendererText",
81                "$ xns" : "Gtk"
82               }
83              ]
84             }
85            ]
86           }
87          ]
88         },
89         {
90          "* pack" : "add",
91          "xtype" : "ScrolledWindow",
92          "$ xns" : "Gtk",
93          "items" : [
94           {
95            "gboolean show_line_marks" : true,
96            "| void loadFile" : "(string fname) {\n\n    string str;\n    FileUtils.get_contents(fname, out str);\n\t\t\t\n   this.el.get_buffer().set_text(str, str.length);\n    var lm = Gtk.SourceLanguageManager.get_default();\n    \n    \n    ((Gtk.SourceBuffer)(this.el.get_buffer())) .set_language(lm.get_language(\"vala\"));\n    var buf = this.el.get_buffer();\n     \n    this.el.grab_focus();\n\n}\n",
97            "* pack" : "add",
98            "xtype" : "SourceView",
99            "$ xns" : "Gtk",
100            "gboolean show_line_numbers" : true,
101            "gboolean editable" : false
102           }
103          ]
104         }
105        ]
106       }
107      ]
108     }
109    ]
110   }
111  ]
112 }