1 /* -*- Mode: C; c-basic-offset: 4 -*- */
3 Copyright (C) 2006, Red Hat, Inc.
4 Copyright (C) 2007, One Laptop Per Child
5 Copyright (C) 2009, Jan Michael Alonzo <jmalonzo@gmail.com>
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25 #define NO_IMPORT_PYGOBJECT
26 #define NO_IMPORT_PYGTK
27 #include <pygtk/pygtk.h>
28 #include <pygobject.h>
29 #include <webkit/webkit.h>
30 #include <JavaScriptCore/JSContextRef.h>
32 #include "javascriptcore/javascriptcore_types.h"
36 _helper_wrap_gobject_glist (GList *list)
41 if ((py_list = PyList_New(0)) == NULL) {
44 for (tmp = list; tmp != NULL; tmp = tmp->next) {
45 PyObject *py_obj = pygobject_new(G_OBJECT(tmp->data));
52 PyList_Append(py_list, py_obj);
61 import gtk.Container as PyGtkContainer_Type
62 import gobject.GObject as PyGObject_Type
63 import gtk.PrintOperation as PyGtkPrintOperation_Type
70 webkit_network_request_get_type
71 webkit_web_back_forward_list_get_type
72 webkit_web_frame_get_type
73 webkit_web_history_item_get_type
74 webkit_web_inspector_get_type
75 webkit_web_view_get_type
76 webkit_web_settings_get_type
77 webkit_download_get_type
79 override webkit_web_frame_get_global_context noargs
81 _wrap_webkit_web_frame_get_global_context (PyGObject *self)
83 JSGlobalContextRef ref;
85 ref = webkit_web_frame_get_global_context (WEBKIT_WEB_FRAME (self->obj));
87 return wrap_JSGlobalContextRef (ref);
90 override webkit_web_back_forward_list_get_back_list_with_limit
92 _wrap_webkit_web_back_forward_list_get_back_list_with_limit (PyGObject *self, PyObject *args, PyObject *kwargs)
94 static char *kwlist[] = { "limit", NULL };
99 if (! PyArg_ParseTupleAndKeywords (args, kwargs, "i:WebBackForwardList.get_back_list_with_limit", kwlist, &limit))
102 list = webkit_web_back_forward_list_get_back_list_with_limit(WEBKIT_WEB_BACK_FORWARD_LIST(self->obj),
104 return _helper_wrap_gobject_glist (list);
107 override webkit_web_back_forward_list_get_forward_list_with_limit
109 _wrap_webkit_web_back_forward_list_get_forward_list_with_limit (PyGObject *self, PyObject *args, PyObject *kwargs)
111 static char *kwlist[] = { "limit", NULL };
116 if (! PyArg_ParseTupleAndKeywords (args, kwargs, "i:WebBackForwardList.get_forward_list_with_limit", kwlist, &limit))
119 list = webkit_web_back_forward_list_get_forward_list_with_limit(WEBKIT_WEB_BACK_FORWARD_LIST(self->obj),
121 return _helper_wrap_gobject_glist (list);
124 override webkit_web_navigation_action_set_reason kwargs
126 _wrap_webkit_web_navigation_action_set_reason(PyGObject *self, PyObject *args, PyObject *kwargs)
128 static char *kwlist[] = { "reason", NULL };
130 WebKitWebNavigationReason reason = 0;
132 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:WebKitWebNavigationAction.set_reason",
136 pyg_enum_get_value(WEBKIT_TYPE_WEB_NAVIGATION_REASON, py_reason, (gint*) &reason);
138 webkit_web_navigation_action_set_reason(WEBKIT_WEB_NAVIGATION_ACTION(self->obj), reason);
144 override webkit_web_navigation_action_get_reason noargs
146 _wrap_webkit_web_navigation_action_get_reason(PyGObject *self)
148 WebKitWebNavigationReason reason;
150 reason = webkit_web_navigation_action_get_reason(WEBKIT_WEB_NAVIGATION_ACTION(self->obj));
152 return Py_BuildValue("N", pyg_enum_from_gtype(WEBKIT_TYPE_WEB_NAVIGATION_REASON, reason));
155 override webkit_download_get_status noargs
157 _wrap_webkit_download_get_status(PyGObject *self)
159 WebKitDownloadStatus status;
161 status = webkit_download_get_status(WEBKIT_DOWNLOAD(self->obj));
163 return Py_BuildValue("N", pyg_enum_from_gtype(WEBKIT_TYPE_DOWNLOAD_STATUS, status));
166 new-constructor WEBKIT_TYPE_HISTORY_ITEM
168 override webkit_web_history_item_new kwargs
170 _wrap_webkit_web_history_item_new(PyGObject *self, PyObject *args, PyObject *kwargs)
172 static char *kwlist[] = {"uri", "title", NULL};
176 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|zz:WebHistoryItem.__init__",
177 kwlist, &uri, &title))
182 self->obj = (GObject *)webkit_web_history_item_new_with_data(uri, title);
184 self->obj = (GObject *)webkit_web_history_item_new();
187 PyErr_SetString(PyExc_RuntimeError,
188 "count not create WebHistoryItem object");
191 pygobject_register_wrapper((PyObject *)self);