<?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-gtkframe">
  <refnamediv>
    <refname>gtk.Frame</refname>
    <refpurpose>a bin with a decorative frame and optional
label.</refpurpose>
  </refnamediv>

  <refsect1>
    <title>Synopsis</title>

    <classsynopsis language="python">
      <ooclass><classname>gtk.Frame</classname></ooclass>
      <ooclass><classname><link
linkend="class-gtkbin">gtk.Bin</link></classname></ooclass>
      <constructorsynopsis language="python">
	<methodname><link
linkend="constructor-gtkframe">gtk.Frame</link></methodname>
	<methodparam><parameter
		       role="keyword">label</parameter><initializer>None</initializer></methodparam>
      </constructorsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtkframe--set-label">set_label</link></methodname>
	<methodparam><parameter
		       role="keyword">label</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtkframe--get-label">get_label</link></methodname>
	<methodparam></methodparam>  </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtkframe--set-label-widget">set_label_widget</link></methodname>
	<methodparam><parameter
		       role="keyword">label_widget</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtkframe--get-label-widget">get_label_widget</link></methodname>
	<methodparam></methodparam>  </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtkframe--set-label-align">set_label_align</link></methodname>
	<methodparam><parameter
		       role="keyword">xalign</parameter></methodparam>
	<methodparam><parameter
		       role="keyword">yalign</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtkframe--get-label-align">get_label_align</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtkframe--set-shadow-type">set_shadow_type</link></methodname>
	<methodparam><parameter
		       role="keyword">type</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtkframe--get-shadow-type">get_shadow_type</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-gtkframe">gtk.Frame</link>
</synopsis>

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


  <refsect1 id="properties-gtkframe">
    <title>gtk.Frame 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="4in"/>
	  <tbody>

	    <row valign="top">
	      <entry>"label"</entry>
	      <entry>Read-Write</entry>
	      <entry>The text of the frame's label</entry>
	    </row>

	    <row valign="top">
	      <entry>"label-widget"</entry>
	      <entry>Read-Write</entry>
	      <entry>The widget to display in place of the usual frame
label.</entry>
	    </row>

	    <row valign="top">
	      <entry>"label-xalign"</entry>
	      <entry>Read-Write</entry>
	      <entry>The horizontal alignment of the label widget in the
range of 0.0 to 1.0</entry>
	    </row>

	    <row valign="top">
	      <entry>"label-yalign"</entry>
	      <entry>Read-Write</entry>
	      <entry>The vertical alignment of the decoration within the
label widget height in the range of 0.0 to 1.0</entry>
	    </row>

	    <row valign="top">
	      <entry>"shadow-type"</entry>
	      <entry>Read-Write</entry>
	      <entry>The style of the frame's border; one of:
<literal>gtk.SHADOW_NONE</literal>, <literal>gtk.SHADOW_IN</literal>,
<literal>gtk.SHADOW_OUT</literal>, <literal>gtk.SHADOW_ETCHED_IN</literal>,
<literal>gtk.SHADOW_ETCHED_OUT</literal></entry>
	    </row>

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

  </refsect1>

  <refsect1 id="style-properties-gtkframe">
    <title>gtk.Frame Style Properties</title>

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

  </refsect1>

  <refsect1 id="signal-prototypes-gtkframe">
    <title>gtk.Frame 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>
  </refsect1>

  <refsect1>
    <title>Description</title>

    <para>The <link
linkend="class-gtkframe"><classname>gtk.Frame</classname></link> widget is a
<link linkend="class-gtkbin"><classname>gtk.Bin</classname></link> that
surrounds its child with a decorative frame and an optional label. If
present, the label is drawn in a gap in the top side of the frame. The
position of the label can be controlled with <link
linkend="method-gtkframe--set-label-align"><methodname>set_label_align</methodname>()</link>.</para>

  </refsect1>

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

    <programlisting><constructorsynopsis language="python">
	<methodname>gtk.Frame</methodname>
	<methodparam><parameter
		       role="keyword">label</parameter><initializer>None</initializer></methodparam>
      </constructorsynopsis></programlisting>
    <variablelist>
      <varlistentry>
	<term><parameter role="keyword">label</parameter>&nbsp;:</term>
	<listitem><simpara>a string to use as the label text or None if no
label is required.</simpara></listitem>
      </varlistentry>
      <varlistentry>
	<term><emphasis>Returns</emphasis>&nbsp;:</term>
	<listitem><simpara>a new frame widget</simpara></listitem>
      </varlistentry>
    </variablelist>

    <para>Creates a new <link
linkend="class-gtkframe"><classname>gtk.Frame</classname></link> widget with
the label text specified by <parameter>label</parameter>. If
<parameter>label</parameter> is <literal>None</literal> no label is
created.</para>

  </refsect1>

  <refsect1>
    <title>Methods</title>

    <refsect2 id="method-gtkframe--set-label">
      <title>gtk.Frame.set_label</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_label</methodname>
	  <methodparam><parameter
			 role="keyword">label</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">label</parameter>&nbsp;:</term>
	  <listitem><simpara>a string to be used as the label
text</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_label</methodname>() method sets the text of
the label as specified by <parameter>label</parameter>. If
<parameter>label</parameter> is <literal>None</literal> the current label is
removed.</para>

    </refsect2>

    <refsect2 id="method-gtkframe--get-label">
      <title>gtk.Frame.get_label</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_label</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the text in the label, or
<literal>None</literal> if there is no label widget or the label widget is
not a <link
linkend="class-gtklabel"><classname>gtk.Label</classname></link>.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_label</methodname>() method returns the text
in the label widget. If there is no label widget or the label widget is not
a <link linkend="class-gtklabel"><classname>gtk.Label</classname></link> the
method returns <literal>None</literal>.</para>

    </refsect2>

    <refsect2 id="method-gtkframe--set-label-widget">
      <title>gtk.Frame.set_label_widget</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_label_widget</methodname>
	  <methodparam><parameter
			 role="keyword">label_widget</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
role="keyword">label_widget</parameter>&nbsp;:</term>
	  <listitem><simpara>the new label widget</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_label_widget</methodname>() method set the
label widget (usually to something other than a <link
linkend="class-gtklabel"><classname>gtk.Label</classname></link> widget) for
the frame. This widget will appear embedded in the top edge of the frame as
a title.</para>

    </refsect2>

    <refsect2 id="method-gtkframe--get-label-widget">
      <title>gtk.Frame.get_label_widget</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_label_widget</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the label widget, or <literal>None</literal> if
there is no label widget.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_label_widget</methodname>() method retrieves
the label widget for the frame. See <link
linkend="method-gtkframe--set-label-widget"><methodname>set_label_widget</methodname>()</link>.</para>

    </refsect2>

    <refsect2 id="method-gtkframe--set-label-align">
      <title>gtk.Frame.set_label_align</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_label_align</methodname>
	  <methodparam><parameter
			 role="keyword">xalign</parameter></methodparam>
	  <methodparam><parameter
			 role="keyword">yalign</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">xalign</parameter>&nbsp;:</term>
	  <listitem><simpara>the horizontal alignment of the label widget
along the top edge of the frame (in the range of 0.0 to
1.0)</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">yalign</parameter>&nbsp;:</term>
	  <listitem><simpara>the vertical alignment of the decoration with
respect to the label widget (in the range 0.0 to 1.0)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_label_align</methodname>() method sets the
alignment of the frame's label widget and decoration (defaults are 0.0 and
0.5) as specified by <parameter>xalign</parameter> and
<parameter>yalign</parameter>. The <parameter>xalign</parameter> value
specifies the fraction of free horizontal space that is allocated to the
left of the label widget. The <parameter>yalign</parameter> value specifies
the fraction of label widget height above the decoration.</para>

    </refsect2>

    <refsect2 id="method-gtkframe--get-label-align">
      <title>gtk.Frame.get_label_align</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_label_align</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a tuple containing the x and y alignments of
the frame's label widget</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_label_align</methodname>() method returns a
tuple containing the X and Y alignment of the frame's label widget and
decoration. See the <link
linkend="method-gtkframe--set-label-align"><methodname>set_label_align</methodname>()</link> 
method.</para>

    </refsect2>

    <refsect2 id="method-gtkframe--set-shadow-type">
      <title>gtk.Frame.set_shadow_type</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_shadow_type</methodname>
	  <methodparam><parameter
			 role="keyword">type</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">type</parameter>&nbsp;:</term>
	  <listitem><simpara>a shadow type:
<literal>gtk.SHADOW_NONE</literal>, <literal>gtk.SHADOW_IN</literal>,
<literal>gtk.SHADOW_OUT</literal>, <literal>gtk.SHADOW_ETCHED_IN</literal>,
<literal>gtk.SHADOW_ETCHED_OUT</literal></simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_shadow_type</methodname>() method sets the
frame's shadow type to the value of <parameter>type</parameter>. The type
must be one of: <literal>gtk.SHADOW_NONE</literal>,
<literal>gtk.SHADOW_IN</literal>, <literal>gtk.SHADOW_OUT</literal>,
<literal>gtk.SHADOW_ETCHED_IN</literal>,
<literal>gtk.SHADOW_ETCHED_OUT</literal></para>

    </refsect2>

    <refsect2 id="method-gtkframe--get-shadow-type">
      <title>gtk.Frame.get_shadow_type</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_shadow_type</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the current shadow type of the
frame.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The get_shadow_type() method retrieves the shadow type of the
frame; one of: <literal>gtk.SHADOW_NONE</literal>,
<literal>gtk.SHADOW_IN</literal>, <literal>gtk.SHADOW_OUT</literal>,
<literal>gtk.SHADOW_ETCHED_IN</literal>,
<literal>gtk.SHADOW_ETCHED_OUT</literal>. See <link
linkend="method-gtkframe--set-shadow-type"><methodname>set_shadow_type</methodname>()</link>.</para>

    </refsect2>

  </refsect1>

</refentry>
