--- /dev/null
+{
+ "name" : "ValaProjectSettingsPopover",
+ "parent" : "",
+ "title" : "",
+ "path" : "/home/alan/gitlive/roobuilder/src/Builder4/ValaProjectSettingsPopover.bjs",
+ "permname" : "",
+ "modOrder" : "",
+ "build_module" : "builder",
+ "items" : [
+ {
+ "id" : "ValaProjectSettingsPopover",
+ "| void show" : "(Gtk.Widget btn, Project.Gtk project) {\n \n //print(\"ValaProjectSettings show\\n\");\n \n this.project= project;\n\n this.compile_flags.el.text = _this.project.compilegroups.get(\"_default_\").compile_flags;\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\tthis.el.set_modal(true);\n\tthis.el.set_relative_to(btn);\n\n\tthis.el.set_position(Gtk.PositionType.RIGHT);\n\n\t// window + header?\n\t// print(\"SHOWALL - POPIP\\n\");\n\tthis.el.show_all();\n\t//this.view.el.grab_focus();\n\n}\n",
+ "Xcls_MainWindow window" : "null",
+ "Project.Gtk project" : "null",
+ "xtype" : "Popover",
+ "Gtk.PositionType position" : "Gtk.PositionType.RIGHT",
+ "| void save" : "() {\n this.project.writeConfig(); \n}",
+ "$ xns" : "Gtk",
+ "bool modal" : true,
+ "uint border_width" : 0,
+ "items" : [
+ {
+ "bool hexpand" : true,
+ "xtype" : "Box",
+ "$ xns" : "Gtk",
+ "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
+ "items" : [
+ {
+ "* pack" : "pack_start,true,true,0",
+ "xtype" : "Notebook",
+ "$ xns" : "Gtk",
+ "items" : [
+ {
+ "id" : "label_global",
+ "* pack" : false,
+ "xtype" : "Label",
+ "$ xns" : "Gtk",
+ "utf8 label" : "Global"
+ },
+ {
+ "id" : "label_targets",
+ "xtype" : "Label",
+ "* pack" : false,
+ "$ xns" : "Gtk",
+ "utf8 label" : "Targets"
+ },
+ {
+ "xtype" : "Box",
+ "* pack" : "append_page,_this.label_global.el",
+ "gboolean homogeneous" : false,
+ "$ xns" : "Gtk",
+ "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
+ "items" : [
+ {
+ "xtype" : "Label",
+ "* pack" : "pack_start,false,false,0",
+ "$ xns" : "Gtk",
+ "utf8 label" : "compile flags"
+ },
+ {
+ "listeners" : {
+ "changed" : "() => {\n \n _this.project.compilegroups.get(\"_default_\").compile_flags = this.el.text;\n _this.project.writeConfig();\n// _this.project.save();\n\n}"
+ },
+ "id" : "compile_flags",
+ "* pack" : "pack_start,false,false,0",
+ "xtype" : "Entry",
+ "$ xns" : "Gtk",
+ "utf8 placeholder_text" : "eg. -g --valasrc $BASEDIR "
+ },
+ {
+ "* pack" : "pack_start,true,true,0",
+ "xtype" : "Paned",
+ "$ xns" : "Gtk",
+ "int position" : 300,
+ "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL",
+ "items" : [
+ {
+ "bool hexpand" : true,
+ "* pack" : "add",
+ "xtype" : "ScrolledWindow",
+ "$ xns" : "Gtk",
+ "items" : [
+ {
+ "gboolean headers_visible" : true,
+ "xtype" : "TreeView",
+ "* pack" : "add",
+ "string id" : "default_packages_tree",
+ "$ xns" : "Gtk",
+ "items" : [
+ {
+ "id" : "default_packages_tree_store",
+ "xtype" : "ListStore",
+ "* pack" : "set_model",
+ "$ n_columns" : 2,
+ "| 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(_this.project);\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",
+ "$ columns" : " typeof(string), // 0 key type\n typeof(bool)",
+ "$ xns" : "Gtk"
+ },
+ {
+ "utf8 title" : "package name",
+ "* init" : " \n this.el.add_attribute(_this.packages_render.el , \"text\", 0 );\n ",
+ "* pack" : "append_column",
+ "xtype" : "TreeViewColumn",
+ "gboolean resizable" : true,
+ "gboolean expand" : true,
+ "$ xns" : "Gtk",
+ "items" : [
+ {
+ "id" : "packages_render",
+ "xtype" : "CellRendererText",
+ "* pack" : "pack_start,false",
+ "$ xns" : "Gtk"
+ }
+ ]
+ },
+ {
+ "utf8 title" : "use",
+ "* init" : "{\n this.el.add_attribute(_this.packages_render_use.el , \"active\", 1 );\n }",
+ "* pack" : "append_column",
+ "xtype" : "TreeViewColumn",
+ "gboolean resizable" : false,
+ "$ xns" : "Gtk",
+ "gint fixed_width" : 50,
+ "items" : [
+ {
+ "listeners" : {
+ "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}"
+ },
+ "id" : "packages_render_use",
+ "* pack" : "pack_start,false",
+ "xtype" : "CellRendererToggle",
+ "$ xns" : "Gtk",
+ "gboolean activatable" : true
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "bool hexpand" : true,
+ "* pack" : "add2",
+ "xtype" : "ScrolledWindow",
+ "$ xns" : "Gtk",
+ "items" : [
+ {
+ "listeners" : {
+ "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}"
+ },
+ "gboolean headers_visible" : true,
+ "id" : "default_directory_tree",
+ "* pack" : "add",
+ "xtype" : "TreeView",
+ "$ xns" : "Gtk",
+ "items" : [
+ {
+ "id" : "default_directory_tree_store",
+ "xtype" : "ListStore",
+ "* pack" : "set_model",
+ "$ n_columns" : 1,
+ "| 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",
+ "$ columns" : " typeof(string)\n ",
+ "$ xns" : "Gtk"
+ },
+ {
+ "utf8 title" : "Available Directories (right click to add)",
+ "* init" : "\n this.el.add_attribute(_this.directory_render.el , \"text\", 0 );\n ",
+ "* pack" : "append_column",
+ "xtype" : "TreeViewColumn",
+ "gboolean resizable" : true,
+ "$ xns" : "Gtk",
+ "items" : [
+ {
+ "id" : "directory_render",
+ "xtype" : "CellRendererText",
+ "* pack" : "pack_start,false",
+ "$ xns" : "Gtk"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id" : "default_directory_menu",
+ "xtype" : "Menu",
+ "$ xns" : "Gtk",
+ "items" : [
+ {
+ "listeners" : {
+ "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}"
+ },
+ "* pack" : "add",
+ "xtype" : "MenuItem",
+ "$ xns" : "Gtk",
+ "utf8 label" : "Add Directory"
+ },
+ {
+ "listeners" : {
+ "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}"
+ },
+ "* pack" : "add",
+ "xtype" : "MenuItem",
+ "$ xns" : "Gtk",
+ "utf8 label" : "Add File"
+ },
+ {
+ "* pack" : "add",
+ "xtype" : "SeparatorMenuItem",
+ "$ xns" : "Gtk"
+ },
+ {
+ "listeners" : {
+ "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}"
+ },
+ "* pack" : "add",
+ "xtype" : "MenuItem",
+ "$ xns" : "Gtk",
+ "utf8 label" : "Remove File/Directory"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "gint position" : 300,
+ "* pack" : "append_page,_this.label_targets.el",
+ "xtype" : "Paned",
+ "$ xns" : "Gtk",
+ "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL",
+ "items" : [
+ {
+ "* init" : "{ \nthis.el.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);\n\n}\n",
+ "* pack" : "add1",
+ "xtype" : "ScrolledWindow",
+ "$ xns" : "Gtk",
+ "items" : [
+ {
+ "id" : "targets_tree_menu",
+ "xtype" : "Menu",
+ "* pack" : "add",
+ "$ xns" : "Gtk",
+ "items" : [
+ {
+ "listeners" : {
+ "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}"
+ },
+ "* pack" : "add",
+ "xtype" : "MenuItem",
+ "$ xns" : "Gtk",
+ "utf8 label" : "Add Compile Target"
+ },
+ {
+ "* pack" : "add",
+ "xtype" : "SeparatorMenuItem",
+ "$ xns" : "Gtk"
+ },
+ {
+ "listeners" : {
+ "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}"
+ },
+ "* pack" : "add",
+ "xtype" : "MenuItem",
+ "$ xns" : "Gtk",
+ "utf8 label" : "Remove Target"
+ }
+ ]
+ },
+ {
+ "listeners" : {
+ "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}",
+ "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 // should disable the right hand side..\n _this.set_vbox.el.hide();\n return;\n }\n _this.set_vbox.el.show();\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 \n _this.build_pack_target.el.set_text(cg.target_bin);\n _this.build_compile_flags.el.set_text(cg.compile_flags);\n\t\t_this.build_execute_args.el.set_text(cg.execute_args);\n \n _this.set_vbox.cgroup = cg;\n _this.files_tree_store.update();\n \n // load the srouces\n \n\n }"
+ },
+ "id" : "targets_tree",
+ "# string cursor" : "",
+ "* pack" : "add",
+ "xtype" : "TreeView",
+ "$ xns" : "Gtk",
+ "items" : [
+ {
+ "id" : "targets_tree_store",
+ "* pack" : "set_model",
+ "xtype" : "ListStore",
+ "$ n_columns" : 2,
+ "| 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 _this.set_vbox.el.hide();\n}\n",
+ "$ columns" : " typeof(string), // 0 key type\n typeof(string) // ??\n ",
+ "$ xns" : "Gtk"
+ },
+ {
+ "utf8 title" : "name",
+ "* init" : " {\n this.el.add_attribute(_this.targets_render.el , \"text\", 0 );\n }",
+ "* pack" : "append_column",
+ "xtype" : "TreeViewColumn",
+ "gboolean resizable" : true,
+ "$ xns" : "Gtk",
+ "items" : [
+ {
+ "listeners" : {
+ "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 }"
+ },
+ "id" : "targets_render",
+ "* pack" : "pack_start,false",
+ "xtype" : "CellRendererText",
+ "$ xns" : "Gtk",
+ "gboolean editable" : true
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id" : "set_vbox",
+ "* pack" : "add2",
+ "xtype" : "Box",
+ "gboolean homogeneous" : false,
+ "$ xns" : "Gtk",
+ "# Project.GtkValaSettings cgroup" : "null",
+ "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
+ "items" : [
+ {
+ "xtype" : "Label",
+ "* pack" : "pack_start,false,false,0",
+ "$ xns" : "Gtk",
+ "utf8 label" : "target filename"
+ },
+ {
+ "listeners" : {
+ "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}"
+ },
+ "id" : "build_pack_target",
+ "* pack" : "pack_start,false,false,0",
+ "xtype" : "Entry",
+ "$ xns" : "Gtk"
+ },
+ {
+ "xtype" : "Label",
+ "* pack" : "pack_start,false,false,0",
+ "$ xns" : "Gtk",
+ "utf8 label" : "compile flags"
+ },
+ {
+ "listeners" : {
+ "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}"
+ },
+ "id" : "build_compile_flags",
+ "* pack" : "pack_start,false,false,0",
+ "xtype" : "Entry",
+ "$ xns" : "Gtk"
+ },
+ {
+ "xtype" : "Label",
+ "* pack" : "pack_start,false,false,0",
+ "$ xns" : "Gtk",
+ "utf8 label" : "test argments - when run after a build"
+ },
+ {
+ "listeners" : {
+ "changed" : "() => {\n if (_this.targets_tree.cursor.length < 1) {\n return;\n }\n _this.project.compilegroups.get(_this.targets_tree.cursor).execute_args = this.el.text;\n}"
+ },
+ "id" : "build_execute_args",
+ "string placeholder_text" : "eg. -f somefile -g ",
+ "xtype" : "Entry",
+ "* pack" : "pack_start,false,false,0",
+ "$ xns" : "Gtk"
+ },
+ {
+ "xtype" : "Label",
+ "* pack" : "pack_start,false,false,0",
+ "$ xns" : "Gtk",
+ "utf8 label" : "Files to compile"
+ },
+ {
+ "* pack" : "pack_start,true,true,0",
+ "xtype" : "ScrolledWindow",
+ "$ xns" : "Gtk",
+ "items" : [
+ {
+ "xtype" : "TreeView",
+ "* pack" : "add",
+ "string id" : "files_tree",
+ "$ xns" : "Gtk",
+ "items" : [
+ {
+ "id" : "files_tree_store",
+ "* pack" : "set_model",
+ "xtype" : "ListStore",
+ "| void updateDir" : "(string dname, bool bval) {\n \n Gtk.TreeIter citer;\n\n var cg = _this.set_vbox.cgroup;\n for(var i =0 ; i < this.el.iter_n_children(null); i++) {\n this.el.iter_nth_child(out citer,null,i);\n\n GLib.Value val;\n this.el.get_value(citer,0, out val);\n var fn = (string) val;\n \n if ( Path.get_dirname (fn) == dname) {\n \n this.el.set_value(citer, 3, bval ); // checked \n \n \n \n if (!bval) {\n // renive\n if (cg.sources.contains(fn)) {\n cg.sources.remove(fn);\n }\n } else {\n if (!cg.sources.contains(fn)) {\n cg.sources.add(fn);\n }\n }\n \n \n }\n }\n\n}\n",
+ "$ n_columns" : 4,
+ "| 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 \n \n \n Gtk.TreeIter citer;\n\n for(var i =0 ; i < items.size; i++) {\n \n var files = _this.project.filesForCompile(items.get(i), false);\n if (files.size < 1) {\n continue;\n }\n \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, \"<span foreground=\\\"green\\\" font_weight=\\\"bold\\\">\" + \n GLib.Markup.escape_text(items.get(i)) + \"</span>\"\n ); // title \n print(\"ADD item %s\", items.get(i));\n this.el.set_value(citer, 2, \"dir\"); // type \n this.el.set_value(citer, 3, false ); // checked \n\n \n \n for(var j =0 ; j < files.size; j++) {\n this.el.append(out citer); \n print(\"ADD item %s\", files.get(j));\n this.el.set_value(citer, 0, files.get(j) ); // title \n this.el.set_value(citer, 1, GLib.Markup.escape_text( Path.get_basename (files.get(j))) ); // title \n this.el.set_value(citer, 2, \"file\"); // type \n this.el.set_value(citer, 3, 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 ",
+ "$ columns" : " typeof(string), // 0 file name\n typeof(string), // 0 basename\n typeof(string), // type (dir orfile)\n typeof(bool) // is checked.\n ",
+ "$ xns" : "Gtk",
+ "| void update" : "() {\n\n\n Gtk.TreeIter citer;\n\n for(var i =0 ; i < this.el.iter_n_children(null); i++) {\n this.el.iter_nth_child(out citer,null,i);\n\n GLib.Value val;\n this.el.get_value(citer,0, out val);\n var fn = (string) val;\n \n var active = false;\n if (_this.set_vbox.cgroup.sources.contains(fn)) {\n active = true;\n }\n \n this.el.set_value(citer, 3, active ); // checked \n }\n\n\n}\n"
+ },
+ {
+ "utf8 title" : "name",
+ "* init" : "\n this.el.add_attribute(_this.files_render.el , \"markup\", 1 ); // basnemae\n \n/* this.el.add_attribute(_this.files_render.el , \"markup\", 2 );\n*/",
+ "* pack" : "append_column",
+ "xtype" : "TreeViewColumn",
+ "gboolean resizable" : true,
+ "$ xns" : "Gtk",
+ "items" : [
+ {
+ "id" : "files_render",
+ "xtype" : "CellRendererText",
+ "* pack" : "pack_start,false",
+ "$ xns" : "Gtk"
+ }
+ ]
+ },
+ {
+ "utf8 title" : "use",
+ "* init" : "{\n this.el.add_attribute(_this.files_render_use.el , \"active\", 3 );\n }",
+ "* pack" : "append_column",
+ "xtype" : "TreeViewColumn",
+ "gboolean resizable" : false,
+ "$ xns" : "Gtk",
+ "gint fixed_width" : 50,
+ "items" : [
+ {
+ "listeners" : {
+ "toggled" : "( path_string) => { \n\n\n\n var m = _this.files_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, 3, out val);\n m.set_value(iter, 3, ((bool) val) ? false :true); \n \n // type.\n GLib.Value ftval; \n m.get_value(iter, 2, out ftval);\n var ftype = (string)ftval; \n \n // full name... \n GLib.Value fval; \n m.get_value(iter, 0, out fval);\n var fn = (string)fval;\n \n \n var cg = _this.set_vbox.cgroup;\n // what's the sleected target?\n // update the list..\n // if ftype is a dir == then toggle all the bellow.\n \n if (ftype == \"dir\") {\n _this.files_tree_store.updateDir(fn, ((bool) val) ? false :true);\n }\n \n // if ftype is a file .. see if all the files in that directory are check and check the dir.\n\n \n if ((bool)val) {\n // renive\n cg.sources.remove(fn);\n } else {\n cg.sources.add(fn);\n }\n \n}"
+ },
+ "id" : "files_render_use",
+ "* pack" : "pack_start,false",
+ "xtype" : "CellRendererToggle",
+ "$ xns" : "Gtk",
+ "gboolean activatable" : true
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
--- /dev/null
+static Xcls_ValaProjectSettingsPopover _ValaProjectSettingsPopover;
+
+public class Xcls_ValaProjectSettingsPopover : Object
+{
+ public Gtk.Popover el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+ public static Xcls_ValaProjectSettingsPopover singleton()
+ {
+ if (_ValaProjectSettingsPopover == null) {
+ _ValaProjectSettingsPopover= new Xcls_ValaProjectSettingsPopover();
+ }
+ return _ValaProjectSettingsPopover;
+ }
+ public Xcls_label_global label_global;
+ public Xcls_label_targets label_targets;
+ public Xcls_compile_flags compile_flags;
+ public Xcls_default_packages_tree_store default_packages_tree_store;
+ public Xcls_packages_render packages_render;
+ public Xcls_packages_render_use packages_render_use;
+ public Xcls_default_directory_tree default_directory_tree;
+ public Xcls_default_directory_tree_store default_directory_tree_store;
+ public Xcls_directory_render directory_render;
+ public Xcls_default_directory_menu default_directory_menu;
+ public Xcls_targets_tree_menu targets_tree_menu;
+ public Xcls_targets_tree targets_tree;
+ public Xcls_targets_tree_store targets_tree_store;
+ public Xcls_targets_render targets_render;
+ public Xcls_set_vbox set_vbox;
+ public Xcls_build_pack_target build_pack_target;
+ public Xcls_build_compile_flags build_compile_flags;
+ public Xcls_build_execute_args build_execute_args;
+ public Xcls_files_tree_store files_tree_store;
+ public Xcls_files_render files_render;
+ public Xcls_files_render_use files_render_use;
+
+ // my vars (def)
+ public Xcls_MainWindow window;
+ public Project.Gtk project;
+
+ // ctor
+ public Xcls_ValaProjectSettingsPopover()
+ {
+ _this = this;
+ this.el = new Gtk.Popover( null );
+
+ // my vars (dec)
+ this.window = null;
+ this.project = null;
+
+ // set gobject values
+ this.el.border_width = 0;
+ this.el.modal = true;
+ this.el.position = Gtk.PositionType.RIGHT;
+ var child_0 = new Xcls_Box2( _this );
+ child_0.ref();
+ }
+
+ // user defined functions
+ public void show (Gtk.Widget btn, Project.Gtk project) {
+
+ //print("ValaProjectSettings show\n");
+
+ this.project= project;
+
+ this.compile_flags.el.text = _this.project.compilegroups.get("_default_").compile_flags;
+
+ this.default_directory_tree_store.load();
+ this.default_packages_tree_store.load();
+ this.targets_tree_store.load();
+ this.files_tree_store.load();
+
+
+ this.el.set_modal(true);
+ this.el.set_relative_to(btn);
+
+ this.el.set_position(Gtk.PositionType.RIGHT);
+
+ // window + header?
+ // print("SHOWALL - POPIP\n");
+ this.el.show_all();
+ //this.view.el.grab_focus();
+
+ }
+ public void save () {
+ this.project.writeConfig();
+ }
+ public class Xcls_Box2 : Object
+ {
+ public Gtk.Box el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Box2(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.hexpand = true;
+ var child_0 = new Xcls_Notebook3( _this );
+ child_0.ref();
+ this.el.pack_start ( child_0.el , true,true,0 );
+ }
+
+ // user defined functions
+ }
+ public class Xcls_Notebook3 : Object
+ {
+ public Gtk.Notebook el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Notebook3(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Notebook();
+
+ // my vars (dec)
+
+ // set gobject values
+ var child_0 = new Xcls_label_global( _this );
+ child_0.ref();
+ var child_1 = new Xcls_label_targets( _this );
+ child_1.ref();
+ var child_2 = new Xcls_Box6( _this );
+ child_2.ref();
+ this.el.append_page ( child_2.el , _this.label_global.el );
+ var child_3 = new Xcls_Paned27( _this );
+ child_3.ref();
+ this.el.append_page ( child_3.el , _this.label_targets.el );
+ }
+
+ // user defined functions
+ }
+ public class Xcls_label_global : Object
+ {
+ public Gtk.Label el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_label_global(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ _this.label_global = this;
+ this.el = new Gtk.Label( "Global" );
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_label_targets : Object
+ {
+ public Gtk.Label el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_label_targets(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ _this.label_targets = this;
+ this.el = new Gtk.Label( "Targets" );
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_Box6 : Object
+ {
+ public Gtk.Box el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Box6(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.homogeneous = false;
+ var child_0 = new Xcls_Label7( _this );
+ child_0.ref();
+ this.el.pack_start ( child_0.el , false,false,0 );
+ var child_1 = new Xcls_compile_flags( _this );
+ child_1.ref();
+ this.el.pack_start ( child_1.el , false,false,0 );
+ var child_2 = new Xcls_Paned9( _this );
+ child_2.ref();
+ this.el.pack_start ( child_2.el , true,true,0 );
+ }
+
+ // user defined functions
+ }
+ public class Xcls_Label7 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label7(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "compile flags" );
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_compile_flags : Object
+ {
+ public Gtk.Entry el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_compile_flags(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ _this.compile_flags = this;
+ this.el = new Gtk.Entry();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.placeholder_text = "eg. -g --valasrc $BASEDIR ";
+
+ //listeners
+ this.el.changed.connect( () => {
+
+ _this.project.compilegroups.get("_default_").compile_flags = this.el.text;
+ _this.project.writeConfig();
+ // _this.project.save();
+
+ });
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_Paned9 : Object
+ {
+ public Gtk.Paned el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Paned9(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Paned( Gtk.Orientation.HORIZONTAL );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.position = 300;
+ var child_0 = new Xcls_ScrolledWindow10( _this );
+ child_0.ref();
+ this.el.add ( child_0.el );
+ var child_1 = new Xcls_ScrolledWindow17( _this );
+ child_1.ref();
+ this.el.add2 ( child_1.el );
+ }
+
+ // user defined functions
+ }
+ public class Xcls_ScrolledWindow10 : Object
+ {
+ public Gtk.ScrolledWindow el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_ScrolledWindow10(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.ScrolledWindow( null, null );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.hexpand = true;
+ var child_0 = new Xcls_default_packages_tree( _this );
+ child_0.ref();
+ this.el.add ( child_0.el );
+ }
+
+ // user defined functions
+ }
+ public class Xcls_default_packages_tree : Object
+ {
+ public Gtk.TreeView el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_default_packages_tree(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.TreeView();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.headers_visible = true;
+ var child_0 = new Xcls_default_packages_tree_store( _this );
+ child_0.ref();
+ this.el.set_model ( child_0.el );
+ var child_1 = new Xcls_TreeViewColumn13( _this );
+ child_1.ref();
+ this.el.append_column ( child_1.el );
+ var child_2 = new Xcls_TreeViewColumn15( _this );
+ child_2.ref();
+ this.el.append_column ( child_2.el );
+ }
+
+ // user defined functions
+ }
+ public class Xcls_default_packages_tree_store : Object
+ {
+ public Gtk.ListStore el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_default_packages_tree_store(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ _this.default_packages_tree_store = this;
+ this.el = new Gtk.ListStore( 2, typeof(string), // 0 key type
+ typeof(bool) );
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ public void load () {
+
+ var def = _this.project.compilegroups.get("_default_");
+ var items = def.packages;
+
+ this.el.clear();
+ var pal = (Palete.Gtk) Palete.factory("Gtk");
+ var pkgs = pal.packages(_this.project);
+ print("ValaProjectSettings:packages load %d\n", pkgs.size);
+
+ Gtk.TreeIter citer;
+
+ for(var i =0 ; i < pkgs.size; i++) {
+ this.el.append(out citer);
+
+ this.el.set_value(citer, 0, pkgs.get(i) ); // title
+ this.el.set_value(citer, 1, items.contains(pkgs.get(i)) );
+ }
+ this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);
+
+ }
+ }
+
+ public class Xcls_TreeViewColumn13 : Object
+ {
+ public Gtk.TreeViewColumn el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_TreeViewColumn13(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.TreeViewColumn();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.title = "package name";
+ this.el.expand = true;
+ this.el.resizable = true;
+ var child_0 = new Xcls_packages_render( _this );
+ child_0.ref();
+ this.el.pack_start ( child_0.el , false );
+
+ // init method
+
+ this.el.add_attribute(_this.packages_render.el , "text", 0 );
+ }
+
+ // user defined functions
+ }
+ public class Xcls_packages_render : Object
+ {
+ public Gtk.CellRendererText el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_packages_render(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ _this.packages_render = this;
+ this.el = new Gtk.CellRendererText();
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ }
+
+
+ public class Xcls_TreeViewColumn15 : Object
+ {
+ public Gtk.TreeViewColumn el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_TreeViewColumn15(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.TreeViewColumn();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.title = "use";
+ this.el.resizable = false;
+ this.el.fixed_width = 50;
+ var child_0 = new Xcls_packages_render_use( _this );
+ child_0.ref();
+ this.el.pack_start ( child_0.el , false );
+
+ // init method
+
+ {
+ this.el.add_attribute(_this.packages_render_use.el , "active", 1 );
+ }
+ }
+
+ // user defined functions
+ }
+ public class Xcls_packages_render_use : Object
+ {
+ public Gtk.CellRendererToggle el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_packages_render_use(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ _this.packages_render_use = this;
+ this.el = new Gtk.CellRendererToggle();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.activatable = true;
+
+ //listeners
+ this.el.toggled.connect( ( path_string) => {
+ var m = _this.default_packages_tree_store.el;
+ Gtk.TreeIter iter;
+ Gtk.TreePath path = new Gtk.TreePath.from_string (path_string);
+ m.get_iter (out iter, path);
+ GLib.Value val;
+ m.get_value(iter, 1, out val);
+ m.set_value(iter, 1, ((bool) val) ? false :true);
+ GLib.Value fval;
+ m.get_value(iter, 0, out fval);
+ var fn = (string)fval;
+
+ var def = _this.project.compilegroups.get("_default_");
+ var items = def.packages;
+ if ((bool)val) {
+ // renive
+ items.remove(fn);
+ } else {
+ items.add(fn);
+ }
+
+ });
+ }
+
+ // user defined functions
+ }
+
+
+
+
+ public class Xcls_ScrolledWindow17 : Object
+ {
+ public Gtk.ScrolledWindow el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_ScrolledWindow17(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.ScrolledWindow( null, null );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.hexpand = true;
+ var child_0 = new Xcls_default_directory_tree( _this );
+ child_0.ref();
+ this.el.add ( child_0.el );
+ var child_1 = new Xcls_default_directory_menu( _this );
+ child_1.ref();
+ }
+
+ // user defined functions
+ }
+ public class Xcls_default_directory_tree : Object
+ {
+ public Gtk.TreeView el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_default_directory_tree(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ _this.default_directory_tree = this;
+ this.el = new Gtk.TreeView();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.headers_visible = true;
+ var child_0 = new Xcls_default_directory_tree_store( _this );
+ child_0.ref();
+ this.el.set_model ( child_0.el );
+ var child_1 = new Xcls_TreeViewColumn20( _this );
+ child_1.ref();
+ this.el.append_column ( child_1.el );
+
+ //listeners
+ this.el.button_press_event.connect( ( ev) => {
+ //console.log("button press?");
+
+
+ if (ev.type != Gdk.EventType.BUTTON_PRESS || ev.button != 3) {
+ //print("click" + ev.type);
+ return false;
+ }
+ //Gtk.TreePath res;
+ //if (!this.el.get_path_at_pos((int)ev.x,(int)ev.y, out res, null, null, null) ) {
+ // return true;
+ //}
+
+ // this.el.get_selection().select_path(res);
+
+ //if (!this.get('/LeftTreeMenu').el) {
+ // this.get('/LeftTreeMenu').init();
+ // }
+
+ _this.default_directory_menu.el.set_screen(Gdk.Screen.get_default());
+ _this.default_directory_menu.el.show_all();
+ _this.default_directory_menu.el.popup(null, null, null, 3, ev.time);
+ // print("click:" + res.path.to_string());
+ return true;
+ });
+ }
+
+ // user defined functions
+ }
+ public class Xcls_default_directory_tree_store : Object
+ {
+ public Gtk.ListStore el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_default_directory_tree_store(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ _this.default_directory_tree_store = this;
+ this.el = new Gtk.ListStore( 1, typeof(string)
+ );
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ public void load () {
+
+ this.el.clear();
+
+
+ var def = _this.project.compilegroups.get("_default_");
+ var items = def.sources;
+
+
+ Gtk.TreeIter citer;
+
+ for(var i =0 ; i < items.size; i++) {
+ this.el.append(out citer);
+
+ this.el.set_value(citer, 0, items.get(i) ); // title
+ //this.el.set_value(citer, 1, items.get(i) );
+ }
+ this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);
+
+ }
+ }
+
+ public class Xcls_TreeViewColumn20 : Object
+ {
+ public Gtk.TreeViewColumn el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_TreeViewColumn20(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.TreeViewColumn();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.title = "Available Directories (right click to add)";
+ this.el.resizable = true;
+ var child_0 = new Xcls_directory_render( _this );
+ child_0.ref();
+ this.el.pack_start ( child_0.el , false );
+
+ // init method
+
+ this.el.add_attribute(_this.directory_render.el , "text", 0 );
+ }
+
+ // user defined functions
+ }
+ public class Xcls_directory_render : Object
+ {
+ public Gtk.CellRendererText el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_directory_render(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ _this.directory_render = this;
+ this.el = new Gtk.CellRendererText();
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ }
+
+
+
+ public class Xcls_default_directory_menu : Object
+ {
+ public Gtk.Menu el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_default_directory_menu(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ _this.default_directory_menu = this;
+ this.el = new Gtk.Menu();
+
+ // my vars (dec)
+
+ // set gobject values
+ var child_0 = new Xcls_MenuItem23( _this );
+ child_0.ref();
+ this.el.add ( child_0.el );
+ var child_1 = new Xcls_MenuItem24( _this );
+ child_1.ref();
+ this.el.add ( child_1.el );
+ var child_2 = new Xcls_SeparatorMenuItem25( _this );
+ child_2.ref();
+ this.el.add ( child_2.el );
+ var child_3 = new Xcls_MenuItem26( _this );
+ child_3.ref();
+ this.el.add ( child_3.el );
+ }
+
+ // user defined functions
+ }
+ public class Xcls_MenuItem23 : Object
+ {
+ public Gtk.MenuItem el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_MenuItem23(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.MenuItem();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.label = "Add Directory";
+
+ //listeners
+ this.el.activate.connect( () => {
+
+ var chooser = new Gtk.FileChooserDialog (
+ "Add a directory", _this.window.el, Gtk.FileChooserAction.SELECT_FOLDER ,
+ "_Cancel",
+ Gtk.ResponseType.CANCEL,
+ "_Add",
+ Gtk.ResponseType.ACCEPT);
+ if (chooser.run () != Gtk.ResponseType.ACCEPT) {
+ chooser.close ();
+ return;
+ }
+ chooser.close ();
+ // add the directory..
+ var fn = _this.project.relPath(chooser.get_filename());
+ _this.project.compilegroups.get("_default_").sources.add(fn);
+ _this.default_directory_tree_store.load();
+ });
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_MenuItem24 : Object
+ {
+ public Gtk.MenuItem el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_MenuItem24(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.MenuItem();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.label = "Add File";
+
+ //listeners
+ this.el.activate.connect( () => {
+
+ var chooser = new Gtk.FileChooserDialog (
+ "Add a directory", _this.window.el, Gtk.FileChooserAction.OPEN ,
+ "_Cancel",
+ Gtk.ResponseType.CANCEL,
+ "_Add",
+ Gtk.ResponseType.ACCEPT);
+ if (chooser.run () != Gtk.ResponseType.ACCEPT) {
+ chooser.close ();
+ return;
+ }
+ chooser.close ();
+ // add the directory..
+ var fn = _this.project.relPath(chooser.get_filename());
+ _this.project.compilegroups.get("_default_").sources.add(fn);
+ _this.default_directory_tree_store.load();
+ });
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_SeparatorMenuItem25 : Object
+ {
+ public Gtk.SeparatorMenuItem el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_SeparatorMenuItem25(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.SeparatorMenuItem();
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_MenuItem26 : Object
+ {
+ public Gtk.MenuItem el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_MenuItem26(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.MenuItem();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.label = "Remove File/Directory";
+
+ //listeners
+ this.el.activate.connect( () => {
+
+ //
+ Gtk.TreeModel mod;
+ Gtk.TreeIter iter;
+ if (!_this.default_directory_tree.el.get_selection().get_selected(out mod, out iter)) {
+ print("nothing selected\n");
+ return;
+ }
+
+
+ // add the directory..
+
+
+ GLib.Value val;
+ mod.get_value(iter,0, out val);
+ var fn = (string) val;
+
+ print("remove: %s\n", fn);
+ if (!_this.project.compilegroups.get("_default_").sources.remove(fn)) {
+ print("remove failed");
+ }
+ _this.default_directory_tree_store.load();
+ });
+ }
+
+ // user defined functions
+ }
+
+
+
+
+
+ public class Xcls_Paned27 : Object
+ {
+ public Gtk.Paned el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Paned27(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Paned( Gtk.Orientation.HORIZONTAL );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.position = 300;
+ var child_0 = new Xcls_ScrolledWindow28( _this );
+ child_0.ref();
+ this.el.add1 ( child_0.el );
+ var child_1 = new Xcls_set_vbox( _this );
+ child_1.ref();
+ this.el.add2 ( child_1.el );
+ }
+
+ // user defined functions
+ }
+ public class Xcls_ScrolledWindow28 : Object
+ {
+ public Gtk.ScrolledWindow el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_ScrolledWindow28(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.ScrolledWindow( null, null );
+
+ // my vars (dec)
+
+ // set gobject values
+ var child_0 = new Xcls_targets_tree_menu( _this );
+ child_0.ref();
+ this.el.add ( child_0.el );
+ var child_1 = new Xcls_targets_tree( _this );
+ child_1.ref();
+ this.el.add ( child_1.el );
+
+ // init method
+
+ {
+ this.el.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);
+
+ }
+ }
+
+ // user defined functions
+ }
+ public class Xcls_targets_tree_menu : Object
+ {
+ public Gtk.Menu el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_targets_tree_menu(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ _this.targets_tree_menu = this;
+ this.el = new Gtk.Menu();
+
+ // my vars (dec)
+
+ // set gobject values
+ var child_0 = new Xcls_MenuItem30( _this );
+ child_0.ref();
+ this.el.add ( child_0.el );
+ var child_1 = new Xcls_SeparatorMenuItem31( _this );
+ child_1.ref();
+ this.el.add ( child_1.el );
+ var child_2 = new Xcls_MenuItem32( _this );
+ child_2.ref();
+ this.el.add ( child_2.el );
+ }
+
+ // user defined functions
+ }
+ public class Xcls_MenuItem30 : Object
+ {
+ public Gtk.MenuItem el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_MenuItem30(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.MenuItem();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.label = "Add Compile Target";
+
+ //listeners
+ this.el.activate.connect( () => {
+
+ if (_this.project.compilegroups.has_key("NEW GROUP")) {
+ return;
+ }
+
+ // add the directory..
+
+ _this.project.compilegroups.set("NEW GROUP", new Project.GtkValaSettings("NEW GROUP"));
+ _this.targets_tree_store.load();
+ });
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_SeparatorMenuItem31 : Object
+ {
+ public Gtk.SeparatorMenuItem el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_SeparatorMenuItem31(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.SeparatorMenuItem();
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_MenuItem32 : Object
+ {
+ public Gtk.MenuItem el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_MenuItem32(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.MenuItem();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.label = "Remove Target";
+
+ //listeners
+ this.el.activate.connect( () => {
+
+ //
+ Gtk.TreeModel mod;
+ Gtk.TreeIter iter;
+ if (!_this.targets_tree.el.get_selection().get_selected(out mod, out iter)) {
+ print("nothing selected\n");
+ return;
+ }
+
+
+ // add the directory..
+
+
+ GLib.Value val;
+ mod.get_value(iter,0, out val);
+ var fn = (string) val;
+
+ print("remove: %s\n", fn);
+ if (!_this.project.compilegroups.unset(fn)) {
+ print("remove failed");
+ }
+ _this.targets_tree_store.load();
+ });
+ }
+
+ // user defined functions
+ }
+
+
+ public class Xcls_targets_tree : Object
+ {
+ public Gtk.TreeView el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+ public string cursor;
+
+ // ctor
+ public Xcls_targets_tree(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ _this.targets_tree = this;
+ this.el = new Gtk.TreeView();
+
+ // my vars (dec)
+
+ // set gobject values
+ var child_0 = new Xcls_targets_tree_store( _this );
+ child_0.ref();
+ this.el.set_model ( child_0.el );
+ var child_1 = new Xcls_TreeViewColumn35( _this );
+ child_1.ref();
+ this.el.append_column ( child_1.el );
+
+ //listeners
+ this.el.button_press_event.connect( ( ev) => {
+ //console.log("button press?");
+
+
+ if (ev.type != Gdk.EventType.BUTTON_PRESS || ev.button != 3) {
+ //print("click" + ev.type);
+ return false;
+ }
+ //Gtk.TreePath res;
+ //if (!this.el.get_path_at_pos((int)ev.x,(int)ev.y, out res, null, null, null) ) {
+ // return true;
+ //}
+
+ // this.el.get_selection().select_path(res);
+
+ //if (!this.get('/LeftTreeMenu').el) {
+ // this.get('/LeftTreeMenu').init();
+ // }
+
+ _this.targets_tree_menu.el.set_screen(Gdk.Screen.get_default());
+ _this.targets_tree_menu.el.show_all();
+ _this.targets_tree_menu.el.popup(null, null, null, 3, ev.time);
+ // print("click:" + res.path.to_string());
+ return true;
+ });
+ this.el.cursor_changed.connect( ( ) => {
+
+ if (this.cursor != "") {
+ // save the values..
+ }
+
+ // load the new values.
+
+
+ Gtk.TreeModel mod;
+ Gtk.TreeIter iter;
+ if (!this.el.get_selection().get_selected(out mod, out iter)) {
+ print("nothing selected\n");
+ // should disable the right hand side..
+ _this.set_vbox.el.hide();
+ return;
+ }
+ _this.set_vbox.el.show();
+
+ // add the directory..
+
+
+ GLib.Value val;
+ mod.get_value(iter,0, out val);
+ var fn = (string) val;
+
+ this.cursor = fn;
+ var cg = _this.project.compilegroups.get(fn);
+
+ _this.build_pack_target.el.set_text(cg.target_bin);
+ _this.build_compile_flags.el.set_text(cg.compile_flags);
+ _this.build_execute_args.el.set_text(cg.execute_args);
+
+ _this.set_vbox.cgroup = cg;
+ _this.files_tree_store.update();
+
+ // load the srouces
+
+
+ });
+ }
+
+ // user defined functions
+ }
+ public class Xcls_targets_tree_store : Object
+ {
+ public Gtk.ListStore el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_targets_tree_store(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ _this.targets_tree_store = this;
+ this.el = new Gtk.ListStore( 2, typeof(string), // 0 key type
+ typeof(string) // ??
+ );
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ public void load () {
+
+ this.el.clear();
+
+
+ var cg = _this.project.compilegroups;
+
+ _this.targets_tree.cursor = "";
+ Gtk.TreeIter citer;
+ var iter = cg.map_iterator();
+ while(iter.next()) {
+ var key = iter.get_key();
+ if (key == "_default_") {
+ continue;
+ }
+
+ this.el.append(out citer);
+
+ this.el.set_value(citer, 0, key ); // title
+ //this.el.set_value(citer, 1, items.get(i) );
+ };
+ this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);
+ _this.set_vbox.el.hide();
+ }
+ }
+
+ public class Xcls_TreeViewColumn35 : Object
+ {
+ public Gtk.TreeViewColumn el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_TreeViewColumn35(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.TreeViewColumn();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.title = "name";
+ this.el.resizable = true;
+ var child_0 = new Xcls_targets_render( _this );
+ child_0.ref();
+ this.el.pack_start ( child_0.el , false );
+
+ // init method
+
+ {
+ this.el.add_attribute(_this.targets_render.el , "text", 0 );
+ }
+ }
+
+ // user defined functions
+ }
+ public class Xcls_targets_render : Object
+ {
+ public Gtk.CellRendererText el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_targets_render(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ _this.targets_render = this;
+ this.el = new Gtk.CellRendererText();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.editable = true;
+
+ //listeners
+ this.el.edited.connect( (path, newtext) => {
+
+ Gtk.TreeIter iter;
+ _this.targets_tree_store.el.get_iter(out iter, new Gtk.TreePath.from_string(path));
+ GLib.Value gval;
+ _this.targets_tree_store.el.get_value(iter,0, out gval);
+ var oldval = (string)gval;
+ if (oldval == newtext) {
+ return;
+ }
+ var cg = _this.project.compilegroups.get(oldval);
+ cg.name = newtext;
+ _this.project.compilegroups.unset(oldval);
+ _this.project.compilegroups.set(newtext, cg);
+ _this.targets_tree_store.load();
+ });
+ }
+
+ // user defined functions
+ }
+
+
+
+
+ public class Xcls_set_vbox : Object
+ {
+ public Gtk.Box el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+ public Project.GtkValaSettings cgroup;
+
+ // ctor
+ public Xcls_set_vbox(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ _this.set_vbox = this;
+ this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
+
+ // my vars (dec)
+ this.cgroup = null;
+
+ // set gobject values
+ this.el.homogeneous = false;
+ var child_0 = new Xcls_Label38( _this );
+ child_0.ref();
+ this.el.pack_start ( child_0.el , false,false,0 );
+ var child_1 = new Xcls_build_pack_target( _this );
+ child_1.ref();
+ this.el.pack_start ( child_1.el , false,false,0 );
+ var child_2 = new Xcls_Label40( _this );
+ child_2.ref();
+ this.el.pack_start ( child_2.el , false,false,0 );
+ var child_3 = new Xcls_build_compile_flags( _this );
+ child_3.ref();
+ this.el.pack_start ( child_3.el , false,false,0 );
+ var child_4 = new Xcls_Label42( _this );
+ child_4.ref();
+ this.el.pack_start ( child_4.el , false,false,0 );
+ var child_5 = new Xcls_build_execute_args( _this );
+ child_5.ref();
+ this.el.pack_start ( child_5.el , false,false,0 );
+ var child_6 = new Xcls_Label44( _this );
+ child_6.ref();
+ this.el.pack_start ( child_6.el , false,false,0 );
+ var child_7 = new Xcls_ScrolledWindow45( _this );
+ child_7.ref();
+ this.el.pack_start ( child_7.el , true,true,0 );
+ }
+
+ // user defined functions
+ }
+ public class Xcls_Label38 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label38(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "target filename" );
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_build_pack_target : Object
+ {
+ public Gtk.Entry el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_build_pack_target(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ _this.build_pack_target = this;
+ this.el = new Gtk.Entry();
+
+ // my vars (dec)
+
+ // set gobject values
+
+ //listeners
+ this.el.changed.connect( () => {
+ if (_this.targets_tree.cursor.length < 1) {
+ return;
+ }
+ _this.project.compilegroups.get(_this.targets_tree.cursor).target_bin = this.el.text;
+ });
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_Label40 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label40(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "compile flags" );
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_build_compile_flags : Object
+ {
+ public Gtk.Entry el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_build_compile_flags(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ _this.build_compile_flags = this;
+ this.el = new Gtk.Entry();
+
+ // my vars (dec)
+
+ // set gobject values
+
+ //listeners
+ this.el.changed.connect( () => {
+ if (_this.targets_tree.cursor.length < 1) {
+ return;
+ }
+ _this.project.compilegroups.get(_this.targets_tree.cursor).compile_flags = this.el.text;
+ });
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_Label42 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label42(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "test argments - when run after a build" );
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_build_execute_args : Object
+ {
+ public Gtk.Entry el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_build_execute_args(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ _this.build_execute_args = this;
+ this.el = new Gtk.Entry();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.placeholder_text = "eg. -f somefile -g ";
+
+ //listeners
+ this.el.changed.connect( () => {
+ if (_this.targets_tree.cursor.length < 1) {
+ return;
+ }
+ _this.project.compilegroups.get(_this.targets_tree.cursor).execute_args = this.el.text;
+ });
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_Label44 : Object
+ {
+ public Gtk.Label el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Label44(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Label( "Files to compile" );
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_ScrolledWindow45 : Object
+ {
+ public Gtk.ScrolledWindow el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_ScrolledWindow45(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.ScrolledWindow( null, null );
+
+ // my vars (dec)
+
+ // set gobject values
+ var child_0 = new Xcls_files_tree( _this );
+ child_0.ref();
+ this.el.add ( child_0.el );
+ }
+
+ // user defined functions
+ }
+ public class Xcls_files_tree : Object
+ {
+ public Gtk.TreeView el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_files_tree(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.TreeView();
+
+ // my vars (dec)
+
+ // set gobject values
+ var child_0 = new Xcls_files_tree_store( _this );
+ child_0.ref();
+ this.el.set_model ( child_0.el );
+ var child_1 = new Xcls_TreeViewColumn48( _this );
+ child_1.ref();
+ this.el.append_column ( child_1.el );
+ var child_2 = new Xcls_TreeViewColumn50( _this );
+ child_2.ref();
+ this.el.append_column ( child_2.el );
+ }
+
+ // user defined functions
+ }
+ public class Xcls_files_tree_store : Object
+ {
+ public Gtk.ListStore el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_files_tree_store(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ _this.files_tree_store = this;
+ this.el = new Gtk.ListStore( 4, typeof(string), // 0 file name
+ typeof(string), // 0 basename
+ typeof(string), // type (dir orfile)
+ typeof(bool) // is checked.
+ );
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ public void updateDir (string dname, bool bval) {
+
+ Gtk.TreeIter citer;
+
+ var cg = _this.set_vbox.cgroup;
+ for(var i =0 ; i < this.el.iter_n_children(null); i++) {
+ this.el.iter_nth_child(out citer,null,i);
+
+ GLib.Value val;
+ this.el.get_value(citer,0, out val);
+ var fn = (string) val;
+
+ if ( Path.get_dirname (fn) == dname) {
+
+ this.el.set_value(citer, 3, bval ); // checked
+
+
+
+ if (!bval) {
+ // renive
+ if (cg.sources.contains(fn)) {
+ cg.sources.remove(fn);
+ }
+ } else {
+ if (!cg.sources.contains(fn)) {
+ cg.sources.add(fn);
+ }
+ }
+
+
+ }
+ }
+
+ }
+ public void load () {
+
+ this.el.clear();
+
+
+ var def = _this.project.compilegroups.get("_default_");
+ var items = def.sources;
+
+
+
+
+
+ Gtk.TreeIter citer;
+
+ for(var i =0 ; i < items.size; i++) {
+
+ var files = _this.project.filesForCompile(items.get(i), false);
+ if (files.size < 1) {
+ continue;
+ }
+
+ this.el.append(out citer);
+
+ this.el.set_value(citer, 0, items.get(i) ); // title
+ this.el.set_value(citer, 1, "<span foreground=\"green\" font_weight=\"bold\">" +
+ GLib.Markup.escape_text(items.get(i)) + "</span>"
+ ); // title
+ print("ADD item %s", items.get(i));
+ this.el.set_value(citer, 2, "dir"); // type
+ this.el.set_value(citer, 3, false ); // checked
+
+
+
+ for(var j =0 ; j < files.size; j++) {
+ this.el.append(out citer);
+ print("ADD item %s", files.get(j));
+ this.el.set_value(citer, 0, files.get(j) ); // title
+ this.el.set_value(citer, 1, GLib.Markup.escape_text( Path.get_basename (files.get(j))) ); // title
+ this.el.set_value(citer, 2, "file"); // type
+ this.el.set_value(citer, 3, false ); // checked
+
+ }
+
+
+ //this.el.set_value(citer, 1, items.get(i) );
+ }
+ this.el.set_sort_column_id(0,Gtk.SortType.ASCENDING);
+
+ }
+ public void update () {
+
+
+ Gtk.TreeIter citer;
+
+ for(var i =0 ; i < this.el.iter_n_children(null); i++) {
+ this.el.iter_nth_child(out citer,null,i);
+
+ GLib.Value val;
+ this.el.get_value(citer,0, out val);
+ var fn = (string) val;
+
+ var active = false;
+ if (_this.set_vbox.cgroup.sources.contains(fn)) {
+ active = true;
+ }
+
+ this.el.set_value(citer, 3, active ); // checked
+ }
+
+
+ }
+ }
+
+ public class Xcls_TreeViewColumn48 : Object
+ {
+ public Gtk.TreeViewColumn el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_TreeViewColumn48(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.TreeViewColumn();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.title = "name";
+ this.el.resizable = true;
+ var child_0 = new Xcls_files_render( _this );
+ child_0.ref();
+ this.el.pack_start ( child_0.el , false );
+
+ // init method
+
+ this.el.add_attribute(_this.files_render.el , "markup", 1 ); // basnemae
+
+ /* this.el.add_attribute(_this.files_render.el , "markup", 2 );
+ */
+ }
+
+ // user defined functions
+ }
+ public class Xcls_files_render : Object
+ {
+ public Gtk.CellRendererText el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_files_render(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ _this.files_render = this;
+ this.el = new Gtk.CellRendererText();
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ }
+
+
+ public class Xcls_TreeViewColumn50 : Object
+ {
+ public Gtk.TreeViewColumn el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_TreeViewColumn50(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.TreeViewColumn();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.title = "use";
+ this.el.resizable = false;
+ this.el.fixed_width = 50;
+ var child_0 = new Xcls_files_render_use( _this );
+ child_0.ref();
+ this.el.pack_start ( child_0.el , false );
+
+ // init method
+
+ {
+ this.el.add_attribute(_this.files_render_use.el , "active", 3 );
+ }
+ }
+
+ // user defined functions
+ }
+ public class Xcls_files_render_use : Object
+ {
+ public Gtk.CellRendererToggle el;
+ private Xcls_ValaProjectSettingsPopover _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_files_render_use(Xcls_ValaProjectSettingsPopover _owner )
+ {
+ _this = _owner;
+ _this.files_render_use = this;
+ this.el = new Gtk.CellRendererToggle();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.activatable = true;
+
+ //listeners
+ this.el.toggled.connect( ( path_string) => {
+
+
+
+ var m = _this.files_tree_store.el;
+ Gtk.TreeIter iter;
+ Gtk.TreePath path = new Gtk.TreePath.from_string (path_string);
+ m.get_iter (out iter, path);
+ GLib.Value val;
+ m.get_value(iter, 3, out val);
+ m.set_value(iter, 3, ((bool) val) ? false :true);
+
+ // type.
+ GLib.Value ftval;
+ m.get_value(iter, 2, out ftval);
+ var ftype = (string)ftval;
+
+ // full name...
+ GLib.Value fval;
+ m.get_value(iter, 0, out fval);
+ var fn = (string)fval;
+
+
+ var cg = _this.set_vbox.cgroup;
+ // what's the sleected target?
+ // update the list..
+ // if ftype is a dir == then toggle all the bellow.
+
+ if (ftype == "dir") {
+ _this.files_tree_store.updateDir(fn, ((bool) val) ? false :true);
+ }
+
+ // if ftype is a file .. see if all the files in that directory are check and check the dir.
+
+
+ if ((bool)val) {
+ // renive
+ cg.sources.remove(fn);
+ } else {
+ cg.sources.add(fn);
+ }
+
+ });
+ }
+
+ // user defined functions
+ }
+
+
+
+
+
+
+
+
+}