midori/midori/midori-browser.h

162 lines
5.2 KiB
C

/*
Copyright (C) 2008 Christian Dywan <christian@twotoasts.de>
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.1 of the License, or (at your option) any later version.
See the file COPYING for the full license text.
*/
#ifndef __MIDORI_BROWSER_H__
#define __MIDORI_BROWSER_H__
#include <webkit/webkit.h>
#if defined(HAVE_HILDON) && HAVE_HILDON
#include <hildon/hildon.h>
#endif
#include <katze/katze.h>
#include "midori-view.h"
G_BEGIN_DECLS
#define MIDORI_TYPE_BROWSER \
(midori_browser_get_type ())
#define MIDORI_BROWSER(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), MIDORI_TYPE_BROWSER, MidoriBrowser))
#define MIDORI_BROWSER_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), MIDORI_TYPE_BROWSER, MidoriBrowserClass))
#define MIDORI_IS_BROWSER(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), MIDORI_TYPE_BROWSER))
#define MIDORI_IS_BROWSER_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), MIDORI_TYPE_BROWSER))
#define MIDORI_BROWSER_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), MIDORI_TYPE_BROWSER, MidoriBrowserClass))
typedef struct _MidoriBrowser MidoriBrowser;
typedef struct _MidoriBrowserClass MidoriBrowserClass;
struct _MidoriBrowserClass
{
#if defined(HAVE_HILDON) && HAVE_HILDON
HildonWindowClass parent_class;
#else
GtkWindowClass parent_class;
#endif
/* Signals */
void
(*window_object_cleared) (MidoriBrowser* browser,
WebKitWebFrame* web_frame,
JSContextRef* context,
JSObjectRef* window_object);
void
(*statusbar_text_changed) (MidoriBrowser* browser,
const gchar* text);
void
(*element_motion) (MidoriBrowser* browser,
const gchar* link_uri);
void
(*new_window) (MidoriBrowser* browser,
const gchar* uri);
void
(*add_tab) (MidoriBrowser* browser,
GtkWidget* view);
void
(*remove_tab) (MidoriBrowser* browser,
GtkWidget* view);
void
(*activate_action) (MidoriBrowser* browser,
const gchar* name);
void
(*quit) (MidoriBrowser* browser);
};
GType
midori_browser_get_type (void) G_GNUC_CONST;
MidoriBrowser*
midori_browser_new (void);
gint
midori_browser_add_tab (MidoriBrowser* browser,
GtkWidget* widget);
void
midori_browser_remove_tab (MidoriBrowser* browser,
GtkWidget* widget);
void
midori_browser_foreach (MidoriBrowser* browser,
GtkCallback callback,
gpointer callback_data);
gint
midori_browser_add_item (MidoriBrowser* browser,
KatzeItem* item);
gint
midori_browser_add_uri (MidoriBrowser* browser,
const gchar* uri);
void
midori_browser_activate_action (MidoriBrowser* browser,
const gchar* name);
GtkActionGroup*
midori_browser_get_action_group (MidoriBrowser* browser);
void
midori_browser_set_current_uri (MidoriBrowser* browser,
const gchar* uri);
const gchar*
midori_browser_get_current_uri (MidoriBrowser* browser);
void
midori_browser_set_current_page (MidoriBrowser* browser,
gint n);
gint
midori_browser_get_current_page (MidoriBrowser* browser);
GtkWidget*
midori_browser_get_nth_tab (MidoriBrowser* browser,
gint n);
void
midori_browser_set_current_tab (MidoriBrowser* browser,
GtkWidget* widget);
#define midori_browser_set_tab midori_browser_set_current_tab
GtkWidget*
midori_browser_get_current_tab (MidoriBrowser* browser);
#define midori_browser_get_tab midori_browser_get_current_tab
GList*
midori_browser_get_tabs (MidoriBrowser* browser);
KatzeArray*
midori_browser_get_proxy_items (MidoriBrowser* browser);
KatzeArray*
midori_browser_get_proxy_array (MidoriBrowser* browser);
MidoriBrowser*
midori_browser_get_for_widget (GtkWidget* widget);
void
midori_browser_quit (MidoriBrowser* browser);
const gchar**
midori_browser_get_toolbar_actions (MidoriBrowser* browser);
MidoriWebSettings*
midori_browser_get_settings (MidoriBrowser* browser);
G_END_DECLS
#endif /* __MIDORI_BROWSER_H__ */