Attribute changed old-javascript
[app.Builder.js] / old-javascript / Builder4 / ValaProjectSettings.bjs
1 {
2     "name" : "ValaProjectSettings",
3     "parent" : "",
4     "title" : "",
5     "path" : "/home/alan/gitlive/app.Builder.js/Builder4/ValaProjectSettings.bjs",
6     "permname" : "",
7     "modOrder" : "",
8     "items" : [
9         {
10             "# Project.Gtk project" : "null",
11             "# Xcls_MainWindow window" : "null",
12             "| void show" : "(Project.Gtk project) {\n    \n    \n    print(\"ValaProjectSettings show\\n\");\n    \n    this.project=  project;\n\n    this.compile_flags.el.text = \"\";\n    \n    this.default_directory_tree_store.load();    \n    this.default_packages_tree_store.load();            \n    this.targets_tree_store.load();\n    this.files_tree_store.load();\n\n}\n",
13             "xtype" : "VBox",
14             "string id" : "ValaProjectSettings",
15             "$ xns" : "Gtk",
16             "items" : [
17                 {
18                     "* pack" : "pack_start,true,true,0",
19                     "xtype" : "Notebook",
20                     "$ xns" : "Gtk",
21                     "items" : [
22                         {
23                             "id" : "label_global",
24                             "xtype" : "Label",
25                             "* pack" : false,
26                             "$ xns" : "Gtk",
27                             "utf8 label" : "Global"
28                         },
29                         {
30                             "id" : "label_targets",
31                             "* pack" : false,
32                             "xtype" : "Label",
33                             "$ xns" : "Gtk",
34                             "utf8 label" : "Targets"
35                         },
36                         {
37                             "xtype" : "VBox",
38                             "* pack" : "append_page,_this.label_global.el",
39                             "gboolean homogeneous" : false,
40                             "$ xns" : "Gtk",
41                             "items" : [
42                                 {
43                                     "xtype" : "Label",
44                                     "* pack" : "pack_start,false,false,0",
45                                     "$ xns" : "Gtk",
46                                     "utf8 label" : "compile flags"
47                                 },
48                                 {
49                                     "id" : "compile_flags",
50                                     "xtype" : "Entry",
51                                     "* pack" : "pack_start,false,false,0",
52                                     "$ xns" : "Gtk"
53                                 },
54                                 {
55                                     "xtype" : "Label",
56                                     "* pack" : "pack_start,false,false,0",
57                                     "$ xns" : "Gtk",
58                                     "utf8 label" : "packages"
59                                 },
60                                 {
61                                     "* pack" : "pack_start,true,true,0",
62                                     "xtype" : "ScrolledWindow",
63                                     "$ xns" : "Gtk",
64                                     "items" : [
65                                         {
66                                             "gboolean headers_visible" : false,
67                                             "* pack" : "add",
68                                             "xtype" : "TreeView",
69                                             "string id" : "default_packages_tree",
70                                             "$ xns" : "Gtk",
71                                             "items" : [
72                                                 {
73                                                     "id" : "default_packages_tree_store",
74                                                     "* pack" : "set_model",
75                                                     "xtype" : "ListStore",
76                                                     "$ n_columns" : 2,
77                                                     "| void load" : "() {\n \n    var def = _this.project.compilegroups.get(\"_default_\");\n     var items  = def.packages;\n    \n    this.el.clear();\n    var pal = (Palete.Gtk) Palete.factory(\"Gtk\");\n    var pkgs = pal.packages();\n    print(\"ValaProjectSettings:packages load %d\\n\", pkgs.size);\n\n    Gtk.TreeIter citer;\n\n    for(var i =0 ; i < pkgs.size; i++) {\n         this.el.append(out citer);   \n         \n        this.el.set_value(citer, 0,   pkgs.get(i) ); // title \n        this.el.set_value(citer, 1,   items.contains(pkgs.get(i)) );\n    }\n    this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);\n    \n}\n",
78                                                     "$ columns" : "    typeof(string),  // 0 key type\n      typeof(bool)",
79                                                     "$ xns" : "Gtk"
80                                                 },
81                                                 {
82                                                     "utf8 title" : "name",
83                                                     "* init" : " \n this.el.add_attribute(_this.packages_render.el , \"text\", 0 );\n  ",
84                                                     "* pack" : "append_column",
85                                                     "xtype" : "TreeViewColumn",
86                                                     "gboolean resizable" : true,
87                                                     "gboolean expand" : true,
88                                                     "$ xns" : "Gtk",
89                                                     "items" : [
90                                                         {
91                                                             "id" : "packages_render",
92                                                             "* pack" : "pack_start,false",
93                                                             "xtype" : "CellRendererText",
94                                                             "$ xns" : "Gtk"
95                                                         }
96                                                     ]
97                                                 },
98                                                 {
99                                                     "utf8 title" : "use",
100                                                     "* init" : "{\n this.el.add_attribute(_this.packages_render_use.el , \"active\", 1 );\n }",
101                                                     "* pack" : "append_column",
102                                                     "xtype" : "TreeViewColumn",
103                                                     "gboolean resizable" : false,
104                                                     "$ xns" : "Gtk",
105                                                     "gint fixed_width" : 50,
106                                                     "items" : [
107                                                         {
108                                                             "listeners" : {
109                                                                 "toggled" : "(  path_string) =>  { \n    var m = _this.default_packages_tree_store.el;\n   Gtk.TreeIter iter;\n   Gtk.TreePath path = new Gtk.TreePath.from_string (path_string);\n   m.get_iter (out iter, path);\n   GLib.Value val;\n   m.get_value(iter, 1, out val);\n   m.set_value(iter, 1,  ((bool) val) ? false :true); \n     GLib.Value fval;  \n   m.get_value(iter, 0, out fval);\n   var fn = (string)fval;\n    \n    var def = _this.project.compilegroups.get(\"_default_\");\n    var items  = def.packages;\n    if ((bool)val) {\n        // renive\n        items.remove(fn);\n    } else {\n        items.add(fn);\n    }\n    \n}"
110                                                             },
111                                                             "id" : "packages_render_use",
112                                                             "xtype" : "CellRendererToggle",
113                                                             "* pack" : "pack_start,false",
114                                                             "$ xns" : "Gtk",
115                                                             "gboolean activatable" : true
116                                                         }
117                                                     ]
118                                                 }
119                                             ]
120                                         }
121                                     ]
122                                 },
123                                 {
124                                     "xtype" : "Label",
125                                     "* pack" : "pack_start,false,false,0",
126                                     "$ xns" : "Gtk",
127                                     "utf8 label" : "Available Directories"
128                                 },
129                                 {
130                                     "* pack" : "pack_start,true,true,0",
131                                     "xtype" : "ScrolledWindow",
132                                     "$ xns" : "Gtk",
133                                     "items" : [
134                                         {
135                                             "listeners" : {
136                                                 "button_press_event" : " ( ev) => {\n    //console.log(\"button press?\");\n   \n    \n    if (ev.type != Gdk.EventType.BUTTON_PRESS  || ev.button != 3) {\n        //print(\"click\" + ev.type);\n        return false;\n    }\n    //Gtk.TreePath res;\n    //if (!this.el.get_path_at_pos((int)ev.x,(int)ev.y, out res, null, null, null) ) {\n    //    return true;\n    //}\n     \n  //  this.el.get_selection().select_path(res);\n     \n      //if (!this.get('/LeftTreeMenu').el)  { \n      //      this.get('/LeftTreeMenu').init(); \n      //  }\n        \n     _this.default_directory_menu.el.set_screen(Gdk.Screen.get_default());\n     _this.default_directory_menu.el.show_all();\n      _this.default_directory_menu.el.popup(null, null, null,  3, ev.time);\n     //   print(\"click:\" + res.path.to_string());\n      return true;\n}"
137                                             },
138                                             "gboolean headers_visible" : false,
139                                             "id" : "default_directory_tree",
140                                             "* pack" : "add",
141                                             "xtype" : "TreeView",
142                                             "$ xns" : "Gtk",
143                                             "items" : [
144                                                 {
145                                                     "id" : "default_directory_tree_store",
146                                                     "* pack" : "set_model",
147                                                     "xtype" : "ListStore",
148                                                     "$ n_columns" : 1,
149                                                     "| void load" : "() {\n \n  this.el.clear();\n  \n    \n     var def = _this.project.compilegroups.get(\"_default_\");\n     var items  = def.sources;\n     \n \n    Gtk.TreeIter citer;\n\n    for(var i =0 ; i < items.size; i++) {\n         this.el.append(out citer);   \n         \n        this.el.set_value(citer, 0,   items.get(i) ); // title \n        //this.el.set_value(citer, 1,   items.get(i) );\n    }\n    this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);\n    \n}\n",
150                                                     "$ columns" : "    typeof(string)\n     ",
151                                                     "$ xns" : "Gtk"
152                                                 },
153                                                 {
154                                                     "utf8 title" : "name",
155                                                     "* init" : "\n this.el.add_attribute(_this.directory_render.el , \"text\", 0 );\n  ",
156                                                     "* pack" : "append_column",
157                                                     "xtype" : "TreeViewColumn",
158                                                     "gboolean resizable" : true,
159                                                     "$ xns" : "Gtk",
160                                                     "items" : [
161                                                         {
162                                                             "id" : "directory_render",
163                                                             "* pack" : "pack_start,false",
164                                                             "xtype" : "CellRendererText",
165                                                             "$ xns" : "Gtk"
166                                                         }
167                                                     ]
168                                                 }
169                                             ]
170                                         },
171                                         {
172                                             "id" : "default_directory_menu",
173                                             "xtype" : "Menu",
174                                             "$ xns" : "Gtk",
175                                             "items" : [
176                                                 {
177                                                     "listeners" : {
178                                                         "activate" : "()  => {\n    \n    var  chooser = new Gtk.FileChooserDialog (\n\t\"Add a directory\", _this.window.el, Gtk.FileChooserAction.SELECT_FOLDER ,\n\t\"_Cancel\",\n\tGtk.ResponseType.CANCEL,\n\t\"_Add\",\n\tGtk.ResponseType.ACCEPT);\n    if (chooser.run () != Gtk.ResponseType.ACCEPT) {\n        chooser.close ();\n           return;\n       }\n       chooser.close ();\n       // add the directory..\n       var fn = _this.project.relPath(chooser.get_filename());\n       _this.project.compilegroups.get(\"_default_\").sources.add(fn);\n       _this.default_directory_tree_store.load();\n}"
179                                                     },
180                                                     "* pack" : "add",
181                                                     "xtype" : "MenuItem",
182                                                     "$ xns" : "Gtk",
183                                                     "utf8 label" : "Add Directory"
184                                                 },
185                                                 {
186                                                     "listeners" : {
187                                                         "activate" : "()  => {\n    \n    var  chooser = new Gtk.FileChooserDialog (\n\t\"Add a directory\", _this.window.el, Gtk.FileChooserAction.OPEN ,\n\t\"_Cancel\",\n\tGtk.ResponseType.CANCEL,\n\t\"_Add\",\n\tGtk.ResponseType.ACCEPT);\n    if (chooser.run () != Gtk.ResponseType.ACCEPT) {\n        chooser.close ();\n           return;\n       }\n       chooser.close ();\n       // add the directory..\n       var fn = _this.project.relPath(chooser.get_filename());\n       _this.project.compilegroups.get(\"_default_\").sources.add(fn);\n       _this.default_directory_tree_store.load();\n}"
188                                                     },
189                                                     "* pack" : "add",
190                                                     "xtype" : "MenuItem",
191                                                     "$ xns" : "Gtk",
192                                                     "utf8 label" : "Add File"
193                                                 },
194                                                 {
195                                                     "* pack" : "add",
196                                                     "xtype" : "SeparatorMenuItem",
197                                                     "$ xns" : "Gtk"
198                                                 },
199                                                 {
200                                                     "listeners" : {
201                                                         "activate" : "()  => {\n    \n     //\n        Gtk.TreeModel mod;\n        Gtk.TreeIter iter;\n        if (!_this.default_directory_tree.el.get_selection().get_selected(out mod, out iter)) {\n               print(\"nothing selected\\n\");\n            return;\n        }\n\n            \n       // add the directory..\n       \n       \n       GLib.Value val;\n        mod.get_value(iter,0, out val);\n       var fn =  (string) val;\n       \n       print(\"remove: %s\\n\", fn);\n       if (!_this.project.compilegroups.get(\"_default_\").sources.remove(fn)) {\n                  print(\"remove failed\");\n              }\n       _this.default_directory_tree_store.load();\n}"
202                                                     },
203                                                     "* pack" : "add",
204                                                     "xtype" : "MenuItem",
205                                                     "$ xns" : "Gtk",
206                                                     "utf8 label" : "Remove File/Directory"
207                                                 }
208                                             ]
209                                         }
210                                     ]
211                                 }
212                             ]
213                         },
214                         {
215                             "gint position" : 300,
216                             "xtype" : "HPaned",
217                             "* pack" : "append_page,_this.label_targets.el",
218                             "$ xns" : "Gtk",
219                             "items" : [
220                                 {
221                                     "* init" : "{  \nthis.el.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);\n\n}\n",
222                                     "xtype" : "ScrolledWindow",
223                                     "* pack" : "add1",
224                                     "$ xns" : "Gtk",
225                                     "items" : [
226                                         {
227                                             "id" : "targets_tree_menu",
228                                             "* pack" : "add",
229                                             "xtype" : "Menu",
230                                             "$ xns" : "Gtk",
231                                             "items" : [
232                                                 {
233                                                     "listeners" : {
234                                                         "activate" : "()  => {\n    \n       if (_this.project.compilegroups.has_key(\"NEW GROUP\")) {\n        return;\n    }\n      \n       // add the directory..\n       \n       _this.project.compilegroups.set(\"NEW GROUP\", new Project.GtkValaSettings(\"NEW GROUP\"));\n       _this.targets_tree_store.load();\n}"
235                                                     },
236                                                     "* pack" : "add",
237                                                     "xtype" : "MenuItem",
238                                                     "$ xns" : "Gtk",
239                                                     "utf8 label" : "Add Compile Target"
240                                                 },
241                                                 {
242                                                     "* pack" : "add",
243                                                     "xtype" : "SeparatorMenuItem",
244                                                     "$ xns" : "Gtk"
245                                                 },
246                                                 {
247                                                     "listeners" : {
248                                                         "activate" : "()  => {\n    \n     //\n        Gtk.TreeModel mod;\n        Gtk.TreeIter iter;\n        if (!_this.targets_tree.el.get_selection().get_selected(out mod, out iter)) {\n               print(\"nothing selected\\n\");\n            return;\n        }\n\n            \n       // add the directory..\n       \n       \n       GLib.Value val;\n        mod.get_value(iter,0, out val);\n       var fn =  (string) val;\n       \n       print(\"remove: %s\\n\", fn);\n       if (!_this.project.compilegroups.unset(fn)) {\n                  print(\"remove failed\");\n      }\n       _this.targets_tree_store.load();\n}"
249                                                     },
250                                                     "* pack" : "add",
251                                                     "xtype" : "MenuItem",
252                                                     "$ xns" : "Gtk",
253                                                     "utf8 label" : "Remove Target"
254                                                 }
255                                             ]
256                                         },
257                                         {
258                                             "listeners" : {
259                                                 "button_press_event" : " ( ev) => {\n    //console.log(\"button press?\");\n   \n    \n    if (ev.type != Gdk.EventType.BUTTON_PRESS  || ev.button != 3) {\n        //print(\"click\" + ev.type);\n        return false;\n    }\n    //Gtk.TreePath res;\n    //if (!this.el.get_path_at_pos((int)ev.x,(int)ev.y, out res, null, null, null) ) {\n    //    return true;\n    //}\n     \n  //  this.el.get_selection().select_path(res);\n     \n      //if (!this.get('/LeftTreeMenu').el)  { \n      //      this.get('/LeftTreeMenu').init(); \n      //  }\n        \n     _this.targets_tree_menu.el.set_screen(Gdk.Screen.get_default());\n     _this.targets_tree_menu.el.show_all();\n      _this.targets_tree_menu.el.popup(null, null, null,  3, ev.time);\n     //   print(\"click:\" + res.path.to_string());\n      return true;\n}",
260                                                 "cursor_changed" : " ( ) => {\n\n    if (this.cursor != \"\") {\n         // save the values..\n     }\n     \n     // load the new values.\n     \n\n         Gtk.TreeModel mod;\n        Gtk.TreeIter iter;\n        if (!this.el.get_selection().get_selected(out mod, out iter)) {\n               print(\"nothing selected\\n\");\n            return;\n        }\n\n            \n       // add the directory..\n       \n       \n       GLib.Value val;\n        mod.get_value(iter,0, out val);\n       var fn =  (string) val;\n       \n       this.cursor = fn;\n       var cg = _this.project.compilegroups.get(fn);\n       _this.build_pack_target.el.set_text(cg.target_bin);\n       _this.build_compile_flags.el.set_text(cg.compile_flags);\n       // load the srouces\n\n\n  }"
261                                             },
262                                             "id" : "targets_tree",
263                                             "# string cursor" : "",
264                                             "* pack" : "add",
265                                             "xtype" : "TreeView",
266                                             "$ xns" : "Gtk",
267                                             "items" : [
268                                                 {
269                                                     "id" : "targets_tree_store",
270                                                     "xtype" : "ListStore",
271                                                     "* pack" : "set_model",
272                                                     "$ n_columns" : 2,
273                                                     "| void load" : "() {\n \n  this.el.clear();\n  \n    \n     var cg = _this.project.compilegroups;\n     \n   _this.targets_tree.cursor = \"\";\n    Gtk.TreeIter citer;\n    var iter = cg.map_iterator();\n   while(iter.next()) {\n        var key = iter.get_key();\n        if (key == \"_default_\") {\n            continue;\n        }\n    \n         this.el.append(out citer);   \n         \n        this.el.set_value(citer, 0,   key ); // title \n        //this.el.set_value(citer, 1,   items.get(i) );\n    };\n    this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);\n    \n}\n",
274                                                     "$ columns" : "    typeof(string),  // 0 key type\n     typeof(string) // ??\n     ",
275                                                     "$ xns" : "Gtk"
276                                                 },
277                                                 {
278                                                     "utf8 title" : "name",
279                                                     "* init" : " {\n     this.el.add_attribute(_this.targets_render.el , \"text\", 0 );\n }",
280                                                     "* pack" : "append_column",
281                                                     "xtype" : "TreeViewColumn",
282                                                     "gboolean resizable" : true,
283                                                     "$ xns" : "Gtk",
284                                                     "items" : [
285                                                         {
286                                                             "listeners" : {
287                                                                 "edited" : "  (path, newtext) => {\n     \n     Gtk.TreeIter  iter;\n        _this.targets_tree_store.el.get_iter(out iter, new Gtk.TreePath.from_string(path));\n       GLib.Value gval;\n        _this.targets_tree_store.el.get_value(iter,0, out gval);\n        var oldval = (string)gval;\n       if (oldval == newtext) {\n          return;\n        }\n         var cg = _this.project.compilegroups.get(oldval);\n        cg.name = newtext;\n        _this.project.compilegroups.unset(oldval);\n        _this.project.compilegroups.set(newtext, cg);\n    _this.targets_tree_store.load();\n  }"
288                                                             },
289                                                             "id" : "targets_render",
290                                                             "xtype" : "CellRendererText",
291                                                             "* pack" : "pack_start,false",
292                                                             "$ xns" : "Gtk",
293                                                             "gboolean editable" : true
294                                                         }
295                                                     ]
296                                                 }
297                                             ]
298                                         }
299                                     ]
300                                 },
301                                 {
302                                     "xtype" : "VBox",
303                                     "* pack" : "add2",
304                                     "string id" : "set_vbox",
305                                     "gboolean homogeneous" : false,
306                                     "$ xns" : "Gtk",
307                                     "items" : [
308                                         {
309                                             "xtype" : "Label",
310                                             "* pack" : "pack_start,false,false,0",
311                                             "$ xns" : "Gtk",
312                                             "utf8 label" : "target filename"
313                                         },
314                                         {
315                                             "listeners" : {
316                                                 "changed" : "()  => {\n        if (_this.targets_tree.cursor.length < 1) {\n        return;\n    }\n    _this.project.compilegroups.get(_this.targets_tree.cursor).target_bin = this.el.text;\n}"
317                                             },
318                                             "id" : "build_pack_target",
319                                             "xtype" : "Entry",
320                                             "* pack" : "pack_start,false,false,0",
321                                             "$ xns" : "Gtk"
322                                         },
323                                         {
324                                             "xtype" : "Label",
325                                             "* pack" : "pack_start,false,false,0",
326                                             "$ xns" : "Gtk",
327                                             "utf8 label" : "compile flags"
328                                         },
329                                         {
330                                             "listeners" : {
331                                                 "changed" : "() => {\n    if (_this.targets_tree.cursor.length < 1) {\n        return;\n    }\n    _this.project.compilegroups.get(_this.targets_tree.cursor).compile_flags = this.el.text;\n}"
332                                             },
333                                             "id" : "build_compile_flags",
334                                             "xtype" : "Entry",
335                                             "* pack" : "pack_start,false,false,0",
336                                             "$ xns" : "Gtk"
337                                         },
338                                         {
339                                             "xtype" : "Label",
340                                             "* pack" : "pack_start,false,false,0",
341                                             "$ xns" : "Gtk",
342                                             "utf8 label" : "Files to compile"
343                                         },
344                                         {
345                                             "* pack" : "pack_start,true,true,0",
346                                             "xtype" : "ScrolledWindow",
347                                             "$ xns" : "Gtk",
348                                             "items" : [
349                                                 {
350                                                     "xtype" : "TreeView",
351                                                     "string id" : "files_tree",
352                                                     "$ xns" : "Gtk",
353                                                     "items" : [
354                                                         {
355                                                             "id" : "files_tree_store",
356                                                             "xtype" : "ListStore",
357                                                             "* pack" : "set_model",
358                                                             "$ n_columns" : 2,
359                                                             "| void load" : "() {\n \n  this.el.clear();\n  \n    \n     var def = _this.project.compilegroups.get(\"_default_\");\n     var items  = def.sources;\n     \n \n    Gtk.TreeIter citer;\n\n    for(var i =0 ; i < items.size; i++) {\n         this.el.append(out citer);   \n         \n        this.el.set_value(citer, 0,   items.get(i) ); // title \n        this.el.set_value(citer, 1,   \"dir\"); // type         \n        this.el.set_value(citer, 2,   false ); // checked \n        /*\n        var files = def.files(items.get(i));\n        \n         for(var j =0 ; j < files.size; j++) {\n            this.el.append(out citer);   \n         \n            this.el.set_value(citer, 0,   files.get(j) ); // title \n            this.el.set_value(citer, 1,   \"file\"); // type         \n            this.el.set_value(citer, 2,   false ); // checked \n\n        }\n        */\n        \n        //this.el.set_value(citer, 1,   items.get(i) );\n    }\n    this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);\n    \n}\n ",
360                                                             "$ columns" : "    typeof(string),  // 0 file name\n     typeof(string), // type (dir orfile)\n     typeof(bool)  // is checked.\n     ",
361                                                             "$ xns" : "Gtk"
362                                                         },
363                                                         {
364                                                             "utf8 title" : "name",
365                                                             "* init" : "/* this.el.add_attribute(_this.files_render.el , \"markup\", 2 );\n// this.el.add_attribute(_this.files_render.el , \"text\", 1 ); */\n \n",
366                                                             "* pack" : "append_column",
367                                                             "xtype" : "TreeViewColumn",
368                                                             "gboolean resizable" : true,
369                                                             "$ xns" : "Gtk",
370                                                             "items" : [
371                                                                 {
372                                                                     "id" : "files_render",
373                                                                     "* pack" : "pack_start,false",
374                                                                     "xtype" : "CellRendererText",
375                                                                     "$ xns" : "Gtk"
376                                                                 }
377                                                             ]
378                                                         },
379                                                         {
380                                                             "utf8 title" : "use",
381                                                             "* init" : "/*\n\n this.el.add_attribute(_this.packages_render_use.el , \"active\", 1 );\n \n */\n ",
382                                                             "* pack" : "append_column",
383                                                             "xtype" : "TreeViewColumn",
384                                                             "gboolean resizable" : false,
385                                                             "$ xns" : "Gtk",
386                                                             "gint fixed_width" : 50,
387                                                             "items" : [
388                                                                 {
389                                                                     "listeners" : {
390                                                                         "toggled" : "(  path_string) =>  { \n    var m = _this.default_packages_tree_store.el;\n   Gtk.TreeIter iter;\n   Gtk.TreePath path = new Gtk.TreePath.from_string (path_string);\n   m.get_iter (out iter, path);\n   GLib.Value val;\n   m.get_value(iter, 1, out val);\n   m.set_value(iter, 1,  ((bool) val) ? false :true); \n     GLib.Value fval;  \n   m.get_value(iter, 0, out fval);\n   var fn = (string)fval;\n    \n    var def = _this.project.compilegroups.get(\"_default_\");\n    var items  = def.packages;\n    if ((bool)val) {\n        // renive\n        items.remove(fn);\n    } else {\n        items.add(fn);\n    }\n    \n}"
391                                                                     },
392                                                                     "id" : "files_render_use",
393                                                                     "xtype" : "CellRendererToggle",
394                                                                     "* pack" : "pack_start,false",
395                                                                     "$ xns" : "Gtk",
396                                                                     "gboolean activatable" : true
397                                                                 }
398                                                             ]
399                                                         }
400                                                     ]
401                                                 }
402                                             ]
403                                         }
404                                     ]
405                                 }
406                             ]
407                         }
408                     ]
409                 }
410             ]
411         }
412     ]
413 }