<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
  <!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
  <!ENTITY % gtkdocentities SYSTEM "../xml/gtkdocentities.ent">
  %gtkdocentities;
]>
<refentry id="AtkDocument">
<refmeta>
<refentrytitle role="top_of_page" id="AtkDocument.top_of_page">AtkDocument</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>ATK Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>AtkDocument</refname>
<refpurpose>The ATK interface which represents the toplevel
container for document content.</refpurpose>
</refnamediv>

<refsect1 id="AtkDocument.functions" role="functions_proto">
<title role="functions_proto.title">Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_proto_type" colwidth="150px"/>
<colspec colname="functions_proto_name"/>
<tbody>
<row><entry role="function_type">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="atk-document-get-document-type">atk_document_get_document_type</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gpointer"><returnvalue>gpointer</returnvalue></link>
</entry><entry role="function_name"><link linkend="atk-document-get-document">atk_document_get_document</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="atk-document-get-attribute-value">atk_document_get_attribute_value</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="atk-document-set-attribute-value">atk_document_set_attribute_value</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="AtkAttributeSet"><returnvalue>AtkAttributeSet</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="atk-document-get-attributes">atk_document_get_attributes</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="atk-document-get-locale">atk_document_get_locale</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="atk-document-get-current-page-number">atk_document_get_current_page_number</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="atk-document-get-page-count">atk_document_get_page_count</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="AtkDocument.signals" role="signal_proto">
<title role="signal_proto.title">Signals</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="signal_proto_type" colwidth="150px"/>
<colspec colname="signal_proto_name" colwidth="300px"/>
<colspec colname="signal_proto_flags" colwidth="200px"/>
<tbody>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="AtkDocument-load-complete">load-complete</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="AtkDocument-load-stopped">load-stopped</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="AtkDocument-page-changed">page-changed</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="AtkDocument-reload">reload</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="AtkDocument.other" role="other_proto">
<title role="other_proto.title">Types and Values</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="other_proto_type" colwidth="150px"/>
<colspec colname="other_proto_name"/>
<tbody>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="AtkDocument-struct">AtkDocument</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="AtkDocumentIface">AtkDocumentIface</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="AtkDocument.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<screen>    <link linkend="GInterface">GInterface</link>
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> AtkDocument
</screen>
</refsect1>
<refsect1 id="AtkDocument.implementations" role="implementations">
<title role="implementations.title">Known Implementations</title>
<para>
AtkDocument is implemented by
 <link linkend="AtkNoOpObject">AtkNoOpObject</link>.</para>

</refsect1>


<refsect1 id="AtkDocument.description" role="desc">
<title role="desc.title">Description</title>
<para>The AtkDocument interface should be supported by any object whose
content is a representation or view of a document.  The AtkDocument
interface should appear on the toplevel container for the document
content; however AtkDocument instances may be nested (i.e. an
AtkDocument may be a descendant of another AtkDocument) in those
cases where one document contains "embedded content" which can
reasonably be considered a document in its own right.</para>

</refsect1>
<refsect1 id="AtkDocument.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="atk-document-get-document-type" role="function" condition="deprecated">
<title>atk_document_get_document_type&#160;()</title>
<indexterm zone="atk-document-get-document-type" role="deprecated"><primary>atk_document_get_document_type</primary></indexterm>
<programlisting language="C">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
atk_document_get_document_type (<parameter><link linkend="AtkDocument"><type>AtkDocument</type></link> *document</parameter>);</programlisting>
<warning><para><literal>atk_document_get_document_type</literal> is deprecated and should not be used in newly-written code.</para> <para>Since 2.12. Please use <link linkend="atk-document-get-attributes"><function>atk_document_get_attributes()</function></link> to
ask for the document type if it applies.</para>
</warning>
<para>Gets a string indicating the document type.</para>

<para><emphasis role="annotation">[<acronym>virtual</acronym> get_document_type]</emphasis></para><refsect3 id="atk-document-get-document-type.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>document</para></entry>
<entry role="parameter_description"><para>a <link linkend="GObject"><type>GObject</type></link> instance that implements AtkDocumentIface</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="atk-document-get-document-type.returns" role="returns">
<title>Returns</title>
<para> a string indicating the document type</para>
</refsect3></refsect2>
<refsect2 id="atk-document-get-document" role="function" condition="deprecated">
<title>atk_document_get_document&#160;()</title>
<indexterm zone="atk-document-get-document" role="deprecated"><primary>atk_document_get_document</primary></indexterm>
<programlisting language="C"><link linkend="gpointer"><returnvalue>gpointer</returnvalue></link>
atk_document_get_document (<parameter><link linkend="AtkDocument"><type>AtkDocument</type></link> *document</parameter>);</programlisting>
<warning><para><literal>atk_document_get_document</literal> is deprecated and should not be used in newly-written code.</para> <para>Since 2.12. <parameter>document</parameter>
 is already a representation of
the document. Use it directly, or one of its children, as an
instance of the DOM.</para>
</warning>
<para>Gets a <link linkend="gpointer"><literal>gpointer</literal></link> that points to an instance of the DOM.  It is
up to the caller to check atk_document_get_type to determine
how to cast this pointer.</para>

<para><emphasis role="annotation">[<acronym>virtual</acronym> get_document]</emphasis></para><refsect3 id="atk-document-get-document.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>document</para></entry>
<entry role="parameter_description"><para>a <link linkend="GObject"><type>GObject</type></link> instance that implements AtkDocumentIface</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="atk-document-get-document.returns" role="returns">
<title>Returns</title>
<para>a <link linkend="gpointer"><literal>gpointer</literal></link> that points to an instance of the DOM. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="atk-document-get-attribute-value" role="function" condition="since:1.12">
<title>atk_document_get_attribute_value&#160;()</title>
<indexterm zone="atk-document-get-attribute-value" role="1.12"><primary>atk_document_get_attribute_value</primary></indexterm>
<programlisting language="C">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
atk_document_get_attribute_value (<parameter><link linkend="AtkDocument"><type>AtkDocument</type></link> *document</parameter>,
                                  <parameter>const <link linkend="gchar"><type>gchar</type></link> *attribute_name</parameter>);</programlisting>

<para><emphasis role="annotation">[<acronym>virtual</acronym> get_document_attribute_value]</emphasis></para><refsect3 id="atk-document-get-attribute-value.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>document</para></entry>
<entry role="parameter_description"><para>a <link linkend="GObject"><type>GObject</type></link> instance that implements AtkDocumentIface</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>attribute_name</para></entry>
<entry role="parameter_description"><para>a character string representing the name of the attribute
whose value is being queried.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="atk-document-get-attribute-value.returns" role="returns">
<title>Returns</title>
<para>a string value associated with the named
attribute for this document, or NULL if a value for
<link linkend="attribute-name"><type>attribute_name</type></link> has not been specified for this document. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2>
<refsect2 id="atk-document-set-attribute-value" role="function" condition="since:1.12">
<title>atk_document_set_attribute_value&#160;()</title>
<indexterm zone="atk-document-set-attribute-value" role="1.12"><primary>atk_document_set_attribute_value</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
atk_document_set_attribute_value (<parameter><link linkend="AtkDocument"><type>AtkDocument</type></link> *document</parameter>,
                                  <parameter>const <link linkend="gchar"><type>gchar</type></link> *attribute_name</parameter>,
                                  <parameter>const <link linkend="gchar"><type>gchar</type></link> *attribute_value</parameter>);</programlisting>

<para><emphasis role="annotation">[<acronym>virtual</acronym> set_document_attribute]</emphasis></para><refsect3 id="atk-document-set-attribute-value.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>document</para></entry>
<entry role="parameter_description"><para>a <link linkend="GObject"><type>GObject</type></link> instance that implements AtkDocumentIface</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>attribute_name</para></entry>
<entry role="parameter_description"><para>a character string representing the name of the attribute
whose value is being set.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>attribute_value</para></entry>
<entry role="parameter_description"><para>a string value to be associated with <link linkend="attribute-name"><type>attribute_name</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="atk-document-set-attribute-value.returns" role="returns">
<title>Returns</title>
<para> TRUE if <link linkend="value"><type>value</type></link> is successfully associated with <link linkend="attribute-name"><type>attribute_name</type></link>
for this document, FALSE otherwise (e.g. if the document does not
allow the attribute to be modified).</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2>
<refsect2 id="atk-document-get-attributes" role="function" condition="since:1.12">
<title>atk_document_get_attributes&#160;()</title>
<indexterm zone="atk-document-get-attributes" role="1.12"><primary>atk_document_get_attributes</primary></indexterm>
<programlisting language="C"><link linkend="AtkAttributeSet"><returnvalue>AtkAttributeSet</returnvalue></link>&#160;*
atk_document_get_attributes (<parameter><link linkend="AtkDocument"><type>AtkDocument</type></link> *document</parameter>);</programlisting>
<para>Gets an AtkAttributeSet which describes document-wide
         attributes as name-value pairs.</para>

<para><emphasis role="annotation">[<acronym>virtual</acronym> get_document_attributes]</emphasis></para><refsect3 id="atk-document-get-attributes.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>document</para></entry>
<entry role="parameter_description"><para>a <link linkend="GObject"><type>GObject</type></link> instance that implements AtkDocumentIface</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="atk-document-get-attributes.returns" role="returns">
<title>Returns</title>
<para>An AtkAttributeSet containing the explicitly
set name-value-pair attributes associated with this document
as a whole. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2>
<refsect2 id="atk-document-get-locale" role="function" condition="deprecated:2.7.90: Please use atk_object_get_object_locale() instead.">
<title>atk_document_get_locale&#160;()</title>
<indexterm zone="atk-document-get-locale" role="deprecated"><primary>atk_document_get_locale</primary></indexterm>
<programlisting language="C">const <link linkend="gchar"><returnvalue>gchar</returnvalue></link>&#160;*
atk_document_get_locale (<parameter><link linkend="AtkDocument"><type>AtkDocument</type></link> *document</parameter>);</programlisting>
<warning><para><literal>atk_document_get_locale</literal> has been deprecated since version 2.7.90 and should not be used in newly-written code.</para> <para>Please use <link linkend="atk-object-get-object-locale"><function>atk_object_get_object_locale()</function></link> instead.</para>
</warning>
<para>Gets a UTF-8 string indicating the POSIX-style LC_MESSAGES locale
         of the content of this document instance.  Individual
         text substrings or images within this document may have
         a different locale, see atk_text_get_attributes and
         atk_image_get_image_locale.</para>

<para><emphasis role="annotation">[<acronym>virtual</acronym> get_document_locale]</emphasis></para><refsect3 id="atk-document-get-locale.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>document</para></entry>
<entry role="parameter_description"><para>a <link linkend="GObject"><type>GObject</type></link> instance that implements AtkDocumentIface</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="atk-document-get-locale.returns" role="returns">
<title>Returns</title>
<para> a UTF-8 string indicating the POSIX-style LC_MESSAGES
locale of the document content as a whole, or NULL if
the document content does not specify a locale.</para>
</refsect3></refsect2>
<refsect2 id="atk-document-get-current-page-number" role="function" condition="since:2.12">
<title>atk_document_get_current_page_number&#160;()</title>
<indexterm zone="atk-document-get-current-page-number" role="2.12"><primary>atk_document_get_current_page_number</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
atk_document_get_current_page_number (<parameter><link linkend="AtkDocument"><type>AtkDocument</type></link> *document</parameter>);</programlisting>
<refsect3 id="atk-document-get-current-page-number.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>document</para></entry>
<entry role="parameter_description"><para>the <link linkend="AtkDocument"><type>AtkDocument</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="atk-document-get-current-page-number.returns" role="returns">
<title>Returns</title>
<para> current page number inside <parameter>document</parameter>
. -1 if not
implemented, not know by the implementor or irrelevant.</para>
</refsect3><para role="since">Since: <link linkend="api-index-2.12">2.12</link></para></refsect2>
<refsect2 id="atk-document-get-page-count" role="function" condition="since:2.12">
<title>atk_document_get_page_count&#160;()</title>
<indexterm zone="atk-document-get-page-count" role="2.12"><primary>atk_document_get_page_count</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
atk_document_get_page_count (<parameter><link linkend="AtkDocument"><type>AtkDocument</type></link> *document</parameter>);</programlisting>
<refsect3 id="atk-document-get-page-count.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>document</para></entry>
<entry role="parameter_description"><para>the <link linkend="AtkDocument"><type>AtkDocument</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="atk-document-get-page-count.returns" role="returns">
<title>Returns</title>
<para> total page count of <parameter>document</parameter>
. -1 if not implemented, not
know by the implementor or irrelevant.</para>
</refsect3><para role="since">Since: <link linkend="api-index-2.12">2.12</link></para></refsect2>

</refsect1>
<refsect1 id="AtkDocument.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="AtkDocument-struct" role="struct">
<title>AtkDocument</title>
<indexterm zone="AtkDocument-struct"><primary>AtkDocument</primary></indexterm>
<programlisting language="C">typedef struct _AtkDocument AtkDocument;</programlisting>
</refsect2>
<refsect2 id="AtkDocumentIface" role="struct">
<title>struct AtkDocumentIface</title>
<indexterm zone="AtkDocumentIface"><primary>AtkDocumentIface</primary></indexterm>
<programlisting language="C">struct AtkDocumentIface {
  GTypeInterface parent;
  const gchar*          ( *get_document_type) (AtkDocument              *document);
  gpointer              ( *get_document)      (AtkDocument              *document);

  const gchar*          ( *get_document_locale) (AtkDocument              *document);
  AtkAttributeSet *     ( *get_document_attributes) (AtkDocument        *document);
  const gchar*          ( *get_document_attribute_value) (AtkDocument   *document,
                                                          const gchar   *attribute_name);
  gboolean              ( *set_document_attribute) (AtkDocument         *document,
                                                    const gchar         *attribute_name,
                                                    const gchar         *attribute_value);
  gint                  ( *get_current_page_number) (AtkDocument *document);
  gint                  ( *get_page_count) (AtkDocument *document);
};
</programlisting>
<refsect3 id="AtkDocumentIface.members" role="struct_members">
<title>Members</title>
<informaltable role="struct_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="struct_members_name" colwidth="300px"/>
<colspec colname="struct_members_description"/>
<colspec colname="struct_members_annotations" colwidth="200px"/>
<tbody>
<row role="member"><entry role="struct_member_name"><para><link linkend="GTypeInterface"><type>GTypeInterface</type></link>&#160;<structfield id="AtkDocumentIface.parent">parent</structfield>;</para></entry>
<entry /><entry />
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="AtkDocumentIface.get-document-type">get_document_type</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>gets a string indicating the document
type. This virtual function is deprecated since 2.12 and it
should not be overriden.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="AtkDocumentIface.get-document">get_document</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>a <link linkend="GObject"><type>GObject</type></link> instance that implements
AtkDocumentIface. This virtual method is deprecated since 2.12
and it should not be overriden.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="AtkDocumentIface.get-document-locale">get_document_locale</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>gets locale. This virtual function is
deprecated since 2.7.90 and it should not be overriden.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="AtkDocumentIface.get-document-attributes">get_document_attributes</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>gets an AtkAttributeSet which describes
document-wide attributes as name-value pairs.</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="AtkDocumentIface.get-document-attribute-value">get_document_attribute_value</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>returns a string value assocciated
with the named attribute for this document, or NULL</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="AtkDocumentIface.set-document-attribute">set_document_attribute</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>sets the value of an attribute. Returns
TRUE on success, FALSE otherwise</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="AtkDocumentIface.get-current-page-number">get_current_page_number</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>gets the current page number. Since 2.12</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="AtkDocumentIface.get-page-count">get_page_count</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>gets the page count of the document. Since 2.12</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3>
</refsect2>

</refsect1>
<refsect1 id="AtkDocument.signal-details" role="signals">
<title role="signals.title">Signal Details</title>
<refsect2 id="AtkDocument-load-complete" role="signal"><title>The <literal>“load-complete”</literal> signal</title>
<indexterm zone="AtkDocument-load-complete"><primary>AtkDocument::load-complete</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="AtkDocument"><type>AtkDocument</type></link> *atkdocument,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The 'load-complete' signal is emitted when a pending load of
a static document has completed.  This signal is to be
expected by ATK clients if and when AtkDocument implementors
expose ATK_STATE_BUSY.  If the state of an AtkObject which
implements AtkDocument does not include ATK_STATE_BUSY, it
should be safe for clients to assume that the AtkDocument's
static contents are fully loaded into the container.
(Dynamic document contents should be exposed via other
signals.)</para>
<refsect3 id="AtkDocument-load-complete.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>atkdocument</para></entry>
<entry role="parameter_description"><para>the object which received the signal.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="AtkDocument-load-stopped" role="signal"><title>The <literal>“load-stopped”</literal> signal</title>
<indexterm zone="AtkDocument-load-stopped"><primary>AtkDocument::load-stopped</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="AtkDocument"><type>AtkDocument</type></link> *atkdocument,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The 'load-stopped' signal is emitted when a pending load of
document contents is cancelled, paused, or otherwise
interrupted by the user or application logic.  It should not
however be emitted while waiting for a resource (for instance
while blocking on a file or network read) unless a
user-significant timeout has occurred.</para>
<refsect3 id="AtkDocument-load-stopped.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>atkdocument</para></entry>
<entry role="parameter_description"><para>the object which received the signal.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="AtkDocument-page-changed" role="signal"><title>The <literal>“page-changed”</literal> signal</title>
<indexterm zone="AtkDocument-page-changed" role="2.12"><primary>AtkDocument::page-changed</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="AtkDocument"><type>AtkDocument</type></link> *atkdocument,
               <link linkend="gint"><type>gint</type></link>         page_number,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The 'page-changed' signal is emitted when the current page of
a document changes, e.g. pressing page up/down in a document
viewer.</para>
<refsect3 id="AtkDocument-page-changed.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>atkdocument</para></entry>
<entry role="parameter_description"><para>the object on which the signal was emitted</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>page_number</para></entry>
<entry role="parameter_description"><para>the new page number. If this value is unknown
or not applicable, -1 should be provided.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
<para role="since">Since: <link linkend="api-index-2.12">2.12</link></para></refsect2><refsect2 id="AtkDocument-reload" role="signal"><title>The <literal>“reload”</literal> signal</title>
<indexterm zone="AtkDocument-reload"><primary>AtkDocument::reload</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="AtkDocument"><type>AtkDocument</type></link> *atkdocument,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The 'reload' signal is emitted when the contents of a
document is refreshed from its source.  Once 'reload' has
been emitted, a matching 'load-complete' or 'load-stopped'
signal should follow, which clients may await before
interrogating ATK for the latest document content.</para>
<refsect3 id="AtkDocument-reload.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>atkdocument</para></entry>
<entry role="parameter_description"><para>the object which received the signal.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2>
</refsect1>

</refentry>
