[nautilus-python] Completed gtk-doc reference



commit 6adfacfa6a3d15e6389f93f2b1379aab2b5391fa
Author: Adam Plumb <adamplumb gmail com>
Date:   Fri May 21 11:54:15 2010 -0400

    Completed gtk-doc reference

 docs/Makefile.am                                   |   24 +-
 docs/reference/nautilus-python-class-reference.xml |   14 +
 docs/reference/nautilus-python-column-provider.xml |    8 +-
 docs/reference/nautilus-python-column.xml          |   22 +-
 docs/reference/nautilus-python-enum-reference.xml  |   10 +
 docs/reference/nautilus-python-file-info.xml       |  420 ++++++++++++++++++++
 docs/reference/nautilus-python-info-provider.xml   |  247 ++++++++++++
 .../nautilus-python-location-widget-provider.xml   |   99 +++++
 docs/reference/nautilus-python-menu-item.xml       |   20 +-
 docs/reference/nautilus-python-menu-provider.xml   |   23 +-
 .../reference/nautilus-python-operation-result.xml |   56 +++
 .../reference/nautilus-python-overview-example.xml |   59 +++
 .../reference/nautilus-python-overview-methods.xml |   20 +
 docs/reference/nautilus-python-overview.xml        |   38 ++
 .../nautilus-python-property-page-provider.xml     |  124 ++++++
 docs/reference/nautilus-python-property-page.xml   |   12 +-
 .../nautilus-python-provider-reference.xml         |   14 +
 docs/reference/nautilus-python-ref.xml             |   10 +-
 18 files changed, 1176 insertions(+), 44 deletions(-)
---
diff --git a/docs/Makefile.am b/docs/Makefile.am
index 2d33453..c78b824 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -8,23 +8,45 @@ PDF_STYLE = $(PYGOBJECT_DATADIR)/pygobject/xsl/pdf-style.xsl
 
 XMLFILES = 							\
 	reference/nautilus-python-ref.xml			\
+	reference/nautilus-python-overview.xml			\
+	reference/nautilus-python-overview-example.xml			\
+	reference/nautilus-python-overview-methods.xml			\
+	reference/nautilus-python-class-reference.xml			\
+	reference/nautilus-python-provider-reference.xml			\
 	reference/nautilus-python-column.xml   \
 	reference/nautilus-python-column-provider.xml   \
 	reference/nautilus-python-menu.xml  \
 	reference/nautilus-python-menu-item.xml \
 	reference/nautilus-python-menu-provider.xml \
-	reference/nautilus-python-property-page.xml 
+	reference/nautilus-python-property-page.xml \
+	reference/nautilus-python-property-page-provider.xml \
+	reference/nautilus-python-location-widget-provider.xml \
+	reference/nautilus-python-file-info.xml \
+	reference/nautilus-python-info-provider.xml \
+    reference/nautilus-python-enum-reference.xml \
+	reference/nautilus-python-operation-result.xml
 
 HTMLdir = $(datadir)/gtk-doc/html/nautilus-python
 HTML_DATA =						\
 	html/index.html					\
 	html/index.sgml					\
+	html/nautilus-python-overview.html \
+	html/nautilus-python-overview-example.html \
+	html/nautilus-python-overview-methods.html \
+	html/nautilus-python-class-reference.html \
+	html/nautilus-python-provider-reference.html \
 	html/class-nautilus-python-column.html \
 	html/class-nautilus-python-column-provider.html \
 	html/class-nautilus-python-menu.html  \
 	html/class-nautilus-python-menu-item.html  \
 	html/class-nautilus-python-menu-provider.html  \
 	html/class-nautilus-python-property-page.html  \
+	html/class-nautilus-python-property-page-provider.html  \
+	html/class-nautilus-python-location-widget-provider.html  \
+	html/class-nautilus-python-file-info.html  \
+	html/class-nautilus-python-info-provider.html  \
+	html/nautilus-python-enum-reference.html \
+	html/enum-nautilus-python-operation-result.html  \
 	html/nautilus-python.devhelp
 
 CSS_FILES = $(PYGOBJECT_PYGDOCS)/style.css
diff --git a/docs/reference/nautilus-python-class-reference.xml b/docs/reference/nautilus-python-class-reference.xml
new file mode 100644
index 0000000..5117239
--- /dev/null
+++ b/docs/reference/nautilus-python-class-reference.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<chapter id="nautilus-python-class-reference"
+  xmlns:xi="http://www.w3.org/2001/XInclude";>
+
+    <title>Available Classes</title>
+    <xi:include href="nautilus-python-column.xml"/>
+    <xi:include href="nautilus-python-file-info.xml"/>
+    <xi:include href="nautilus-python-menu.xml"/>
+    <xi:include href="nautilus-python-menu-item.xml"/>
+    <xi:include href="nautilus-python-property-page.xml"/>
+</chapter>
+
diff --git a/docs/reference/nautilus-python-column-provider.xml b/docs/reference/nautilus-python-column-provider.xml
index 8735feb..f22872d 100644
--- a/docs/reference/nautilus-python-column-provider.xml
+++ b/docs/reference/nautilus-python-column-provider.xml
@@ -33,10 +33,8 @@
     <title>Description</title>
 
       <para>
-        An extension that sub-classes <link linkend="class-nautilus-python-column-provider"><classname>nautilus.ColumnProvider</classname></link>
-        will be asked to provide a list of custom columns back to Nautilus, which are then displayed when the user is in <literal>List</literal> mode.  Nautilus 
-        does this by calling each extension's <link linkend="method-nautilus-column-provider--get-columns">get_columns</link> method, which returns a list of
-        <link linkend="class-nautilus-python-column"><classname>nautilus.Column</classname></link>.
+        If subclassed, Nautilus will request a list of <link linkend="class-nautilus-python-column"><classname>nautilus.Column</classname></link> 
+        objects, which are then displayed when the user is in <literal>List</literal> mode.
         
         <note>An extension sub-classing <link linkend="class-nautilus-python-column-provider"><classname>nautilus.ColumnProvider</classname></link> 
         will almost always want to sub-class <link linkend="class-info-provider"><classname>nautilus.InfoProvider</classname></link> 
@@ -79,7 +77,7 @@ class ColumnExtension(nautilus.ColumnProvider, nautilus.InfoProvider):
 <!-- ****************************** -->
 
   <refsect1>
-        <title>Expected Methods</title>
+        <title>Passive Methods</title>
 
         <refsect2 id="method-nautilus-column-provider--get-columns">
           <title>nautilus.ColumnProvider.get_columns</title>
diff --git a/docs/reference/nautilus-python-column.xml b/docs/reference/nautilus-python-column.xml
index a21da75..f027fcb 100644
--- a/docs/reference/nautilus-python-column.xml
+++ b/docs/reference/nautilus-python-column.xml
@@ -73,38 +73,38 @@
       
             <row valign="top">
               <entry>"attribute"</entry>
-              <entry>string</entry>
-              <entry>Read / Write</entry>
+              <entry>The attribute name to display.  Default value: None</entry>
+              <entry>Read-Write</entry>
             </row>
       
             <row valign="top">
               <entry>"attribute-q"</entry>
-              <entry>int</entry>
+              <entry>The attribute name to display, in quark form.  Default value: 0</entry>
               <entry>Read</entry>
             </row>
       
             <row valign="top">
               <entry>"description"</entry>
-              <entry>string</entry>
-              <entry>Read / Write</entry>
+              <entry>The user-visible description of the column.  Default value: None</entry>
+              <entry>Read-Write</entry>
             </row>
 
             <row valign="top">
               <entry>"label"</entry>
-              <entry>string</entry>
-              <entry>Read / Write</entry>
+              <entry>The label to display in the column.  Default value: None</entry>
+              <entry>Read-Write</entry>
             </row>
       
             <row valign="top">
               <entry>"name"</entry>
-              <entry>string</entry>
-              <entry>Read / Write / Construct Only</entry>
+              <entry>The name of the column.  Default value: None</entry>
+              <entry>Read-Write-ConstructOnly</entry>
             </row>
       
             <row valign="top">
               <entry>"xalign"</entry>
-              <entry>float</entry>
-              <entry>Read / Write</entry>
+              <entry>The x-alignment of the column.  Allowed values: [0,1].  Default value: 0</entry>
+              <entry>Read-Write</entry>
             </row>
 
           </tbody>
diff --git a/docs/reference/nautilus-python-enum-reference.xml b/docs/reference/nautilus-python-enum-reference.xml
new file mode 100644
index 0000000..bcc95f7
--- /dev/null
+++ b/docs/reference/nautilus-python-enum-reference.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<chapter id="nautilus-python-enum-reference"
+  xmlns:xi="http://www.w3.org/2001/XInclude";>
+
+    <title>Available Enums</title>
+    <xi:include href="nautilus-python-operation-result.xml"/>
+</chapter>
+
diff --git a/docs/reference/nautilus-python-file-info.xml b/docs/reference/nautilus-python-file-info.xml
new file mode 100644
index 0000000..32451ae
--- /dev/null
+++ b/docs/reference/nautilus-python-file-info.xml
@@ -0,0 +1,420 @@
+<?xml version="1.0" standalone="no"?>
+<!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="class-nautilus-python-file-info">
+  <refnamediv>
+    <refname>nautilus.FileInfo</refname>
+    <refpurpose>nautilus.FileInfo Reference</refpurpose>
+  </refnamediv>
+
+<!-- ******************************* -->
+<!-- BEGIN OF NAUTILUS-PYTHON SYNOPSIS -->
+<!-- ******************************* -->
+
+  <refsect1>
+    <title>Synopsis</title>
+
+    <classsynopsis language="python">
+        <ooclass><classname>nautilus.FileInfo</classname></ooclass>
+        <ooclass><classname><link linkend="class-ginterface">gobject.GInterface</link></classname></ooclass>
+
+        <methodsynopsis language="python">
+            <methodname><link linkend="method-nautilus-python-file-info--is-gone">is_gone</link></methodname>
+            <methodparam></methodparam>
+        </methodsynopsis>
+
+        <methodsynopsis language="python">
+            <methodname><link linkend="method-nautilus-python-file-info--get-file-type">get_file_type</link></methodname>
+            <methodparam></methodparam>
+        </methodsynopsis>
+
+        <methodsynopsis language="python">
+            <methodname><link linkend="method-nautilus-python-file-info--get-location">get_location</link></methodname>
+            <methodparam></methodparam>
+        </methodsynopsis>
+
+        <methodsynopsis language="python">
+            <methodname><link linkend="method-nautilus-python-file-info--get-name">get_name</link></methodname>
+            <methodparam></methodparam>
+        </methodsynopsis>
+
+        <methodsynopsis language="python">
+            <methodname><link linkend="method-nautilus-python-file-info--get-uri">get_uri</link></methodname>
+            <methodparam></methodparam>
+        </methodsynopsis>
+
+        <methodsynopsis language="python">
+            <methodname><link linkend="method-nautilus-python-file-info--get-activation-uri">get_activation_uri</link></methodname>
+            <methodparam></methodparam>
+        </methodsynopsis>
+
+        <methodsynopsis language="python">
+            <methodname><link linkend="method-nautilus-python-file-info--get-parent-info">get_parent_info</link></methodname>
+            <methodparam></methodparam>
+        </methodsynopsis>
+
+        <methodsynopsis language="python">
+            <methodname><link linkend="method-nautilus-python-file-info--get-parent-location">get_parent_location</link></methodname>
+            <methodparam></methodparam>
+        </methodsynopsis>
+
+        <methodsynopsis language="python">
+            <methodname><link linkend="method-nautilus-python-file-info--get-parent-uri">get_parent_uri</link></methodname>
+            <methodparam></methodparam>
+        </methodsynopsis>
+
+        <methodsynopsis language="python">
+            <methodname><link linkend="method-nautilus-python-file-info--get-mount">get_mount</link></methodname>
+            <methodparam></methodparam>
+        </methodsynopsis>
+
+        <methodsynopsis language="python">
+            <methodname><link linkend="method-nautilus-python-file-info--get-uri-scheme">get_uri_scheme</link></methodname>
+            <methodparam></methodparam>
+        </methodsynopsis>
+
+        <methodsynopsis language="python">
+            <methodname><link linkend="method-nautilus-python-file-info--get-mime-type">get_mime_type</link></methodname>
+            <methodparam></methodparam>
+        </methodsynopsis>
+
+        <methodsynopsis language="python">
+            <methodname><link linkend="method-nautilus-python-file-info--is-mime-type">is_mime_type</link></methodname>
+            <methodparam><parameter role="keyword">mime_type</parameter></methodparam>
+        </methodsynopsis>
+
+        <methodsynopsis language="python">
+            <methodname><link linkend="method-nautilus-python-file-info--is-directory">is_directory</link></methodname>
+            <methodparam></methodparam>
+        </methodsynopsis>
+
+        <methodsynopsis language="python">
+            <methodname><link linkend="method-nautilus-python-file-info--can-write">can_write</link></methodname>
+            <methodparam></methodparam>
+        </methodsynopsis>
+
+        <methodsynopsis language="python">
+            <methodname><link linkend="method-nautilus-python-file-info--add-emblem">add_emblem</link></methodname>
+            <methodparam><parameter role="keyword">emblem_name</parameter></methodparam>
+        </methodsynopsis>
+
+        <methodsynopsis language="python">
+            <methodname><link linkend="method-nautilus-python-file-info--get-string-attribute">get_string_attribute</link></methodname>
+            <methodparam><parameter role="keyword">attribute_name</parameter></methodparam>
+        </methodsynopsis>
+
+        <methodsynopsis language="python">
+            <methodname><link linkend="method-nautilus-python-file-info--add-string-attribute">add_string_attribute</link></methodname>
+            <methodparam><parameter role="keyword">attribute_name</parameter></methodparam>
+            <methodparam><parameter role="keyword">value</parameter></methodparam>
+        </methodsynopsis>
+
+        <methodsynopsis language="python">
+            <methodname><link linkend="method-nautilus-python-file-info--invalidate-extension-info">invalidate_extension_info</link></methodname>
+            <methodparam></methodparam>
+        </methodsynopsis>
+
+    </classsynopsis>
+  </refsect1>
+
+<!-- ********************************* -->
+<!-- BEGIN OF ANCESTRY -->
+<!-- ********************************* -->
+
+<refsect1>
+    <title>Ancestry</title>
+
+<synopsis>+-- <link linkend="class-ginterface">gobject.GInterface</link>
+    +-- <link linkend="class-nautilus-python-file-info">nautilus.FileInfo</link>
+</synopsis>
+</refsect1>
+
+
+<!-- ********************************** -->
+<!-- BEGIN OF DESCRIPTION -->
+<!-- ********************************** -->
+
+  <refsect1 id="description-file-info">
+    <title>Description</title>
+
+      <para>
+        <link linkend="class-nautilus-python-file-info"><classname>nautilus.FileInfo</classname></link> objects are passed
+        to extensions by the <link linkend="class-nautilus-python-info-provider"><classname>nautilus.InfoProvider</classname></link>.
+      </para>
+
+  </refsect1>
+
+
+<!-- ******************************** -->
+<!-- BEGIN OF METHODS -->
+<!-- ******************************** -->
+
+<refsect1>
+    <title>Public Methods</title>
+
+  <refsect2 id="method-nautilus-python-file-info--is-gone">
+    <title>nautilus.FileInfo.is_gone</title>
+    <programlisting><methodsynopsis language="python">
+        <methodname>is_gone</methodname>
+    </methodsynopsis></programlisting>
+    <variablelist>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>whether the file still exists</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+  </refsect2>
+
+  <refsect2 id="method-nautilus-python-file-info--get-file-type">
+    <title>nautilus.FileInfo.get_file_type</title>
+    <programlisting><methodsynopsis language="python">
+        <methodname>get_file_type</methodname>
+    </methodsynopsis></programlisting>
+    <variablelist>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>the <classname>gio.FileType</classname> associated with the file</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+  </refsect2>
+
+  <refsect2 id="method-nautilus-python-file-info--get-location">
+    <title>nautilus.FileInfo.get_location</title>
+    <programlisting><methodsynopsis language="python">
+        <methodname>get_location</methodname>
+    </methodsynopsis></programlisting>
+    <variablelist>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>the <classname>gio.File</classname> associated with the file</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+  </refsect2>
+
+  <refsect2 id="method-nautilus-python-file-info--get-name">
+    <title>nautilus.FileInfo.get_name</title>
+    <programlisting><methodsynopsis language="python">
+        <methodname>get_name</methodname>
+    </methodsynopsis></programlisting>
+    <variablelist>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>the basename of the file</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+  </refsect2>
+
+  <refsect2 id="method-nautilus-python-file-info--get-uri">
+    <title>nautilus.FileInfo.get_uri</title>
+    <programlisting><methodsynopsis language="python">
+        <methodname>get_uri</methodname>
+    </methodsynopsis></programlisting>
+    <variablelist>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>the uri of the file</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+  </refsect2>
+
+  <refsect2 id="method-nautilus-python-file-info--get-activation-uri">
+    <title>nautilus.FileInfo.get_activation_uri</title>
+    <programlisting><methodsynopsis language="python">
+        <methodname>get_activation_uri</methodname>
+    </methodsynopsis></programlisting>
+    <variablelist>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>the activation uri of the file</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+  </refsect2>
+
+  <refsect2 id="method-nautilus-python-file-info--get-parent-info">
+    <title>nautilus.FileInfo.get_parent_info</title>
+    <programlisting><methodsynopsis language="python">
+        <methodname>get_parent_info</methodname>
+    </methodsynopsis></programlisting>
+    <variablelist>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>the <link linkend="class-nautilus-python-file-info"><classname>nautilus.FileInfo</classname></link> object associated with the file's parent</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+  </refsect2>
+
+  <refsect2 id="method-nautilus-python-file-info--get-parent-location">
+    <title>nautilus.FileInfo.get_parent_location</title>
+    <programlisting><methodsynopsis language="python">
+        <methodname>get_parent_location</methodname>
+    </methodsynopsis></programlisting>
+    <variablelist>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>the <classname>gio.File</classname> associated with the file's parent location</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+  </refsect2>
+
+  <refsect2 id="method-nautilus-python-file-info--get-parent-uri">
+    <title>nautilus.FileInfo.get_parent_uri</title>
+    <programlisting><methodsynopsis language="python">
+        <methodname>get_parent_uri</methodname>
+    </methodsynopsis></programlisting>
+    <variablelist>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>the uri of the file's parent</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+  </refsect2>
+
+  <refsect2 id="method-nautilus-python-file-info--get-mount">
+    <title>nautilus.FileInfo.get_mount</title>
+    <programlisting><methodsynopsis language="python">
+        <methodname>get_mount</methodname>
+    </methodsynopsis></programlisting>
+    <variablelist>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>the <classname>gio.GMount</classname> associated with the file, if it exists</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+  </refsect2>
+
+  <refsect2 id="method-nautilus-python-file-info--get-uri-scheme">
+    <title>nautilus.FileInfo.get_uri_scheme</title>
+    <programlisting><methodsynopsis language="python">
+        <methodname>get_uri_scheme</methodname>
+    </methodsynopsis></programlisting>
+    <variablelist>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>the uri scheme of the file</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+  </refsect2>
+
+  <refsect2 id="method-nautilus-python-file-info--get-mime-type">
+    <title>nautilus.FileInfo.get_mime_type</title>
+    <programlisting><methodsynopsis language="python">
+        <methodname>get_mime_type</methodname>
+    </methodsynopsis></programlisting>
+    <variablelist>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>the mimetype of the file</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+  </refsect2>
+
+  <refsect2 id="method-nautilus-python-file-info--is-mime-type">
+    <title>nautilus.FileInfo.is_mime_type</title>
+    <programlisting><methodsynopsis language="python">
+        <methodname>is_mime_type</methodname>
+        <methodparam><parameter role="keyword">mimetype</parameter></methodparam>
+    </methodsynopsis></programlisting>
+    <variablelist>
+        <varlistentry>
+	        <term><parameter role="keyword">mimetype</parameter>&nbsp;:</term>
+	        <listitem><simpara>a mimetype string (i.e. "text/plain")</simpara></listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>whether the file's mimetype string matches the provided mimetype string</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+  </refsect2>
+
+  <refsect2 id="method-nautilus-python-file-info--is-directory">
+    <title>nautilus.FileInfo.is_directory</title>
+    <programlisting><methodsynopsis language="python">
+        <methodname>is_directory</methodname>
+    </methodsynopsis></programlisting>
+    <variablelist>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>whether the item is a directory</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+  </refsect2>
+
+  <refsect2 id="method-nautilus-python-file-info--can-write">
+    <title>nautilus.FileInfo.can_write</title>
+    <programlisting><methodsynopsis language="python">
+        <methodname>can_write</methodname>
+    </methodsynopsis></programlisting>
+    <variablelist>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>whether the file is writeable</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+  </refsect2>
+
+  <refsect2 id="method-nautilus-python-file-info--add-emblem">
+    <title>nautilus.FileInfo.add_emblem</title>
+    <programlisting><methodsynopsis language="python">
+        <methodname>add_emblem</methodname>
+        <methodparam><parameter role="keyword">emblem_name</parameter></methodparam>
+    </methodsynopsis></programlisting>
+    <variablelist>
+        <varlistentry>
+	        <term><parameter role="keyword">emblem_name</parameter>&nbsp;:</term>
+	        <listitem><simpara>the name of an emblem to add</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+  </refsect2>
+
+  <refsect2 id="method-nautilus-python-file-info--get-string-attribute">
+    <title>nautilus.FileInfo.get_string_attribute</title>
+    <programlisting><methodsynopsis language="python">
+        <methodname>get_string_attribute</methodname>
+        <methodparam><parameter role="keyword">attribute_name</parameter></methodparam>
+    </methodsynopsis></programlisting>
+    <variablelist>
+        <varlistentry>
+	        <term><parameter role="keyword">attribute_name</parameter>&nbsp;:</term>
+	        <listitem><simpara>a string attribute name</simpara></listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>the value associated with the file attribute</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+  </refsect2>
+
+  <refsect2 id="method-nautilus-python-file-info--add-string-attribute">
+    <title>nautilus.FileInfo.add_string_attribute</title>
+    <programlisting><methodsynopsis language="python">
+        <methodname>add_string_attribute</methodname>
+        <methodparam><parameter role="keyword">attribute_name</parameter></methodparam>
+        <methodparam><parameter role="keyword">value</parameter></methodparam>
+    </methodsynopsis></programlisting>
+    <variablelist>
+        <varlistentry>
+	        <term><parameter role="keyword">attribute_name</parameter>&nbsp;:</term>
+	        <listitem><simpara>a string attribute name</simpara></listitem>
+        </varlistentry>
+        <varlistentry>
+	        <term><parameter role="keyword">value</parameter>&nbsp;:</term>
+	        <listitem><simpara>an attribute value</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+  </refsect2>
+
+  <refsect2 id="method-nautilus-python-file-info--invalidate-extension-info">
+    <title>nautilus.FileInfo.invalidate_extension_info</title>
+    <programlisting><methodsynopsis language="python">
+        <methodname>invalidate_extension_info</methodname>
+    </methodsynopsis></programlisting>
+    <para>Invalidates the information Nautilus has about this file, which causes it to request new information
+    from its <link linkend="class-nautilus-python-info-provider"><classname>nautilus.InfoProvider</classname></link> providers.</para>
+  </refsect2>
+
+</refsect1>
+
+
+</refentry>
+
diff --git a/docs/reference/nautilus-python-info-provider.xml b/docs/reference/nautilus-python-info-provider.xml
new file mode 100644
index 0000000..f255781
--- /dev/null
+++ b/docs/reference/nautilus-python-info-provider.xml
@@ -0,0 +1,247 @@
+<?xml version="1.0" standalone="no"?>
+<!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="class-nautilus-python-info-provider">
+  <refnamediv>
+    <refname>nautilus.InfoProvider</refname>
+    <refpurpose>nautilus.InfoProvider Reference</refpurpose>
+  </refnamediv>
+
+<!-- ******************************* -->
+<!-- BEGIN OF SYNOPSIS -->
+<!-- ******************************* -->
+
+  <refsect1>
+    <title>Synopsis</title>
+
+    <classsynopsis language="python">
+      <ooclass><classname>nautilus.InfoProvider</classname></ooclass>
+
+      <methodsynopsis language="python">
+        <methodname><link linkend="method-nautilus-python-info-provider--update-file-info">update_file_info</link></methodname>
+        <methodparam><parameter role="keyword">file</parameter></methodparam>
+      </methodsynopsis>
+
+      <methodsynopsis language="python">
+        <methodname><link linkend="method-nautilus-python-info-provider--update-file-info-full">update_file_info_full</link></methodname>
+        <methodparam><parameter role="keyword">provider</parameter></methodparam>
+        <methodparam><parameter role="keyword">handle</parameter></methodparam>
+        <methodparam><parameter role="keyword">closure</parameter></methodparam>
+        <methodparam><parameter role="keyword">file</parameter></methodparam>
+      </methodsynopsis>
+
+      <methodsynopsis language="python">
+        <methodname><link linkend="method-nautilus-python-info-provider--cancel-update">cancel_update</link></methodname>
+        <methodparam><parameter role="keyword">provider</parameter></methodparam>
+        <methodparam><parameter role="keyword">handle</parameter></methodparam>
+      </methodsynopsis>
+
+      <methodsynopsis language="python">
+        <methodname><link linkend="method-nautilus-python-info-provider--update-complete-invoke">update_complete_invoke</link></methodname>
+        <methodparam><parameter role="keyword">provider</parameter></methodparam>
+        <methodparam><parameter role="keyword">handle</parameter></methodparam>
+        <methodparam><parameter role="keyword">closure</parameter></methodparam>
+        <methodparam><parameter role="keyword">result</parameter><initializer>nautilus.OPERATION_COMPLETE</initializer></methodparam>
+      </methodsynopsis>
+    </classsynopsis>
+  </refsect1>
+
+<!-- ********************************** -->
+<!-- BEGIN OF DESCRIPTION -->
+<!-- ********************************** -->
+
+  <refsect1 id="description-info-provider">
+    <title>Description</title>
+
+      <para>
+      If subclassed, Nautilus will call update_file_info(_full) to notify extensions of which
+      files are being viewed by the user.  This gives extensions an opportunity to invoke actions on the files,
+      or to add emblems or attributes.
+      </para>
+
+<example>
+    <title>nautilus.InfoProvider Example</title>
+    <programlisting>
+import os.path
+import nautilus
+
+class SimpleInfoProviderExample(nautilus.InfoProvider):
+    def __init__(self):
+        pass
+    
+    def update_file_info(self, file):
+        if os.path.splitext(file.get_name())[1] == ".mp3":
+            file.add_emblem("multimedia")
+    </programlisting>
+</example>
+        
+  </refsect1>
+
+<!-- ****************************** -->
+<!-- BEGIN OF METHODS -->
+<!-- ****************************** -->
+
+  <refsect1>
+        <title>Passive Methods</title>
+
+        <refsect2 id="method-nautilus-python-info-provider--update-file-info">
+          <title>nautilus.InfoProvider.update_file_info</title>
+
+          <programlisting><methodsynopsis language="python">
+            <methodname>update_file_info</methodname>
+            <methodparam><parameter role="keyword">file</parameter></methodparam>
+          </methodsynopsis></programlisting>
+
+          <variablelist>
+            <varlistentry>
+	            <term><parameter role="keyword">file</parameter>&nbsp;:</term>
+	            <listitem><simpara>a <link linkend="class-nautilus-python-file-info"><classname>nautilus.FileInfo</classname></link> object</simpara></listitem>
+            </varlistentry>
+          </variablelist>
+
+          <para>
+                This method is called by Nautilus for each file or folder that exists under the
+                current directory listing.  There is no return value.
+          </para>
+        </refsect2>
+
+
+        <refsect2 id="method-nautilus-python-info-provider--update-file-info-full">
+          <title>nautilus.InfoProvider.update_file_info_full</title>
+
+          <programlisting><methodsynopsis language="python">
+            <methodname>update_file_info_full</methodname>
+            <methodparam><parameter role="keyword">provider</parameter></methodparam>
+            <methodparam><parameter role="keyword">handle</parameter></methodparam>
+            <methodparam><parameter role="keyword">closure</parameter></methodparam>
+            <methodparam><parameter role="keyword">file</parameter></methodparam>
+          </methodsynopsis></programlisting>
+
+          <variablelist>
+            <varlistentry>
+	            <term><parameter role="keyword">provider</parameter>&nbsp;:</term>
+	            <listitem><simpara>the current <link linkend="class-nautilus-python-info-provider"><classname>nautilus.InfoProvider</classname></link> instance</simpara></listitem>
+            </varlistentry>
+            <varlistentry>
+	            <term><parameter role="keyword">handle</parameter>&nbsp;:</term>
+	            <listitem><simpara>a <classname>gobject.gpointer</classname> generated solely to track this call</simpara></listitem>
+            </varlistentry>
+            <varlistentry>
+	            <term><parameter role="keyword">closure</parameter>&nbsp;:</term>
+	            <listitem><simpara>a C Closure that must be passed to <link linkend="method-nautilus-python-info-provider--update-complete-invoke">update_complete_invoke</link> if that method is called</simpara></listitem>
+            </varlistentry>
+            <varlistentry>
+	            <term><parameter role="keyword">file</parameter>&nbsp;:</term>
+	            <listitem><simpara>a <link linkend="class-nautilus-python-file-info"><classname>nautilus.FileInfo</classname></link> object</simpara></listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><emphasis>Returns</emphasis>&nbsp;:</term>
+                <listitem><simpara>None or a <link linkend="enum-nautilus-python-operation-result"><classname>nautilus.OperationResult</classname></link> enum</simpara></listitem>
+            </varlistentry>
+          </variablelist>
+
+          <para>
+                This method is called by Nautilus for each file or folder that exists under the
+                current directory listing.  Originally, <link linkend="class-nautilus-python-info-provider"><classname>nautilus.InfoProvider</classname></link>
+                only provided the update_file_info
+                method, which blocked Nautilus when the method required a lot of computation time.  This method was 
+                created to allow an extension to tell Nautilus that it will be spending time on an operation and that
+                Nautilus should not block itself during that time.
+          </para>
+          <para>
+                In order to notify Nautilus of your extension's intentions, you must return a 
+                <link linkend="enum-nautilus-python-operation-result"><classname>nautilus.OperationResult</classname></link> enum.  
+                Then, when the operation has completed, call the self.update_complete_invoke method, passing the provider, 
+                handle and closure variables as parameters.
+          </para>
+          <para>
+                This method was created for backwards compatibility reasons.  If your
+                extension used the <link linkend="method-nautilus-python-info-provider--update-file-info"><function>update_file_info</function></link> method and you want non-blocking 
+                usage, you should switch to this method.
+          </para>
+          <note>
+            This method was introduced in nautilus-python 0.7.0.
+          </note>
+        </refsect2>
+
+
+        <refsect2 id="method-nautilus-python-info-provider--cancel-update">
+          <title>nautilus.InfoProvider.cancel_update</title>
+
+          <programlisting><methodsynopsis language="python">
+            <methodname>cancel_update</methodname>
+            <methodparam><parameter role="keyword">provider</parameter></methodparam>
+            <methodparam><parameter role="keyword">handle</parameter></methodparam>
+          </methodsynopsis></programlisting>
+
+          <variablelist>
+            <varlistentry>
+	            <term><parameter role="keyword">provider</parameter>&nbsp;:</term>
+	            <listitem><simpara>the current <link linkend="class-nautilus-python-info-provider"><classname>nautilus.InfoProvider</classname></link> instance</simpara></listitem>
+            </varlistentry>
+            <varlistentry>
+	            <term><parameter role="keyword">handle</parameter>&nbsp;:</term>
+	            <listitem><simpara>a <classname>gobject.gpointer</classname> generated by a specific update_file_info_full call</simpara></listitem>
+            </varlistentry>
+          </variablelist>
+
+          <para>
+            This method is called by Nautilus when an update_file_info_full call is in progress
+            but is no longer required.  This may happen because the user is moving directories or a file
+            has been deleted, etc.  You may use the handle parameter here to match the
+            handle parameter passed in <link linkend="method-nautilus-python-info-provider--update-file-info-full"><function>update_file_info_full</function></link>.
+          </para>
+          <note>
+            This method was introduced in nautilus-python 0.7.0.
+          </note>
+        </refsect2>
+    </refsect1>
+
+    <refsect1>
+        <title>Active Methods</title>
+
+        <refsect2 id="method-nautilus-python-info-provider--update-complete-invoke">
+          <title>nautilus.InfoProvider.update_complete_invoke</title>
+
+          <programlisting><methodsynopsis language="python">
+            <methodname>update_complete_invoke</methodname>
+            <methodparam><parameter role="keyword">provider</parameter></methodparam>
+            <methodparam><parameter role="keyword">handle</parameter></methodparam>
+            <methodparam><parameter role="keyword">closure</parameter></methodparam>
+            <methodparam><parameter role="keyword">result</parameter><initializer>nautilus.OPERATION_COMEPLETE</initializer></methodparam>
+          </methodsynopsis></programlisting>
+
+          <variablelist>
+            <varlistentry>
+	            <term><parameter role="keyword">provider</parameter>&nbsp;:</term>
+	            <listitem><simpara>the current <link linkend="class-nautilus-python-info-provider"><classname>nautilus.InfoProvider</classname></link> instance</simpara></listitem>
+            </varlistentry>
+            <varlistentry>
+	            <term><parameter role="keyword">handle</parameter>&nbsp;:</term>
+	            <listitem><simpara>a <classname>gobject.gpointer</classname> generated by a specific update_file_info_full call</simpara></listitem>
+            </varlistentry>
+            <varlistentry>
+	            <term><parameter role="keyword">closure</parameter>&nbsp;:</term>
+	            <listitem><simpara>a C Closure that must be passed to <link linkend="method-nautilus-python-info-provider--update-complete-invoke">update_complete_invoke</link> if that method is called</simpara></listitem>
+            </varlistentry>
+            <varlistentry>
+	            <term><parameter role="keyword">result</parameter>&nbsp;:</term>
+	            <listitem><simpara>an optional parameter.  If left out, <link linkend="enum-nautilus-python-operation-result--OPERATION_COMPLETE"><classname>nautilus.OPERATION_COMPLETE</classname></link> is assumed.  
+	            Otherwise, you may pass any any of the <link linkend="enum-nautilus-python-operation-result"><classname>nautilus.OperationResult</classname></link> enums.</simpara></listitem>
+            </varlistentry>
+          </variablelist>
+
+          <para>
+            An extension must call this method for each update_file_info_full method that
+            returns the <link linkend="enum-nautilus-python-operation-result--OPERATION_IN_PROGRESS"><classname>nautilus.OPERATION_IN_PROGRESS</classname></link> enum.  
+            The method must be called with the provider, handle, and closure parameters which were passed to the earlier <link linkend="method-nautilus-python-info-provider--update-file-info-full"><function>update_file_info_full</function></link> method.
+          </para>
+          <note>
+            This method was introduced in nautilus-python 0.7.0.
+          </note>
+        </refsect2>
+    </refsect1>
+
+</refentry>
+
diff --git a/docs/reference/nautilus-python-location-widget-provider.xml b/docs/reference/nautilus-python-location-widget-provider.xml
new file mode 100644
index 0000000..7da0b9e
--- /dev/null
+++ b/docs/reference/nautilus-python-location-widget-provider.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" standalone="no"?>
+<!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="class-nautilus-python-location-widget-provider">
+  <refnamediv>
+    <refname>nautilus.LocationWidgetProvider</refname>
+    <refpurpose>nautilus.LocationWidgetProvider Reference</refpurpose>
+  </refnamediv>
+
+<!-- ******************************* -->
+<!-- BEGIN OF SYNOPSIS -->
+<!-- ******************************* -->
+
+  <refsect1>
+    <title>Synopsis</title>
+
+    <classsynopsis language="python">
+      <ooclass><classname>nautilus.LocationWidgetProvider</classname></ooclass>
+
+      <methodsynopsis language="python">
+        <methodname><link linkend="method-nautilus-location-widget-provider--get-widget">get_widget</link></methodname>
+        <methodparam><parameter role="keyword">uri</parameter></methodparam>
+        <methodparam><parameter role="keyword">window</parameter></methodparam>
+      </methodsynopsis>
+    </classsynopsis>
+  </refsect1>
+
+<!-- ********************************** -->
+<!-- BEGIN OF DESCRIPTION -->
+<!-- ********************************** -->
+
+  <refsect1 id="description-location-widget-provider">
+    <title>Description</title>
+
+      <para>
+      If subclassed, Nautilus will request a widget to be displayed at the top of the directory listing.
+      </para>
+
+<example>
+    <title>nautilus.LocationWidgetProvider Example</title>
+    <programlisting>
+import nautilus
+import gtk
+
+class LocationProviderExample(nautilus.LocationWidgetProvider):
+    def __init__(self):
+        pass
+    
+    def get_widget(self, uri, window):
+        entry = gtk.Entry()
+        entry.set_text(uri)
+        entry.show()
+        return entry
+    </programlisting>
+</example>
+        
+  </refsect1>
+
+<!-- ****************************** -->
+<!-- BEGIN OF METHODS -->
+<!-- ****************************** -->
+
+  <refsect1>
+        <title>Passive Methods</title>
+
+        <refsect2 id="method-nautilus-location-widget-provider--get-widget">
+          <title>nautilus.LocationWidgetProvider.get_widget</title>
+
+          <programlisting><methodsynopsis language="python">
+            <methodname>get_widget</methodname>
+            <methodparam><parameter role="keyword">uri</parameter></methodparam>
+            <methodparam><parameter role="keyword">window</parameter></methodparam>
+          </methodsynopsis></programlisting>
+
+          <variablelist>
+            <varlistentry>
+	            <term><parameter role="keyword">uri</parameter>&nbsp;:</term>
+	            <listitem><simpara>the current folder uri</simpara></listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><parameter role="keyword">window</parameter>&nbsp;:</term>
+                <listitem><simpara>the current <link linkend="class-gtkwindow"><classname>gtk.Window</classname></link> instance</simpara></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term><emphasis>Returns</emphasis>&nbsp;:</term>
+              <listitem><simpara>a <link linkend="class-gtk-widget"><classname>gtk.Widget</classname></link> object</simpara></listitem>
+            </varlistentry>
+          </variablelist>
+
+          <para>
+                This function is called by Nautilus when it wants a location widget from the extension.  
+                It is called in the main thread before a directory listing is shown, so it should return quickly.
+          </para>
+        </refsect2>
+    </refsect1>
+
+</refentry>
+
diff --git a/docs/reference/nautilus-python-menu-item.xml b/docs/reference/nautilus-python-menu-item.xml
index eaec20f..6750711 100644
--- a/docs/reference/nautilus-python-menu-item.xml
+++ b/docs/reference/nautilus-python-menu-item.xml
@@ -76,51 +76,51 @@
     <blockquote role="properties">
       <informaltable pgwide="1" frame="none">
       <tgroup cols="3">
-        <colspec menu="1" colwidth="1in"/>
-        <colspec menu="2" colwidth="1in"/>
-        <colspec menu="3" colwidth="4in"/>
+        <colspec column="1" colwidth="1in"/>
+        <colspec column="2" colwidth="1in"/>
+        <colspec column="3" colwidth="4in"/>
           <tbody>
       
             <row valign="top">
               <entry>"<link linkend="property-nautilus-python-menu-item--icon">icon</link>"</entry>
-              <entry>Read / Write</entry>
               <entry>Name of the icon to display in the menu item.  Default value: None</entry>
+              <entry>Read-Write</entry>
             </row>
       
             <row valign="top">
               <entry>"<link linkend="property-nautilus-python-menu-item--label">label</link>"</entry>
-              <entry>Read / Write</entry>
               <entry>The label to display to the user.  Default value: None</entry>
+              <entry>Read-Write</entry>
             </row>
       
             <row valign="top">
               <entry>"<link linkend="property-nautilus-python-menu-item--menu">menu</link>"</entry>
-              <entry>Read / Write</entry>
               <entry>The <link linkend="class-nautilus-python-menu">nautilus.Menu</link> menu object belonging to this item.  May be None.</entry>
+              <entry>Read-Write</entry>
             </row>
 
             <row valign="top">
               <entry>"<link linkend="property-nautilus-python-menu-item--name">name</link>"</entry>
-              <entry>Read / Write</entry>
               <entry>The name of the item.  Default value: None</entry>
+              <entry>Read-Write-ConstructOnly</entry>
             </row>
       
             <row valign="top">
               <entry>"<link linkend="property-nautilus-python-menu-item--priority">priority</link>"</entry>
-              <entry>Read / Write</entry>
               <entry>Whether or not to show priority text in toolbars.  Default value: True</entry>
+              <entry>Read-Write</entry>
             </row>
       
             <row valign="top">
               <entry>"<link linkend="property-nautilus-python-menu-item--sensitive">sensitive</link>"</entry>
-              <entry>Read / Write</entry>
               <entry>Whether or not the menu item is sensitive.  Default value: True</entry>
+              <entry>Read-Write</entry>
             </row>
 
             <row valign="top">
               <entry>"<link linkend="property-nautilus-python-menu-item--tip">tip</link>"</entry>
-              <entry>Read / Write</entry>
               <entry>The tooltip for the menu item.  Default value: None</entry>
+              <entry>Read-Write</entry>
             </row>
 
           </tbody>
diff --git a/docs/reference/nautilus-python-menu-provider.xml b/docs/reference/nautilus-python-menu-provider.xml
index a02e8b1..11649b8 100644
--- a/docs/reference/nautilus-python-menu-provider.xml
+++ b/docs/reference/nautilus-python-menu-provider.xml
@@ -72,9 +72,10 @@
     <title>Description</title>
 
       <para>
-        An extension that sub-classes <link linkend="class-nautilus-python-menu-provider"><classname>nautilus.MenuProvider</classname></link>
-        will be asked to provide a list of menu items back to Nautilus, which are then attached to various menus.  Nautilus expects at least one of
-        the following methods to be defined (or their *_full variants): get_file_items, get_background_items, or get_toolbar_items.
+        If subclassed, Nautilus will request a list of <link linkend="class-nautilus-python-menu-item"><classname>nautilus.MenuItem</classname></link> objects, 
+        which are then attached to various menus.  Nautilus expects at least one of
+        the following methods to be defined (or their *_full variants): get_file_items, 
+        get_background_items, or get_toolbar_items.
         </para>
 
 <example>
@@ -155,7 +156,7 @@ class OpenTerminalExtension(nautilus.MenuProvider):
 <!-- ****************************** -->
 
   <refsect1>
-        <title>Expected Methods</title>
+        <title>Passive Methods</title>
 
         <refsect2 id="method-nautilus-python-menu-provider--get-file-items">
           <title>nautilus.MenuProvider.get_file_items</title>
@@ -225,6 +226,9 @@ class OpenTerminalExtension(nautilus.MenuProvider):
             <link linkend="method-nautilus-menu-provider--emit_items_updated_signal">nautilus.MenuProvider.emit_items_updated_signal</link>, which must
             be passed the current provider instance.
           </para>
+          <note>
+            This method was introduced in nautilus-python 0.7.0.
+          </note>
         </refsect2>
 
 
@@ -296,6 +300,9 @@ class OpenTerminalExtension(nautilus.MenuProvider):
             <link linkend="method-nautilus-menu-provider--emit_items_updated_signal">nautilus.MenuProvider.emit_items_updated_signal</link>, which must
             be passed the current provider instance.
           </para>
+          <note>
+            This method was introduced in nautilus-python 0.7.0.
+          </note>
         </refsect2>
 
 
@@ -367,11 +374,14 @@ class OpenTerminalExtension(nautilus.MenuProvider):
             <link linkend="method-nautilus-menu-provider--emit_items_updated_signal">nautilus.MenuProvider.emit_items_updated_signal</link>, which must
             be passed the current provider instance.
           </para>
+          <note>
+            This method was introduced in nautilus-python 0.7.0.
+          </note>
         </refsect2>
     </refsect1>
 
     <refsect1>
-        <title>Public Methods</title>
+        <title>Active Methods</title>
 
         <refsect2 id="method-nautilus-python-menu-provider--emit-items-updated-signal">
           <title>nautilus.MenuProvider.emit_items_updated_signal</title>
@@ -391,6 +401,9 @@ class OpenTerminalExtension(nautilus.MenuProvider):
           <para>
             Emits the "<link linkend="signal-nautilus-python-menu-provider--items-updated">items-updated</link>" signal.
           </para>
+          <note>
+            This method was introduced in nautilus-python 0.7.0.
+          </note>
         </refsect2>        
     </refsect1>
 
diff --git a/docs/reference/nautilus-python-operation-result.xml b/docs/reference/nautilus-python-operation-result.xml
new file mode 100644
index 0000000..f1e1fe2
--- /dev/null
+++ b/docs/reference/nautilus-python-operation-result.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" standalone="no"?>
+<!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="enum-nautilus-python-operation-result">
+  <refnamediv>
+    <refname>nautilus.OperationResult</refname>
+    <refpurpose>nautilus.OperationResult Reference</refpurpose>
+  </refnamediv>
+
+
+
+<!-- ********************************** -->
+<!-- BEGIN OF DESCRIPTION -->
+<!-- ********************************** -->
+
+  <refsect1 id="description-operation-result">
+    <title>Description</title>
+
+      <para>
+        The <link linkend="enum-nautilus-python-operation-result"><classname>nautilus.OperationResult</classname></link> constants are
+        used by the <link linkend="class-nautilus-python-info-provider"><classname>nautilus.InfoProvider</classname></link> provider to
+        notify Nautilus what the extension intends to do when Nautilus calls the extension's <link linkend="method-nautilus-python-info-provider--update-file-info-full">update_file_info_full</link>
+        method.  The possible values are as follows:
+      </para>
+
+
+      <variablelist>
+	    <varlistentry>
+	      <term><literal>nautilus.OPERATION_COMPLETE</literal></term>
+	      <listitem>
+	        <simpara>The operation is complete and Nautilus can move on to the next <link linkend="method-nautilus-python-info-provider--update-file-info-full">update_file_info_full</link> call.</simpara>
+	      </listitem>
+	    </varlistentry>
+	    <varlistentry>
+	      <term><literal>nautilus.OPERATION_IN_PROGRESS</literal></term>
+	      <listitem>
+	        <simpara>The operation is in progress and running asynchronously and Nautilus should wait until the <link linkend="method-nautilus-python-info-provider--update-complete-invoke">update_complete_invoke</link> method
+	        is called before moving on to the next <link linkend="method-nautilus-python-info-provider--update-file-info-full">update_file_info_full</link> call.</simpara>
+	      </listitem>
+	    </varlistentry>
+	    <varlistentry>
+	      <term><literal>nautilus.OPERATION_FAILED</literal></term>
+	      <listitem>
+	        <simpara>The operation has failed.</simpara>
+	      </listitem>
+	    </varlistentry>
+	    </variablelist>
+  </refsect1>
+
+
+
+
+
+</refentry>
+
diff --git a/docs/reference/nautilus-python-overview-example.xml b/docs/reference/nautilus-python-overview-example.xml
new file mode 100644
index 0000000..98b3933
--- /dev/null
+++ b/docs/reference/nautilus-python-overview-example.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<chapter id="nautilus-python-overview-example"
+  xmlns:xi="http://www.w3.org/2001/XInclude";>
+
+    <title>A Simple Extension</title>
+
+    <para>Create an empty file with the following code:</para>
+    
+    <example>
+        <title>A Simple Extension</title>
+        <programlisting>
+import nautilus
+
+class SimpleMenuExtension(nautilus.MenuProvider):
+def __init__(self):
+    pass
+
+def menu_activate_cb(self, menu, file):
+    print "menu_activate_cb",file
+
+def get_file_items(self, window, files):
+    if len(files) != 1:
+        return
+    
+    file = files[0]
+
+    item = nautilus.MenuItem(
+        "SimpleMenuExtension::Show_File_Name",
+        "Showing %s" % file.get_name(),
+        "Showing %s" % file.get_name()
+    )
+    item.connect('activate', self.menu_activate_cb, file)
+    
+    return [item]</programlisting>
+    </example>
+    
+    <para>Save this file as TestExtension.py in the ~/.nautilus/python-extensions folder. 
+    You may need to create this folder. To run, open the terminal and type:</para>
+    
+    <informalexample>
+        <programlisting>
+$ nautilus -q
+$ nautilus --no-desktop</programlisting>
+    </informalexample>
+
+    <para>Once Nautilus starts, right-click on a file and you should see a new menu item, 
+    "Showing #filename#". It is as simple as that!</para>
+    
+    <para>As mentioned above, in order to 
+    get loaded by Nautilus, a python extension must import the nautilus module, 
+    create a class derived from a nautilus *Provider, then create the methods that 
+    will be called by Nautilus when it requests information from its providers. 
+    In this case, when someone right-clicks on a file, Nautilus will ask all of its 
+    MenuProviders for additional menu items to show the user. When folders or files are clicked, 
+    the get_file_items method is called and a list of nautilus.MenuItems is expected.</para>
+
+</chapter>
diff --git a/docs/reference/nautilus-python-overview-methods.xml b/docs/reference/nautilus-python-overview-methods.xml
new file mode 100644
index 0000000..e669c61
--- /dev/null
+++ b/docs/reference/nautilus-python-overview-methods.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+
+<chapter id="nautilus-python-overview-methods"
+  xmlns:xi="http://www.w3.org/2001/XInclude";>
+
+    <title>Explanation of Passive/Active Methods</title>
+
+    <para>Because nautilus-python is an interface to a Nautilus' extension interface rather than a true library, it is
+    rather quirky in how it works.  One example of this is that several providers have additional public methods
+    that an extension actively calls, rather than the extension defining and the method in their class that is called by
+    Nautilus.  You can see this with the <link linkend="method-nautilus-python-menu-provider--emit-items-updated-signal">nautilus.MenuProvider.emit_items_updated_signal</link>
+    and <link linkend="method-nautilus-python-info-provider--update-complete-invoke">nautilus.InfoProvider.update_complete_invoke</link> methods, which
+    the extension actively calls, passing the provider instance as a parameter.
+    </para>
+    
+    <para>Due to this confusion, I have termed these actively-called methods <emphasis>Active Methods</emphasis> and the methods
+    called by Nautilus are termed <emphasis>Passive Methods</emphasis>.</para>
+</chapter>
diff --git a/docs/reference/nautilus-python-overview.xml b/docs/reference/nautilus-python-overview.xml
new file mode 100644
index 0000000..746ef28
--- /dev/null
+++ b/docs/reference/nautilus-python-overview.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<chapter id="nautilus-python-overview"
+  xmlns:xi="http://www.w3.org/2001/XInclude";>
+
+    <title>Overview</title>
+
+    <para>Writing a Nautilus-Python extension is a fairly straight-forward process. 
+    One simply imports the nautilus module and creates a class which is derived from a number 
+    of the nautilus module's classes. When an extension derives a class, it becomes a "provider", 
+    telling Nautilus to ask it for information. There are several types of providers 
+    available for extensions to use: there is MenuProvider, LocationWidgetProvider, 
+    ColumnProvider, PropertyPageProvider, and InfoProvider, all of which will be explained 
+    in more detail below. Your class can be derived from multiple providers.</para>
+    
+    <para>Here are the basic steps:</para>
+    
+    <para>1. A script is written and installed to the standard python extensions install path</para>
+    <para>2. Nautilus is (re)started and loads the Nautilus-Python C extension, which in turn loads all python extensions</para>
+    <para>3. Any python script in the standard python extensions install path that imports the nautilus module and derives 
+    the main class from a nautilus module class will be loaded</para>
+    
+    <note>
+<title>A note about the standard python extensions install path</title>
+
+<para>The install path for individual users is ~/.nautilus/python-extensions. </para>
+<para>The system-wide install path is $PREFIX/lib/nautilus/extensions-2.0/python. However, some 64 bit distributions, 
+such as Fedora, put Nautilus-Python extensions in $PREFIX/lib64/nautilus/extensions-2.0/python. </para>
+<para>As of Nautilus 2.32 (due out Fall 2010), nautilus-python will look in ~/.local/share/nautilus-python/extensions 
+for local extensions and $PREFIX/share/nautilus-python/extensions for global extensions.</para>
+    </note>
+
+    <xi:include href="nautilus-python-overview-example.xml"/>
+    <xi:include href="nautilus-python-overview-methods.xml"/>
+
+</chapter>
+
diff --git a/docs/reference/nautilus-python-property-page-provider.xml b/docs/reference/nautilus-python-property-page-provider.xml
new file mode 100644
index 0000000..ded08f8
--- /dev/null
+++ b/docs/reference/nautilus-python-property-page-provider.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" standalone="no"?>
+<!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="class-nautilus-python-property-page-provider">
+  <refnamediv>
+    <refname>nautilus.PropertyPageProvider</refname>
+    <refpurpose>nautilus.PropertyPageProvider Reference</refpurpose>
+  </refnamediv>
+
+<!-- ******************************* -->
+<!-- BEGIN OF SYNOPSIS -->
+<!-- ******************************* -->
+
+  <refsect1>
+    <title>Synopsis</title>
+
+    <classsynopsis language="python">
+      <ooclass><classname>nautilus.PropertyPageProvider</classname></ooclass>
+
+      <methodsynopsis language="python">
+        <methodname><link linkend="method-nautilus-property-page-provider--get-pages">get_pages</link></methodname>
+        <methodparam><parameter role="keyword">files</parameter></methodparam>
+      </methodsynopsis>
+    </classsynopsis>
+  </refsect1>
+
+<!-- ********************************** -->
+<!-- BEGIN OF DESCRIPTION -->
+<!-- ********************************** -->
+
+  <refsect1 id="description-property-page-provider">
+    <title>Description</title>
+
+      <para>
+      If subclassed, Nautilus will request a list of custom property pages that should
+      appear when a user opens the Properties dialog for a file or folder.
+      </para>
+
+<example>
+    <title>nautilus.PropertyPageProvider Example</title>
+    <programlisting>
+import hashlib
+import urllib
+
+import gtk
+import nautilus
+
+class MD5SumPropertyPage(nautilus.PropertyPageProvider):
+    def __init__(self):
+        pass
+    
+    def get_property_pages(self, files):
+        if len(files) != 1:
+            return
+        
+        file = files[0]
+        if file.get_uri_scheme() != 'file':
+            return
+
+        if file.is_directory():
+            return
+
+        filename = urllib.unquote(file.get_uri()[7:])
+
+        self.property_label = gtk.Label('MD5Sum')
+        self.property_label.show()
+
+        self.hbox = gtk.HBox(0, False)
+        self.hbox.show()
+
+        label = gtk.Label('MD5Sum:')
+        label.show()
+        self.hbox.pack_start(label)
+
+        self.value_label = gtk.Label()
+        self.hbox.pack_start(self.value_label)
+
+        md5sum = hashlib.md5(filename).hexdigest()
+        self.value_label.set_text(md5sum)
+        self.value_label.show()
+        
+        return nautilus.PropertyPage("NautilusPython::md5_sum",
+                                     self.property_label, self.hbox),
+    </programlisting>
+</example>
+        
+  </refsect1>
+
+<!-- ****************************** -->
+<!-- BEGIN OF METHODS -->
+<!-- ****************************** -->
+
+  <refsect1>
+        <title>Passive Methods</title>
+
+        <refsect2 id="method-nautilus-property-page-provider--get-pages">
+          <title>nautilus.PropertyPageProvider.get_pages</title>
+
+          <programlisting><methodsynopsis language="python">
+            <methodname>get_pages</methodname>
+              <methodparam></methodparam>
+          </methodsynopsis></programlisting>
+
+          <variablelist>
+            <varlistentry>
+	            <term><parameter role="keyword">files</parameter>&nbsp;:</term>
+	            <listitem><simpara>a list of <link linkend="class-nautilus-python-file-info"><classname>nautilus.FileInfo</classname></link> objects.</simpara></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term><emphasis>Returns</emphasis>&nbsp;:</term>
+              <listitem><simpara>a list of <link linkend="class-nautilus-python-property-page"><classname>nautilus.PropertyPage</classname></link> objects</simpara></listitem>
+            </varlistentry>
+          </variablelist>
+
+          <para>
+                This function is called by Nautilus when it wants property page items from the extension.  
+                It is called in the main thread before a property page is shown, so it should return quickly.
+          </para>
+        </refsect2>
+    </refsect1>
+
+</refentry>
+
diff --git a/docs/reference/nautilus-python-property-page.xml b/docs/reference/nautilus-python-property-page.xml
index b8e65df..41fba5c 100644
--- a/docs/reference/nautilus-python-property-page.xml
+++ b/docs/reference/nautilus-python-property-page.xml
@@ -65,27 +65,27 @@
     <blockquote role="properties">
       <informaltable pgwide="1" frame="none">
       <tgroup cols="3">
-        <colspec property-page="1" colwidth="1in"/>
-        <colspec property-page="2" colwidth="1in"/>
-        <colspec property-page="3" colwidth="4in"/>
+        <colspec column="1" colwidth="1in"/>
+        <colspec column="2" colwidth="1in"/>
+        <colspec column="3" colwidth="4in"/>
           <tbody>
       
             <row valign="top">
               <entry>"label"</entry>
-              <entry>Read / Write</entry>
               <entry>The label widget displayed in the notebook tab.</entry>
+              <entry>Read-Write</entry>
             </row>
       
             <row valign="top">
               <entry>"name"</entry>
-              <entry>Read / Write / Construct Only</entry>
               <entry>The name of the page.  Default value: None</entry>
+              <entry>Read-Write-ConstructOnly</entry>
             </row>
       
             <row valign="top">
               <entry>"page"</entry>
-              <entry>Read / Write</entry>
               <entry>The property page widget</entry>
+              <entry>Read-Write</entry>
             </row>
 
           </tbody>
diff --git a/docs/reference/nautilus-python-provider-reference.xml b/docs/reference/nautilus-python-provider-reference.xml
new file mode 100644
index 0000000..3abb323
--- /dev/null
+++ b/docs/reference/nautilus-python-provider-reference.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<chapter id="nautilus-python-provider-reference"
+  xmlns:xi="http://www.w3.org/2001/XInclude";>
+
+    <title>Provider Interfaces</title>
+    <xi:include href="nautilus-python-column-provider.xml"/>
+    <xi:include href="nautilus-python-info-provider.xml"/>
+    <xi:include href="nautilus-python-location-widget-provider.xml"/>
+    <xi:include href="nautilus-python-menu-provider.xml"/>
+    <xi:include href="nautilus-python-property-page-provider.xml"/>
+</chapter>
+
diff --git a/docs/reference/nautilus-python-ref.xml b/docs/reference/nautilus-python-ref.xml
index d314c02..8bf2818 100644
--- a/docs/reference/nautilus-python-ref.xml
+++ b/docs/reference/nautilus-python-ref.xml
@@ -27,11 +27,9 @@
 
 <!-- the reference page chapters for the nautilus-python classes -->
 
-    <xi:include href="nautilus-python-column.xml"/>
-    <xi:include href="nautilus-python-column-provider.xml"/>
-    <xi:include href="nautilus-python-menu.xml"/>
-    <xi:include href="nautilus-python-menu-item.xml"/>
-    <xi:include href="nautilus-python-menu-provider.xml"/>
-    <xi:include href="nautilus-python-property-page.xml"/>
+    <xi:include href="nautilus-python-overview.xml"/>
+    <xi:include href="nautilus-python-class-reference.xml"/>
+    <xi:include href="nautilus-python-provider-reference.xml"/>
+    <xi:include href="nautilus-python-enum-reference.xml"/>
 </book>
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]