Builder4/GtkView.bjs.U2H7LX
authorAlan Knowles <alan@roojs.com>
Wed, 10 Sep 2014 08:49:12 +0000 (16:49 +0800)
committerAlan Knowles <alan@roojs.com>
Wed, 10 Sep 2014 08:49:12 +0000 (16:49 +0800)
Builder4/GtkView.bjs
Builder4/GtkView.js.7BI7LX
Builder4/GtkView.js
Builder4/GtkView.vala.AQP7LX
Builder4/GtkView.vala
Builder4/GtkView.bjs.K5H1LX
Builder4/GtkView.js.XVI1LX
Builder4/GtkView.vala.VTQ1LX

Builder4/GtkView.bjs
Builder4/GtkView.js
Builder4/GtkView.vala

index 789735e..01b6373 100644 (file)
@@ -10,7 +10,7 @@
             "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    \n    if (type.is_a(typeof(Gtk.Window))) {\n         this.addNodeChildren(parent, node);\n         return;\n     }\n    \n    var  child = new Object(type);\n    \n    \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    this.addNodeChildren(parent, node);\n    \n\n}",
+            "| void addNode" : "(Object? parent, JsRender.Node node) {  \n\n    Type? type = GLib.Type.from_name(node.fqn());\n    if (type -- null) {\n        return;\n    }\n    // some types can not be created -- eg. dialogs...\n    \n    \n    if (type.is_a(typeof(Gtk.Window))) {\n         this.addNodeChildren(parent, node);\n         return;\n     }\n    \n    var  child = new Object(type);\n    \n    \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    this.addNodeChildren(parent, node);\n    \n\n}",
             "| void addNodeChildren" : "() {\n\n    var iter = node.items.list_iterator();\n    while (iter.next()) {\n        this.addNode(child, iter.get());\n    }\n}\n",
             "items" : [
                 {
index e15db02..fc3bce5 100644 (file)
@@ -15,8 +15,8 @@ GtkView=new XObject({
     xns : Gtk,
     addNode : (Object? parent, JsRender.Node node) {  
     
-        var type = GLib.Type.from_name(node.fqn());
-        if (type < 1) {
+        Type? type = GLib.Type.from_name(node.fqn());
+        if (type -- null) {
             return;
         }
         // some types can not be created -- eg. dialogs...
index 58507c5..5c80e86 100644 (file)
@@ -32,8 +32,8 @@ public class GtkView : Object
     // user defined functions 
     public void addNode (Object? parent, JsRender.Node node) {  
     
-        var type = GLib.Type.from_name(node.fqn());
-        if (type < 1) {
+        Type? type = GLib.Type.from_name(node.fqn());
+        if (type -- null) {
             return;
         }
         // some types can not be created -- eg. dialogs...