<?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-gtklinkbutton">

  <refnamediv>
    <refname>gtk.LinkButton</refname>
      <refpurpose>a button bound to a URL (new in PyGTK 2.10)</refpurpose>
  </refnamediv>

  <refsect1>
    <title>Synopsis</title>

    <classsynopsis language="python">
      <ooclass><classname>gtk.LinkButton</classname></ooclass>
      <ooclass><classname><link linkend="class-gtkbutton">gtk.Button</link></classname></ooclass>
      <constructorsynopsis language="python">
        <methodname><link linkend="constructor-gtklinkbutton">gtk.LinkButton</link></methodname>
        <methodparam><parameter role="keyword">uri</parameter></methodparam>
        <methodparam><parameter role="keyword">label</parameter><initializer>None</initializer></methodparam>
      </constructorsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtklinkbutton--get-uri">get_uri</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtklinkbutton--get-visited">get_visited</link></methodname>
        <methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtklinkbutton--set-uri">set_uri</link></methodname>
        <methodparam><parameter role="keyword">uri</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
        <methodname><link linkend="method-gtklinkbutton--set-visited">set_visited</link></methodname>
        <methodparam><parameter role="keyword">visited</parameter></methodparam>
      </methodsynopsis>
    </classsynopsis>


<programlisting>
<emphasis role="bold">Functions</emphasis>

<methodsynopsis language="python">
  <methodname><link linkend="function-gtk--link-button-set-uri-hook">gtk.link_button_set_uri_hook</link></methodname>
  <methodparam><parameter role="keyword">func</parameter></methodparam>
  <methodparam><parameter role="keyword">data</parameter><initializer>None</initializer></methodparam>
    </methodsynopsis></programlisting>

  </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-gtklinkbutton">gtk.LinkButton</link>
</synopsis>

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

  <refsect1 id="properties-gtklinkbutton">
    <title>gtk.LinkButton 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>"uri"</entry>
	      <entry>Read-Write</entry>
	      <entry>The URI bound to this button. Available in GTK+
	      2.10.</entry>
	    </row>
	    
	    <row valign="top">
	      <entry>"visited"</entry>
	      <entry>Read-Write</entry>
	      <entry>The 'visited' state of this button. A visited link is drawn
	      in a different color. Default value: <literal>False</literal>.
	      Available in GTK+ 2.14.</entry>
	    </row>

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

  </refsect1>

  <refsect1 id="style-properties-gtklinkbutton">
    <title>gtk.LinkButton 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-gtklinkbutton">
    <title>gtk.LinkButton 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>
  </refsect1>

  <refsect1>
    <title>Description</title>

    <note>
      <para>The <link
      linkend="class-gtklinkbutton"><classname>gtk.LinkButton</classname></link>
      is available in PyGTK 2.10 and above.</para>
    </note>

    <para>A <link
    linkend="class-gtklinkbutton"><classname>gtk.LinkButton</classname></link>
    is a <link
    linkend="class-gtkbutton"><classname>gtk.Button</classname></link> with
    a hyperlink, similar to the one used by web browsers, that triggers an
    action when clicked. It is useful to show quick links to
    resources.</para>

    <para>A link button is created by calling the <link
    linkend="constructor-gtklinkbutton">gtk.LinkButton</link>
    constructor. The URI you pass to the constructor is used as a label for
    the widget.</para>

    <para>The URI bound to a <link
    linkend="class-gtklinkbutton"><classname>gtk.LinkButton</classname></link>
    can be set specifically using the <link
    linkend="method-gtklinkbutton--set-uri"><methodname>set_uri</methodname>()</link>)
    method, and retrieved using the <link
    linkend="method-gtklinkbutton--get-uri"><methodname>get_uri</methodname>()</link>
    method.</para>

    <para><link
    linkend="class-gtklinkbutton"><classname>gtk.LinkButton</classname></link>
    offers a global hook, which is called when the used clicks on it: see
    the <link
    linkend="function-gtk--link-button-set-uri-hook"><function>gtk.link_button_set_uri_hook</function>()</link>
    function.</para>

  </refsect1>

  <refsect1>
    <title>Constructor</title>

    <refsect2 id="constructor-gtklinkbutton">
      <title>gtk.LinkButton</title>

      <programlisting><constructorsynopsis language="python">
        <methodname>gtk.LinkButton</methodname>
        <methodparam><parameter role="keyword">uri</parameter></methodparam>
        <methodparam><parameter role="keyword">label</parameter><initializer>None</initializer></methodparam>
      </constructorsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">uri</parameter>&nbsp;:</term>
          <listitem><simpara>a valid URI</simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><parameter role="keyword">label</parameter>&nbsp;:</term>
          <listitem><simpara>the text of the button or
          <literal>None</literal></simpara></listitem>
        </varlistentry>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>a new link button widget.</simpara></listitem>
        </varlistentry>
      </variablelist>

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

      <para>Creates a new <link
      linkend="class-gtklinkbutton"><classname>gtk.LinkButton</classname></link>
      with the URI specified by <parameter>uri</parameter> as its text if
      <parameter>label</parameter> is <literal>None</literal>. If
      <parameter>label</parameter> is not <literal>None</literal>, it is
      used as the text of the button.</para>

    </refsect2>

  </refsect1>

  <refsect1>
    <title>Methods</title>

    <refsect2 id="method-gtklinkbutton--get-uri">
      <title>gtk.LinkButton.get_uri</title>

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

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara>the associated URI.</simpara></listitem>
        </varlistentry>
      </variablelist>

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

      <para>The <methodname>get_uri</methodname>() method returns the URI
      set using the <link
      linkend="method-gtklinkbutton--set-uri"><methodname>gtk.LinkButton.set_uri()</methodname></link>
      method or the <link
      linkend="constructor-gtklinkbutton">gtk.LinkButton</link>()
      constructor.</para>

    </refsect2>
  
    <refsect2 id="method-gtklinkbutton--get-visited">
      <title>gtk.LinkButton.get_visited</title>

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

      <variablelist>
        <varlistentry>
          <term><emphasis>Returns</emphasis>&nbsp;:</term>
          <listitem><simpara><literal>True</literal> if the link has been visited,
	  <literal>False</literal> otherwise </simpara></listitem>
        </varlistentry>
      </variablelist>

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

      <para>
	The <methodname>get_visited</methodname>() method retrieves the 'visited'
	state of the URI where the GtkLinkButton points. The button becomes visited
	when it is clicked. If the URI is changed on the button, the 'visited'
	state is unset again. 
      </para>

    </refsect2>

    <refsect2 id="method-gtklinkbutton--set-uri">
      <title>gtk.LinkButton.set_uri</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_uri</methodname>
        <methodparam><parameter role="keyword">uri</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">uri</parameter>&nbsp;:</term>
          <listitem><simpara>a valid URI</simpara></listitem>
        </varlistentry>
      </variablelist>

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

      <para>The <methodname>set_uri</methodname>() method sets the string
      specified by <parameter>uri</parameter> as the URI the <link
      linkend="class-gtklinkbutton"><classname>gtk.LinkButton</classname></link>
      points to.</para>

    </refsect2>

    <refsect2 id="method-gtklinkbutton--set-visited">
      <title>gtk.LinkButton.set_visited</title>

      <programlisting><methodsynopsis language="python">
        <methodname>set_visited</methodname>
        <methodparam><parameter role="keyword">visited</parameter></methodparam>
      </methodsynopsis></programlisting>

      <variablelist>
        <varlistentry>
          <term><parameter role="keyword">visited</parameter>&nbsp;:</term>
          <listitem><simpara>the new 'visited' state.</simpara></listitem>
        </varlistentry>
      </variablelist>

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

      <para>
	The <methodname>set_visited</methodname>() method setsthe 'visited' state
	of the URI where the
	<link linkend="class-gtklinkbutton"><classname>gtk.LinkButton</classname></link>
	points. See
	<methodname><link linkend="method-gtklinkbutton--get-visited">gtk.LinkButton.get_visited</link></methodname>()
	for more details.
      </para>

    </refsect2>

  </refsect1>

  <refsect1>
    <title>Functions</title>

    <refsect2 id="function-gtk--link-button-set-uri-hook">
      <title>gtk.link_button_set_uri_hook</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>gtk.link_button_set_uri_hook</methodname>
	  <methodparam><parameter
			 role="keyword">func</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">data</parameter><initializer>None</initializer></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">func</parameter>&nbsp;:</term>
	  <listitem><simpara>a function called each time a <link
	  linkend="class-gtklinkbutton"><classname>gtk.LinkButton</classname></link>
	  is clicked, or <literal>None</literal></simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">data</parameter>&nbsp;:</term>
	  <listitem><simpara>user data to be passed to
	  <parameter>func</parameter></simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
        <para>This function is available in PyGTK 2.10 and above.</para>
      </note>

      <para>The <function>gtk.link_button_set_uri_hook</function>() function
      sets <parameter>func</parameter> as the function that should be
      invoked every time a user clicks a <link
      linkend="class-gtklinkbutton"><classname>gtk.LinkButton</classname></link>.
      This function is called before every callback registered for the
      "clicked" signal. If <parameter>func</parameter> is
      <literal>None</literal> the current callback function will be
      removed.</para>

    </refsect2>

  </refsect1>

</refentry>
