add finance.uk
[app.webkitpdf] / BrowserTab.js
1 Gtk = imports.gi.Gtk;
2 GObject = imports.gi.GObject;
3
4 BrowserToolbar = imports.BrowserToolbar;
5 BrowserView = imports.BrowserView;
6 BrowserStatusbar = imports.BrowserStatusbar;
7
8 BrowserTab = new GType({
9     parent: Gtk.VBox.type,
10     name: "BrowserTab",
11     properties: [{name: "web_view",
12                   type: GObject.TYPE_OBJECT,
13                   nick: "WebView",
14                   blurb: "The tab's represented BrowserView",
15                   object_type: BrowserView.BrowserView,
16                   flags: (GObject.ParamFlags.CONSTRUCT | GObject.ParamFlags.READABLE | GObject.ParamFlags.WRITABLE)}],
17     init: function (self)
18     {
19         // Private
20         var toolbar = new BrowserToolbar.BrowserToolbar();
21         var scroll_view = new Gtk.ScrolledWindow();
22         var statusbar = new BrowserStatusbar.BrowserStatusbar();
23         var tab_label;
24
25         // Public
26         this.get_toolbar = function ()
27         {
28             return toolbar;
29         };
30
31         this.get_web_view = function ()
32         {
33             return self.web_view;
34         };
35
36         this.set_tab_label = function (new_tab_label)
37         {
38             tab_label = new_tab_label;
39         };
40
41         this.get_tab_label = function ()
42         {
43             return tab_label;
44         };
45
46         this.get_statusbar = function ()
47         {
48             return statusbar;
49         };
50
51         // Implementation
52         if(this.web_view == null)
53                 this.web_view = new BrowserView.BrowserView();
54         
55 //      print(this.web_view);
56         this.web_view.set_tab(this);
57
58         scroll_view.smooth_scroll = true;
59         scroll_view.add(this.web_view);
60         scroll_view.set_policy(Gtk.PolicyType.AUTOMATIC,
61                                Gtk.PolicyType.AUTOMATIC);
62
63         this.pack_start(toolbar);
64         this.pack_start(scroll_view, true, true);
65         this.pack_start(statusbar);
66         this.show_all();
67     }
68 });