<?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-gtkfontbutton">
  <refnamediv>
    <refname>gtk.FontButton</refname> <refpurpose>a button to launch a font
    selection dialog (new in PyGTK 2.4)</refpurpose>
  </refnamediv>

  <refsect1>
    <title>Synopsis</title>

    <classsynopsis language="python">
      <ooclass><classname>gtk.FontButton</classname></ooclass>
      <ooclass><classname><link linkend="class-gtkbutton">gtk.Button</link></classname></ooclass>
      <constructorsynopsis language="python">
	<methodname><link linkend="constructor-gtkfontbutton">gtk.FontButton</link></methodname>
	<methodparam><parameter role="keyword">fontname</parameter><initializer>None</initializer></methodparam>
      </constructorsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkfontbutton--get-title">get_title</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkfontbutton--set-title">set_title</link></methodname>
	<methodparam><parameter role="keyword">title</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkfontbutton--get-use-font">get_use_font</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkfontbutton--set-use-font">set_use_font</link></methodname>
	<methodparam><parameter role="keyword">use_font</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkfontbutton--get-use-size">get_use_size</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkfontbutton--set-use-size">set_use_size</link></methodname>
	<methodparam><parameter role="keyword">use_size</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkfontbutton--get-font-name">get_font_name</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkfontbutton--set-font-name">set_font_name</link></methodname>
	<methodparam><parameter role="keyword">fontname</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkfontbutton--get-show-style">get_show_style</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkfontbutton--set-show-style">set_show_style</link></methodname>
	<methodparam><parameter role="keyword">show_style</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkfontbutton--get-show-size">get_show_size</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gtkfontbutton--set-show-size">set_show_size</link></methodname>
	<methodparam><parameter role="keyword">show_size</parameter></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-gtkbutton">gtk.Button</link>
            +-- <link linkend="class-gtkfontbutton">gtk.FontButton</link>
</synopsis>

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


  <refsect1 id="properties-gtkfontbutton">
    <title>gtk.FontButton 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>
    <para><link linkend="properties-gtkbutton">gtk.Button 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>"font-name"</entry>
	      <entry>Read-Write</entry>
	      <entry>The name of the currently selected font.</entry>
	    </row>

	    <row valign="top">
	      <entry>"show-size"</entry>
	      <entry>Read-Write</entry>
	      <entry>If <literal>True</literal>, the selected font size will
	      be shown in the label. For a more WYSIWIG way to show the
	      selected size, see the "use-size" property.</entry>
	    </row>

	    <row valign="top">
	      <entry>"show-style"</entry>
	      <entry>Read-Write</entry>
	      <entry>If <literal>True</literal>, the name of the selected
	      font style will be shown in the label. For a more WYSIWIG way
	      to show the selected style, see the "use-font"
	      property.</entry>
	    </row>

	    <row valign="top">
	      <entry>"title"</entry>
	      <entry>Read-Write</entry>
	      <entry>The title of the font selection dialog.</entry>
	    </row>

	    <row valign="top">
	      <entry>"use-font"</entry>
	      <entry>Read-Write</entry>
	      <entry>If <literal>True</literal>, the label will be drawn in
	      the selected font</entry>
	    </row>

	    <row valign="top">
	      <entry>"use-size"</entry>
	      <entry>Read-Write</entry>
	      <entry>If <literal>True</literal>, the label will be drawn
	      with the selected font size.</entry>
	    </row>

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

  </refsect1>

  <refsect1 id="style-properties-gtkfontbutton">
    <title>gtk.FontButton Style Properties</title>

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

  </refsect1>

  <refsect1 id="signal-prototypes-gtkfontbutton">
    <title>gtk.FontButton 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-gtkbutton">gtk.Button Signal Prototypes</link></para>

    <variablelist>
      <varlistentry>
        <term>"<link linkend="signal-gtkfontbutton--font-set">font-set</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>fontbutton</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
    </variablelist>

  </refsect1>

  <refsect1>
    <title>Description</title>

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

    <para>The <link
linkend="class-gtkfontbutton"><classname>gtk.FontButton</classname></link>
is a button that displays the currently selected font and, when clicked,
opens a <link
linkend="class-gtkfontselectiondialog"><classname>gtk.FontSelectionDialog</classname></link>
to change the font. A <link
linkend="class-gtkfontbutton"><classname>gtk.FontButton</classname></link>
can be used in a preference dialog for selecting a font.</para>

  </refsect1>

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

    <programlisting><constructorsynopsis language="python">
	<methodname>gtk.FontButton</methodname>
	<methodparam><parameter role="keyword">fontname</parameter><initializer>None</initializer></methodparam>
      </constructorsynopsis></programlisting>
    <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">fontname</parameter>&nbsp;:</term>
	  <listitem><simpara>the name of the font to display in the font
selection dialog</simpara></listitem>
	</varlistentry>
      <varlistentry>
	<term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara>a new font button widget</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-gtkfontbutton"><classname>gtk.FontButton</classname></link>
that displays the font specified by <parameter>fontname</parameter> or the
currently selected font if <parameter>fontname</parameter> is
<literal>None</literal> or not specified.</para>

  </refsect1>

  <refsect1>
    <title>Methods</title>

    <refsect2 id="method-gtkfontbutton--get-title">
      <title>gtk.FontButton.get_title</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_title</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the title string</simpara></listitem>
	</varlistentry>
      </variablelist>

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

      <para>The <methodname>get_title</methodname>() method returns the
value of the "title" property that contains the title of the font selection
dialog.</para>

    </refsect2>

    <refsect2 id="method-gtkfontbutton--set-title">
      <title>gtk.FontButton.set_title</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_title</methodname>
	  <methodparam><parameter role="keyword">title</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">title</parameter>&nbsp;:</term>
	  <listitem><simpara>a string containing the font selection dialog
title</simpara></listitem>
	</varlistentry>
      </variablelist>

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

      <para>The <methodname>set_title</methodname>() method sets the "title"
property to the string specified by <parameter>title</parameter> and sets
the title of the <link
linkend="class-gtkfontselectiondialog"><classname>gtk.FontSelectionDialog</classname></link>
if it exists. The "title" property contains the title of the font
selection dialog.</para>

    </refsect2>

    <refsect2 id="method-gtkfontbutton--get-use-font">
      <title>gtk.FontButton.get_use_font</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_use_font</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal>, if the font button
label is written using the selected font.</simpara></listitem>
	</varlistentry>
      </variablelist>

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

      <para>The <methodname>get_use_font</methodname>() method returns the
value of the "use-font" property. If "use-font" is <literal>True</literal>
the selected font is used in the label.</para>

    </refsect2>

    <refsect2 id="method-gtkfontbutton--set-use-font">
      <title>gtk.FontButton.set_use_font</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_use_font</methodname>
	  <methodparam><parameter role="keyword">use_font</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">use_font</parameter>&nbsp;:</term>
	  <listitem><simpara>If <literal>True</literal>, the font button label
will be written using the font selected.</simpara></listitem>
	</varlistentry>
      </variablelist>

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

      <para>The <methodname>set_use_font</methodname>() method sets the
"use-font" property to the value specified by
<parameter>use_font</parameter>. If <parameter>use_font</parameter> is
<literal>True</literal>, the font button label will be written using the
selected font.</para>

    </refsect2>

    <refsect2 id="method-gtkfontbutton--get-use-size">
      <title>gtk.FontButton.get_use_size</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_use_size</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the font button label
is written using the selected size.</simpara></listitem>
	</varlistentry>
      </variablelist>

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

      <para>The <methodname>get_use_size</methodname>() method returns the
value of the "use-size" property. If the value of "use-size" is
<literal>True</literal>, the font button label is written using the selected
font size.</para>

    </refsect2>

    <refsect2 id="method-gtkfontbutton--set-use-size">
      <title>gtk.FontButton.set_use_size</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_use_size</methodname>
	  <methodparam><parameter role="keyword">use_size</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">use_size</parameter>&nbsp;:</term>
	  <listitem><simpara>If <literal>True</literal>, the font button label
will be written using the selected size.</simpara></listitem>
	</varlistentry>
      </variablelist>

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

      <para>The <methodname>set_use_size</methodname>() method sets the
"use-size" property to the value of <literal>use_size</literal>. If
<parameter>use_size</parameter> is <literal>True</literal>, the font button
label will be written using the selected size.</para>

    </refsect2>

    <refsect2 id="method-gtkfontbutton--get-font-name">
      <title>gtk.FontButton.get_font_name</title>

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

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

      <para>The <methodname>get_font_name</methodname>() method returns the
value of the "font-name" property that contains the name of the currently
selected font.</para>

    </refsect2>

    <refsect2 id="method-gtkfontbutton--set-font-name">
      <title>gtk.FontButton.set_font_name</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_font_name</methodname>
	  <methodparam><parameter role="keyword">fontname</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">fontname</parameter>&nbsp;:</term>
	  <listitem><simpara>the name of the font to display in the font
selection dialog</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the font selection
dialog exists and the font name could be set</simpara></listitem>
	</varlistentry>
      </variablelist>

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

      <para>The <methodname>set_font_name</methodname>() method sets the
"font-name" property to the value of <parameter>fontname</parameter> and
updates the currently-displayed font in the font selection dialog. Returns
<literal>True</literal> if the font selection dialog exists and
<parameter>fontname</parameter> could be set as its font.</para>

    </refsect2>

    <refsect2 id="method-gtkfontbutton--get-show-style">
      <title>gtk.FontButton.get_show_style</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_show_style</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the font style will
be shown in the label.</simpara></listitem>
	</varlistentry>
      </variablelist>

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

      <para>The <methodname>get_show_style</methodname>() method returns the
value of the "show-style" property. If "show-style" is
<literal>True</literal>, the name of the font style will be shown in the
font button label.</para>

    </refsect2>

    <refsect2 id="method-gtkfontbutton--set-show-style">
      <title>gtk.FontButton.set_show_style</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_show_style</methodname>
	  <methodparam><parameter role="keyword">show_style</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">show_style</parameter>&nbsp;:</term>
	  <listitem><simpara>if <literal>True</literal>, the font style
should be displayed in the font button label.</simpara></listitem>
	</varlistentry>
      </variablelist>

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

      <para>The <methodname>set_show_style</methodname>() method sets the
"show-style" property tot he value of <parameter>show_style</parameter>. If
<parameter>show_style</parameter> is <literal>True</literal>, the font style
will be displayed along with name of the selected font in the font button
label.</para>

    </refsect2>

    <refsect2 id="method-gtkfontbutton--get-show-size">
      <title>gtk.FontButton.get_show_size</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_show_size</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the font size will
be shown in the font button label.</simpara></listitem>
	</varlistentry>
      </variablelist>

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

      <para>The <methodname>get_show_size</methodname>() method returns the
value of the "show-size" property. If "show-size" is
<literal>True</literal>, the font size will be shown in the font button
label.</para>

    </refsect2>

    <refsect2 id="method-gtkfontbutton--set-show-size">
      <title>gtk.FontButton.set_show_size</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_show_size</methodname>
	  <methodparam><parameter role="keyword">show_size</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">show_size</parameter>&nbsp;:</term>
	  <listitem><simpara>if <literal>True</literal>, the font size should
be displayed in the font button label.</simpara></listitem>
	</varlistentry>
      </variablelist>

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

      <para>The <methodname>set_show_size</methodname>() method sets the
"show-size" property to to the value of <parameter>show_size</parameter>. If
<parameter>show_size</parameter> is <literal>True</literal>, the font size
will be displayed along with the name of the selected font in the font
button label.</para>

    </refsect2>

  </refsect1>

  <refsect1>
    <title>Signals</title>

    <refsect2 id="signal-gtkfontbutton--font-set">
      <title>The "font-set" gtk.FontButton Signal</title>

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

      <variablelist>
	<varlistentry>
	  <term><parameter>fontbutton</parameter>&nbsp;:</term>
	  <listitem><simpara>the fontbutton 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 "font-set" signal is emitted when the user selects a
font. When handling this signal, use the <link
linkend="method-gtkfontbutton--get-font-name"><methodname>get_font_name</methodname>()</link>
method to find out what font was just selected.</para>

    </refsect2>

  </refsect1>

</refentry>
