<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
]>
<!--ENTITY index-Objects-Grouped SYSTEM "objects_grouped.sgml"-->
<refentry id="GtkBin">
<refmeta>
<refentrytitle role="top_of_page" id="GtkBin.top_of_page">GtkBin</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>GtkBin</refname>
<refpurpose>A container with just one child</refpurpose>
</refnamediv>

<refsynopsisdiv id="GtkBin.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>

#include &lt;gtk/gtk.h&gt;

                    <link linkend="GtkBin-struct">GtkBin</link>;
<link linkend="GtkWidget">GtkWidget</link> *         <link linkend="gtk-bin-get-child">gtk_bin_get_child</link>                   (<link linkend="GtkBin">GtkBin</link> *bin);
</synopsis>
</refsynopsisdiv>

<refsect1 id="GtkBin.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<synopsis>
  <link linkend="GObject">GObject</link>
   +----<link linkend="GInitiallyUnowned">GInitiallyUnowned</link>
         +----<link linkend="GtkObject">GtkObject</link>
               +----<link linkend="GtkWidget">GtkWidget</link>
                     +----<link linkend="GtkContainer">GtkContainer</link>
                           +----GtkBin
                                 +----<link linkend="GtkWindow">GtkWindow</link>
                                 +----<link linkend="GtkAlignment">GtkAlignment</link>
                                 +----<link linkend="GtkFrame">GtkFrame</link>
                                 +----<link linkend="GtkButton">GtkButton</link>
                                 +----<link linkend="GtkItem">GtkItem</link>
                                 +----<link linkend="GtkComboBox">GtkComboBox</link>
                                 +----<link linkend="GtkEventBox">GtkEventBox</link>
                                 +----<link linkend="GtkExpander">GtkExpander</link>
                                 +----<link linkend="GtkHandleBox">GtkHandleBox</link>
                                 +----<link linkend="GtkToolItem">GtkToolItem</link>
                                 +----<link linkend="GtkScrolledWindow">GtkScrolledWindow</link>
                                 +----<link linkend="GtkViewport">GtkViewport</link>
</synopsis>
</refsect1>



<refsect1 id="GtkBin.implemented-interfaces" role="impl_interfaces">
<title role="impl_interfaces.title">Implemented Interfaces</title>
<para>
GtkBin implements
 <link linkend="AtkImplementorIface">AtkImplementorIface</link> and  <link linkend="GtkBuildable">GtkBuildable</link>.</para>
</refsect1>





<refsect1 id="GtkBin.description" role="desc">
<title role="desc.title">Description</title>
<para>
The <link linkend="GtkBin"><type>GtkBin</type></link> widget is a container with just one child.
It is not very useful itself, but it is useful for deriving subclasses,
since it provides common code needed for handling a single child widget.
</para>
<para>
Many GTK+ widgets are subclasses of <link linkend="GtkBin"><type>GtkBin</type></link>, including <link linkend="GtkWindow"><type>GtkWindow</type></link>, <link linkend="GtkButton"><type>GtkButton</type></link>,
<link linkend="GtkFrame"><type>GtkFrame</type></link>, <link linkend="GtkHandleBox"><type>GtkHandleBox</type></link>, and <link linkend="GtkScrolledWindow"><type>GtkScrolledWindow</type></link>.
</para>
</refsect1>

<refsect1 id="GtkBin.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="GtkBin-struct" role="struct">
<title>GtkBin</title>
<indexterm zone="GtkBin-struct"><primary sortas="Bin">GtkBin</primary></indexterm><programlisting>typedef struct _GtkBin GtkBin;</programlisting>
<para>
The <link linkend="GtkBin-struct"><type>GtkBin</type></link> struct contains the following fields.
(These fields should be considered read-only. They should never be set by
an application.)
<informaltable pgwide="1" frame="none" role="struct">
<tgroup cols="2"><colspec colwidth="2*"/><colspec colwidth="8*"/>
<tbody>
<row>
<entry><link linkend="GtkWidget"><type>GtkWidget</type></link> *child;</entry>
<entry>the child widget.</entry>
</row>
</tbody></tgroup></informaltable>
</para></refsect2>
<refsect2 id="gtk-bin-get-child" role="function">
<title>gtk_bin_get_child ()</title>
<indexterm zone="gtk-bin-get-child"><primary sortas="bin_get_child">gtk_bin_get_child</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link> *         gtk_bin_get_child                   (<link linkend="GtkBin">GtkBin</link> *bin);</programlisting>
<para>
Gets the child of the <link linkend="GtkBin"><type>GtkBin</type></link>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if the bin contains
no child widget. The returned widget does not have a reference
added, so you do not need to unref it.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>bin</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkBin"><type>GtkBin</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> pointer to child of the <link linkend="GtkBin"><type>GtkBin</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>




</refentry>
