add GtkMozEmbed bindings, patch by Alberto Ruiz, fixes bug 463438
authorJuerg Billeter <j@bitron.ch>
Sat, 4 Aug 2007 23:09:30 +0000 (23:09 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Sat, 4 Aug 2007 23:09:30 +0000 (23:09 +0000)
2007-08-05  Juerg Billeter  <j@bitron.ch>

* vapi/Makefile.am, vapi/gtkmozembed.vala: add GtkMozEmbed bindings,
  patch by Alberto Ruiz, fixes bug 463438

svn path=/trunk/; revision=417

ChangeLog
vapi/Makefile.am
vapi/gtkmozembed.vala [new file with mode: 0644]

index 2a96d74..2a15c31 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-08-05  Jürg Billeter  <j@bitron.ch>
+
+       * vapi/Makefile.am, vapi/gtkmozembed.vala: add GtkMozEmbed bindings,
+         patch by Alberto Ruiz, fixes bug 463438
+
 2007-08-01  Jürg Billeter  <j@bitron.ch>
 
        * vapi/glib-2.0.vala: extend GLib.Value
index 6d755e7..02443ea 100644 (file)
@@ -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 (file)
index 0000000..79e8110
--- /dev/null
@@ -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 <aruiz@gnome.org>
+ */
+
+[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);
+       }
+}
+