<?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-gtkactiongroup">
  <refnamediv>
    <refname>gtk.ActionGroup</refname>
    <refpurpose>a group of actions (new in PyGTK 2.4)</refpurpose>
  </refnamediv>

  <refsect1>
    <title>Synopsis</title>

    <classsynopsis language="python">
      <ooclass><classname>gtk.ActionGroup</classname></ooclass>
      <ooclass><classname><link linkend="class-gobject">gobject.GObject</link></classname></ooclass>
      <constructorsynopsis language="python">
	<methodname><link linkend="constructor-gtkactiongroup">gtk.ActionGroup</link></methodname>
	<methodparam><parameter role="keyword">name</parameter></methodparam>
      </constructorsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkactiongroup--get-name">get_name</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkactiongroup--get-sensitive">get_sensitive</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkactiongroup--set-sensitive">set_sensitive</link></methodname>
	<methodparam><parameter role="keyword">sensitive</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkactiongroup--get-visible">get_visible</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkactiongroup--set-visible">set_visible</link></methodname>
	<methodparam><parameter role="keyword">visible</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkactiongroup--get-action">get_action</link></methodname>
	<methodparam><parameter role="keyword">action_name</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkactiongroup--list-actions">list_actions</link></methodname>
	<methodparam></methodparam>  </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkactiongroup--add-action">add_action</link></methodname>
	<methodparam><parameter role="keyword">action</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkactiongroup--add-action-with-accel">add_action_with_accel</link></methodname>
	<methodparam><parameter role="keyword">action</parameter></methodparam>
	<methodparam><parameter role="keyword">accelerator</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkactiongroup--remove-action">remove_action</link></methodname>
	<methodparam><parameter role="keyword">action</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkactiongroup--add-actions">add_actions</link></methodname>
	<methodparam><parameter role="keyword">entries</parameter></methodparam>
	<methodparam><parameter role="keyword">user_data</parameter><initializer>None</initializer></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkactiongroup--add-toggle-actions">add_toggle_actions</link></methodname>
	<methodparam><parameter role="keyword">entries</parameter></methodparam>
	<methodparam><parameter role="keyword">user_data</parameter><initializer>None</initializer></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkactiongroup--add-radio-actions">add_radio_actions</link></methodname>
	<methodparam><parameter role="keyword">entries</parameter></methodparam>
	<methodparam><parameter role="keyword">value</parameter><initializer>0</initializer></methodparam>
	<methodparam><parameter role="keyword">on_change</parameter><initializer>None</initializer></methodparam>
	<methodparam><parameter role="keyword">user_data</parameter><initializer>None</initializer></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkactiongroup--set-translation-domain">set_translation_domain</link></methodname>
	<methodparam><parameter role="keyword">domain</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkactiongroup--translate-string">translate_string</link></methodname>
	<methodparam><parameter role="keyword">string</parameter></methodparam>
      </methodsynopsis>
    </classsynopsis>

  </refsect1>

  <refsect1>
    <title>Ancestry</title>

<synopsis>+-- <link linkend="class-gobject">gobject.GObject</link>
  +-- <link linkend="class-gtkactiongroup">gtk.ActionGroup</link>
</synopsis>

  </refsect1>
  
  <refsect1>
		<title>Implemented Interfaces</title>
		<para>
			<link linkend="class-gtkactiongroup"><classname>gtk.ActionGroup</classname></link>
			implements 
			<link linkend="class-gtkbuildable"><classname>gtk.Buildable</classname></link>
		</para>
	</refsect1>


  <refsect1 id="properties-gtkactiongroup">
    <title>gtk.ActionGroup Properties</title>

    <blockquote role="properties">
      <informaltable pgwide="1" frame="none">
	<tgroup cols="3">
	  <colspec column="1" colwidth="1in"/>
	  <colspec column="2" colwidth="1in"/>
	  <colspec column="3" colwidth="4in"/>
	  <tbody>

	    <row valign="top">
	      <entry>"name"</entry>
	      <entry>Read-Write</entry>
	      <entry>A name for the action group.</entry>
	    </row>

	    <row valign="top">
	      <entry>"sensitive"</entry>
	      <entry>Read-Write</entry>
	      <entry>If <literal>True</literal>, the action group is
enabled.</entry>
	    </row>

	    <row valign="top">
	      <entry>"visible"</entry>
	      <entry>Read-Write</entry>
	      <entry>If <literal>True</literal>, the action group is
visible.</entry>
	    </row>

	  </tbody>
	</tgroup>
      </informaltable>
    </blockquote>

  </refsect1>

  <refsect1 id="signal-prototypes-gtkactiongroup">
    <title>gtk.ActionGroup Signal Prototypes</title>

    <para><link linkend="signal-prototypes-gobject">gobject.GObject Signal Prototypes</link></para>

    <variablelist>
      <varlistentry>
        <term>"<link linkend="signal-gtkactiongroup--connect-proxy">connect-proxy</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>actiongroup</parameter></methodparam>
            <methodparam><parameter>action</parameter></methodparam>
            <methodparam><parameter>proxy</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkactiongroup--disconnect-proxy">disconnect-proxy</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>actiongroup</parameter></methodparam>
            <methodparam><parameter>action</parameter></methodparam>
            <methodparam><parameter>proxy</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkactiongroup--post-activate">post-activate</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>actiongroup</parameter></methodparam>
            <methodparam><parameter>action</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>"<link linkend="signal-gtkactiongroup--pre-activate">pre-activate</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>actiongroup</parameter></methodparam>
            <methodparam><parameter>action</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
    </variablelist>

  </refsect1>

  <refsect1>
    <title>Description</title>

    <note>
      <para>This object is available in PyGTK 2.4 and above.</para>
    </note>

    <para><link
linkend="class-gtkaction"><classname>gtk.Action</classname></link> objects
are organized into <link
linkend="class-gtkactiongroup"><classname>gtk.ActionGroup</classname></link>
objects. An action group is basically a map from names to <link
linkend="class-gtkaction"><classname>gtk.Action</classname></link>
objects.</para>

    <para>All actions that would make sense to use in a particular context
should be in a single action group. Multiple action groups may be used for a
particular user interface. In fact, it is expected that most nontrivial
applications will make use of multiple groups. For example, in an
application that can edit multiple documents, there could be one group
holding global actions (e.g. quit, about, new), and one group per document
holding actions that act on that document (e.g. save, cut/copy/paste,
etc). Each window's menus would be constructed from a combination of the two
action groups.</para>

    <para>Accelerators are handled by the GTK+ accelerator map. All actions
are assigned an accelerator path (which normally has the form
"&lt;Actions&gt;/group-name/action-name") and a shortcut is associated with
this accelerator path. All menuitems and toolitems take on this accelerator
path. The GTK+ accelerator map code makes sure that the correct shortcut is
displayed next to the menu item.</para>

  </refsect1>

  <refsect1 id="constructor-gtkactiongroup">
    <title>Constructor</title>

    <programlisting><constructorsynopsis language="python">
	<methodname>gtk.ActionGroup</methodname>
	<methodparam><parameter role="keyword">name</parameter></methodparam>
      </constructorsynopsis></programlisting>
    <variablelist>
      <varlistentry>
	<term><parameter role="keyword">name</parameter>&nbsp;:</term>
	<listitem><simpara>the name of the action group.</simpara></listitem>
      </varlistentry>
      <varlistentry>
	<term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara>the new <link
linkend="class-gtkactiongroup"><classname>gtk.ActionGroup</classname></link></simpara></listitem>
      </varlistentry>
    </variablelist>

    <note>
      <para>This constructor is available in PyGTK 2.4 and above.</para>
    </note>

    <para>Creates a new <link
linkend="class-gtkactiongroup"><classname>gtk.ActionGroup</classname></link>
object with the name specified by <parameter>name</parameter>. The name of
the action group is used when associating keybindings with the
actions.</para>

  </refsect1>

  <refsect1>
    <title>Methods</title>

    <refsect2 id="method-gtkactiongroup--get-name">
      <title>gtk.ActionGroup.get_name</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_name</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the name of the action
group.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>get_name</methodname>() method returns the value
of the "name" property that contains the name of the action group.</para>

    </refsect2>

    <refsect2 id="method-gtkactiongroup--get-sensitive">
      <title>gtk.ActionGroup.get_sensitive</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_sensitive</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the group is
sensitive.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>get_sensitive</methodname>() method returns the
value of the "sensitive" property. If "sensitive" is <literal>True</literal>
the group is enabled. The constituent actions can only be logically
sensitive (see the <link
linkend="method-gtkaction--is-sensitive"><methodname>gtk.Action.is_sensitive()</methodname></link>
method) if they are sensitive (see the <link
linkend="method-gtkaction--get-sensitive"><methodname>gtk.Action.get_sensitive()</methodname></link>
method) and their group is sensitive.</para>

    </refsect2>

    <refsect2 id="method-gtkactiongroup--set-sensitive">
      <title>gtk.ActionGroup.set_sensitive</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_sensitive</methodname>
	  <methodparam><parameter role="keyword">sensitive</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">sensitive</parameter>&nbsp;:</term>
	  <listitem><simpara>if <literal>True</literal>, the group is
enabled</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>set_sensitive</methodname>() method sets the
      "sensitive" property to the value of
      <parameter>sensitive</parameter>. If <parameter>sensitive</parameter>
      is <literal>True</literal>, the <link
      linkend="class-gtkactiongroup"><classname>gtk.ActionGroup</classname></link>
      is enabled.</para>

    </refsect2>

    <refsect2 id="method-gtkactiongroup--get-visible">
      <title>gtk.ActionGroup.get_visible</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_visible</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the group is
visible.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>get_visible</methodname>() method returns the
value of the "visible" property. If "visible" is <literal>True</literal>,
the group is visible. The constituent actions can only be logically visible
(see the <link
linkend="method-gtkaction--is-visible"><methodname>gtk.Action.is_visible()</methodname></link>
method) if they are visible (see the <link
linkend="method-gtkaction--get-visible"><methodname>gtk.Action.get_visible()</methodname></link>
method) and their group is visible.</para>

    </refsect2>

    <refsect2 id="method-gtkactiongroup--set-visible">
      <title>gtk.ActionGroup.set_visible</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_visible</methodname>
	  <methodparam><parameter role="keyword">visible</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">visible</parameter>&nbsp;:</term>
	  <listitem><simpara>if <literal>True</literal>, the group will be
visible</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>set_visible</methodname>() method sets the
"visible" property to the value of <parameter>visible</parameter>. If
<parameter>visible</parameter> is <literal>True</literal> the <link
linkend="class-gtkactiongroup"><classname>gtk.ActionGroup</classname></link>
will be visible.</para>

    </refsect2>

    <refsect2 id="method-gtkactiongroup--get-action">
      <title>gtk.ActionGroup.get_action</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_action</methodname>
	  <methodparam><parameter role="keyword">action_name</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">action_name</parameter>&nbsp;:</term>
	  <listitem><simpara>the name of the action</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the action, or <literal>None</literal> if no
action with that name exists.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>get_action</methodname>() method retrieves the
action in the action group with the name specified by
<parameter>action_name</parameter>.</para>

    </refsect2>

    <refsect2 id="method-gtkactiongroup--list-actions">
      <title>gtk.ActionGroup.list_actions</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>list_actions</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a list of the action objects in the action
group</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>list_action</methodname>() method returns a list
containing the <link
linkend="class-gtkaction"><classname>gtk.Action</classname></link> objects
in the action group.</para>

    </refsect2>

    <refsect2 id="method-gtkactiongroup--add-action">
      <title>gtk.ActionGroup.add_action</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>add_action</methodname>
	  <methodparam><parameter role="keyword">action</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">action</parameter>&nbsp;:</term>
	  <listitem><simpara>an action</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>add_action</methodname>() method adds the <link
linkend="class-gtkaction"><classname>gtk.Action</classname></link> specified
by <parameter>action</parameter> to the action group.</para>

    </refsect2>

    <refsect2 id="method-gtkactiongroup--add-action-with-accel">
      <title>gtk.ActionGroup.add_action_with_accel</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>add_action_with_accel</methodname>
	  <methodparam><parameter role="keyword">action</parameter></methodparam>
	  <methodparam><parameter role="keyword">accelerator</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">action</parameter>&nbsp;:</term>
	  <listitem><simpara>the action to add</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter
	  role="keyword">accelerator</parameter>&nbsp;:</term>
	  <listitem><simpara>the accelerator for the action, in the format
	  understood by the <link
	  linkend="function-gtk--accelerator-parse"><function>gtk.accelerator_parse</function>()</link>
	  function, or <literal>None</literal> to use the stock
	  accelerator</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>add_action_with_accel</methodname>() method adds
a <link linkend="class-gtkaction"><classname>gtk.Action</classname></link>
specified by <parameter>action</parameter> to the action group and sets up
the accelerator specified by <parameter>accelerator</parameter>.</para>

      <para>If <parameter>accelerator</parameter> is
<literal>None</literal>, this method attempts to use the accelerator
associated with the "stock_id" property of the <link
linkend="class-gtkaction"><classname>gtk.Action</classname></link>.</para>

      <para>Accel paths are set to
<literal>&lt;Actions&gt;/<replaceable>group-name</replaceable>/<replaceable>action-name</replaceable></literal>.</para>

    </refsect2>

    <refsect2 id="method-gtkactiongroup--remove-action">
      <title>gtk.ActionGroup.remove_action</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>remove_action</methodname>
	  <methodparam><parameter role="keyword">action</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">action</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
linkend="class-gtkaction"><classname>gtk.Action</classname></link></simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>remove_action</methodname>() method removes the
<link linkend="class-gtkaction"><classname>gtk.Action</classname></link>
specified by <parameter>action</parameter> from the action group.</para>

    </refsect2>

    <refsect2 id="method-gtkactiongroup--add-actions">
      <title>gtk.ActionGroup.add_actions</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>add_actions</methodname>
	  <methodparam><parameter role="keyword">entries</parameter></methodparam>
	<methodparam><parameter role="keyword">user_data</parameter><initializer>None</initializer></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">entries</parameter>&nbsp;:</term>
	  <listitem><simpara>a list or tuple of action
descriptions</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">user_data</parameter>&nbsp;:</term>
	  <listitem><simpara>data to pass to the action
callbacks</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>add_actions</methodname>() method is a
convenience method that creates a number of <link
linkend="class-gtkaction"><classname>gtk.Action</classname></link> objects
based on the information in the list of action entry tuples contained in
<parameter>entries</parameter> and adds them to the action group. The entry
tuples can vary in size from one to six items with the following
information:</para>

    <itemizedlist>
      <listitem>
	<simpara>The name of the action. Must be specified.</simpara>
      </listitem>
      <listitem>
	  <simpara>The stock id for the action. Optional with a default
value of <literal>None</literal> if a label is specified.</simpara>
      </listitem>
      <listitem>
	<simpara>The label for the action. This field should typically be
marked for translation, see the <link
linkend="method-gtkactiongroup--set-translation-domain"><methodname>set_translation_domain</methodname>()</link>
method. Optional with a default value of <literal>None</literal> if a stock
id is specified.</simpara>
      </listitem>
      <listitem>
	<simpara>The accelerator for the action, in the format understood by
the <link
linkend="function-gtk--accelerator-parse"><function>gtk.accelerator_parse</function>()</link>
function. Optional with a default value of
<literal>None</literal>.</simpara>
      </listitem>
      <listitem>
	<simpara>The tooltip for the action. This field should typically be
marked for translation, see the <link
linkend="method-gtkactiongroup--set-translation-domain"><methodname>set_translation_domain</methodname>()</link>
method. Optional with a default value of <literal>None</literal>.</simpara>
      </listitem>
      <listitem>
	<simpara>The callback function invoked when the action is
activated. Optional with a default value of
<literal>None</literal>.</simpara>
      </listitem>
   </itemizedlist>

      <para>The "activate" signals of the actions are connected to the
callbacks and their accel paths are set to
<literal>&lt;Actions&gt;/<replaceable>group-name</replaceable>/<replaceable>action-name</replaceable></literal>.</para>

    </refsect2>

    <refsect2 id="method-gtkactiongroup--add-toggle-actions">
      <title>gtk.ActionGroup.add_toggle_actions</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>add_toggle_actions</methodname>
	  <methodparam><parameter role="keyword">entries</parameter></methodparam>
	<methodparam><parameter role="keyword">user_data</parameter><initializer>None</initializer></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">entries</parameter>&nbsp;:</term>
	  <listitem><simpara>a list or tuple of toggle action entry
tuples</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">user_data</parameter>&nbsp;:</term>
	  <listitem><simpara>data to pass to the action
callbacks</simpara></listitem>
	</varlistentry>
     </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>add_toggle_actions</methodname>() method is a
convenience method that creates a number of <link
linkend="class-gtktoggleaction"><classname>gtk.ToggleAction</classname></link>
objects based on the information in the list of action entry tuples
contained in <parameter>entries</parameter> and adds them to the action
group. The toggle action entry tuples can vary in size from one to seven items
with the following information:</para>

    <itemizedlist>
      <listitem>
	<simpara>The name of the action. Must be specified.</simpara>
      </listitem>
      <listitem>
	  <simpara>The stock id for the action. Optional with a default
value of <literal>None</literal> if a label is specified.</simpara>
      </listitem>
      <listitem>
	<simpara>The label for the action. This field should typically be
marked for translation, see the <link
linkend="method-gtkactiongroup--set-translation-domain"><methodname>set_translation_domain</methodname>()</link>
method. Optional with a default value of <literal>None</literal> if a stock
id is specified.</simpara>
      </listitem>
      <listitem>
	<simpara>The accelerator for the action, in the format understood by
the <link
linkend="function-gtk--accelerator-parse"><function>gtk.accelerator_parse</function>()</link>
function. Optional with a default value of
<literal>None</literal>.</simpara>
      </listitem>
      <listitem>
	<simpara>The tooltip for the action. This field should typically be
marked for translation, see the <link
linkend="method-gtkactiongroup--set-translation-domain"><methodname>set_translation_domain</methodname>()</link>
method. Optional with a default value of <literal>None</literal>.</simpara>
      </listitem>
      <listitem>
	<simpara>The callback function invoked when the action is
activated. Optional with a default value of
<literal>None</literal>.</simpara>
      </listitem>
      <listitem>
	<simpara>A flag indicating whether the toggle action is
active. Optional with a default value of <literal>False</literal>.</simpara>
      </listitem>
   </itemizedlist>

      <para>The "activate" signals of the actions are connected to the
callbacks and their accel paths are set to
<literal>&lt;Actions&gt;/<replaceable>group-name</replaceable>/<replaceable>action-name</replaceable></literal>.</para>

    </refsect2>

    <refsect2 id="method-gtkactiongroup--add-radio-actions">
      <title>gtk.ActionGroup.add_radio_actions</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>add_radio_actions</methodname>
	  <methodparam><parameter role="keyword">entries</parameter></methodparam>
	  <methodparam><parameter role="keyword">value</parameter><initializer>0</initializer></methodparam>
	  <methodparam><parameter role="keyword">on_change</parameter><initializer>None</initializer></methodparam>
	<methodparam><parameter role="keyword">user_data</parameter><initializer>None</initializer></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">entries</parameter>&nbsp;:</term>
	  <listitem><simpara>a list or tuple of radio action entry
tuples</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">value</parameter>&nbsp;:</term>
	  <listitem><simpara>the value of the radio action to set
active</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">on_change</parameter>&nbsp;:</term>
	  <listitem><simpara>a callback to connect to the "changed" signal
of the first radio action</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">user_data</parameter>&nbsp;:</term>
	  <listitem><simpara>data to pass to the
<parameter>on_change</parameter> callback</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>add_radio_actions</methodname>() method is a
convenience method that creates a number of <link
linkend="class-gtkradioaction"><classname>gtk.RadioAction</classname></link>
objects based on the information in the list of action entry tuples
contained in <parameter>entries</parameter> and adds them to the action
group. The entry tuples can vary in size from one to six items with the
following information:</para>

    <itemizedlist>
      <listitem>
	<simpara>The name of the action. Must be specified.</simpara>
      </listitem>
      <listitem>
	  <simpara>The stock id for the action. Optional with a default
value of <literal>None</literal> if a label is specified.</simpara>
      </listitem>
      <listitem>
	<simpara>The label for the action. This field should typically be
marked for translation, see the <link
linkend="method-gtkactiongroup--set-translation-domain"><methodname>set_translation_domain</methodname>()</link>
method. Optional with a default value of <literal>None</literal> if a stock
id is specified.</simpara>
      </listitem>
      <listitem>
	<simpara>The accelerator for the action, in the format understood by
the <link
linkend="function-gtk--accelerator-parse"><function>gtk.accelerator_parse</function>()</link>
function. Optional with a default value of
<literal>None</literal>.</simpara>
      </listitem>
      <listitem>
	<simpara>The tooltip for the action. This field should typically be
marked for translation, see the <link
linkend="method-gtkactiongroup--set-translation-domain"><methodname>set_translation_domain</methodname>()</link>
method. Optional with a default value of <literal>None</literal>.</simpara>
      </listitem>
      <listitem>
	<simpara>The value to set on the radio action. Optional with a
default value of <literal>0</literal>. Should be specified in
applications.</simpara>
      </listitem>
   </itemizedlist>

      <para>The <parameter>value</parameter> parameter specifies the radio
action that should be set active. The "changed" signal of the first radio
action is connected to the <parameter>on_change</parameter> callback (if
specified and not <literal>None</literal>) and the accel paths of the
actions are set to
<literal>&lt;Actions&gt;/<replaceable>group-name</replaceable>/<replaceable>action-name</replaceable></literal>.</para>

    </refsect2>

    <refsect2 id="method-gtkactiongroup--set-translation-domain">
      <title>gtk.ActionGroup.set_translation_domain</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_translation_domain</methodname>
	  <methodparam><parameter role="keyword">domain</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">domain</parameter>&nbsp;:</term>
	  <listitem><simpara>the translation domain to use for
<methodname>dgettext()</methodname> calls</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>set_translation_domain</methodname>() method
sets the translation domain to the string specified by
<parameter>domain</parameter> and uses <methodname>dgettext()</methodname>
for translating the <parameter>label</parameter> and
<parameter>tooltip</parameter> strings of the actions added by the <link
linkend="method-gtkactiongroup--add-actions"><methodname>add_actions</methodname>()</link>,
<link
linkend="method-gtkactiongroup--add-toggle-actions"><methodname>add_toggle_actions</methodname>()</link>
and <link
linkend="method-gtkactiongroup--add-radio-actions"><methodname>add_radio_actions</methodname>()</link>
methods.</para>

    </refsect2>

    <refsect2 id="method-gtkactiongroup--translate-string">
      <title>gtk.ActionGroup.translate_string</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>translate_string</methodname>
	  <methodparam><parameter role="keyword">string</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">string</parameter>&nbsp;:</term>
	  <listitem><simpara>the string to be translated</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the translation of
<parameter>string</parameter></simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.6 and above.</para>
      </note>

      <para>The <methodname>translate_string</methodname>() method
translates the string specified by <parameter>string</parameter> using the
specified <function>translate_func</function>(). This is mainly intended for
language bindings.</para>

    </refsect2>

  </refsect1>

  <refsect1>
    <title>Signals</title>

    <refsect2 id="signal-gtkactiongroup--connect-proxy">
      <title>The "connect-proxy" gtk.ActionGroup Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>actiongroup</parameter></methodparam>
	  <methodparam><parameter>action</parameter></methodparam>
	  <methodparam><parameter>proxy</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>actiongroup</parameter>&nbsp;:</term>
	  <listitem><simpara>the actiongroup that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>action</parameter>&nbsp;:</term>
	  <listitem><simpara>the action that is associated with
<parameter>proxy</parameter></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>proxy</parameter>&nbsp;:</term>
	  <listitem><simpara>the proxy widget associated with
<parameter>action</parameter></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This signal is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The "connect-proxy" signal is emitted when the widget specified
by <parameter>proxy</parameter> is connected to the <link
linkend="class-gtkaction"><classname>gtk.Action</classname></link> specified
by <parameter>action</parameter>.</para>

    </refsect2>

    <refsect2 id="signal-gtkactiongroup--disconnect-proxy">
      <title>The "disconnect-proxy" gtk.ActionGroup Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>actiongroup</parameter></methodparam>
	  <methodparam><parameter>action</parameter></methodparam>
	  <methodparam><parameter>proxy</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>actiongroup</parameter>&nbsp;:</term>
	  <listitem><simpara>the actiongroup that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>action</parameter>&nbsp;:</term>
	  <listitem><simpara>the action that is associated with
<parameter>proxy</parameter></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>proxy</parameter>&nbsp;:</term>
	  <listitem><simpara>the proxy widget associated with
<parameter>action</parameter></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This signal is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The "disconnect-proxy" signal is emitted when the widget
specified by <parameter>proxy</parameter> is disconnected from the <link
linkend="class-gtkaction"><classname>gtk.Action</classname></link> specified
by <parameter>action</parameter>.</para>

    </refsect2>

    <refsect2 id="signal-gtkactiongroup--post-activate">
      <title>The "post-activate" gtk.ActionGroup Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>actiongroup</parameter></methodparam>
	  <methodparam><parameter>action</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>actiongroup</parameter>&nbsp;:</term>
	  <listitem><simpara>the actiongroup that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>action</parameter>&nbsp;:</term>
	  <listitem><simpara>the action that is being
activated</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This signal is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The "post-activate" signal is emitted after the <link
linkend="class-gtkaction"><classname>gtk.Action</classname></link> specified
by <parameter>action</parameter> has been activated.</para>

    </refsect2>

    <refsect2 id="signal-gtkactiongroup--pre-activate">
      <title>The "pre-activate" gtk.ActionGroup Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>actiongroup</parameter></methodparam>
	  <methodparam><parameter>action</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>actiongroup</parameter>&nbsp;:</term>
	  <listitem><simpara>the actiongroup that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>action</parameter>&nbsp;:</term>
	  <listitem><simpara>the action that is being
activated</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This signal is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The "pre-activate" signal is emitted before the <link
linkend="class-gtkaction"><classname>gtk.Action</classname></link> specified
by <parameter>action</parameter> is activated.</para>

    </refsect2>

  </refsect1>

</refentry>
