"xtype" : "Viewport",
"string id" : "GtkView",
"$ xns" : "Gtk",
- "| void addNode" : "(Object? parent, JsRender.Node node) { \n\n var type = GLib.Type.from_name(node.fqn());\n if (type < 1) {\n return;\n }\n // some types can not be created -- eg. dialogs...\n \n var child = new Object(type);\n\n var pack = \"\";\n if (parent == null) {\n pack = \"add\";\n parent = this.container.el;\n }\n var node_pack = node.get(\"* pack\");\n string[] args = {}'\n if (pack.length < 1 && node_pack.length > 0) {\n var ar = pack.split(\",\");\n pack = ar[0];\n for (var i =1; i < ar.length; i++) {\n args += ar[i];\n }\n }\n switch(pack) {\n case \"add\":\n ((Gtk.Container) parent).add(child);\n break;\n case \"pack_start\":\n ((Gtk.Box) parent).pack_start(\n child, \n args.length > 0 && args[0].down() == \"false\" ? false : true,\n args.length > 1 && args[1].down() == \"false\" ? false : true,\n args.length > 2 ? uint64.parse(args[2])\n );\n break;\n case \"pack_end\":\n ((Gtk.Box) parent).pack_end(\n child, \n args.length > 0 && args[0].down() == \"false\" ? false : true,\n args.length > 1 && args[1].down() == \"false\" ? false : true,\n args.length > 2 ? uint64.parse(args[2])\n ); \n break;\n \n \n default:\n print(\"unknown pack: \" + pack);\n return;\n }\n \n \n var iter = node.items.list_iterator();\n while (iter.next()) {\n this.addNode(child, iter.get());\n }\n \n \n\n}",
+ "| void addNode" : "(Object? parent, JsRender.Node node) { \n\n var type = GLib.Type.from_name(node.fqn());\n if (type < 1) {\n return;\n }\n // some types can not be created -- eg. dialogs...\n \n var child = new Object(type);\n\n var pack = \"\";\n if (parent == null) {\n pack = \"add\";\n parent = this.container.el;\n }\n var node_pack = node.get(\"* pack\");\n string[] args = {}'\n if (pack.length < 1 && node_pack.length > 0) {\n var ar = pack.split(\",\");\n pack = ar[0];\n for (var i =1; i < ar.length; i++) {\n args += ar[i];\n }\n }\n switch(pack) {\n case \"add\":\n ((Gtk.Container) parent).add(child);\n break;\n case \"pack_start\":\n ((Gtk.Box) parent).pack_start(\n child, \n args.length > 0 && args[0].down() == \"false\" ? false : true,\n args.length > 1 && args[1].down() == \"false\" ? false : true,\n args.length > 2 ? uint64.parse(args[2])\n );\n break;\n case \"pack_end\":\n ((Gtk.Box) parent).pack_end(\n child, \n args.length > 0 && args[0].down() == \"false\" ? false : true,\n args.length > 1 && args[1].down() == \"false\" ? false : true,\n args.length > 2 ? uint64.parse(args[2])\n ); \n break;\n \n \n default:\n print(\"unknown pack: \" + pack);\n return;\n }\n \n \n var iter = node.items.list_iterator();\n while (iter.next()) {\n this.addNode(child, iter.get());\n }\n \n\n}",
"items" : [
{
"* pack" : "add",