From: Juerg Billeter Date: Sat, 4 Aug 2007 23:09:30 +0000 (+0000) Subject: add GtkMozEmbed bindings, patch by Alberto Ruiz, fixes bug 463438 X-Git-Tag: VALA_0_1_3~137 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bfd68d7a80ccc7683481bcb18abea3e1ae533260;p=thirdparty%2Fvala.git add GtkMozEmbed bindings, patch by Alberto Ruiz, fixes bug 463438 2007-08-05 Juerg Billeter * vapi/Makefile.am, vapi/gtkmozembed.vala: add GtkMozEmbed bindings, patch by Alberto Ruiz, fixes bug 463438 svn path=/trunk/; revision=417 --- diff --git a/ChangeLog b/ChangeLog index 2a96d74c7..2a15c31a3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-08-05 Jürg Billeter + + * vapi/Makefile.am, vapi/gtkmozembed.vala: add GtkMozEmbed bindings, + patch by Alberto Ruiz, fixes bug 463438 + 2007-08-01 Jürg Billeter * vapi/glib-2.0.vala: extend GLib.Value diff --git a/vapi/Makefile.am b/vapi/Makefile.am index 6d755e7b4..02443ea73 100644 --- a/vapi/Makefile.am +++ b/vapi/Makefile.am @@ -15,6 +15,7 @@ dist_vapi_DATA = \ gio-standalone.vala \ gtk+-2.0.deps \ gtk+-2.0.vala \ + gtkmozembed.vala \ hal.deps \ hal.vala \ libxml-2.0.vala \ diff --git a/vapi/gtkmozembed.vala b/vapi/gtkmozembed.vala new file mode 100644 index 000000000..79e8110b9 --- /dev/null +++ b/vapi/gtkmozembed.vala @@ -0,0 +1,123 @@ +/* gtkmozembed.vala + * + * Copyright (C) 2007 Alberto Ruiz + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Author: + * Alberto Ruiz + */ + +[CCode (cprefix = "Gtk", lower_case_cprefix = "gtk_")] +namespace Gtk { + [CCode (cprefix = "GTK_MOZ_EMBED_FLAG_", cheader_filename = "gtkembedmoz/gtkmozembed.h")] + public enum MozEmbedProgressFlags { + START, + REDIRECTING, + TRANSFERRING, + NEGOTIATING, + STOP, + IS_REQUEST, + IS_DOCUMENT, + IS_NETWORK, + IS_WINDOW, + RESTORING, + } + [CCode (cprefix = "GTK_MOZ_EMBED_STATUS_", cheader_filename = "gtkembedmoz/gtkmozembed.h")] + public enum MozEmbedStatusFlags + { + FAILED_DNS, + FAILED_CONNECT, + FAILED_TIMEOUT, + FAILED_USERCANCELED, + } + [CCode (cprefix = "GTK_MOZ_EMBED_FLAG_", cheader_filename = "gtkembedmoz/gtkmozembed.h")] + public enum MozEmbedReloadFlags + { + RELOADNORMAL, + RELOADBYPASSCACHE, + RELOADBYPASSPROXY, + RELOADBYPASSPROXYANDCACHE, + RELOADCHARSETCHANGE, + } + [CCode (cprefix = "GTK_MOZ_EMBED_FLAG_", cheader_filename = "gtkembedmoz/gtkmozembed.h")] + public enum MozEmbedChromeFlags + { + DEFAULTCHROME, + WINDOWBORDERSON, + WINDOWCLOSEON, + WINDOWRESIZEON, + MENUBARON, + TOOLBARON, + LOCATIONBARON, + STATUSBARON, + PERSONALTOOLBARON, + SCROLLBARSON, + TITLEBARON, + EXTRACHROMEON, + ALLCHROME, + WINDOWRAISED, + WINDOWLOWERED, + CENTERSCREEN, + DEPENDENT, + MODAL, + OPENASDIALOG, + OPENASCHROME, + } + [CCode (cheader_filename = "gtkembedmoz/gtkmozembed.h")] + public class MozEmbed : Gtk.Bin { + public MozEmbed (); + public void load_url (string url); + + public void stop_load (); + public weak bool can_go_back (); + public weak bool can_go_forward (); + public void go_back (); + public void go_forward (); + + public void render_data (string data, uint32 len, string base_uri, string mime_type); + public void open_stream (string base_uri, string mime_type); + public void append_data (string data, uint32 len); + + public void close_stream (); + public weak string get_link_message (); + public weak string get_js_status (); + public weak string get_title (); + public weak string get_location (); + + public void reload (MozEmbedReloadFlags flags); + public void set_chrome_mask (MozEmbedChromeFlags flags); + public MozEmbedChromeFlags get_chrome_mask (); + + public static void push_startup (); + public static void pop_startup (); + public static void set_comp_path (string aPath); + public static void set_profile_path (string aDir, string aName); + + public signal void js_status (); + public signal void location (); + public signal void link_message (); + public signal void title (); + public signal void progress (int cur, int max); + public signal void net_state (int flags, uint status); + public signal void net_start (); + public signal void net_stop (); + public signal void new_window (out MozEmbed retval, MozEmbedChromeFlags chromemask); + public signal void visibility (bool visibility); + public signal void destroy_browser (); + public signal bool open_uri (string uri); + } +} +