BrowserWindow.bjs
[app.webkitpdf] / BrowserWindow.bjs
1 {
2  "name" : "BrowserWindow",
3  "parent" : "",
4  "title" : "",
5  "path" : "/home/alan/gitlive/app.webkitpdf/BrowserWindow.bjs",
6  "permname" : "",
7  "modOrder" : "",
8  "build_module" : "NEW GROUP",
9  "items" : [
10   {
11    "listeners" : {
12     "destroy" : "() => {\n    Gtk.main_quit();\n}",
13     "show" : "() => {\n\tthis.el.resize(1200,500);\n\tthis.view.el.load_uri(webkitpdf.opt_url);\n\n}"
14    },
15    "xtype" : "Window",
16    "$ xns" : "Gtk",
17    "Gtk.WindowType type" : "Gtk.WindowType.TOPLEVEL",
18    "items" : [
19     {
20      "* init" : "{\n\tthis.el.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);\n}\n",
21      "xtype" : "ScrolledWindow",
22      "* pack" : "add",
23      "$ xns" : "Gtk",
24      "items" : [
25       {
26        "listeners" : {
27         "load_finished" : "( ) => {\n\t\t \n        print(\"load_finsihed\\n\");\n \n        /*\n        GLib.Timeout.add_seconds(webkitpdf.opt_delay, () => { \n            print(\"making screenshot\\n\");\n            _this.view.el.get_snapshot.begin(\n        \t\t\tWebKit.SnapshotRegion.FULL_DOCUMENT, \n        \t\t\tWebKit.SnapshotOptions.NONE, null, (obj, res) => {\n                var sf = _this.view.el.get_snapshot.end(res);\n\n                sf.write_to_png(webkitpdf.opt_target_png);\n            });\n            Gtk.main_quit();\n            return false;\n        }, GLib.Priority.DEFAULT);\n */       \n \n\t\tprint(\"calling print in %d seconds\\n\", (int)webkitpdf.opt_delay);\n        GLib.Timeout.add_seconds(webkitpdf.opt_delay, () => { \n    \t\t \n    \t\tvar  pe = new  Gtk.PrintOperation();\n    \t\tpe.export_filename = webkitpdf.opt_target_pdf;\n\t\t\tprint(\"got callback for print\");\n    \t\tpe.ref();\n\t\t\t/*pe.failed.connect(() => {\n \t\t\t\tprint(\"print failed\\n\");\n\t\t\t\t Gtk.main_quit();\n        \t\t\n    \t\t})\n    \t\t*/;\n    \t\t pe.done.connect(() => {\n \t\t\t\tprint(\"print completed\\n\");\n\t\t\t\t Gtk.main_quit();\n        \t\t\n    \t\t});\n    \t\t\n    \t\t//pe.run_dialog(_this.el);\n    \t \n    \t\t\n\t\t    var list = Gtk.PaperSize.get_paper_sizes(false);\n\t\t    var psetup = new Gtk.PageSetup();\n\t\t    for(var i = 0; i < list.length(); i++ ) {\n\t\t        var entry = list.nth_data(i).copy();\n\t\t        if (entry.get_name() == \"iso_a2\") {\n\t\t            psetup.set_paper_size(entry);\n\t\t        }\n\t\t    }\n\t\t        \n\n \n\t\t    pe.set_default_page_setup(psetup);\n\t\t    print(\"Calling Print?\\n\");\n\t\t    //pe.run_dialog(_this.el);\n\t\t    this.el.get_main_frame().print_full(pe,Gtk.PrintOperationAction.EXPORT);\n\t\t    \n\t\t    \n\t\t    \n\t\t    \n\t\t    \n\t\t              var mf = _t.get_main_frame();\n                     \n                    print(\"Creating paper\");\n                    var ar = Gtk.PaperSize.get_paper_sizes();\n                    var psetup = new Gtk.PageSetup();\n                    for(var i = 0; i < ar.length; i++) {\n                        if (ar[i].get_name() =='iso_a2') {\n                            psetup.set_paper_size(ar[i]);\n                        }\n                    }\n                    print(\"doing print operation\");\n                    var p = new Gtk.PrintOperation({ export_filename : BrowserSettings.export_filename });\n                    print(\"doing print operation - set page\"); \n\n                    p.set_default_page_setup(psetup);\n                    \n                    print(\"doing print operation - print_full\"); \n                    mf.print_full(p, Gtk.PrintOperationAction.EXPORT);\n                    print(\"made image - exiting\");\n                    \n\t\t    \n\t\t    \n\t\t    \n\t\t    \n\t\t    \n\t\t    \n\t\t    \n\t\t    \n\t\t    \n\t\t    \n\t\t    \n\t\t    return false;\n\n\t\t\treturn false;\n        }, GLib.Priority.DEFAULT);\n \n}"
28        },
29        "id" : "view",
30        "xtype" : "WebView",
31        "* pack" : "add",
32        "$ xns" : "WebKit"
33       }
34      ]
35     }
36    ]
37   }
38  ]
39 }