Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2007-05-20 17:27:19 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2007-05-20 17:27:19 (GMT)
commitce5b9dda9af22f97ed0dac08ac5f96ea764c3eae (patch)
tree22ed22e2521ae520f9ed626536f47ebadcbd9732 /src
parentdd658dc8bbd6b38c434e0dc0805a97dabbf34516 (diff)
s/Browser/WebView, cleanup startup
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am6
-rw-r--r--src/__init__.py12
-rw-r--r--src/hulahop-browser.h49
-rw-r--r--src/hulahop-web-view.cpp (renamed from src/hulahop-browser.cpp)119
-rw-r--r--src/hulahop-web-view.h49
-rw-r--r--src/hulahop.defs14
-rw-r--r--src/hulahop.override14
-rw-r--r--src/webview.py (renamed from src/browser.py)8
8 files changed, 137 insertions, 134 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 541c4e4..efe531b 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,7 +1,7 @@
sugardir = $(pythondir)/hulahop
sugar_PYTHON = \
__init__.py \
- browser.py
+ webview.py
INCLUDES = \
$(DEPS_CFLAGS) \
@@ -31,8 +31,8 @@ _hulahop_la_LIBADD = \
_hulahop_la_SOURCES = \
HulahopDirectoryProvider.cpp \
HulahopDirectoryProvider.h \
- hulahop-browser.cpp \
- hulahop-browser.h \
+ hulahop-web-view.cpp \
+ hulahop-web-view.h \
hulahop.c \
hulahopmodule.c
diff --git a/src/__init__.py b/src/__init__.py
index 5052a51..aaa29a9 100644
--- a/src/__init__.py
+++ b/src/__init__.py
@@ -15,9 +15,13 @@
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
-from hulahop._hulahop import startup, shutdown
-from hulahop._hulahop import set_profile_path, add_components_path
+from hulahop._hulahop import shutdown
+from hulahop import _hulahop
-startup()
+def startup(profile_path, components_dirs=[]):
+ _hulahop.set_profile_path(profile_path)
-from hulahop.browser import Browser
+ for path in components_dirs:
+ _hulahop.add_components_path(path)
+
+ _hulahop.startup()
diff --git a/src/hulahop-browser.h b/src/hulahop-browser.h
deleted file mode 100644
index 72c2d0c..0000000
--- a/src/hulahop-browser.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2006, Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __HULAHOP_BROWSER_H__
-#define __HULAHOP_BROWSER_H__
-
-#include <Python.h>
-#include <gtk/gtkbin.h>
-
-G_BEGIN_DECLS
-
-typedef struct _HulahopBrowser HulahopBrowser;
-typedef struct _HulahopBrowserClass HulahopBrowserClass;
-
-#define HULAHOP_TYPE_BROWSER (hulahop_browser_get_type())
-#define HULAHOP_BROWSER(object) (G_TYPE_CHECK_INSTANCE_CAST((object), HULAHOP_TYPE_BROWSER, HulahopBrowser))
-#define HULAHOP_BROWSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), HULAHOP_TYPE_BROWSER, HulahopBrowserClass))
-#define HULAHOP_IS_BROWSER(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), HULAHOP_TYPE_BROWSER))
-#define HULAHOP_IS_BROWSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), HULAHOP_TYPE_BROWSER))
-#define HULAHOP_BROWSER_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), HULAHOP_TYPE_BROWSER, HulahopBrowserClass))
-
-gboolean hulahop_startup (void);
-void hulahop_shutdown (void);
-void hulahop_set_profile_path (const char *path);
-void hulahop_add_components_path (const char *path);
-
-GType hulahop_browser_get_type (void);
-PyObject *hulahop_browser_get_browser (HulahopBrowser *browser);
-PyObject *hulahop_browser_get_window_root (HulahopBrowser *browser);
-
-G_END_DECLS
-
-#endif
diff --git a/src/hulahop-browser.cpp b/src/hulahop-web-view.cpp
index 6c09964..ec4e3be 100644
--- a/src/hulahop-browser.cpp
+++ b/src/hulahop-web-view.cpp
@@ -32,10 +32,10 @@
#include <gtk/gtkfixed.h>
#include <gtk/gtkwindow.h>
-#include "hulahop-browser.h"
+#include "hulahop-web-view.h"
#include "HulahopDirectoryProvider.h"
-struct _HulahopBrowser {
+struct _HulahopWebView {
GtkBin base_instance;
nsCOMPtr<nsIWebBrowser> browser;
@@ -45,11 +45,11 @@ struct _HulahopBrowser {
GtkWidget *mozilla_widget;
};
-struct _HulahopBrowserClass {
+struct _HulahopWebViewClass {
GtkBinClass base_class;
};
-G_DEFINE_TYPE(HulahopBrowser, hulahop_browser, GTK_TYPE_BIN)
+G_DEFINE_TYPE(HulahopWebView, hulahop_web_view, GTK_TYPE_BIN)
static GObjectClass *parent_class = NULL;
@@ -88,7 +88,6 @@ void
hulahop_set_profile_path(const char *path)
{
kDirectoryProvider.SetProfilePath(path);
- XRE_NotifyProfile();
}
void
@@ -100,10 +99,10 @@ hulahop_add_components_path(const char *path)
static gboolean
child_focus_in_cb(GtkWidget *widget,
GdkEventFocus *event,
- HulahopBrowser *browser)
+ HulahopWebView *web_view)
{
nsCOMPtr<nsIWebBrowserFocus> webBrowserFocus;
- webBrowserFocus = do_QueryInterface(browser->browser);
+ webBrowserFocus = do_QueryInterface(web_view->browser);
NS_ENSURE_TRUE(webBrowserFocus, FALSE);
webBrowserFocus->Activate();
@@ -114,10 +113,10 @@ child_focus_in_cb(GtkWidget *widget,
static gboolean
child_focus_out_cb(GtkWidget *widget,
GdkEventFocus *event,
- HulahopBrowser *browser)
+ HulahopWebView *web_view)
{
nsCOMPtr<nsIWebBrowserFocus> webBrowserFocus;
- webBrowserFocus = do_QueryInterface(browser->browser);
+ webBrowserFocus = do_QueryInterface(web_view->browser);
NS_ENSURE_TRUE(webBrowserFocus, FALSE);
webBrowserFocus->Deactivate();
@@ -126,19 +125,19 @@ child_focus_out_cb(GtkWidget *widget,
}
static void
-hulahop_browser_unrealize(GtkWidget *widget)
+hulahop_web_view_unrealize(GtkWidget *widget)
{
- HulahopBrowser *browser = HULAHOP_BROWSER(widget);
+ HulahopWebView *web_view = HULAHOP_WEB_VIEW(widget);
- gtk_widget_reparent(browser->mozilla_widget, browser->offscreen_window);
+ gtk_widget_reparent(web_view->mozilla_widget, web_view->offscreen_window);
GTK_WIDGET_CLASS(parent_class)->unrealize(widget);
}
static void
-hulahop_browser_realize(GtkWidget *widget)
+hulahop_web_view_realize(GtkWidget *widget)
{
- HulahopBrowser *browser = HULAHOP_BROWSER(widget);
+ HulahopWebView *web_view = HULAHOP_WEB_VIEW(widget);
GdkWindowAttr attributes;
gint attributes_mask;
@@ -163,130 +162,130 @@ hulahop_browser_realize(GtkWidget *widget)
widget->style = gtk_style_attach (widget->style, widget->window);
gtk_style_set_background(widget->style, widget->window, GTK_STATE_NORMAL);
- g_assert(GTK_IS_WIDGET(browser->mozilla_widget));
+ g_assert(GTK_IS_WIDGET(web_view->mozilla_widget));
- gtk_widget_reparent(browser->mozilla_widget, widget);
+ gtk_widget_reparent(web_view->mozilla_widget, widget);
- g_signal_connect_object(browser->mozilla_widget,
+ g_signal_connect_object(web_view->mozilla_widget,
"focus-in-event",
G_CALLBACK(child_focus_in_cb),
- browser, (GConnectFlags)0);
- g_signal_connect_object(browser->mozilla_widget,
+ web_view, (GConnectFlags)0);
+ g_signal_connect_object(web_view->mozilla_widget,
"focus-out-event",
G_CALLBACK(child_focus_out_cb),
- browser, (GConnectFlags)0);
+ web_view, (GConnectFlags)0);
}
static void
-hulahop_browser_map(GtkWidget *widget)
+hulahop_web_view_map(GtkWidget *widget)
{
- HulahopBrowser *browser = HULAHOP_BROWSER(widget);
+ HulahopWebView *web_view = HULAHOP_WEB_VIEW(widget);
GTK_WIDGET_SET_FLAGS(widget, GTK_MAPPED);
- browser->base_window->SetVisibility(PR_TRUE);
+ web_view->base_window->SetVisibility(PR_TRUE);
gdk_window_show(widget->window);
}
static void
-hulahop_browser_unmap(GtkWidget *widget)
+hulahop_web_view_unmap(GtkWidget *widget)
{
- HulahopBrowser *browser = HULAHOP_BROWSER(widget);
+ HulahopWebView *web_view = HULAHOP_WEB_VIEW(widget);
GTK_WIDGET_UNSET_FLAGS(widget, GTK_MAPPED);
- browser->base_window->SetVisibility(PR_FALSE);
+ web_view->base_window->SetVisibility(PR_FALSE);
gdk_window_hide(widget->window);
}
static void
-hulahop_browser_size_allocate(GtkWidget *widget, GtkAllocation *allocation)
+hulahop_web_view_size_allocate(GtkWidget *widget, GtkAllocation *allocation)
{
- HulahopBrowser *browser = HULAHOP_BROWSER(widget);
+ HulahopWebView *web_view = HULAHOP_WEB_VIEW(widget);
if (GTK_WIDGET_REALIZED(widget)) {
gdk_window_move_resize(widget->window,
allocation->x, allocation->y,
allocation->width, allocation->height);
- browser->base_window->SetSize(allocation->width,
- allocation->height, PR_TRUE);
+ web_view->base_window->SetSize(allocation->width,
+ allocation->height, PR_TRUE);
}
}
static void
-hulahop_browser_dispose(GObject *object)
+hulahop_web_view_dispose(GObject *object)
{
- HulahopBrowser *browser = HULAHOP_BROWSER(object);
+ HulahopWebView *web_view = HULAHOP_WEB_VIEW(object);
- if (browser->offscreen_window) {
- gtk_widget_destroy(browser->offscreen_window);
- browser->offscreen_window = NULL;
+ if (web_view->offscreen_window) {
+ gtk_widget_destroy(web_view->offscreen_window);
+ web_view->offscreen_window = NULL;
}
}
static void
-hulahop_browser_class_init(HulahopBrowserClass *browser_class)
+hulahop_web_view_class_init(HulahopWebViewClass *web_view_class)
{
- GObjectClass *gobject_class = G_OBJECT_CLASS(browser_class);
- GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(browser_class);
+ GObjectClass *gobject_class = G_OBJECT_CLASS(web_view_class);
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(web_view_class);
- parent_class = (GObjectClass *) g_type_class_peek_parent(browser_class);
+ parent_class = (GObjectClass *) g_type_class_peek_parent(web_view_class);
- widget_class->realize = hulahop_browser_realize;
- widget_class->unrealize = hulahop_browser_unrealize;
- widget_class->map = hulahop_browser_map;
- widget_class->unmap = hulahop_browser_unmap;
- widget_class->size_allocate = hulahop_browser_size_allocate;
+ widget_class->realize = hulahop_web_view_realize;
+ widget_class->unrealize = hulahop_web_view_unrealize;
+ widget_class->map = hulahop_web_view_map;
+ widget_class->unmap = hulahop_web_view_unmap;
+ widget_class->size_allocate = hulahop_web_view_size_allocate;
- gobject_class->dispose = hulahop_browser_dispose;
+ gobject_class->dispose = hulahop_web_view_dispose;
}
static void
-hulahop_browser_init(HulahopBrowser *browser)
+hulahop_web_view_init(HulahopWebView *web_view)
{
- browser->offscreen_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- gtk_widget_realize(browser->offscreen_window);
+ web_view->offscreen_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ gtk_widget_realize(web_view->offscreen_window);
nsresult rv;
- browser->browser = do_CreateInstance
+ web_view->browser = do_CreateInstance
("@mozilla.org/embedding/browser/nsWebBrowser;1");
- g_assert(browser->browser);
+ g_assert(web_view->browser);
- nsCOMPtr<nsIDocShellTreeItem> item = do_QueryInterface(browser->browser);
+ nsCOMPtr<nsIDocShellTreeItem> item = do_QueryInterface(web_view->browser);
item->SetItemType(nsIDocShellTreeItem::typeContentWrapper);
- browser->base_window = do_QueryInterface(browser->browser);
+ web_view->base_window = do_QueryInterface(web_view->browser);
- rv = browser->base_window->InitWindow(browser->offscreen_window,
+ rv = web_view->base_window->InitWindow(web_view->offscreen_window,
nsnull, 0, 0, 100, 100);
g_assert(NS_SUCCEEDED(rv));
- rv = browser->base_window->Create();
+ rv = web_view->base_window->Create();
g_assert(NS_SUCCEEDED(rv));
- browser->mozilla_widget = GTK_BIN(browser->offscreen_window)->child;
+ web_view->mozilla_widget = GTK_BIN(web_view->offscreen_window)->child;
- GTK_WIDGET_UNSET_FLAGS(GTK_WIDGET(browser), GTK_NO_WINDOW);
+ GTK_WIDGET_UNSET_FLAGS(GTK_WIDGET(web_view), GTK_NO_WINDOW);
}
PyObject *
-hulahop_browser_get_browser(HulahopBrowser *browser)
+hulahop_web_view_get_browser(HulahopWebView *web_view)
{
- return PyObject_FromNSInterface(browser->browser,
+ return PyObject_FromNSInterface(web_view->browser,
NS_GET_IID(nsIWebBrowser));
}
PyObject *
-hulahop_browser_get_window_root(HulahopBrowser *browser)
+hulahop_web_view_get_window_root(HulahopWebView *web_view)
{
nsresult rv;
nsCOMPtr<nsIDOMWindow> contentWindow;
- rv = browser->browser->GetContentDOMWindow(getter_AddRefs(contentWindow));
+ rv = web_view->browser->GetContentDOMWindow(getter_AddRefs(contentWindow));
NS_ENSURE_SUCCESS(rv, NULL);
nsCOMPtr<nsIDOMWindow2> domWindow(do_QueryInterface(contentWindow));
diff --git a/src/hulahop-web-view.h b/src/hulahop-web-view.h
new file mode 100644
index 0000000..28b44a3
--- /dev/null
+++ b/src/hulahop-web-view.h
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2006, Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __HULAHOP_WEB_VIEW_H__
+#define __HULAHOP_WEB_VIEW_H__
+
+#include <Python.h>
+#include <gtk/gtkbin.h>
+
+G_BEGIN_DECLS
+
+typedef struct _HulahopWebView HulahopWebView;
+typedef struct _HulahopWebViewClass HulahopWebViewClass;
+
+#define HULAHOP_TYPE_WEB_VIEW (hulahop_web_view_get_type())
+#define HULAHOP_WEB_VIEW(object) (G_TYPE_CHECK_INSTANCE_CAST((object), HULAHOP_TYPE_WEB_VIEW, HulahopWebView))
+#define HULAHOP_WEB_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), HULAHOP_TYPE_WEB_VIEW, HulahopWebViewClass))
+#define HULAHOP_IS_WEB_VIEW(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), HULAHOP_TYPE_WEB_VIEW))
+#define HULAHOP_IS_WEB_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), HULAHOP_TYPE_WEB_VIEW))
+#define HULAHOP_WEB_VIEW_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), HULAHOP_TYPE_WEB_VIEW, HulahopWebViewClass))
+
+gboolean hulahop_startup (void);
+void hulahop_shutdown (void);
+void hulahop_set_profile_path (const char *path);
+void hulahop_add_components_path (const char *path);
+
+GType hulahop_web_view_get_type (void);
+PyObject *hulahop_web_view_get_browser (HulahopWebView *web_view);
+PyObject *hulahop_web_view_get_window_root (HulahopWebView *web_view);
+
+G_END_DECLS
+
+#endif
diff --git a/src/hulahop.defs b/src/hulahop.defs
index 8df394b..811b6c5 100644
--- a/src/hulahop.defs
+++ b/src/hulahop.defs
@@ -1,19 +1,19 @@
-(define-object Browser
+(define-object WebView
(in-module "Hulahop")
(parent "GtkBin")
- (c-name "HulahopBrowser")
- (gtype-id "HULAHOP_TYPE_BROWSER")
+ (c-name "HulahopWebView")
+ (gtype-id "HULAHOP_TYPE_WEB_VIEW")
)
(define-method get_browser
- (of-object "HulahopBrowser")
- (c-name "hulahop_browser_get_browser")
+ (of-object "HulahopWebView")
+ (c-name "hulahop_web_view_get_browser")
(return-type "none")
)
(define-method get_window_root
- (of-object "HulahopBrowser")
- (c-name "hulahop_browser_get_window_root")
+ (of-object "HulahopWebView")
+ (c-name "hulahop_web_view_get_window_root")
(return-type "none")
)
diff --git a/src/hulahop.override b/src/hulahop.override
index 38ea00d..d846c64 100644
--- a/src/hulahop.override
+++ b/src/hulahop.override
@@ -4,7 +4,7 @@ headers
#include <Python.h>
#include <pygtk/pygtk.h>
-#include "hulahop-browser.h"
+#include "hulahop-web-view.h"
%%
modulename _hulahop
@@ -15,17 +15,17 @@ ignore-glob
*_get_type
_*
%%
-override hulahop_browser_get_browser noargs
+override hulahop_web_view_get_browser noargs
static PyObject *
-_wrap_hulahop_browser_get_browser(PyGObject *self)
+_wrap_hulahop_web_view_get_browser(PyGObject *self)
{
- return hulahop_browser_get_browser(HULAHOP_BROWSER(self->obj));
+ return hulahop_web_view_get_browser(HULAHOP_WEB_VIEW(self->obj));
}
%%
-override hulahop_browser_get_window_root noargs
+override hulahop_web_view_get_window_root noargs
static PyObject *
-_wrap_hulahop_browser_get_window_root(PyGObject *self)
+_wrap_hulahop_web_view_get_window_root(PyGObject *self)
{
- return hulahop_browser_get_window_root(HULAHOP_BROWSER(self->obj));
+ return hulahop_web_view_get_window_root(HULAHOP_WEB_VIEW(self->obj));
}
%%
diff --git a/src/browser.py b/src/webview.py
index ad62d41..3b5e380 100644
--- a/src/browser.py
+++ b/src/webview.py
@@ -20,15 +20,15 @@ from hulahop import _hulahop
from xpcom import components
from xpcom.components import interfaces
-class Browser(_hulahop.Browser):
+class WebView(_hulahop.WebView):
def __init__(self):
- _hulahop.Browser.__init__(self)
+ _hulahop.WebView.__init__(self)
def get_window_root(self):
- return _hulahop.Browser.get_window_root(self)
+ return _hulahop.WebView.get_window_root(self)
def get_browser(self):
- return _hulahop.Browser.get_browser(self)
+ return _hulahop.WebView.get_browser(self)
def get_window(self):
return self.browser.contentDOMWindow