<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" 
               "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id="EphyEmbed">
<refmeta>
<refentrytitle role="top_of_page" id="EphyEmbed.top_of_page">EphyEmbed</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>EPIPHANY Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>EphyEmbed</refname>
<refpurpose>An interface to the widget displaying web pages</refpurpose>
</refnamediv>

<refsynopsisdiv id="EphyEmbed.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>
typedef             <link linkend="EphyEmbed">EphyEmbed</link>;
</synopsis>
</refsynopsisdiv>

<refsect1 id="EphyEmbed.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<synopsis>
  <link linkend="GObject">GObject</link>
   +----<link linkend="GInitiallyUnowned">GInitiallyUnowned</link>
         +----<link linkend="GtkObject">GtkObject</link>
               +----<link linkend="GtkWidget">GtkWidget</link>
                     +----<link linkend="GtkContainer">GtkContainer</link>
                           +----<link linkend="GtkBin">GtkBin</link>
                                 +----EphyEmbed
</synopsis>
</refsect1>



<refsect1 id="EphyEmbed.implemented-interfaces" role="impl_interfaces">
<title role="impl_interfaces.title">Implemented Interfaces</title>
<para>
EphyEmbed implements
 <link linkend="AtkImplementorIface">AtkImplementorIface</link>,  <link linkend="GtkBuildable">GtkBuildable</link> and  <link linkend="EphyCommandManager">EphyCommandManager</link>.</para>
</refsect1>





<refsect1 id="EphyEmbed.description" role="desc">
<title role="desc.title">Description</title>

<para>
Each <link linkend="EphyTab"><type>EphyTab</type></link> contains an <link linkend="EphyEmbed."><type>EphyEmbed.</type></link> An <link linkend="EphyEmbed"><type>EphyEmbed</type></link> is an interface; right now
it is only implemented by <link linkend="MozillaEmbed"><type>MozillaEmbed</type></link>, but whenever possible, <link linkend="EphyEmbed"><type>EphyEmbed</type></link>'s
functions should be used instead of their <link linkend="MozillaEmbed"><type>MozillaEmbed</type></link> equivalents.
</para>
<para>
<link linkend="EphyEmbed"><type>EphyEmbed</type></link>'s most important functions can be divided into sets:
</para>
<itemizedlist>
<listitem>Functions which affect navigation</listitem>
<listitem>Functions which return information about the displayed web
page</listitem>
<listitem>Functions which manipulate the session history</listitem>
</itemizedlist>
<para>The first two sets of functions are self-explanitory.</para>
<para>The session history functions are used to traverse the embedded browser's
history. Each <link linkend="EphyEmbed"><type>EphyEmbed</type></link> remembers a history of the web pages it has visited.
There can be a maximum limit, however; for <link linkend="MozillaEmbed"><type>MozillaEmbed</type></link>, this limit is
determined by Mozilla's browser.sessionhistory.max_entries preference. Because
of this limit, <link linkend="ephy-embed-shistory-n-items"><function>ephy_embed_shistory_n_items()</function></link> will not necessarily return the
number of web pages visited in the embed's lifetime; likewise,
<link linkend="ephy-embed-shistory-go-nth"><function>ephy_embed_shistory_go_nth()</function></link> will not always return to the user's home page
when called with a 0 argument.</para>
</refsect1>

<refsect1 id="EphyEmbed.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="EphyEmbed" role="typedef">
<title>EphyEmbed</title>
<indexterm zone="EphyEmbed"><primary>EphyEmbed</primary></indexterm>
<programlisting>typedef struct EphyEmbed EphyEmbed;
</programlisting>
<para>
</para></refsect2>

</refsect1>



<refsect1 id="EphyEmbed.see-also">
<title>See Also</title>
<para>
Using <link linkend="EphyEmbed"><type>EphyEmbed</type></link> instead of <link linkend="MozillaEmbed"><type>MozillaEmbed</type></link> is good practice. However, using a
<link linkend="MozillaEmbed"><type>MozillaEmbed</type></link> or even a <link linkend="GtkMozEmbed"><type>GtkMozEmbed</type></link> may be necessary in certain cases (this can
be done by casting).
</para>
</refsect1>

</refentry>
