src/Builder4/DialogPluginWebkit.bjs
authorAlan Knowles <alan@roojs.com>
Thu, 16 Apr 2015 10:54:13 +0000 (18:54 +0800)
committerAlan Knowles <alan@roojs.com>
Thu, 16 Apr 2015 10:54:13 +0000 (18:54 +0800)
src/Builder4/DialogPluginWebkit.vala

src/Builder4/DialogPluginWebkit.bjs
src/Builder4/DialogPluginWebkit.vala

index 2c836ce..88ca8ab 100644 (file)
@@ -16,7 +16,7 @@
    "gint default_height" : 500,
    "gboolean deletable" : true,
    "xtype" : "Dialog",
-   "| string show" : " (Gtk.Window ?parent, string text) {// JsRender.Node node) {\n \n    if (parent  != null) {\n        this.el.set_transient_for(parent);\n        this.el.modal = true;\n    }\n    \n    \n    var runhtml = \"<script type=\\\"text/javascript\\\">\\n\" ;\n    string builderhtml;\n    \n    \n    GLib.FileUtils.get_contents(BuilderApplication.configDirectory() + \"/resources/roo.builder.js\", out builderhtml);\n\n    runhtml += builderhtml + \"\\n\";\n    \n    \n       runhtml += \"\\n\" +\n        \"Builder.saveHTML = function() {};\\n\" + \n\t\"Roo.onReady(function() {\\n\" +\n\n\t\"Roo.XComponent.build();\\n\" +\n\t\"});\\n\";\n\t\n\t\n    var db = new JsRender.RooDatabase.from_cfg (\"MySQL\", \"hydra\", \"root\", \"\");\n    \n\n    var ar = db.readForeignKeys(\"Person\");\n    var  generator = new Json.Generator ();\n    var  root = new Json.Node(Json.NodeType.OBJECT);\n    root.init_object(ar);\n    generator.set_root (root);\n    \n    generator.pretty = true;\n    generator.indent = 4;\n    \n runhtml += \"\\n\" +\n    \" Roo.XComponent.on('buildcomplete', function() {\\n\" +\n     \"    Editor.Roo.grid.Grid.panel.loadData(\" + generator.to_data (null) + \"); \" +\n    \"});\\n\";\n\n    \n\t\n\t\n\n    runhtml += \"</script>\\n\" ;\n\nprint(runhtml);\n    // fix to make sure they are the same..\n    \n    // need to modify paths\n\n    string inhtml;\n    \n    GLib.FileUtils.get_contents(\n        BuilderApplication.configDirectory() + \"/resources/roo.builder.html\"\n            , out inhtml);\n    \n    \n    // fetch the json from the database...\n    \n    //print(runhtml);\n    \n        var html = inhtml.replace(\"</head>\", runhtml + // + this.runhtml + \n            \"<script type=\\\"text/javascript\\\" src=\\\"xhttp://localhost/app.Builder.js/resources/Editors/Editor.Roo.grid.Grid.js\\\"></script>\" + \n      //      \"<script type=\\\"text/javascript\\\" src=\\\"xhttp://localhost\" + fc.fname + \"\\\"></script>\" +   \n              //  \"<script type=\\\"text/javascript\\\">\\n\" +\n              //  js_src + \"\\n\" + \n              //  \"</script>\" + \n                        \n        \"</head>\");\n        //print(\"LOAD HTML \" + html);\n        \n         //var rootURL = _this.file.project.rootURL;\n   \n        \n        \n        this.webview.el.load_html( html , \n            //fixme - should be a config option!\n            \"xhttp://localhost/app.Builder.js/\"\n        );\n    \n        \n    \n    this.el.show_all();\n     var   ret = \"\";\n    while (true) {\n        var response_id = this.el.run();\n        if (response_id < 1) {\n            this.el.hide();\n             return \"\";\n        }\n        // keep showing...?\n        break;\n    }\n    \n    // now we save it..\n    this.el.hide();\n    \n    return ret;\n    \n    \n    \n}\n",
+   "| string show" : " (Gtk.Window ?parent, string text) {// JsRender.Node node) {\n \n    if (parent  != null) {\n        this.el.set_transient_for(parent);\n        this.el.modal = true;\n    }\n     this.el.show_all();\n     var   ret = \"\";\n    while (true) {\n    \n        var runhtml = \"<script type=\\\"text/javascript\\\">\\n\" ;\n        string builderhtml;\n        \n        \n        GLib.FileUtils.get_contents(BuilderApplication.configDirectory() + \"/resources/roo.builder.js\", out builderhtml);\n\n        runhtml += builderhtml + \"\\n\";\n        \n        \n           runhtml += \"\\n\" +\n            \"Builder.saveHTML = function() {};\\n\" + \n\t    \"Roo.onReady(function() {\\n\" +\n\n\t    \"Roo.XComponent.build();\\n\" +\n\t    \"});\\n\";\n\t\n\t\n        var db = new JsRender.RooDatabase.from_cfg (\"MySQL\", \"hydra\", \"root\", \"\");\n        \n\n        var ar = db.readForeignKeys(\"Person\");\n        var  generator = new Json.Generator ();\n        var  root = new Json.Node(Json.NodeType.OBJECT);\n        root.init_object(ar);\n        generator.set_root (root);\n        \n        generator.pretty = true;\n        generator.indent = 4;\n        \n        runhtml += \"\\n\" +\n        \" Roo.XComponent.on('buildcomplete', function() {\\n\" +\n         \"    Editor.Roo.grid.Grid.panel.loadData(\" + generator.to_data (null) + \"); \" +\n        \"});\\n\";\n\n        \n\t\n\t\n\n        runhtml += \"</script>\\n\" ;\n\n        print(runhtml);\n        // fix to make sure they are the same..\n        \n        // need to modify paths\n\n        string inhtml;\n        \n        GLib.FileUtils.get_contents(\n            BuilderApplication.configDirectory() + \"/resources/roo.builder.html\"\n                , out inhtml);\n        \n        \n        // fetch the json from the database...\n        \n        //print(runhtml);\n        \n        var html = inhtml.replace(\"</head>\", runhtml + // + this.runhtml + \n            \"<script type=\\\"text/javascript\\\" src=\\\"xhttp://localhost/app.Builder.js/resources/Editors/Editor.Roo.grid.Grid.js\\\"></script>\" + \n      //      \"<script type=\\\"text/javascript\\\" src=\\\"xhttp://localhost\" + fc.fname + \"\\\"></script>\" +   \n              //  \"<script type=\\\"text/javascript\\\">\\n\" +\n              //  js_src + \"\\n\" + \n              //  \"</script>\" + \n                        \n        \"</head>\");\n        //print(\"LOAD HTML \" + html);\n        \n         //var rootURL = _this.file.project.rootURL;\n   \n        \n        \n        this.webview.el.load_html( html , \n            //fixme - should be a config option!\n            \"xhttp://localhost/app.Builder.js/\"\n        );\n    \n        \n    \n   \n        var response_id = this.el.run();\n        \n         if (response_id == 3) {\n             continue;\n         }\n        if (response_id < 1) {\n            this.el.hide();\n             return \"\";\n        }\n        // keep showing...?\n        break;\n    }\n    \n    // now we save it..\n    this.el.hide();\n    \n    return ret;\n    \n    \n    \n}\n",
    "$ xns" : "Gtk",
    "gint default_width" : 500,
    "gboolean modal" : true,
index 1014488..482858b 100644 (file)
@@ -59,64 +59,66 @@ public class Xcls_DialogPluginWebkit : Object
             this.el.set_transient_for(parent);
             this.el.modal = true;
         }
+         this.el.show_all();
+         var   ret = "";
+        while (true) {
         
-        
-        var runhtml = "<script type=\"text/javascript\">\n" ;
-        string builderhtml;
-        
-        
-        GLib.FileUtils.get_contents(BuilderApplication.configDirectory() + "/resources/roo.builder.js", out builderhtml);
+            var runhtml = "<script type=\"text/javascript\">\n" ;
+            string builderhtml;
+            
+            
+            GLib.FileUtils.get_contents(BuilderApplication.configDirectory() + "/resources/roo.builder.js", out builderhtml);
     
-        runhtml += builderhtml + "\n";
-        
-        
-           runhtml += "\n" +
-            "Builder.saveHTML = function() {};\n" + 
-       "Roo.onReady(function() {\n" +
+            runhtml += builderhtml + "\n";
+            
+            
+               runhtml += "\n" +
+                "Builder.saveHTML = function() {};\n" + 
+           "Roo.onReady(function() {\n" +
     
-       "Roo.XComponent.build();\n" +
-       "});\n";
+           "Roo.XComponent.build();\n" +
+           "});\n";
        
        
-        var db = new JsRender.RooDatabase.from_cfg ("MySQL", "hydra", "root", "");
-        
+            var db = new JsRender.RooDatabase.from_cfg ("MySQL", "hydra", "root", "");
+            
     
-        var ar = db.readForeignKeys("Person");
-        var  generator = new Json.Generator ();
-        var  root = new Json.Node(Json.NodeType.OBJECT);
-        root.init_object(ar);
-        generator.set_root (root);
-        
-        generator.pretty = true;
-        generator.indent = 4;
-        
-     runhtml += "\n" +
-        " Roo.XComponent.on('buildcomplete', function() {\n" +
-         "    Editor.Roo.grid.Grid.panel.loadData(" + generator.to_data (null) + "); " +
-        "});\n";
+            var ar = db.readForeignKeys("Person");
+            var  generator = new Json.Generator ();
+            var  root = new Json.Node(Json.NodeType.OBJECT);
+            root.init_object(ar);
+            generator.set_root (root);
+            
+            generator.pretty = true;
+            generator.indent = 4;
+            
+            runhtml += "\n" +
+            " Roo.XComponent.on('buildcomplete', function() {\n" +
+             "    Editor.Roo.grid.Grid.panel.loadData(" + generator.to_data (null) + "); " +
+            "});\n";
     
-        
+            
        
        
     
-        runhtml += "</script>\n" ;
+            runhtml += "</script>\n" ;
     
-    print(runhtml);
-        // fix to make sure they are the same..
-        
-        // need to modify paths
+            print(runhtml);
+            // fix to make sure they are the same..
+            
+            // need to modify paths
     
-        string inhtml;
-        
-        GLib.FileUtils.get_contents(
-            BuilderApplication.configDirectory() + "/resources/roo.builder.html"
-                , out inhtml);
-        
-        
-        // fetch the json from the database...
-        
-        //print(runhtml);
-        
+            string inhtml;
+            
+            GLib.FileUtils.get_contents(
+                BuilderApplication.configDirectory() + "/resources/roo.builder.html"
+                    , out inhtml);
+            
+            
+            // fetch the json from the database...
+            
+            //print(runhtml);
+            
             var html = inhtml.replace("</head>", runhtml + // + this.runhtml + 
                 "<script type=\"text/javascript\" src=\"xhttp://localhost/app.Builder.js/resources/Editors/Editor.Roo.grid.Grid.js\"></script>" + 
           //      "<script type=\"text/javascript\" src=\"xhttp://localhost" + fc.fname + "\"></script>" +   
@@ -138,10 +140,12 @@ public class Xcls_DialogPluginWebkit : Object
         
             
         
-        this.el.show_all();
-         var   ret = "";
-        while (true) {
+       
             var response_id = this.el.run();
+            
+             if (response_id == 3) {
+                 continue;
+             }
             if (response_id < 1) {
                 this.el.hide();
                  return "";