<?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-gtkcheckmenuitem">
  <refnamediv>
    <refname>gtk.CheckMenuItem</refname>
    <refpurpose>a menu item with a check box.</refpurpose>
  </refnamediv>

  <refsect1>
    <title>Synopsis</title>

    <classsynopsis language="python">
      <ooclass><classname>gtk.CheckMenuItem</classname></ooclass>
      <ooclass><classname><link
linkend="class-gtkmenuitem">gtk.MenuItem</link></classname></ooclass>
      <constructorsynopsis language="python">
	<methodname><link
linkend="constructor-gtkcheckmenuitem">gtk.CheckMenuItem</link></methodname>
	<methodparam><parameter
		       role="keyword">label</parameter>
	  <initializer>None</initializer></methodparam> 
	<methodparam><parameter role="keyword">use_underline</parameter>
	  <initializer>True</initializer></methodparam>
      </constructorsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtkcheckmenuitem--set-active">set_active</link></methodname>
	<methodparam><parameter
		       role="keyword">is_active</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtkcheckmenuitem--get-active">get_active</link></methodname>
	<methodparam></methodparam>  </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtkcheckmenuitem--toggled">toggled</link></methodname>
	<methodparam></methodparam>  </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtkcheckmenuitem--set-inconsistent">set_inconsistent</link></methodname>
	<methodparam><parameter
		       role="keyword">setting</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtkcheckmenuitem--get-inconsistent">get_inconsistent</link></methodname>
	<methodparam></methodparam>  </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtkcheckmenuitem--set-draw-as-radio">set_draw_as_radio</link></methodname>
	<methodparam><parameter
		       role="keyword">draw_as_radio</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtkcheckmenuitem--get-draw-as-radio">get_draw_as_radio</link></methodname>
	<methodparam></methodparam>  </methodsynopsis>
    </classsynopsis>

  </refsect1>
  <refsect1>
    <title>Ancestry</title>

<synopsis>+-- <link linkend="class-gobject">gobject.GObject</link>
  +-- <link linkend="class-gtkobject">gtk.Object</link>
    +-- <link linkend="class-gtkwidget">gtk.Widget</link>
      +-- <link linkend="class-gtkcontainer">gtk.Container</link>
        +-- <link linkend="class-gtkbin">gtk.Bin</link>
          +-- <link linkend="class-gtkitem">gtk.Item</link>
            +-- <link linkend="class-gtkmenuitem">gtk.MenuItem</link>
              +-- <link linkend="class-gtkcheckmenuitem">gtk.CheckMenuItem</link>
</synopsis>

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


  <refsect1 id="properties-gtkcheckmenuitem">
    <title>gtk.CheckMenuItem Properties</title>

    <para><link linkend="properties-gtkobject">gtk.Object Properties</link></para>
    <para><link linkend="properties-gtkwidget">gtk.Widget Properties</link></para>
    <para><link linkend="properties-gtkcontainer">gtk.Container Properties</link></para>

    <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="3.5in"/>
	  <tbody>

	    <row valign="top">
	      <entry>"active"</entry>
	      <entry>Read/Write</entry>
	<entry>If <literal>True</literal>, the menu item is checked.</entry>
	  </row>

	<row valign="top">
	  <entry>"inconsistent"</entry>
	  <entry>Read/Write</entry>
	  <entry>If <literal>True</literal>, display an "inconsistent"
state.</entry>
	</row>

	<row valign="top">
	  <entry>"draw-as-radio"</entry>
	  <entry>Read/Write</entry>
	  <entry>If <literal>True</literal>, display like a radio menu item.
GTK+ 2.4 and above.</entry>
	</row>

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

  </refsect1>

  <refsect1 id="style-properties-gtkcheckmenuitem">
    <title>gtk.CheckMenuItem Style Properties</title>

    <para><link linkend="style-properties-gtkwidget">gtk.Widget Style Properties</link></para>
    <para><link linkend="style-properties-gtkmenuitem">gtk.MenuItem Style Properties</link></para>

    <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>"indicator-size"</entry>
	      <entry>Read</entry>
	      <entry>The size of the check or radio indicator.</entry>
	    </row>

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

  </refsect1>

  <refsect1>
    <title>Attributes</title>

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

	    <row valign="top">
	      <entry>"active"</entry>
	      <entry>Read</entry>
	      <entry>If <literal>True</literal>, the menu item is
checked.</entry>
	    </row>

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

  </refsect1>

  <refsect1 id="signal-prototypes-gtkcheckmenuitem">
    <title>gtk.CheckMenuItem Signal Prototypes</title>

    <para><link linkend="signal-prototypes-gobject">gobject.GObject Signal Prototypes</link></para>
    <para><link linkend="signal-prototypes-gtkobject">gtk.Object Signal Prototypes</link></para>
    <para><link linkend="signal-prototypes-gtkwidget">gtk.Widget Signal Prototypes</link></para>
    <para><link linkend="signal-prototypes-gtkcontainer">gtk.Container Signal Prototypes</link></para>
    <para><link linkend="signal-prototypes-gtkitem">gtk.Item Signal Prototypes</link></para>
    <para><link linkend="signal-prototypes-gtkmenuitem">gtk.MenuItem Signal Prototypes</link></para>

    <variablelist>
      <varlistentry>
        <term>"<link
linkend="signal-gtkcheckmenuitem--toggled">toggled</link>"</term>
        <listitem>
          <methodsynopsis
	    language="python"><methodname>callback</methodname>
            <methodparam><parameter>checkmenuitem</parameter>
            </methodparam>
            <methodparam><parameter>user_param1</parameter>
            </methodparam>
            <methodparam><parameter>...</parameter>
            </methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
    </variablelist>

  </refsect1>

  <refsect1>
    <title>Description</title>

    <para>A <link
linkend="class-gtkcheckmenuitem"><classname>gtk.CheckMenuItem</classname></link> 
is a menu item that maintains the state of a boolean value in addition to a
<link
linkend="class-gtkmenuitem"><classname>gtk.MenuItem</classname></link>'s
usual role in activating application code. A check box indicating the state
of the boolean value is displayed at the left side of the <link
linkend="class-gtkmenuitem"><classname>gtk.MenuItem</classname></link>.
Activating the <link
linkend="class-gtkmenuitem"><classname>gtk.MenuItem</classname></link>
toggles the value.</para>

  </refsect1>

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

    <programlisting><constructorsynopsis language="python">
	<methodname>gtk.CheckMenuItem</methodname>
	<methodparam><parameter
		       role="keyword">label</parameter><initializer>None</initializer></methodparam> 
	<methodparam><parameter role="keyword">use_underline</parameter>
	  <initializer>True</initializer></methodparam>
      </constructorsynopsis></programlisting>
    <variablelist>
      <varlistentry>
	<term><parameter role="keyword">label</parameter>&nbsp;:</term>
	<listitem><simpara>a string to be used as the label text or
<literal>None</literal></simpara></listitem>
      </varlistentry>
      <varlistentry>
	<term><parameter role="keyword">use_underline</parameter>&nbsp;:</term>
	<listitem><simpara>if <literal>True</literal>, an underscore in the
label text indicates the next character should be underlined and used for the
mnemonic accelerator key if it is the first character so
marked. Available in PyGTK 2.4 and above.</simpara></listitem>
      </varlistentry>
      <varlistentry>
	<term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara>a new checkmenuitem</simpara></listitem>
      </varlistentry>
    </variablelist>

    <para>Creates a new checkmenuitem with a text label specified by
<parameter>label</parameter>. If <parameter>label</parameter> is
<literal>None</literal> or not specified then no label is created. If
<parameter>label</parameter> contains underscore characters then the
character following the underscore will be underlined and the character
following the first underscore will be used as the mnemonic keyboard
accelerator.</para>

    <para>In PyGTK 2.4 and above the <parameter>use_underline</parameter>
parameter is available and defaults to <literal>True</literal>. If
<parameter>use_underline</parameter> is set to <literal>False</literal> the
label text will not be parsed for mnemonic characters.</para>

  </refsect1>

  <refsect1>
    <title>Methods</title>

    <refsect2 id="method-gtkcheckmenuitem--set-active">
      <title>gtk.CheckMenuItem.set_active</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_active</methodname>
	  <methodparam><parameter
			 role="keyword">is_active</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">is_active</parameter>&nbsp;:</term>
	  <listitem><simpara>If True set the check box
active</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_active</methodname>() method sets the active
state of the menu item's check box according to the value of
<parameter>is_active</parameter>.</para>

    </refsect2>

    <refsect2 id="method-gtkcheckmenuitem--get-active">
      <title>gtk.CheckMenuItem.get_active</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_active</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the menu item is
checked (check box is active).</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_active</methodname>() method returns whether
the check menu item is active. See <link
linkend="method-gtkcheckmenuitem--set-active"><function>gtk.CheckMenuItem.set_active()</function></link>.</para>

    </refsect2>

    <refsect2 id="method-gtkcheckmenuitem--toggled">
      <title>gtk.CheckMenuItem.toggled</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>toggled</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>

      <para>The toggle() method emits the "toggled" signal on the
checkmenuitem</para>

    </refsect2>

    <refsect2 id="method-gtkcheckmenuitem--set-inconsistent">
      <title>gtk.CheckMenuItem.set_inconsistent</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_inconsistent</methodname>
	  <methodparam><parameter
			 role="keyword">setting</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">setting</parameter>&nbsp;:</term>
	  <listitem><simpara>If <literal>True</literal> display an
"inconsistent" third state check</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_inconsistent</methodname>() method sets the
check box to display an "inconsistent" state if the value of
<parameter>setting</parameter> is <literal>True</literal>. The
"inconsistent" state display is removed if <parameter>setting</parameter> is
<literal>False</literal>.</para>

      <para>An application may want to display an "inconsistent" state if
the user has selected a range of elements (such as some text or spreadsheet
cells) that are affected by a boolean setting, and the current values for
those elements cannot be represented by a single checkmenuitem state. The
<methodname>set_inconsistent</methodname>() method only affects visual
appearance, it doesn't affect the semantics of the widget.</para>

    </refsect2>

    <refsect2 id="method-gtkcheckmenuitem--get-inconsistent">
      <title>gtk.CheckMenuItem.get_inconsistent</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_inconsistent</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the checkmenuitem
displays the "inconsistent" state</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_inconsistent</methodname>() method retrieves
the value set by the <link
linkend="method-gtkcheckmenuitem--set-inconsistent"><methodname>set_inconsistent()</methodname></link> 
method.</para>

    </refsect2>

    <refsect2 id="method-gtkcheckmenuitem--set-draw-as-radio">
      <title>gtk.CheckMenuItem.set_draw_as_radio</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_draw_as_radio</methodname>
	  <methodparam><parameter
			 role="keyword">draw_as_radio</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
	  role="keyword">draw_as_radio</parameter>&nbsp;:</term>
	  <listitem><simpara>If <literal>True</literal> display the check
	  menu item like a radio menu item</simpara></listitem>
	</varlistentry>
      </variablelist>

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

      <para>The <methodname>set_draw_as_radio</methodname>() method displays
the check menu item like a radio menu item if the value of
<parameter>draw_as_radio</parameter> is <literal>True</literal>. If
<parameter>draw_as_radio</parameter> is <literal>False</literal> the check
menu item is displayed as normal.</para>

    </refsect2>

    <refsect2 id="method-gtkcheckmenuitem--get-draw-as-radio">
      <title>gtk.CheckMenuItem.get_draw_as_radio</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_draw_as_radio</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the checkmenuitem
	  should be displayed like a radio menu item.</simpara></listitem>
	</varlistentry>
      </variablelist>

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

      <para>The <methodname>get_draw_as_radio</methodname>() method
retrieves the value set by the <link
linkend="method-gtkcheckmenuitem--set-draw-as-radio"><methodname>set_draw_as_radio()</methodname></link>
method.</para>

    </refsect2>

  </refsect1>

  <refsect1>
    <title>Signals</title>

    <refsect2 id="signal-gtkcheckmenuitem--toggled">
      <title>The "toggled" gtk.CheckMenuItem Signal</title>

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

      <variablelist>
	<varlistentry>
	  <term><parameter>checkmenuitem</parameter>&nbsp;:</term>
	  <listitem><simpara>the checkmenuitem that received the
signal</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>

      <para>The "toggled" signal is emitted when the checkmenuitem changes
state.</para>

    </refsect2>

  </refsect1>

</refentry>
