seed r766 - trunk/examples/browser
- From: hortont svn gnome org
- To: svn-commits-list gnome org
- Subject: seed r766 - trunk/examples/browser
- Date: Mon, 19 Jan 2009 08:38:46 +0000 (UTC)
Author: hortont
Date: Mon Jan 19 08:38:46 2009
New Revision: 766
URL: http://svn.gnome.org/viewvc/seed?rev=766&view=rev
Log:
Reimplement open-in-new-window. Unfortuately installed properties don't work as construction properties (they aren't available in init) (Robb?), so this is a (hopefully) temporary hack to workaround that.
Modified:
trunk/examples/browser/BrowserTab.js
trunk/examples/browser/BrowserView.js
trunk/examples/browser/TabbedBrowser.js
Modified: trunk/examples/browser/BrowserTab.js
==============================================================================
--- trunk/examples/browser/BrowserTab.js (original)
+++ trunk/examples/browser/BrowserTab.js Mon Jan 19 08:38:46 2009
@@ -4,18 +4,20 @@
class_init: function(klass, prototype)
{
// TODO: Robb is promising a prettier interface to this.
- klass.c_install_property(GObject.param_spec_object("web_view",
+ // FIXME: Right now, constructor properties don't show up within init.
+
+ /*klass.c_install_property(GObject.param_spec_object("web_view",
"WebView",
"WebView to display",
GObject.TYPE_OBJECT,
GObject.ParamFlags.READABLE |
- GObject.ParamFlags.WRITABLE));
+ GObject.ParamFlags.WRITABLE));*/
},
init: function (klass)
{
// Private
var toolbar = new BrowserToolbar();
- var local_web_view;
+ var web_view = new BrowserView();
var scroll_view = new Gtk.ScrolledWindow();
var tab_label;
@@ -25,9 +27,18 @@
return toolbar;
};
+ this.set_web_view = function (new_web_view)
+ {
+ scroll_view.remove(web_view);
+ web_view = new_web_view;
+ scroll_view.add(web_view);
+ web_view.set_tab(this);
+ web_view.show();
+ };
+
this.get_web_view = function ()
{
- return local_web_view;
+ return web_view;
};
this.set_tab_label = function (new_tab_label)
@@ -41,23 +52,10 @@
};
// Implementation
-
- Seed.print("Wv:"); Seed.print(this.web_view);
-
- if(this.web_view == null)
- {
- Seed.print("creating new webview");
- local_web_view = new BrowserView();
- }
- else
- {
- local_web_view = this.web_view;
- }
-
- local_web_view.set_tab(this);
+ web_view.set_tab(this);
scroll_view.smooth_scroll = true;
- scroll_view.add(local_web_view);
+ scroll_view.add(web_view);
scroll_view.set_policy(Gtk.PolicyType.AUTOMATIC,
Gtk.PolicyType.AUTOMATIC);
Modified: trunk/examples/browser/BrowserView.js
==============================================================================
--- trunk/examples/browser/BrowserView.js (original)
+++ trunk/examples/browser/BrowserView.js Mon Jan 19 08:38:46 2009
@@ -6,14 +6,6 @@
// Private
var tab;
- var install_signals = function (web_view)
- {
- web_view.set_scroll_adjustments(null, null);
- web_view.signal.title_changed.connect(update_title);
- web_view.signal.load_committed.connect(update_url);
- web_view.signal.create_web_view.connect(create_new_tab);
- }
-
var update_title = function (web_view, web_frame, title)
{
if(title.length > 25)
@@ -33,16 +25,16 @@
var create_new_tab = function (web_view, web_frame, new_web_view)
{
- new_web_view = new WebKit.WebView();
+ new_web_view = new BrowserView();
new_web_view.signal.web_view_ready.connect(show_new_tab);
return new_web_view;
}
var show_new_tab = function (new_web_view)
{
- Seed.print("new tab!");
- //install_signals(new_web_view);
browser.new_tab("", new_web_view);
+
+ return false;
};
// Public
@@ -65,6 +57,9 @@
};
// Implementation
- install_signals(this);
+ this.set_scroll_adjustments(null, null);
+ this.signal.title_changed.connect(update_title);
+ this.signal.load_committed.connect(update_url);
+ this.signal.create_web_view.connect(create_new_tab);
}
});
Modified: trunk/examples/browser/TabbedBrowser.js
==============================================================================
--- trunk/examples/browser/TabbedBrowser.js (original)
+++ trunk/examples/browser/TabbedBrowser.js Mon Jan 19 08:38:46 2009
@@ -19,10 +19,11 @@
{
var new_tab;
- Seed.print(new_web_view);
-
if(new_web_view != null)
- new_tab = new BrowserTab({web_view:new_web_view});
+ {
+ new_tab = new BrowserTab();
+ new_tab.set_web_view(new_web_view);
+ }
else
new_tab = new BrowserTab();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]