[gnome-devel-docs] tutorial python: links between pages reviewed



commit 5fce3788568b264c45cc9b953f174e16748d9119
Author: Marta Maria Casetti <mmcasetti gmail com>
Date:   Mon Feb 25 16:33:31 2013 +0100

    tutorial python: links between pages reviewed
    
    The links (in particular the seealso links) have been made more consistent and concise.

 platform-demos/C/aboutdialog.py.page               |    3 +--
 platform-demos/C/button.py.page                    |    3 ++-
 platform-demos/C/checkbutton.py.page               |    3 +--
 platform-demos/C/colorbutton.py.page               |    1 +
 platform-demos/C/combobox.py.page                  |    5 ++++-
 platform-demos/C/combobox_multicolumn.py.page      |    5 ++---
 platform-demos/C/dialog.py.page                    |    2 +-
 platform-demos/C/entry.py.page                     |    3 ++-
 platform-demos/C/filechooserdialog.py.page         |    2 +-
 platform-demos/C/fontchooserwidget.py.page         |    2 +-
 platform-demos/C/gmenu.py.page                     |    4 +++-
 platform-demos/C/linkbutton.py.page                |    1 -
 platform-demos/C/menubar.py.page                   |    5 +++--
 platform-demos/C/menubutton.py.page                |    2 ++
 platform-demos/C/messagedialog.py.page             |    3 +--
 platform-demos/C/progressbar.py.page               |    2 +-
 platform-demos/C/radiobutton.py.page               |    4 +---
 platform-demos/C/scale.py.page                     |    2 +-
 platform-demos/C/signals-callbacks.py.page         |    2 +-
 platform-demos/C/spinbutton.py.page                |    4 ++--
 platform-demos/C/statusbar.py.page                 |    5 ++---
 platform-demos/C/switch.py.page                    |    6 +-----
 platform-demos/C/textview.py.page                  |    1 -
 platform-demos/C/togglebutton.py.page              |    4 +---
 platform-demos/C/toolbar.py.page                   |    1 +
 platform-demos/C/toolbar_builder.py.page           |    2 ++
 platform-demos/C/tooltip.py.page                   |    3 ++-
 .../C/treeview_advanced_liststore.py.page          |    7 ++-----
 .../C/treeview_cellrenderertoggle.py.page          |    3 ++-
 platform-demos/C/treeview_simple_liststore.py.page |    6 +++---
 platform-demos/C/treeview_treestore.py.page        |    3 ++-
 platform-demos/C/tutorial.py.page                  |   11 +++++++----
 32 files changed, 56 insertions(+), 54 deletions(-)
---
diff --git a/platform-demos/C/aboutdialog.py.page b/platform-demos/C/aboutdialog.py.page
index bd4e6eb..0e94b07 100644
--- a/platform-demos/C/aboutdialog.py.page
+++ b/platform-demos/C/aboutdialog.py.page
@@ -6,7 +6,6 @@
   <info>
     <title type="text">AboutDialog (Python)</title>
     <link type="guide" xref="beginner.py#windows"/>
-    <link type="seealso" xref="signals-callbacks.py"/>
     <link type="next" xref="messagedialog.py"/>
     <revision version="0.1" date="2012-06-11" status="draft"/>
 
@@ -34,7 +33,7 @@
 
   <section id="methods">
   <title>Useful methods for an AboutDialog widget</title>
-  <p>For an explanation of signals and callback functions, see <link xref="signals-callbacks.py" />.</p>
+    <p>In line 15 the signal <code>"activate"</code> is connected to the callback function 
<code>about_cb()</code> using <code><var>widget</var>.connect(<var>signal</var>, <var>callback 
function</var>)</code>. See <link xref="signals-callbacks.py"/> for a more detailed explanation.</p>
   </section>
 
   <section id="references">
diff --git a/platform-demos/C/button.py.page b/platform-demos/C/button.py.page
index 2ad94d3..4309d3f 100644
--- a/platform-demos/C/button.py.page
+++ b/platform-demos/C/button.py.page
@@ -30,9 +30,10 @@
     <title>Code used to generate this example</title>
     <code mime="text/x-python" style="numbered"><xi:include href="samples/button.py" 
parse="text"><xi:fallback/></xi:include></code>
   </section>
+  
   <section id="methods">
     <title>Useful methods for a Button widget</title>
-    <p>For an explanation of signals and callback functions, see <link xref="signals-callbacks.py" />.</p>
+    <p>In line 16 the <code>"clicked"</code> signal from the button is connected to the callback function 
<code>do_clicked()</code> using <code><var>widget</var>.connect(<var>signal</var>, <var>callback 
function</var>)</code>. See <link xref="signals-callbacks.py"/> for a more detailed explanation.</p>
     <list>
       <item><p><code>set_relief(Gtk.ReliefStyle.NONE)</code> sets to none the relief style of the edges of 
the Gtk.Button - as opposed to <code>Gtk.ReliefStyle.NORMAL</code>.</p></item>
       <item><p>If the label of the button is a <link 
href="http://developer.gnome.org/gtk3/unstable/gtk3-Stock-Items.html";>stock icon</link>, 
<code>set_use_stock(True)</code> sets the label as the name of the corresponding stock icon.</p></item>
diff --git a/platform-demos/C/checkbutton.py.page b/platform-demos/C/checkbutton.py.page
index 434171c..8f2cf88 100644
--- a/platform-demos/C/checkbutton.py.page
+++ b/platform-demos/C/checkbutton.py.page
@@ -6,7 +6,6 @@
   <info>
     <title type="text">CheckButton (Python)</title>
     <link type="guide" xref="beginner.py#buttons"/>
-    <link type="seealso" xref="signals-callbacks.py"/>
     <link type="next" xref="togglebutton.py"/>
     <revision version="0.1" date="2012-05-09" status="draft"/>
 
@@ -34,7 +33,7 @@
 
   <section id="methods">
     <title>Useful methods for a CheckButton widget</title>
-    <p>For a discussion on signals and callback functions, see <link xref="signals-callbacks.py" />.</p>
+    <p>In line 17 the <code>"toggled"</code> signal is connected to the callback function 
<code>toggled_cb()</code> using <code><var>widget</var>.connect(<var>signal</var>, <var>callback 
function</var>)</code>. See <link xref="signals-callbacks.py"/> for a more detailed explanation.</p>
 
   </section>
 
diff --git a/platform-demos/C/colorbutton.py.page b/platform-demos/C/colorbutton.py.page
index 5b4d1bf..2bbbe6a 100644
--- a/platform-demos/C/colorbutton.py.page
+++ b/platform-demos/C/colorbutton.py.page
@@ -32,6 +32,7 @@
   <section id="methods">
   <title>Useful methods for a ColorButton widget</title>
   <p><code>set_color(color)</code>, where the <code>color</code> is defined as in the example, sets the 
color of the ColorButton, which by default is black. <code>get_color()</code> returns the color.</p>
+    <p>In line 23 the <code>"color-set"</code> signal is connected to the callback function 
<code>on_color_chosen()</code> using <code><var>widget</var>.connect(<var>signal</var>, <var>callback 
function</var>)</code>. See <link xref="signals-callbacks.py"/> for a more detailed explanation.</p>
   </section>
   
   <section id="references">
diff --git a/platform-demos/C/combobox.py.page b/platform-demos/C/combobox.py.page
index 6a1aa58..a961c0f 100644
--- a/platform-demos/C/combobox.py.page
+++ b/platform-demos/C/combobox.py.page
@@ -6,6 +6,7 @@
   <info>
     <title type="text">ComboBox (Python)</title>
     <link type="guide" xref="beginner.py#menu-combo-toolbar"/>
+    <link type="seealso" xref="model-view-controller.py"/>
     <link type="next" xref="treeview_simple_liststore.py"/>
     <revision version="0.1" date="2012-06-02" status="draft"/>
 
@@ -31,7 +32,9 @@
 
   <section id="methods">
     <title>Useful methods for a ComboBox widget</title>
-    <p>The ComboBox widget is designed around a <em>Model/View/Controller</em> design: the <em>Model</em> 
stores the data; the <em>View</em> gets change notifications and displays the content of the model; the 
<em>Controller</em>, finally, changes the state of the model and notifies the view of these changes. For more 
information, and for a list of useful methods for ComboBox and TreeModel, see <link 
xref="model-view-controller.py" />.</p>
+    <p>The ComboBox widget is designed around a <em>Model/View/Controller</em> design: the <em>Model</em> 
stores the data; the <em>View</em> gets change notifications and displays the content of the model; the 
<em>Controller</em>, finally, changes the state of the model and notifies the view of these changes. For more 
information and for a list of useful methods for ComboBox see <link xref="model-view-controller.py" />.</p>
+    <p>In line 35 the <code>"changed"</code> signal is connected to the callback function 
<code>on_changed()</code> using <code><var>widget</var>.connect(<var>signal</var>, <var>callback 
function</var>)</code>. See <link xref="signals-callbacks.py"/> for a more detailed explanation.</p>
+
   </section>
 
   <section id="references">
diff --git a/platform-demos/C/combobox_multicolumn.py.page b/platform-demos/C/combobox_multicolumn.py.page
index bdee2c1..1ee5bc5 100644
--- a/platform-demos/C/combobox_multicolumn.py.page
+++ b/platform-demos/C/combobox_multicolumn.py.page
@@ -6,7 +6,6 @@
   <info>
     <title type="text">ComboBox (Python)</title>
     <link type="guide" xref="beginner.py#menu-combo-toolbar"/>
-    <link type="seealso" xref="combobox.py"/>
     <link type="next" xref="treeview_advanced_liststore.py"/>
     <revision version="0.1" date="2012-06-03" status="draft"/>
 
@@ -33,8 +32,8 @@
 
   <section id="methods">
     <title>Useful methods for a ComboBox widget</title>
-    <p>The ComboBox widget is designed around a <em>Model/View/Controller</em> design: the <em>Model</em> 
stores the data; the <em>View</em> gets change notifications and displays the content of the model; the 
<em>Controller</em>, finally, changes the state of the model and notifies the view of these changes. For more 
information, and for a list of useful methods for ComboBox and TreeModel, see <link 
xref="model-view-controller.py" />.</p>
-
+    <p>The ComboBox widget is designed around a <em>Model/View/Controller</em> design: the <em>Model</em> 
stores the data; the <em>View</em> gets change notifications and displays the content of the model; the 
<em>Controller</em>, finally, changes the state of the model and notifies the view of these changes. For more 
information and for a list of useful methods for ComboBox see <link xref="model-view-controller.py" />.</p>
+    <p>In line 45 the <code>"changed"</code> signal is connected to the callback function 
<code>on_changed()</code> using <code><var>widget</var>.connect(<var>signal</var>, <var>callback 
function</var>)</code>. See <link xref="signals-callbacks.py"/> for a more detailed explanation.</p>
   </section>
 
   <section id="references">
diff --git a/platform-demos/C/dialog.py.page b/platform-demos/C/dialog.py.page
index 108993a..75e3625 100644
--- a/platform-demos/C/dialog.py.page
+++ b/platform-demos/C/dialog.py.page
@@ -34,7 +34,7 @@
 
   <section id="methods">
   <title>Useful methods for a Dialog widget</title>
-  <p>For an explanation of signals and callback functions, see <link xref="signals-callbacks.py" />.</p>
+    <p>In line 16 the signal <code>"clicked"</code> is connected to the callback function 
<code>on_button_click()</code> using <code><var>widget</var>.connect(<var>signal</var>, <var>callback 
function</var>)</code>. See <link xref="signals-callbacks.py"/> for a more detailed explanation.</p>
   <list>
     <item><p>Instead of <code>set_modal(True)</code> we could have <code>set_modal(False)</code> followed by 
<code>set_destroy_with_parent(True)</code> that would destroy the dialog window if the main window is 
closed.</p></item>
     <item><p><code>add_button(button_text="The Answer", response_id=42)</code>, where <code>42</code> is any 
integer, is an alternative to <code>add_button(button_text="text", 
response_id=Gtk.ResponseType.RESPONSE)</code>, where <code>RESPONSE</code> could be one of <code>OK, CANCEL, 
CLOSE, YES, NO, APPLY, HELP</code>, which in turn correspond to the integers <code>-5, -6,..., 
-11</code>.</p></item>
diff --git a/platform-demos/C/entry.py.page b/platform-demos/C/entry.py.page
index e939b7d..8b00825 100644
--- a/platform-demos/C/entry.py.page
+++ b/platform-demos/C/entry.py.page
@@ -6,6 +6,7 @@
   <info>
     <title type="text">Entry (Python)</title>
     <link type="guide" xref="beginner.py#entry"/>
+    <link type="seealso" xref="strings.py" />
     <link type="next" xref="scale.py" />
     <revision version="0.2" date="2012-06-23" status="draft"/>
 
@@ -36,7 +37,7 @@
 
   <section id="methods">
     <title>Useful methods for an Entry widget</title>
-    <p>For an explanation of signals and callback functions, see <link xref="signals-callbacks.py" />. Some 
of the signals that a Gtk.Entry widget can emit are: <code>"activate"</code> (emitted when the user activates 
the Entry key); <code>"backspace"</code> (emitted when the user activates the Backspace or Shift-Backspace 
keys); <code>"copy-clipboard"</code> (Ctrl-c and Ctrl-Insert); <code>"paste-clipboard"</code> (Ctrl-v and 
Shift-Insert); <code>"delete-from-cursor"</code> (Delete, for deleting a character; Ctrl-Delete, for deleting 
a word); <code>"icon-press"</code> (emitted when the user clicks an activable icon); 
<code>"icon-release"</code> (emitted on the button release from a mouse click over an activable icon);  
<code>"insert-at-cursor"</code> (emitted when the user initiates the insertion of a fixed string at the 
cursor); <code>"move-cursor"</code> (emitted when the user initiates a cursor movement); 
<code>"populate-popup"</code> (emitted before showing the context 
 menu of the entry; it can be used to add items to it).</p>
+    <p>In line 14 the signal <code>"activate"</code> is connected to the callback function 
<code>cb_activate()</code> using <code><var>widget</var>.connect(<var>signal</var>, <var>callback 
function</var>)</code>. See <link xref="signals-callbacks.py"/> for a more detailed explanation. Some of the 
signals that a Gtk.Entry widget can emit are: <code>"activate"</code> (emitted when the user activates the 
Entry key); <code>"backspace"</code> (emitted when the user activates the Backspace or Shift-Backspace keys); 
<code>"copy-clipboard"</code> (Ctrl-c and Ctrl-Insert); <code>"paste-clipboard"</code> (Ctrl-v and 
Shift-Insert); <code>"delete-from-cursor"</code> (Delete, for deleting a character; Ctrl-Delete, for deleting 
a word); <code>"icon-press"</code> (emitted when the user clicks an activable icon); 
<code>"icon-release"</code> (emitted on the button release from a mouse click over an activable icon);  
<code>"insert-at-cursor"</code> (emitted when the user initiates the inserti
 on of a fixed string at the cursor); <code>"move-cursor"</code> (emitted when the user initiates a cursor 
movement); <code>"populate-popup"</code> (emitted before showing the context menu of the entry; it can be 
used to add items to it).</p>
     <list>
       <item><p><code>get_buffer()</code> and <code>set_buffer(buffer)</code>, where <code>buffer</code> is a 
Gtk.EntryBuffer object, can be used to get and set the buffer for the entry.</p></item>
       <item><p><code>get_text()</code> and <code>set_text("some text")</code> can be used to get and set the 
content for the entry.</p></item>
diff --git a/platform-demos/C/filechooserdialog.py.page b/platform-demos/C/filechooserdialog.py.page
index 96ddbb3..3df1919 100644
--- a/platform-demos/C/filechooserdialog.py.page
+++ b/platform-demos/C/filechooserdialog.py.page
@@ -35,7 +35,7 @@
     <item><p>Create a file .ui to describe an app-menu with items "New", "Open", "Save", "Save as", and 
"Quit". This can be done with Glade or in a text editor. See <link xref="#xml" /></p></item>
     <item><p>Create a Python program for a Gtk.TextView with a Gtk.Buffer <code>self.buffer</code>, and a 
<code>self.file</code> which will be a Gio.File and we set initially as <code>None</code>.</p></item>
     <item><p>In this program, create also the actions corresponding to the items in the app-menu, connect 
them to callback functions, and import the menu in the <code>do_startup()</code> method with a 
Gtk.Builder.</p></item>
-    <item><p>"New" and "Quit" actions and callback functions are quite straightforward, see <link 
xref="#code" />.</p></item>
+    <item><p>"New" and "Quit" actions and callback functions are quite straightforward, see <link 
xref="#code" />. See <link xref="signals-callbacks.py"/> for a more detailed explanation of signals and 
callback functions.</p></item>
     <item><p>"Open" callback should create and open a Gtk.FileChooserDialog for "Open", connected with 
another callback function for each of the two "Open" and "Cancel" buttons of the FileChooserDialog.</p></item>
     <item><p>"Save as" works basically as "Open", but the callback function of the "Save" button depends on 
a more complex method <code>save_to_file()</code>.</p></item>
     <item><p>"Save" can be reduced to the case where the file is <code>None</code>, that is the case where 
<code>self.file</code> is a new file, which in turn is the case "Save as"; and to the case where the file is 
not <code>None</code>, which in turn is reduced to <code>save_to_file()</code>.</p></item>
diff --git a/platform-demos/C/fontchooserwidget.py.page b/platform-demos/C/fontchooserwidget.py.page
index 60b51c8..f8f501c 100644
--- a/platform-demos/C/fontchooserwidget.py.page
+++ b/platform-demos/C/fontchooserwidget.py.page
@@ -32,7 +32,7 @@
   </section>
   <section id="methods">
     <title>Useful methods for a FontChooserWidget</title>
-    <p>For an explanation of signals and callback functions, see <link xref="signals-callbacks.py" />.</p>
+    <p>In line 16 the <code>"notify::font"</code> signal from the widget is connected to the callback 
function <code>font_cb()</code> using <code><var>widget</var>.connect(<var>signal</var>, <var>callback 
function</var>)</code>. See <link xref="signals-callbacks.py"/> for a more detailed explanation.</p>
     <list>
       <item><p>To set the font which is initially selected, use <code>set_font(font)</code> (where 
<code>font</code> is the font name) or <code>set_font_desc(font)</code> (where <code>font</code> is the 
PangoFontDescription).</p></item>
       <item><p>To get the selected font use <code>get_font()</code> or 
<code>get_font_desc()</code>.</p></item>
diff --git a/platform-demos/C/gmenu.py.page b/platform-demos/C/gmenu.py.page
index 9f06a7e..3ffb857 100644
--- a/platform-demos/C/gmenu.py.page
+++ b/platform-demos/C/gmenu.py.page
@@ -6,6 +6,7 @@
   <info>
     <title type="text">GMenu (Python)</title>
     <link type="guide" xref="beginner.py#menu-combo-toolbar"/>
+    <link type="seealso" xref="signals-callbacks.py" />
     <link type="next" xref="menubutton.py"/>
     <revision version="0.1" date="2012-04-28" status="draft"/>
 
@@ -27,7 +28,6 @@
   <title>GMenu</title>
   <media type="image" mime="image/png" src="media/gmenu.py.png"/>
   <p>A GtkApplication with a simple GMenu and SimpleActions</p>
-  <note><p><em style="bold">You need to be running Gtk3.4 or later for this to work</em></p></note>
 
   <links type="section" />
 
@@ -40,6 +40,8 @@
   <section id="methods">
     <title>Useful methods for a GSimpleAction and a GMenu</title>
 
+    <p>In line 33 the signal <code>"activate"</code> from the action <code>new_action</code> (not the menu!) 
is connected to the callback function <code>new_cb()</code> using 
<code><var>action</var>.connect(<var>signal</var>, <var>callback function</var>)</code>. See <link 
xref="signals-callbacks.py"/> for a more detailed explanation.</p>
+
     <p>Useful methods for a GSimpleAction:</p>
     <list>
       <item><p>To create a new action that is <em>stateless</em>, that is, an action that do not retain or 
depend on a state given by the action itself, use</p>
diff --git a/platform-demos/C/linkbutton.py.page b/platform-demos/C/linkbutton.py.page
index df4ea28..72e5481 100644
--- a/platform-demos/C/linkbutton.py.page
+++ b/platform-demos/C/linkbutton.py.page
@@ -6,7 +6,6 @@
   <info>
     <title type="text">LinkButton (Python)</title>
     <link type="guide" xref="beginner.py#buttons"/>
-    <link type="seealso" xref="signals-callbacks.py"/>
     <link type="next" xref="checkbutton.py"/>
     <revision version="0.1" date="2012-05-23" status="draft"/>
 
diff --git a/platform-demos/C/menubar.py.page b/platform-demos/C/menubar.py.page
index 9b91296..e308466 100644
--- a/platform-demos/C/menubar.py.page
+++ b/platform-demos/C/menubar.py.page
@@ -6,7 +6,6 @@
   <info>
   <title type="text">MenuBar (Python)</title>
   <link type="guide" xref="beginner.py#menu-combo-toolbar"/>
-  <link type="seealso" xref="aboutdialog.py"/>
   <link type="seealso" xref="gmenu.py"/>
     <link type="next" xref="colorbutton.py"/>
     <revision version="0.1" date="2012-08-01" status="stub"/>
@@ -25,7 +24,7 @@
     <desc>A widget which holds GtkMenuItem widgets</desc>
   </info>
 
-  <title>MenuBar - using XML and GtkBuilder</title>
+  <title>MenuBar created using XML and GtkBuilder</title>
   <media type="image" mime="image/png" src="media/menubar.png"/>
   <p>A MenuBar created using XML and GtkBuilder.</p>
 
@@ -115,6 +114,8 @@ def new_callback(self, action, parameter):
     <code mime="text/x-python">
 self.add_action(new_action)</code>
 
+    <p>See <link xref="signals-callbacks.py"/> for a more detailed explanation of signals and callbacks.</p> 
+
   </section>
 
   <section id="win-app"><title>Actions: Application or Window?</title>
diff --git a/platform-demos/C/menubutton.py.page b/platform-demos/C/menubutton.py.page
index a25f307..15a5031 100644
--- a/platform-demos/C/menubutton.py.page
+++ b/platform-demos/C/menubutton.py.page
@@ -39,6 +39,8 @@
 
   <section id="methods">
   <title>Useful methods for a MenuButton widget</title>
+      <p>In line 33 the signal <code>"activate"</code> from the action <code>about_action</code> is 
connected to the callback function <code>about_callback()</code> using 
<code><var>action</var>.connect(<var>signal</var>, <var>callback function</var>)</code>. See <link 
xref="signals-callbacks.py"/> for a more detailed explanation.</p>
+
     <p>The positioning of the menu is determined by the "direction" property of the menu button and the 
"halign" or "valign" properties of the menu. For example, when the direction is 
<code>Gtk.ArrowType.DOWN</code> (other option: <code>UP</code>) and the horizontal alignment is 
<code>Gtk.Align.START</code> (other options: <code>CENTER</code> and <code>END</code>), the menu will be 
positioned below the button, with the starting edge (depending on the text direction) of the menu aligned 
with the starting edge of the button. If there is not enough space below the button, the menu is popped up 
above the button instead. If the alignment would move part of the menu offscreen, it is 'pushed in'.</p>
     
     <p>In the case of vertical alignment, the possible ArrowType directions are <code>LEFT</code> and 
<code>RIGHT</code> and the vertical alignment is again <code>START</code>, <code>CENTER</code> or 
<code>END</code>.</p>
diff --git a/platform-demos/C/messagedialog.py.page b/platform-demos/C/messagedialog.py.page
index bdc049b..7a4b682 100644
--- a/platform-demos/C/messagedialog.py.page
+++ b/platform-demos/C/messagedialog.py.page
@@ -6,7 +6,6 @@
   <info>
     <title type="text">MessageDialog (Python)</title>
     <link type="guide" xref="beginner.py#windows"/>
-    <link type="seealso" xref="signals-callbacks.py"/>
     <link type="next" xref="gmenu.py"/>
     <revision version="0.1" date="2012-06-11" status="draft"/>
 
@@ -34,7 +33,7 @@
 
   <section id="methods">
   <title>Useful methods for a MessageDialog widget</title>
-  <p>For an explanation of signals and callback functions, see <link xref="signals-callbacks.py" />.</p>
+    <p>In line 18 the signal <code>"activate"</code> is connected to the callback function 
<code>message_cb()</code> using <code><var>widget</var>.connect(<var>signal</var>, <var>callback 
function</var>)</code>. See <link xref="signals-callbacks.py"/> for a more detailed explanation.</p>
   <list>
     <item><p>In the constructor of MessageDialog we could set flags as 
<code>Gtk.DialogFlags.DESTROY_WITH_PARENT</code> (to destroy the messagedialog window when its parent window 
is destroyed) or as <code>Gtk.DialogFlags.MODAL</code> (no interaction with other windows of the 
application).</p></item>
     <item><p>In the constructor of MessageDialog we could set type as any of <code>Gtk.MessageType.INFO, 
Gtk.MessageType.WARNING, Gtk.MessageType.QUESTION, Gtk.MessageType.ERROR, Gtk.MessageType.OTHER</code> 
depending on what type of message we want.</p></item>
diff --git a/platform-demos/C/progressbar.py.page b/platform-demos/C/progressbar.py.page
index 128a051..7d4abb9 100644
--- a/platform-demos/C/progressbar.py.page
+++ b/platform-demos/C/progressbar.py.page
@@ -45,7 +45,7 @@
   <title>Useful methods for a ProgressBar widget</title>
   <list>
     <item><p>Instead of <code>pulse()</code>, that makes the bar go back and forth, if we want the 
ProgressBar to "fill in" a fraction (a <code>float</code> between <code>0.0</code> and <code>1.0</code> 
included) of the bar that has been completed, use <code>set_fraction(fraction)</code>.</p></item>
-    <item><p>To set a text and show it (superimposed over the bar) use <code>set_text("some text")</code> 
and <code>set_show_text(True)</code>. If a text is not set and <code>set_show_text(True)</code> the text will 
be the percentage of the work that has been completed.</p></item>
+    <item><p>To set a text and show it (superimposed over the bar) use 
<code>set_text(<var>"text"</var>)</code> and <code>set_show_text(True)</code>. If a text is not set and 
<code>set_show_text(True)</code> the text will be the percentage of the work that has been 
completed.</p></item>
   </list>
   </section>
 
diff --git a/platform-demos/C/radiobutton.py.page b/platform-demos/C/radiobutton.py.page
index 535097f..a2ac977 100644
--- a/platform-demos/C/radiobutton.py.page
+++ b/platform-demos/C/radiobutton.py.page
@@ -6,8 +6,6 @@
   <info>
     <title type="text">RadioButton (Python)</title>
     <link type="guide" xref="beginner.py#buttons"/>
-    <link type="seealso" xref="signals-callbacks.py"/>
-    <link type="seealso" xref="togglebutton.py"/>
     <link type="seealso" xref="grid.py"/>
     <link type="next" xref="buttonbox.py"/>
     <revision version="0.1" date="2012-05-09" status="draft"/>
@@ -34,7 +32,7 @@
 
   <section id="methods">
     <title>Useful methods for a RadioButton widget</title>
-    <p>For an explanation of signals and callback functions, see <link xref="signals-callbacks.py" />.</p>
+    <p>In line 16 the signal <code>"toggled"</code> is connected to the callback function 
<code>toggled_cb()</code> using <code><var>widget</var>.connect(<var>signal</var>, <var>callback 
function</var>)</code>. See <link xref="signals-callbacks.py"/> for a more detailed explanation.</p>
 
     <p>As seen in <link xref="properties.py"/>, instead of <code>button1 = Gtk.RadioButton(label="Button 
1")</code> we could create the button and label it with</p>
     <code>
diff --git a/platform-demos/C/scale.py.page b/platform-demos/C/scale.py.page
index abb5d61..0fcf256 100644
--- a/platform-demos/C/scale.py.page
+++ b/platform-demos/C/scale.py.page
@@ -32,8 +32,8 @@
 
   <section id="methods">
     <title>Useful methods for a Scale widget</title>
-    <p>For an explanation of signals and callback functions, see <link xref="signals-callbacks.py"/>. An 
example is the <code>"value-changed"</code> signal, emitted when the value of the scale changes.</p>
     <p>A Gtk.Adjustment is needed to construct the Gtk.Scale. This is the representation of a value with a 
lower and upper bound, together with step and page increments, and a page size, and it is constructed as 
<code>Gtk.Adjustment(value, lower, upper, step_increment, page_increment, page_size)</code> where the fields 
are of type <code>float</code>; <code>step_increment</code> is the increment/decrement that is obtained by 
using the cursor keys, <code>page_increment</code> the one that is obtained clicking on the scale itself. 
Note that <code>page_size</code> is not used in this case, it should be set to <code>0</code>.</p>
+    <p>In line 28 the signal <code>"value-changed"</code> is connected to the callback function 
<code>scale_moved()</code> using <code><var>widget</var>.connect(<var>signal</var>, <var>callback 
function</var>)</code>. See <link xref="signals-callbacks.py"/> for a more detailed explanation.</p>
     <list>
       <item><p><code>get_value()</code> retrieves the current value of the scale; 
<code>set_value(value)</code> sets it (if the <code>value</code>, of type <code>float</code>, is outside the 
minimum or maximum range, it will be clamped to fit inside them). These are methods of the class 
Gtk.Range.</p></item>
       <item><p>Use <code>set_draw_value(False)</code> to avoid displaying the current value as a string next 
to the slider.</p></item>
diff --git a/platform-demos/C/signals-callbacks.py.page b/platform-demos/C/signals-callbacks.py.page
index 8a0a074..cbd0cbb 100644
--- a/platform-demos/C/signals-callbacks.py.page
+++ b/platform-demos/C/signals-callbacks.py.page
@@ -44,7 +44,7 @@
 
 <title>References</title>
 <p><link href="http://developer.gnome.org/gobject/stable/signal.html";>Signals</link> in GObject 
documentation</p>
-<p><link href="http://python-gtk-3-tutorial.readthedocs.org/en/latest/basics.html";>Basics - Main loop and 
Signals</link> in Python Gtk+ 3 Tutorial</p>
+<p><link href="http://python-gtk-3-tutorial.readthedocs.org/en/latest/basics.html";>Basics - Main loop and 
Signals</link> in Python GTK+ 3 Tutorial</p>
 </section>
 
 
diff --git a/platform-demos/C/spinbutton.py.page b/platform-demos/C/spinbutton.py.page
index f886bce..ec548c8 100644
--- a/platform-demos/C/spinbutton.py.page
+++ b/platform-demos/C/spinbutton.py.page
@@ -6,7 +6,7 @@
   <info>
     <title type="text">SpinButton (Python)</title>
     <link type="guide" xref="beginner.py#entry"/>
-    <link type="seealso" xref="grid.py"/>
+    <link type="seealso" xref="signals-callbacks.py"/>
     <link type="next" xref="entry.py" />    
     <revision version="0.2" date="2012-06-23" status="draft"/>
 
@@ -32,8 +32,8 @@
 
   <section id="methods">
     <title>Useful methods for a SpinButton widget</title>
-    <p>For an explanation of signals and callback functions, see <link xref="signals-callbacks.py" />. An 
example is the <code>"value-changed"</code> signal, emitted when the value of the spinbutton changes.</p>
     <p>A Gtk.Adjustment is needed to construct the Gtk.SpinButton. This is the representation of a value 
with a lower and upper bound, together with step and page increments, and a page size, and it is constructed 
as <code>Gtk.Adjustment(value, lower, upper, step_increment, page_increment, page_size)</code> where the 
fields are of type <code>float</code>; <code>step_increment</code> is the increment/decrement that is 
obtained by using the cursor keys or the buttons of the spinbutton. Note that <code>page_increment</code> and 
<code>page_size</code> are not used in this case, and they should be set to <code>0</code>.</p>
+    <p>In line 23 the signal <code>"value-changed"</code> is connected to the callback function 
<code>spin_selected()</code> using <code><var>widget</var>.connect(<var>signal</var>, <var>callback 
function</var>)</code>. See <link xref="signals-callbacks.py"/> for a more detailed explanation.</p>
     <list>
       <item><p>If you want the value of the spinbutton to wrap around when they exceed the maximum or the 
minimum, set <code>set_wrap(True)</code>. The <code>"wrapped"</code> signal is emitted when this 
happens.</p></item>
       <item><p><code>set_digits(digits)</code> sets the precision to be displayed by the spinbutton, up to 
20 digits.</p></item>
diff --git a/platform-demos/C/statusbar.py.page b/platform-demos/C/statusbar.py.page
index 9155327..92ae853 100644
--- a/platform-demos/C/statusbar.py.page
+++ b/platform-demos/C/statusbar.py.page
@@ -6,9 +6,7 @@
   <info>
     <title type="text">Statusbar (Python)</title>
     <link type="guide" xref="beginner.py#display-widgets"/>
-    <link type="seealso" xref="grid.py"/>
-    <link type="seealso" xref="button.py"/>
-    <link type="seealso" xref="label.py"/>
+    <link type="seealso" xref="signals-callbacks.py"/>
     <link type="next" xref="spinner.py" />    
     <revision version="0.2" date="2012-06-12" status="draft"/>
 
@@ -39,6 +37,7 @@
 
   <section id="methods">
   <title>Useful methods for a Statusbar widget</title>
+    <p>In line 17 the signal <code>"clicked"</code> is connected to the callback function 
<code>button_clicked_cb()</code> using <code><var>widget</var>.connect(<var>signal</var>, <var>callback 
function</var>)</code>. See <link xref="signals-callbacks.py"/> for a more detailed explanation.</p>
   <list>
     <item><p><code>pop(context_id)</code> removes the first message in the statusbar stack with the given 
<code>context_id</code>.</p></item>
     <item><p><code>remove_all(context_id)</code> removes all the messages in the statusbar stack with the 
given <code>context_id</code>.</p></item>
diff --git a/platform-demos/C/switch.py.page b/platform-demos/C/switch.py.page
index a87efae..ee33cde 100644
--- a/platform-demos/C/switch.py.page
+++ b/platform-demos/C/switch.py.page
@@ -6,10 +6,6 @@
   <info>
     <title type="text">Switch (Python)</title>
     <link type="guide" xref="beginner.py#buttons"/>
-    <link type="seealso" xref="signals-callbacks.py"/>
-    <link type="seealso" xref="checkbutton.py"/>
-    <link type="seealso" xref="label.py"/>
-    <link type="seealso" xref="grid.py"/>
     <link type="next" xref="radiobutton.py"/>
     <revision version="0.1" date="2012-05-24" status="draft"/>
 
@@ -38,7 +34,7 @@
   </section>
   <section id="methods">
     <title>Useful methods for a Switch widget</title>
-    <p>For a discussion on signals and callback functions, see <link xref="signals-callbacks.py" />.</p>
+    <p>In line 17 the signal <code>"notify::active"</code> is connected to the callback function 
<code>activate_cb()</code> using <code><var>widget</var>.connect(<var>signal</var>, <var>callback 
function</var>)</code>. See <link xref="signals-callbacks.py"/> for a more detailed explanation.</p>
 
   </section>
   <section id="references">
diff --git a/platform-demos/C/textview.py.page b/platform-demos/C/textview.py.page
index 5fc6c0e..1c9a5ee 100644
--- a/platform-demos/C/textview.py.page
+++ b/platform-demos/C/textview.py.page
@@ -47,7 +47,6 @@
 
   <section id="methods">
   <title>Useful methods for a TextView widget</title>
-  <p>Go to <link xref="strings.py" /> for an explanation of how to deal with strings and Unicode.</p>
   <p>A <code>Gtk.TextView</code> displays the text stored in a <code>Gtk.TextBuffer</code>. However, most 
text manipulation is accomplished with iterators, represented by a <code>Gtk.TextIter</code> - a position 
between two characters in the text buffer. Iterators are not valid indefinitely; whenever the buffer is 
modified in a way that affects the contents of the buffer, all outstanding iterators become invalid. Because 
of this, iterators can’t be used to preserve positions across buffer modifications. To preserve a position, 
we use a <code>Gtk.TextMark</code>, that can be set visible with <code>visible(True)</code>. A text buffer 
contains two built-in marks; an "insert" mark (the position of the cursor) and the "selection_bound" mark.</p>
   <p>Methods for a TextView widget:</p>
   <list>
diff --git a/platform-demos/C/togglebutton.py.page b/platform-demos/C/togglebutton.py.page
index 2777600..8a07749 100644
--- a/platform-demos/C/togglebutton.py.page
+++ b/platform-demos/C/togglebutton.py.page
@@ -6,8 +6,6 @@
   <info>
     <title type="text">ToggleButton (Python)</title>
     <link type="guide" xref="beginner.py#buttons"/>
-    <link type="seealso" xref="signals-callbacks.py"/>
-    <link type="seealso" xref="grid.py"/>
     <link type="next" xref="switch.py"/>
     <revision version="0.1" date="2012-05-23" status="draft"/>
 
@@ -35,7 +33,7 @@
 
   <section id="methods">
     <title>Useful methods for a ToggleButton widget</title>
-    <p>For an explanation of signals and callback functions, see <link xref="signals-callbacks.py" />.</p>
+    <p>In line 22 the signal <code>"toggled"</code> is connected to the callback function 
<code>toggled_cb()</code> using <code><var>widget</var>.connect(<var>signal</var>, <var>callback 
function</var>)</code>. See <link xref="signals-callbacks.py"/> for a more detailed explanation.</p>
   </section>
 
   <section id="references">
diff --git a/platform-demos/C/toolbar.py.page b/platform-demos/C/toolbar.py.page
index 94085c2..ed2ea4c 100644
--- a/platform-demos/C/toolbar.py.page
+++ b/platform-demos/C/toolbar.py.page
@@ -34,6 +34,7 @@
 
   <section id="methods">
     <title>Useful methods for a Toolbar widget</title>
+    <p>In line 32 the signal <code>"activate"</code> from the action <code>undo_action</code> is connected 
to the callback function <code>undo_callback()</code> using 
<code><var>action</var>.connect(<var>signal</var>, <var>callback function</var>)</code>. See <link 
xref="signals-callbacks.py"/> for a more detailed explanation.</p>
 
     <list>
       <item><p>Use <code>insert(tool_item, position)</code> to insert the <code>tool_item</code> at 
<code>position</code>. If <code>position</code> is negative, the item is appended at the end of the 
toolbar.</p></item>
diff --git a/platform-demos/C/toolbar_builder.py.page b/platform-demos/C/toolbar_builder.py.page
index 4348d0f..b4b3134 100644
--- a/platform-demos/C/toolbar_builder.py.page
+++ b/platform-demos/C/toolbar_builder.py.page
@@ -181,6 +181,8 @@
 <item><p><code>get_object(object_id)</code> retrieves the widget with the id <code>object_id</code> from the 
loaded objects in the builder.</p></item>
 <item><p><code>get_objects()</code> returns all loaded objects.</p></item>
 <item><p><code>connect_signals(handler_object)</code> connects the signals to the methods given in the 
<code>handler_object</code>. This can be any object which contains keys or attributes that are called like 
the signal handler names given in the interface description, e.g. a class or a dict.</p></item>
+    <p>In line 39 the signal <code>"activate"</code> from the action <code>undo_action</code> is connected 
to the callback function <code>undo_callback()</code> using 
<code><var>action</var>.connect(<var>signal</var>, <var>callback function</var>)</code>. See <link 
xref="signals-callbacks.py"/> for a more detailed explanation.</p>
+
 </list>
 
 </section>
diff --git a/platform-demos/C/tooltip.py.page b/platform-demos/C/tooltip.py.page
index 04d8f7a..28ea2ab 100644
--- a/platform-demos/C/tooltip.py.page
+++ b/platform-demos/C/tooltip.py.page
@@ -4,7 +4,7 @@
       type="guide" style="task"
       id="tooltip.py">
   <info>
-  <title type="text">MenuButton</title>
+  <title type="text">Tooltip (Python)</title>
     <link type="guide" xref="beginner.py#misc"/>
     <link type="seealso" xref="toolbar.py"/>
     <link type="next" xref="toolbar_builder.py"/>
@@ -32,6 +32,7 @@
 
   <section id="methods">
   <title>Useful methods for a Tooltip widget</title>
+
     <p><code>set_tooltip_text(text)</code> and <code>set_tooltip_markup(text)</code> can be used to add a 
tooltip of plain text (or text in the Pango Markup Language) to a widget.</p>
     <p>For more complex tooltips, for instance for a tooltip with an image:</p>
     <steps>
diff --git a/platform-demos/C/treeview_advanced_liststore.py.page 
b/platform-demos/C/treeview_advanced_liststore.py.page
index ba396d0..5b2165a 100644
--- a/platform-demos/C/treeview_advanced_liststore.py.page
+++ b/platform-demos/C/treeview_advanced_liststore.py.page
@@ -6,9 +6,6 @@
   <info>
     <title type="text">Simple Treeview with ListStore (Python)</title>
     <link type="guide" xref="beginner.py#treeview"/>
-    <link type="seealso" xref="grid.py"/>
-    <link type="seealso" xref="label.py"/>
-    <link type="seealso" xref="button.py"/>
     <link type="next" xref="treeview_cellrenderertoggle.py"/>
     <revision version="0.1" date="2012-06-30" status="draft"/>
 
@@ -35,8 +32,8 @@
 
   <section id="methods">
     <title>Useful methods for a TreeView widget</title>
-    <p>The TreeView widget is designed around a <em>Model/View/Controller</em> design: the <em>Model</em> 
stores the data; the <em>View</em> gets change notifications and displays the content of the model; the 
<em>Controller</em>, finally, changes the state of the model and notifies the view of these changes. For more 
information, and for a list of useful methods for ComboBox and TreeModel, see <link 
xref="model-view-controller.py" />.</p>
-    <p>For buttons and callbacks functions, see <link xref="signals-callbacks.py" /></p>
+    <p>The TreeView widget is designed around a <em>Model/View/Controller</em> design: the <em>Model</em> 
stores the data; the <em>View</em> gets change notifications and displays the content of the model; the 
<em>Controller</em>, finally, changes the state of the model and notifies the view of these changes. For more 
information and for a list of useful methods for TreeModel see <link xref="model-view-controller.py" />.</p>
+    <p>In line 36 the <code>"changed"</code> signal is connected to the callback function 
<code>on_changed()</code> using <code><var>widget</var>.connect(<var>signal</var>, <var>callback 
function</var>)</code>. See <link xref="signals-callbacks.py"/> for a more detailed explanation.</p>
   </section>
 
   <section id="references">
diff --git a/platform-demos/C/treeview_cellrenderertoggle.py.page 
b/platform-demos/C/treeview_cellrenderertoggle.py.page
index d0f277a..93a08dc 100644
--- a/platform-demos/C/treeview_cellrenderertoggle.py.page
+++ b/platform-demos/C/treeview_cellrenderertoggle.py.page
@@ -32,7 +32,8 @@
 
   <section id="methods">
     <title>Useful methods for a TreeView widget</title>
-    <p>The TreeView widget is designed around a <em>Model/View/Controller</em> design: the <em>Model</em> 
stores the data; the <em>View</em> gets change notifications and displays the content of the model; the 
<em>Controller</em>, finally, changes the state of the model and notifies the view of these changes. For more 
information, and for a list of useful methods for ComboBox and TreeModel, see <link 
xref="model-view-controller.py" />.</p>
+    <p>The TreeView widget is designed around a <em>Model/View/Controller</em> design: the <em>Model</em> 
stores the data; the <em>View</em> gets change notifications and displays the content of the model; the 
<em>Controller</em>, finally, changes the state of the model and notifies the view of these changes. For more 
information and for a list of useful methods for TreeModel see <link xref="model-view-controller.py" />.</p>
+    <p>In line 48 the <code>"toggled"</code> signal is connected to the callback function 
<code>on_toggled()</code> using <code><var>widget</var>.connect(<var>signal</var>, <var>callback 
function</var>)</code>. See <link xref="signals-callbacks.py"/> for a more detailed explanation.</p>
   </section>
 
   <section id="references">
diff --git a/platform-demos/C/treeview_simple_liststore.py.page 
b/platform-demos/C/treeview_simple_liststore.py.page
index f74a39d..f06434a 100644
--- a/platform-demos/C/treeview_simple_liststore.py.page
+++ b/platform-demos/C/treeview_simple_liststore.py.page
@@ -6,8 +6,7 @@
   <info>
     <title type="text">Simple TreeView with ListStore (Python)</title>
     <link type="guide" xref="beginner.py#treeview"/>
-    <link type="seealso" xref="grid.py"/>
-    <link type="seealso" xref="label.py"/>
+    <link type="seealso" xref="model-view-controller.py"/>
     <link type="next" xref="treeview_treestore.py"/>
     <revision version="0.2" date="2012-06-30" status="draft"/>
 
@@ -34,7 +33,8 @@
 
   <section id="methods">
     <title>Useful methods for a TreeView widget</title>
-    <p>The TreeView widget is designed around a <em>Model/View/Controller</em> design: the <em>Model</em> 
stores the data; the <em>View</em> gets change notifications and displays the content of the model; the 
<em>Controller</em>, finally, changes the state of the model and notifies the view of these changes. For more 
information, and for a list of useful methods for ComboBox and TreeModel, see <link 
xref="model-view-controller.py" />.</p>
+    <p>The TreeView widget is designed around a <em>Model/View/Controller</em> design: the <em>Model</em> 
stores the data; the <em>View</em> gets change notifications and displays the content of the model; the 
<em>Controller</em>, finally, changes the state of the model and notifies the view of these changes. For more 
information, and for a list of useful methods for TreeModel, see <link xref="model-view-controller.py" />.</p>
+    <p>In line 44 the <code>"changed"</code> signal is connected to the callback function 
<code>on_changed()</code> using <code><var>widget</var>.connect(<var>signal</var>, <var>callback 
function</var>)</code>. See <link xref="signals-callbacks.py"/> for a more detailed explanation.</p>
   </section>
 
   <section id="references">
diff --git a/platform-demos/C/treeview_treestore.py.page b/platform-demos/C/treeview_treestore.py.page
index b3d5a43..7c2576f 100644
--- a/platform-demos/C/treeview_treestore.py.page
+++ b/platform-demos/C/treeview_treestore.py.page
@@ -6,6 +6,7 @@
   <info>
     <title type="text">TreeView with TreeStore (Python)</title>
     <link type="guide" xref="beginner.py#treeview"/>
+    <link type="seealso" xref="model-view-controller.py" />
     <link type="next" xref="model-view-controller.py"/>
     <revision version="0.1" date="2012-06-30" status="draft"/>
 
@@ -32,7 +33,7 @@
 
   <section id="methods">
     <title>Useful methods for a TreeView widget</title>
-    <p>The TreeView widget is designed around a <em>Model/View/Controller</em> design: the <em>Model</em> 
stores the data; the <em>View</em> gets change notifications and displays the content of the model; the 
<em>Controller</em>, finally, changes the state of the model and notifies the view of these changes. For more 
information, and for a list of useful methods for ComboBox and TreeModel, see <link 
xref="model-view-controller.py" />.</p>
+    <p>The TreeView widget is designed around a <em>Model/View/Controller</em> design: the <em>Model</em> 
stores the data; the <em>View</em> gets change notifications and displays the content of the model; the 
<em>Controller</em>, finally, changes the state of the model and notifies the view of these changes. For more 
information and for a list of useful methods for TreeModel see <link xref="model-view-controller.py" />.</p>
   </section>
 
   <section id="references">
diff --git a/platform-demos/C/tutorial.py.page b/platform-demos/C/tutorial.py.page
index 29e2220..d0b13ea 100644
--- a/platform-demos/C/tutorial.py.page
+++ b/platform-demos/C/tutorial.py.page
@@ -5,7 +5,7 @@
       id="tutorial.py">
 
 <info>
-  <title type="text">Beginner's Tutorial (Python)</title>
+  <title type="text">Tutorial for beginners (Python)</title>
   <link type="guide" xref="py"/>
   <revision pkgversion="3.8" date="2013-02-25" status="draft"/>
 
@@ -20,13 +20,14 @@
     <email>mmcasetti gmail com</email>
     <years>2012 2013</years>
   </credit>
-  <credit> type="editor author">
+  <credit type="editor author">
     <name>Jim Campbell</name>
     <email>jwcampbell gmail com</email>
+    <years>2013</years>
   </credit>
 </info>
 
-<title>0 Beginner's Tutorial</title>
+<title>Tutorial for beginners</title>
 
 <synopsis>
  <p>By following these tutorials you will learn the basics of GUI programming using GTK+ in Python.</p>
@@ -34,6 +35,8 @@
  <p>If you have never programmed before, or are not familiar with the concepts of object oriented 
programming, you may need to learn a few basics first.  The book <link 
href="http://learnpythonthehardway.org/book/";>Learn Python the Hard Way</link> or <link 
href="http://docs.python.org/tutorial/index.html";>The Python Tutorial</link> may be a better place for you to 
start. You may also be interested in <link 
href="http://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html";>The Python GTK+ 3 Tutorial</link>. 
Once you master the basics, be sure to come back and check out these tutorials.</p>
 </synopsis>
 
+<links type="section" />
+
 <section id="to-run">
 <title>To run the code samples</title>
 
@@ -75,7 +78,7 @@
     <item><p><link xref="paned.py" /></p></item>
   </steps></item>
   <item><steps>
-    <title>Signals, callbacks and buttons</title>
+    <title>Signals, callbacks and buttons</title>   
     <item><p><link xref="signals-callbacks.py" /></p></item>
     <item><p><link xref="button.py" /></p></item>
     <item><p><link xref="linkbutton.py" /></p></item>


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