All pastes #817412 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-12-15 15:45 UTC
rendered paste body

#include <gtk/gtk.h>
#include "gtkembedmoz/gtkmozembed.h"


typedef struct _AgViewer {
	GtkWidget  *topLevelWindow;
	GtkWidget  *mozEmbed;
} AgViewer;

static AgViewer *new_gtk_browser    ();


static void load_started_cb      (GtkMozEmbed *embed, AgViewer *browser);
static void location_changed_cb  (GtkMozEmbed *embed, AgViewer *browser);

int
main(int argc, char **argv)
{
	gtk_init (&argc, &argv);

	AgViewer *browser = new_gtk_browser ();

//	gtk_widget_set_usize (browser->mozEmbed, 400, 400);

	gtk_widget_show_all (browser->mozEmbed);
	gtk_widget_show_all (browser->topLevelWindow);

	gtk_moz_embed_load_url (GTK_MOZ_EMBED(browser->mozEmbed), "test.htm");

	gtk_main();
}

static AgViewer *
new_gtk_browser ()
{
	AgViewer *browser = 0;

	browser = g_new0 (AgViewer, 1);

	browser->topLevelWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);

	browser->mozEmbed = gtk_moz_embed_new();
	gtk_container_add(GTK_CONTAINER (browser->topLevelWindow),
			browser->mozEmbed);

	gtk_signal_connect(GTK_OBJECT(browser->mozEmbed), "net_start",
			GTK_SIGNAL_FUNC(load_started_cb), browser);
	gtk_signal_connect(GTK_OBJECT(browser->mozEmbed), "location",
			GTK_SIGNAL_FUNC(location_changed_cb), browser);
  
	return browser;
}


void
location_changed_cb (GtkMozEmbed *embed, AgViewer *browser)
{
	char *newLocation;

	newLocation = gtk_moz_embed_get_location(embed);

	g_print("location_changed_cb  %s\n", newLocation);
}


void
load_started_cb (GtkMozEmbed *embed, AgViewer *browser)
{
	g_print("load_started_cb\n");
 
}