1/* gtkmozembed.vala 2 * 3 * Copyright (C) 2007 Alberto Ruiz 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Lesser General Public 7 * License as published by the Free Software Foundation; either 8 * version 2.1 of the License, or (at your option) any later version. 9 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Lesser General Public License for more details. 14 15 * You should have received a copy of the GNU Lesser General Public 16 * License along with this library; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18 * 19 * Author: 20 * Alberto Ruiz <aruiz@gnome.org> 21 */ 22 23[CCode (cprefix = "Gtk", lower_case_cprefix = "gtk_")] 24namespace Gtk { 25 [CCode (cprefix = "GTK_MOZ_EMBED_FLAG_", cheader_filename = "gtkembedmoz/gtkmozembed.h")] 26 public enum MozEmbedProgressFlags { 27 START, 28 REDIRECTING, 29 TRANSFERRING, 30 NEGOTIATING, 31 STOP, 32 IS_REQUEST, 33 IS_DOCUMENT, 34 IS_NETWORK, 35 IS_WINDOW, 36 RESTORING, 37 } 38 [CCode (cprefix = "GTK_MOZ_EMBED_STATUS_", cheader_filename = "gtkembedmoz/gtkmozembed.h")] 39 public enum MozEmbedStatusFlags 40 { 41 FAILED_DNS, 42 FAILED_CONNECT, 43 FAILED_TIMEOUT, 44 FAILED_USERCANCELED, 45 } 46 [CCode (cprefix = "GTK_MOZ_EMBED_FLAG_", cheader_filename = "gtkembedmoz/gtkmozembed.h")] 47 public enum MozEmbedReloadFlags 48 { 49 RELOADNORMAL, 50 RELOADBYPASSCACHE, 51 RELOADBYPASSPROXY, 52 RELOADBYPASSPROXYANDCACHE, 53 RELOADCHARSETCHANGE, 54 } 55 [CCode (cprefix = "GTK_MOZ_EMBED_FLAG_", cheader_filename = "gtkembedmoz/gtkmozembed.h")] 56 public enum MozEmbedChromeFlags 57 { 58 DEFAULTCHROME, 59 WINDOWBORDERSON, 60 WINDOWCLOSEON, 61 WINDOWRESIZEON, 62 MENUBARON, 63 TOOLBARON, 64 LOCATIONBARON, 65 STATUSBARON, 66 PERSONALTOOLBARON, 67 SCROLLBARSON, 68 TITLEBARON, 69 EXTRACHROMEON, 70 ALLCHROME, 71 WINDOWRAISED, 72 WINDOWLOWERED, 73 CENTERSCREEN, 74 DEPENDENT, 75 MODAL, 76 OPENASDIALOG, 77 OPENASCHROME, 78 } 79 [CCode (cheader_filename = "gtkembedmoz/gtkmozembed.h")] 80 public class MozEmbed : Gtk.Bin { 81 public MozEmbed (); 82 public void load_url (string url); 83 84 public void stop_load (); 85 public unowned bool can_go_back (); 86 public unowned bool can_go_forward (); 87 public void go_back (); 88 public void go_forward (); 89 90 public void render_data (string data, uint32 len, string base_uri, string mime_type); 91 public void open_stream (string base_uri, string mime_type); 92 public void append_data (string data, uint32 len); 93 94 public void close_stream (); 95 public unowned string get_link_message (); 96 public unowned string get_js_status (); 97 public unowned string get_title (); 98 public unowned string get_location (); 99 100 public void reload (MozEmbedReloadFlags flags); 101 public void set_chrome_mask (MozEmbedChromeFlags flags); 102 public MozEmbedChromeFlags get_chrome_mask (); 103 104 public static void push_startup (); 105 public static void pop_startup (); 106 public static void set_comp_path (string aPath); 107 public static void set_profile_path (string aDir, string aName); 108 109 public signal void js_status (); 110 public signal void location (); 111 public signal void link_message (); 112 public signal void title (); 113 public signal void progress (int cur, int max); 114 public signal void net_state (int flags, uint status); 115 public signal void net_start (); 116 public signal void net_stop (); 117 public signal void new_window (out MozEmbed retval, MozEmbedChromeFlags chromemask); 118 public signal void visibility (bool visibility); 119 public signal void destroy_browser (); 120 public signal bool open_uri (string uri); 121 } 122} 123 124