<?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="gtk-Types">
<refmeta>
<refentrytitle role="top_of_page" id="gtk-Types.top_of_page">Types</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>Types</refname>
<refpurpose>Handle run-time type creation</refpurpose>
</refnamediv>

<refsynopsisdiv id="gtk-Types.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>

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

typedef             <link linkend="GtkType">GtkType</link>;
typedef             <link linkend="GtkFundamentalType">GtkFundamentalType</link>;
#define             <link linkend="GTK-CLASS-NAME--CAPS">GTK_CLASS_NAME</link>                      (class)
#define             <link linkend="GTK-CLASS-TYPE--CAPS">GTK_CLASS_TYPE</link>                      (class)
#define             <link linkend="GTK-TYPE-IS-OBJECT--CAPS">GTK_TYPE_IS_OBJECT</link>                  (type)
#define             <link linkend="GTK-TYPE-FUNDAMENTAL-LAST--CAPS">GTK_TYPE_FUNDAMENTAL_LAST</link>
#define             <link linkend="GTK-TYPE-FUNDAMENTAL-MAX--CAPS">GTK_TYPE_FUNDAMENTAL_MAX</link>
#define             <link linkend="GTK-STRUCT-OFFSET--CAPS">GTK_STRUCT_OFFSET</link>
#define             <link linkend="GTK-CHECK-CAST--CAPS">GTK_CHECK_CAST</link>
#define             <link linkend="GTK-CHECK-CLASS-CAST--CAPS">GTK_CHECK_CLASS_CAST</link>
#define             <link linkend="GTK-CHECK-TYPE--CAPS">GTK_CHECK_TYPE</link>
#define             <link linkend="GTK-CHECK-CLASS-TYPE--CAPS">GTK_CHECK_CLASS_TYPE</link>
#define             <link linkend="GTK-CHECK-GET-CLASS--CAPS">GTK_CHECK_GET_CLASS</link>
#define             <link linkend="GTK-FUNDAMENTAL-TYPE--CAPS">GTK_FUNDAMENTAL_TYPE</link>
#define             <link linkend="GTK-SIGNAL-FUNC--CAPS">GTK_SIGNAL_FUNC</link>                     (f)
typedef             <link linkend="GtkClassInitFunc">GtkClassInitFunc</link>;
typedef             <link linkend="GtkObjectInitFunc">GtkObjectInitFunc</link>;
<link linkend="void">void</link>                (<link linkend="GtkSignalFunc">*GtkSignalFunc</link>)                    (void);
<link linkend="gboolean">gboolean</link>            (<link linkend="GtkFunction">*GtkFunction</link>)                      (<link linkend="gpointer">gpointer</link> data);
<link linkend="void">void</link>                (<link linkend="GtkDestroyNotify">*GtkDestroyNotify</link>)                 (<link linkend="gpointer">gpointer</link> data);
<link linkend="void">void</link>                (<link linkend="GtkCallbackMarshal">*GtkCallbackMarshal</link>)               (<link linkend="GtkObject">GtkObject</link> *object,
                                                         <link linkend="gpointer">gpointer</link> data,
                                                         <link linkend="guint">guint</link> n_args,
                                                         <link linkend="GtkArg">GtkArg</link> *args);
typedef             <link linkend="GtkSignalMarshaller">GtkSignalMarshaller</link>;
typedef             <link linkend="GtkTypeObject">GtkTypeObject</link>;
                    <link linkend="GtkArg">GtkArg</link>;
#define             <link linkend="GTK-VALUE-CHAR--CAPS">GTK_VALUE_CHAR</link>                      (a)
#define             <link linkend="GTK-VALUE-UCHAR--CAPS">GTK_VALUE_UCHAR</link>                     (a)
#define             <link linkend="GTK-VALUE-BOOL--CAPS">GTK_VALUE_BOOL</link>                      (a)
#define             <link linkend="GTK-VALUE-INT--CAPS">GTK_VALUE_INT</link>                       (a)
#define             <link linkend="GTK-VALUE-UINT--CAPS">GTK_VALUE_UINT</link>                      (a)
#define             <link linkend="GTK-VALUE-LONG--CAPS">GTK_VALUE_LONG</link>                      (a)
#define             <link linkend="GTK-VALUE-ULONG--CAPS">GTK_VALUE_ULONG</link>                     (a)
#define             <link linkend="GTK-VALUE-FLOAT--CAPS">GTK_VALUE_FLOAT</link>                     (a)
#define             <link linkend="GTK-VALUE-DOUBLE--CAPS">GTK_VALUE_DOUBLE</link>                    (a)
#define             <link linkend="GTK-VALUE-STRING--CAPS">GTK_VALUE_STRING</link>                    (a)
#define             <link linkend="GTK-VALUE-ENUM--CAPS">GTK_VALUE_ENUM</link>                      (a)
#define             <link linkend="GTK-VALUE-FLAGS--CAPS">GTK_VALUE_FLAGS</link>                     (a)
#define             <link linkend="GTK-VALUE-BOXED--CAPS">GTK_VALUE_BOXED</link>                     (a)
#define             <link linkend="GTK-VALUE-POINTER--CAPS">GTK_VALUE_POINTER</link>                   (a)
#define             <link linkend="GTK-VALUE-OBJECT--CAPS">GTK_VALUE_OBJECT</link>                    (a)
#define             <link linkend="GTK-VALUE-SIGNAL--CAPS">GTK_VALUE_SIGNAL</link>                    (a)
#define             <link linkend="GTK-RETLOC-CHAR--CAPS">GTK_RETLOC_CHAR</link>                     (a)
#define             <link linkend="GTK-RETLOC-UCHAR--CAPS">GTK_RETLOC_UCHAR</link>                    (a)
#define             <link linkend="GTK-RETLOC-BOOL--CAPS">GTK_RETLOC_BOOL</link>                     (a)
#define             <link linkend="GTK-RETLOC-INT--CAPS">GTK_RETLOC_INT</link>                      (a)
#define             <link linkend="GTK-RETLOC-UINT--CAPS">GTK_RETLOC_UINT</link>                     (a)
#define             <link linkend="GTK-RETLOC-LONG--CAPS">GTK_RETLOC_LONG</link>                     (a)
#define             <link linkend="GTK-RETLOC-ULONG--CAPS">GTK_RETLOC_ULONG</link>                    (a)
#define             <link linkend="GTK-RETLOC-FLOAT--CAPS">GTK_RETLOC_FLOAT</link>                    (a)
#define             <link linkend="GTK-RETLOC-DOUBLE--CAPS">GTK_RETLOC_DOUBLE</link>                   (a)
#define             <link linkend="GTK-RETLOC-STRING--CAPS">GTK_RETLOC_STRING</link>                   (a)
#define             <link linkend="GTK-RETLOC-ENUM--CAPS">GTK_RETLOC_ENUM</link>                     (a)
#define             <link linkend="GTK-RETLOC-FLAGS--CAPS">GTK_RETLOC_FLAGS</link>                    (a)
#define             <link linkend="GTK-RETLOC-BOXED--CAPS">GTK_RETLOC_BOXED</link>                    (a)
#define             <link linkend="GTK-RETLOC-POINTER--CAPS">GTK_RETLOC_POINTER</link>                  (a)
#define             <link linkend="GTK-RETLOC-OBJECT--CAPS">GTK_RETLOC_OBJECT</link>                   (a)
                    <link linkend="GtkTypeInfo">GtkTypeInfo</link>;
typedef             <link linkend="GtkTypeClass">GtkTypeClass</link>;
typedef             <link linkend="GtkEnumValue">GtkEnumValue</link>;
typedef             <link linkend="GtkFlagValue">GtkFlagValue</link>;
<link linkend="void">void</link>                <link linkend="gtk-type-init">gtk_type_init</link>                       (<link linkend="GTypeDebugFlags">GTypeDebugFlags</link> debug_flags);
<link linkend="GtkType">GtkType</link>             <link linkend="gtk-type-unique">gtk_type_unique</link>                     (<link linkend="GtkType">GtkType</link> parent_type,
                                                         const <link linkend="GtkTypeInfo">GtkTypeInfo</link> *gtkinfo);
#define             <link linkend="gtk-type-name">gtk_type_name</link>                       (type)
#define             <link linkend="gtk-type-from-name">gtk_type_from_name</link>                  (name)
#define             <link linkend="gtk-type-parent">gtk_type_parent</link>                     (type)
<link linkend="gpointer">gpointer</link>            <link linkend="gtk-type-class">gtk_type_class</link>                      (<link linkend="GtkType">GtkType</link> type);
<link linkend="gpointer">gpointer</link>            <link linkend="gtk-type-new">gtk_type_new</link>                        (<link linkend="GtkType">GtkType</link> type);
#define             <link linkend="gtk-type-is-a">gtk_type_is_a</link>                       (type, is_a_type)
<link linkend="GtkEnumValue">GtkEnumValue</link>*       <link linkend="gtk-type-enum-get-values">gtk_type_enum_get_values</link>            (<link linkend="GtkType">GtkType</link> enum_type);
<link linkend="GtkFlagValue">GtkFlagValue</link>*       <link linkend="gtk-type-flags-get-values">gtk_type_flags_get_values</link>           (<link linkend="GtkType">GtkType</link> flags_type);
<link linkend="GtkEnumValue">GtkEnumValue</link>*       <link linkend="gtk-type-enum-find-value">gtk_type_enum_find_value</link>            (<link linkend="GtkType">GtkType</link> enum_type,
                                                         const <link linkend="gchar">gchar</link> *value_name);
<link linkend="GtkFlagValue">GtkFlagValue</link>*       <link linkend="gtk-type-flags-find-value">gtk_type_flags_find_value</link>           (<link linkend="GtkType">GtkType</link> flags_type,
                                                         const <link linkend="gchar">gchar</link> *value_name);
</synopsis>
</refsynopsisdiv>









<refsect1 id="gtk-Types.description" role="desc">
<title role="desc.title">Description</title>
<para>
The GTK+ type system is extensible.  Because of that, types have to be
managed at runtime.
</para>
</refsect1>

<refsect1 id="gtk-Types.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="GtkType" role="typedef" condition="deprecated:">
<title>GtkType</title>
<indexterm zone="GtkType" role="deprecated"><primary sortas="Type">GtkType</primary></indexterm><programlisting>typedef GType                   GtkType;
</programlisting>
<warning><para><literal>GtkType</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
<link linkend="GtkType"><type>GtkType</type></link> is unique integer identifying the type.  The guts of the
information about the type is held in a private struct named
<link linkend="GtkTypeNode"><type>GtkTypeNode</type></link>.
</para></refsect2>
<refsect2 id="GtkFundamentalType" role="typedef" condition="deprecated:">
<title>GtkFundamentalType</title>
<indexterm zone="GtkFundamentalType" role="deprecated"><primary sortas="FundamentalType">GtkFundamentalType</primary></indexterm><programlisting>typedef GType GtkFundamentalType;
</programlisting>
<warning><para><literal>GtkFundamentalType</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
<link linkend="GtkFundamentalType"><type>GtkFundamentalType</type></link> is an enumerated type which lists all the possible
fundamental types (e.g. <type>char</type>, <type>uchar</type>, <type>int</type>,
<type>long</type>, <type>float</type>, etc).
</para></refsect2>
<refsect2 id="GTK-CLASS-NAME--CAPS" role="macro" condition="deprecated:Use g_type_name() and G_TYPE_FROM_CLASS() instead.">
<title>GTK_CLASS_NAME()</title>
<indexterm zone="GTK-CLASS-NAME--CAPS" role="deprecated"><primary sortas="CLASS_NAME">GTK_CLASS_NAME</primary></indexterm><programlisting>#define GTK_CLASS_NAME(class)		(g_type_name (G_TYPE_FROM_CLASS (class)))
</programlisting>
<warning><para><literal>GTK_CLASS_NAME</literal> is deprecated and should not be used in newly-written code. Use <link linkend="g-type-name"><function>g_type_name()</function></link> and <link linkend="G-TYPE-FROM-CLASS--CAPS"><function>G_TYPE_FROM_CLASS()</function></link> instead.</para></warning>
<para>
Returns the type name of <parameter>class</parameter>.
</para><variablelist role="params">
<varlistentry><term><parameter>class</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkTypeClass"><type>GtkTypeClass</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-CLASS-TYPE--CAPS" role="macro" condition="deprecated:Use G_TYPE_FROM_CLASS() instead.">
<title>GTK_CLASS_TYPE()</title>
<indexterm zone="GTK-CLASS-TYPE--CAPS" role="deprecated"><primary sortas="CLASS_TYPE">GTK_CLASS_TYPE</primary></indexterm><programlisting>#define GTK_CLASS_TYPE(class)		(G_TYPE_FROM_CLASS (class))
</programlisting>
<warning><para><literal>GTK_CLASS_TYPE</literal> is deprecated and should not be used in newly-written code. Use <link linkend="G-TYPE-FROM-CLASS--CAPS"><function>G_TYPE_FROM_CLASS()</function></link> instead.</para></warning>
<para>
Returns the type of <parameter>class</parameter>.
</para><variablelist role="params">
<varlistentry><term><parameter>class</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkTypeClass"><type>GtkTypeClass</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-TYPE-IS-OBJECT--CAPS" role="macro" condition="deprecated:Use G_TYPE_IS_OBJECT() instead.">
<title>GTK_TYPE_IS_OBJECT()</title>
<indexterm zone="GTK-TYPE-IS-OBJECT--CAPS" role="deprecated"><primary sortas="TYPE_IS_OBJECT">GTK_TYPE_IS_OBJECT</primary></indexterm><programlisting>#define GTK_TYPE_IS_OBJECT(type)	(g_type_is_a ((type), GTK_TYPE_OBJECT))
</programlisting>
<warning><para><literal>GTK_TYPE_IS_OBJECT</literal> is deprecated and should not be used in newly-written code. Use <link linkend="G-TYPE-IS-OBJECT--CAPS"><function>G_TYPE_IS_OBJECT()</function></link> instead.</para></warning>
<para>
Returns <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if <parameter>type</parameter> is a <link linkend="GTK-TYPE-OBJECT--CAPS"><literal>GTK_TYPE_OBJECT</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>type</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkType"><type>GtkType</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-TYPE-FUNDAMENTAL-LAST--CAPS" role="macro" condition="deprecated:Use #G_TYPE_LAST_RESERVED_FUNDAMENTAL - 1 instead.">
<title>GTK_TYPE_FUNDAMENTAL_LAST</title>
<indexterm zone="GTK-TYPE-FUNDAMENTAL-LAST--CAPS" role="deprecated"><primary sortas="TYPE_FUNDAMENTAL_LAST">GTK_TYPE_FUNDAMENTAL_LAST</primary></indexterm><programlisting>#define	GTK_TYPE_FUNDAMENTAL_LAST        (G_TYPE_LAST_RESERVED_FUNDAMENTAL - 1)
</programlisting>
<warning><para><literal>GTK_TYPE_FUNDAMENTAL_LAST</literal> is deprecated and should not be used in newly-written code. Use <link linkend="G-TYPE-LAST-RESERVED-FUNDAMENTAL--CAPS"><type>G_TYPE_LAST_RESERVED_FUNDAMENTAL</type></link> - 1 instead.</para></warning>
<para>
The highest-numbered structured or flat enumerated type value.
</para></refsect2>
<refsect2 id="GTK-TYPE-FUNDAMENTAL-MAX--CAPS" role="macro" condition="deprecated:Use #G_TYPE_FUNDAMENTAL_MAX instead.">
<title>GTK_TYPE_FUNDAMENTAL_MAX</title>
<indexterm zone="GTK-TYPE-FUNDAMENTAL-MAX--CAPS" role="deprecated"><primary sortas="TYPE_FUNDAMENTAL_MAX">GTK_TYPE_FUNDAMENTAL_MAX</primary></indexterm><programlisting>#define	GTK_TYPE_FUNDAMENTAL_MAX         (G_TYPE_FUNDAMENTAL_MAX)
</programlisting>
<warning><para><literal>GTK_TYPE_FUNDAMENTAL_MAX</literal> is deprecated and should not be used in newly-written code. Use <link linkend="G-TYPE-FUNDAMENTAL-MAX--CAPS"><type>G_TYPE_FUNDAMENTAL_MAX</type></link> instead.</para></warning>
<para>
The maximum fundamental enumerated type value.
</para></refsect2>
<refsect2 id="GTK-STRUCT-OFFSET--CAPS" role="macro" condition="deprecated:Use G_STRUCT_OFFSET() instead.">
<title>GTK_STRUCT_OFFSET</title>
<indexterm zone="GTK-STRUCT-OFFSET--CAPS" role="deprecated"><primary sortas="STRUCT_OFFSET">GTK_STRUCT_OFFSET</primary></indexterm><programlisting>#define GTK_STRUCT_OFFSET	G_STRUCT_OFFSET
</programlisting>
<warning><para><literal>GTK_STRUCT_OFFSET</literal> is deprecated and should not be used in newly-written code. Use <link linkend="G-STRUCT-OFFSET--CAPS"><function>G_STRUCT_OFFSET()</function></link> instead.</para></warning>
<para>
Use in place of <function><link linkend="offsetof"><function>offsetof()</function></link></function>, which is used if it exists.
</para></refsect2>
<refsect2 id="GTK-CHECK-CAST--CAPS" role="macro" condition="deprecated:">
<title>GTK_CHECK_CAST</title>
<indexterm zone="GTK-CHECK-CAST--CAPS" role="deprecated"><primary sortas="CHECK_CAST">GTK_CHECK_CAST</primary></indexterm><programlisting>#define	GTK_CHECK_CAST		G_TYPE_CHECK_INSTANCE_CAST
</programlisting>
<warning><para><literal>GTK_CHECK_CAST</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Casts the object in <parameter>tobj</parameter> into <parameter>cast</parameter>.  If <link linkend="G-DISABLE-CAST-CHECKS--CAPS"><literal>G_DISABLE_CAST_CHECKS</literal></link> is
defined, just cast it.  Otherwise, check to see if we can cast <parameter>tobj</parameter>
into a <parameter>cast</parameter>.
</para></refsect2>
<refsect2 id="GTK-CHECK-CLASS-CAST--CAPS" role="macro" condition="deprecated:">
<title>GTK_CHECK_CLASS_CAST</title>
<indexterm zone="GTK-CHECK-CLASS-CAST--CAPS" role="deprecated"><primary sortas="CHECK_CLASS_CAST">GTK_CHECK_CLASS_CAST</primary></indexterm><programlisting>#define	GTK_CHECK_CLASS_CAST	G_TYPE_CHECK_CLASS_CAST
</programlisting>
<warning><para><literal>GTK_CHECK_CLASS_CAST</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Casts the object in <parameter>tobj</parameter> into <parameter>cast</parameter>.  If <link linkend="G-DISABLE-CAST-CHECKS--CAPS"><literal>G_DISABLE_CAST_CHECKS</literal></link> is
defined, just cast it.  Otherwise, check to see if we can cast <parameter>tobj</parameter>
into a <parameter>cast</parameter>.
</para></refsect2>
<refsect2 id="GTK-CHECK-TYPE--CAPS" role="macro" condition="deprecated:">
<title>GTK_CHECK_TYPE</title>
<indexterm zone="GTK-CHECK-TYPE--CAPS" role="deprecated"><primary sortas="CHECK_TYPE">GTK_CHECK_TYPE</primary></indexterm><programlisting>#define	GTK_CHECK_TYPE		G_TYPE_CHECK_INSTANCE_TYPE
</programlisting>
<warning><para><literal>GTK_CHECK_TYPE</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Determines whether <parameter>type_object</parameter> is a type of <parameter>otype</parameter>.
</para></refsect2>
<refsect2 id="GTK-CHECK-CLASS-TYPE--CAPS" role="macro" condition="deprecated:">
<title>GTK_CHECK_CLASS_TYPE</title>
<indexterm zone="GTK-CHECK-CLASS-TYPE--CAPS" role="deprecated"><primary sortas="CHECK_CLASS_TYPE">GTK_CHECK_CLASS_TYPE</primary></indexterm><programlisting>#define	GTK_CHECK_CLASS_TYPE	G_TYPE_CHECK_CLASS_TYPE
</programlisting>
<warning><para><literal>GTK_CHECK_CLASS_TYPE</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Determines whether <parameter>type_class</parameter> is a type of <parameter>otype</parameter>.
</para></refsect2>
<refsect2 id="GTK-CHECK-GET-CLASS--CAPS" role="macro" condition="deprecated:">
<title>GTK_CHECK_GET_CLASS</title>
<indexterm zone="GTK-CHECK-GET-CLASS--CAPS" role="deprecated"><primary sortas="CHECK_GET_CLASS">GTK_CHECK_GET_CLASS</primary></indexterm><programlisting>#define GTK_CHECK_GET_CLASS	G_TYPE_INSTANCE_GET_CLASS
</programlisting>
<warning><para><literal>GTK_CHECK_GET_CLASS</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Gets the class of <parameter>tobj</parameter>.
</para></refsect2>
<refsect2 id="GTK-FUNDAMENTAL-TYPE--CAPS" role="macro" condition="deprecated:">
<title>GTK_FUNDAMENTAL_TYPE</title>
<indexterm zone="GTK-FUNDAMENTAL-TYPE--CAPS" role="deprecated"><primary sortas="FUNDAMENTAL_TYPE">GTK_FUNDAMENTAL_TYPE</primary></indexterm><programlisting>#define	GTK_FUNDAMENTAL_TYPE	G_TYPE_FUNDAMENTAL
</programlisting>
<warning><para><literal>GTK_FUNDAMENTAL_TYPE</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Converts a GTK+ type into a fundamental type.
</para></refsect2>
<refsect2 id="GTK-SIGNAL-FUNC--CAPS" role="macro" condition="deprecated:">
<title>GTK_SIGNAL_FUNC()</title>
<indexterm zone="GTK-SIGNAL-FUNC--CAPS" role="deprecated"><primary sortas="SIGNAL_FUNC">GTK_SIGNAL_FUNC</primary></indexterm><programlisting>#define GTK_SIGNAL_FUNC(f)	    G_CALLBACK(f)
</programlisting>
<warning><para><literal>GTK_SIGNAL_FUNC</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Just a macroized cast into a <link linkend="GtkSignalFunc"><type>GtkSignalFunc</type></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>f</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GtkClassInitFunc" role="typedef" condition="deprecated:">
<title>GtkClassInitFunc</title>
<indexterm zone="GtkClassInitFunc" role="deprecated"><primary sortas="ClassInitFunc">GtkClassInitFunc</primary></indexterm><programlisting>typedef GBaseInitFunc           GtkClassInitFunc;
</programlisting>
<warning><para><literal>GtkClassInitFunc</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Defines a function pointer.
</para></refsect2>
<refsect2 id="GtkObjectInitFunc" role="typedef" condition="deprecated:">
<title>GtkObjectInitFunc</title>
<indexterm zone="GtkObjectInitFunc" role="deprecated"><primary sortas="ObjectInitFunc">GtkObjectInitFunc</primary></indexterm><programlisting>typedef GInstanceInitFunc       GtkObjectInitFunc;
</programlisting>
<warning><para><literal>GtkObjectInitFunc</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Defines a function pointer.
</para></refsect2>
<refsect2 id="GtkSignalFunc" role="function" condition="deprecated:">
<title>GtkSignalFunc ()</title>
<indexterm zone="GtkSignalFunc" role="deprecated"><primary sortas="SignalFunc">GtkSignalFunc</primary></indexterm><programlisting><link linkend="void">void</link>                (*GtkSignalFunc)                    (void);</programlisting>
<warning><para><literal>GtkSignalFunc</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Defines a function pointer.
</para></refsect2>
<refsect2 id="GtkFunction" role="function">
<title>GtkFunction ()</title>
<indexterm zone="GtkFunction"><primary sortas="Function">GtkFunction</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            (*GtkFunction)                      (<link linkend="gpointer">gpointer</link> data);</programlisting>
<para>
Defines a function pointer.
</para><variablelist role="params">
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara>#gpointer
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>#gint
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GtkDestroyNotify" role="function" condition="deprecated:">
<title>GtkDestroyNotify ()</title>
<indexterm zone="GtkDestroyNotify" role="deprecated"><primary sortas="DestroyNotify">GtkDestroyNotify</primary></indexterm><programlisting><link linkend="void">void</link>                (*GtkDestroyNotify)                 (<link linkend="gpointer">gpointer</link> data);</programlisting>
<warning><para><literal>GtkDestroyNotify</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Defines a function pointer.
</para><variablelist role="params">
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara>#gpointer
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GtkCallbackMarshal" role="function">
<title>GtkCallbackMarshal ()</title>
<indexterm zone="GtkCallbackMarshal"><primary sortas="CallbackMarshal">GtkCallbackMarshal</primary></indexterm><programlisting><link linkend="void">void</link>                (*GtkCallbackMarshal)               (<link linkend="GtkObject">GtkObject</link> *object,
                                                         <link linkend="gpointer">gpointer</link> data,
                                                         <link linkend="guint">guint</link> n_args,
                                                         <link linkend="GtkArg">GtkArg</link> *args);</programlisting>
<para>
Defines a function pointer.
</para><variablelist role="params">
<varlistentry><term><parameter>object</parameter>&#160;:</term>
<listitem><simpara>#GtkObject*
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara>#gpointer
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>n_args</parameter>&#160;:</term>
<listitem><simpara>#guint
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>args</parameter>&#160;:</term>
<listitem><simpara>#GtkArg*
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GtkSignalMarshaller" role="typedef" condition="deprecated:">
<title>GtkSignalMarshaller</title>
<indexterm zone="GtkSignalMarshaller" role="deprecated"><primary sortas="SignalMarshaller">GtkSignalMarshaller</primary></indexterm><programlisting>typedef GSignalCMarshaller      GtkSignalMarshaller;
</programlisting>
<warning><para><literal>GtkSignalMarshaller</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Defines a function pointer.
</para></refsect2>
<refsect2 id="GtkTypeObject" role="typedef" condition="deprecated:">
<title>GtkTypeObject</title>
<indexterm zone="GtkTypeObject" role="deprecated"><primary sortas="TypeObject">GtkTypeObject</primary></indexterm><programlisting>typedef GTypeInstance           GtkTypeObject;
</programlisting>
<warning><para><literal>GtkTypeObject</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
A <link linkend="GtkTypeObject"><type>GtkTypeObject</type></link> defines the minimum structure requirements
for type instances. Type instances returned from <link linkend="gtk-type-new"><function>gtk_type_new()</function></link>
and initialized through a <link linkend="GtkObjectInitFunc"><type>GtkObjectInitFunc</type></link> need to directly inherit
from this structure or at least copy its fields one by one.
</para></refsect2>
<refsect2 id="GtkArg" role="struct" condition="deprecated:">
<title>GtkArg</title>
<indexterm zone="GtkArg" role="deprecated"><primary sortas="Arg">GtkArg</primary></indexterm><programlisting>typedef struct {
  GType type;
  gchar *name;

  /* this union only defines the required storage types for
   * the possibile values, thus there is no gint enum_data field,
   * because that would just be a mere alias for gint int_data.
   * use the GTK_VALUE_*() and GTK_RETLOC_*() macros to access
   * the discrete memebers.
   */
  union {
    /* flat values */
    gchar char_data;
    guchar uchar_data;
    gboolean bool_data;
    gint int_data;
    guint uint_data;
    glong long_data;
    gulong ulong_data;
    gfloat float_data;
    gdouble double_data;
    gchar *string_data;
    GtkObject *object_data;
    gpointer pointer_data;

    /* structured values */
    struct {
      GCallback f;
      gpointer d;
    } signal_data;
  } d;
} GtkArg;
</programlisting>
<warning><para><literal>GtkArg</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
This is a structure that we use to pass in typed values (and names).
</para></refsect2>
<refsect2 id="GTK-VALUE-CHAR--CAPS" role="macro" condition="deprecated:">
<title>GTK_VALUE_CHAR()</title>
<indexterm zone="GTK-VALUE-CHAR--CAPS" role="deprecated"><primary sortas="VALUE_CHAR">GTK_VALUE_CHAR</primary></indexterm><programlisting>#define GTK_VALUE_CHAR(a)	((a).d.char_data)
</programlisting>
<warning><para><literal>GTK_VALUE_CHAR</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Gets the value of a <link linkend="GtkArg"><type>GtkArg</type></link> whose <link linkend="GtkType"><type>GtkType</type></link> is <link linkend="GTK-TYPE-CHAR--CAPS"><literal>GTK_TYPE_CHAR</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-VALUE-UCHAR--CAPS" role="macro" condition="deprecated:">
<title>GTK_VALUE_UCHAR()</title>
<indexterm zone="GTK-VALUE-UCHAR--CAPS" role="deprecated"><primary sortas="VALUE_UCHAR">GTK_VALUE_UCHAR</primary></indexterm><programlisting>#define GTK_VALUE_UCHAR(a)	((a).d.uchar_data)
</programlisting>
<warning><para><literal>GTK_VALUE_UCHAR</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Gets the value of a <link linkend="GtkArg"><type>GtkArg</type></link> whose <link linkend="GtkType"><type>GtkType</type></link> is <link linkend="GTK-TYPE-UCHAR--CAPS"><literal>GTK_TYPE_UCHAR</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-VALUE-BOOL--CAPS" role="macro" condition="deprecated:">
<title>GTK_VALUE_BOOL()</title>
<indexterm zone="GTK-VALUE-BOOL--CAPS" role="deprecated"><primary sortas="VALUE_BOOL">GTK_VALUE_BOOL</primary></indexterm><programlisting>#define GTK_VALUE_BOOL(a)	((a).d.bool_data)
</programlisting>
<warning><para><literal>GTK_VALUE_BOOL</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Gets the value of a <link linkend="GtkArg"><type>GtkArg</type></link> whose <link linkend="GtkType"><type>GtkType</type></link> is <link linkend="GTK-TYPE-BOOL--CAPS"><literal>GTK_TYPE_BOOL</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-VALUE-INT--CAPS" role="macro" condition="deprecated:">
<title>GTK_VALUE_INT()</title>
<indexterm zone="GTK-VALUE-INT--CAPS" role="deprecated"><primary sortas="VALUE_INT">GTK_VALUE_INT</primary></indexterm><programlisting>#define GTK_VALUE_INT(a)	((a).d.int_data)
</programlisting>
<warning><para><literal>GTK_VALUE_INT</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Gets the value of a <link linkend="GtkArg"><type>GtkArg</type></link> whose <link linkend="GtkType"><type>GtkType</type></link> is <link linkend="GTK-TYPE-INT--CAPS"><literal>GTK_TYPE_INT</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-VALUE-UINT--CAPS" role="macro" condition="deprecated:">
<title>GTK_VALUE_UINT()</title>
<indexterm zone="GTK-VALUE-UINT--CAPS" role="deprecated"><primary sortas="VALUE_UINT">GTK_VALUE_UINT</primary></indexterm><programlisting>#define GTK_VALUE_UINT(a)	((a).d.uint_data)
</programlisting>
<warning><para><literal>GTK_VALUE_UINT</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Gets the value of a <link linkend="GtkArg"><type>GtkArg</type></link> whose <link linkend="GtkType"><type>GtkType</type></link> is <link linkend="GTK-TYPE-UINT--CAPS"><literal>GTK_TYPE_UINT</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-VALUE-LONG--CAPS" role="macro" condition="deprecated:">
<title>GTK_VALUE_LONG()</title>
<indexterm zone="GTK-VALUE-LONG--CAPS" role="deprecated"><primary sortas="VALUE_LONG">GTK_VALUE_LONG</primary></indexterm><programlisting>#define GTK_VALUE_LONG(a)	((a).d.long_data)
</programlisting>
<warning><para><literal>GTK_VALUE_LONG</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Gets the value of a <link linkend="GtkArg"><type>GtkArg</type></link> whose <link linkend="GtkType"><type>GtkType</type></link> is <link linkend="GTK-TYPE-LONG--CAPS"><literal>GTK_TYPE_LONG</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-VALUE-ULONG--CAPS" role="macro" condition="deprecated:">
<title>GTK_VALUE_ULONG()</title>
<indexterm zone="GTK-VALUE-ULONG--CAPS" role="deprecated"><primary sortas="VALUE_ULONG">GTK_VALUE_ULONG</primary></indexterm><programlisting>#define GTK_VALUE_ULONG(a)	((a).d.ulong_data)
</programlisting>
<warning><para><literal>GTK_VALUE_ULONG</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Gets the value of a <link linkend="GtkArg"><type>GtkArg</type></link> whose <link linkend="GtkType"><type>GtkType</type></link> is <link linkend="GTK-TYPE-ULONG--CAPS"><literal>GTK_TYPE_ULONG</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-VALUE-FLOAT--CAPS" role="macro" condition="deprecated:">
<title>GTK_VALUE_FLOAT()</title>
<indexterm zone="GTK-VALUE-FLOAT--CAPS" role="deprecated"><primary sortas="VALUE_FLOAT">GTK_VALUE_FLOAT</primary></indexterm><programlisting>#define GTK_VALUE_FLOAT(a)	((a).d.float_data)
</programlisting>
<warning><para><literal>GTK_VALUE_FLOAT</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Gets the value of a <link linkend="GtkArg"><type>GtkArg</type></link> whose <link linkend="GtkType"><type>GtkType</type></link> is <link linkend="GTK-TYPE-FLOAT--CAPS"><literal>GTK_TYPE_FLOAT</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-VALUE-DOUBLE--CAPS" role="macro" condition="deprecated:">
<title>GTK_VALUE_DOUBLE()</title>
<indexterm zone="GTK-VALUE-DOUBLE--CAPS" role="deprecated"><primary sortas="VALUE_DOUBLE">GTK_VALUE_DOUBLE</primary></indexterm><programlisting>#define GTK_VALUE_DOUBLE(a)	((a).d.double_data)
</programlisting>
<warning><para><literal>GTK_VALUE_DOUBLE</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Gets the value of a <link linkend="GtkArg"><type>GtkArg</type></link> whose <link linkend="GtkType"><type>GtkType</type></link> is <link linkend="GTK-TYPE-DOUBLE--CAPS"><literal>GTK_TYPE_DOUBLE</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-VALUE-STRING--CAPS" role="macro" condition="deprecated:">
<title>GTK_VALUE_STRING()</title>
<indexterm zone="GTK-VALUE-STRING--CAPS" role="deprecated"><primary sortas="VALUE_STRING">GTK_VALUE_STRING</primary></indexterm><programlisting>#define GTK_VALUE_STRING(a)	((a).d.string_data)
</programlisting>
<warning><para><literal>GTK_VALUE_STRING</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Gets the value of a <link linkend="GtkArg"><type>GtkArg</type></link> whose <link linkend="GtkType"><type>GtkType</type></link> is <link linkend="GTK-TYPE-STRING--CAPS"><literal>GTK_TYPE_STRING</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-VALUE-ENUM--CAPS" role="macro" condition="deprecated:">
<title>GTK_VALUE_ENUM()</title>
<indexterm zone="GTK-VALUE-ENUM--CAPS" role="deprecated"><primary sortas="VALUE_ENUM">GTK_VALUE_ENUM</primary></indexterm><programlisting>#define GTK_VALUE_ENUM(a)	((a).d.int_data)
</programlisting>
<warning><para><literal>GTK_VALUE_ENUM</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Gets the value of a <link linkend="GtkArg"><type>GtkArg</type></link> whose <link linkend="GtkType"><type>GtkType</type></link> is <link linkend="GTK-TYPE-ENUM--CAPS"><literal>GTK_TYPE_ENUM</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-VALUE-FLAGS--CAPS" role="macro" condition="deprecated:">
<title>GTK_VALUE_FLAGS()</title>
<indexterm zone="GTK-VALUE-FLAGS--CAPS" role="deprecated"><primary sortas="VALUE_FLAGS">GTK_VALUE_FLAGS</primary></indexterm><programlisting>#define GTK_VALUE_FLAGS(a)	((a).d.uint_data)
</programlisting>
<warning><para><literal>GTK_VALUE_FLAGS</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Gets the value of a <link linkend="GtkArg"><type>GtkArg</type></link> whose <link linkend="GtkType"><type>GtkType</type></link> is <link linkend="GTK-TYPE-FLAGS--CAPS"><literal>GTK_TYPE_FLAGS</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-VALUE-BOXED--CAPS" role="macro" condition="deprecated:">
<title>GTK_VALUE_BOXED()</title>
<indexterm zone="GTK-VALUE-BOXED--CAPS" role="deprecated"><primary sortas="VALUE_BOXED">GTK_VALUE_BOXED</primary></indexterm><programlisting>#define GTK_VALUE_BOXED(a)	((a).d.pointer_data)
</programlisting>
<warning><para><literal>GTK_VALUE_BOXED</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Gets the value of a <link linkend="GtkArg"><type>GtkArg</type></link> whose <link linkend="GtkType"><type>GtkType</type></link> is <link linkend="GTK-TYPE-BOXED--CAPS"><literal>GTK_TYPE_BOXED</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-VALUE-POINTER--CAPS" role="macro" condition="deprecated:">
<title>GTK_VALUE_POINTER()</title>
<indexterm zone="GTK-VALUE-POINTER--CAPS" role="deprecated"><primary sortas="VALUE_POINTER">GTK_VALUE_POINTER</primary></indexterm><programlisting>#define GTK_VALUE_POINTER(a)	((a).d.pointer_data)
</programlisting>
<warning><para><literal>GTK_VALUE_POINTER</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Gets the value of a <link linkend="GtkArg"><type>GtkArg</type></link> whose <link linkend="GtkType"><type>GtkType</type></link> is <link linkend="GTK-TYPE-POINTER--CAPS"><literal>GTK_TYPE_POINTER</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-VALUE-OBJECT--CAPS" role="macro" condition="deprecated:">
<title>GTK_VALUE_OBJECT()</title>
<indexterm zone="GTK-VALUE-OBJECT--CAPS" role="deprecated"><primary sortas="VALUE_OBJECT">GTK_VALUE_OBJECT</primary></indexterm><programlisting>#define GTK_VALUE_OBJECT(a)	((a).d.object_data)
</programlisting>
<warning><para><literal>GTK_VALUE_OBJECT</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Gets the value of a <link linkend="GtkArg"><type>GtkArg</type></link> whose <link linkend="GtkType"><type>GtkType</type></link> is <link linkend="GTK-TYPE-OBJECT--CAPS"><literal>GTK_TYPE_OBJECT</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-VALUE-SIGNAL--CAPS" role="macro" condition="deprecated:">
<title>GTK_VALUE_SIGNAL()</title>
<indexterm zone="GTK-VALUE-SIGNAL--CAPS" role="deprecated"><primary sortas="VALUE_SIGNAL">GTK_VALUE_SIGNAL</primary></indexterm><programlisting>#define GTK_VALUE_SIGNAL(a)	((a).d.signal_data)
</programlisting>
<warning><para><literal>GTK_VALUE_SIGNAL</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Gets the value of a <link linkend="GtkArg"><type>GtkArg</type></link> whose <link linkend="GtkType"><type>GtkType</type></link> is <link linkend="GTK-TYPE-SIGNAL--CAPS"><literal>GTK_TYPE_SIGNAL</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-RETLOC-CHAR--CAPS" role="macro" condition="deprecated:">
<title>GTK_RETLOC_CHAR()</title>
<indexterm zone="GTK-RETLOC-CHAR--CAPS" role="deprecated"><primary sortas="RETLOC_CHAR">GTK_RETLOC_CHAR</primary></indexterm><programlisting>#define GTK_RETLOC_CHAR(a)	((gchar*)	(a).d.pointer_data)
</programlisting>
<warning><para><literal>GTK_RETLOC_CHAR</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
If the <link linkend="GtkArg"><type>GtkArg</type></link> contains a pointer to the value, this macro will be a pointer to a <link linkend="GTK-TYPE-CHAR--CAPS"><literal>GTK_TYPE_CHAR</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-RETLOC-UCHAR--CAPS" role="macro" condition="deprecated:">
<title>GTK_RETLOC_UCHAR()</title>
<indexterm zone="GTK-RETLOC-UCHAR--CAPS" role="deprecated"><primary sortas="RETLOC_UCHAR">GTK_RETLOC_UCHAR</primary></indexterm><programlisting>#define GTK_RETLOC_UCHAR(a)	((guchar*)	(a).d.pointer_data)
</programlisting>
<warning><para><literal>GTK_RETLOC_UCHAR</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
If the <link linkend="GtkArg"><type>GtkArg</type></link> contains a pointer to the value, this macro will be a pointer to a <link linkend="GTK-TYPE-UCHAR--CAPS"><literal>GTK_TYPE_UCHAR</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-RETLOC-BOOL--CAPS" role="macro" condition="deprecated:">
<title>GTK_RETLOC_BOOL()</title>
<indexterm zone="GTK-RETLOC-BOOL--CAPS" role="deprecated"><primary sortas="RETLOC_BOOL">GTK_RETLOC_BOOL</primary></indexterm><programlisting>#define GTK_RETLOC_BOOL(a)	((gboolean*)	(a).d.pointer_data)
</programlisting>
<warning><para><literal>GTK_RETLOC_BOOL</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
If the <link linkend="GtkArg"><type>GtkArg</type></link> contains a pointer to the value, this macro will be a pointer to a <link linkend="GTK-TYPE-BOOL--CAPS"><literal>GTK_TYPE_BOOL</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-RETLOC-INT--CAPS" role="macro" condition="deprecated:">
<title>GTK_RETLOC_INT()</title>
<indexterm zone="GTK-RETLOC-INT--CAPS" role="deprecated"><primary sortas="RETLOC_INT">GTK_RETLOC_INT</primary></indexterm><programlisting>#define GTK_RETLOC_INT(a)	((gint*)	(a).d.pointer_data)
</programlisting>
<warning><para><literal>GTK_RETLOC_INT</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
If the <link linkend="GtkArg"><type>GtkArg</type></link> contains a pointer to the value, this macro will be a pointer to a <link linkend="GTK-TYPE-INT--CAPS"><literal>GTK_TYPE_INT</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-RETLOC-UINT--CAPS" role="macro" condition="deprecated:">
<title>GTK_RETLOC_UINT()</title>
<indexterm zone="GTK-RETLOC-UINT--CAPS" role="deprecated"><primary sortas="RETLOC_UINT">GTK_RETLOC_UINT</primary></indexterm><programlisting>#define GTK_RETLOC_UINT(a)	((guint*)	(a).d.pointer_data)
</programlisting>
<warning><para><literal>GTK_RETLOC_UINT</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
If the <link linkend="GtkArg"><type>GtkArg</type></link> contains a pointer to the value, this macro will be a pointer to a <link linkend="GTK-TYPE-UINT--CAPS"><literal>GTK_TYPE_UINT</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-RETLOC-LONG--CAPS" role="macro" condition="deprecated:">
<title>GTK_RETLOC_LONG()</title>
<indexterm zone="GTK-RETLOC-LONG--CAPS" role="deprecated"><primary sortas="RETLOC_LONG">GTK_RETLOC_LONG</primary></indexterm><programlisting>#define GTK_RETLOC_LONG(a)	((glong*)	(a).d.pointer_data)
</programlisting>
<warning><para><literal>GTK_RETLOC_LONG</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
If the <link linkend="GtkArg"><type>GtkArg</type></link> contains a pointer to the value, this macro will be a pointer to a <link linkend="GTK-TYPE-LONG--CAPS"><literal>GTK_TYPE_LONG</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-RETLOC-ULONG--CAPS" role="macro" condition="deprecated:">
<title>GTK_RETLOC_ULONG()</title>
<indexterm zone="GTK-RETLOC-ULONG--CAPS" role="deprecated"><primary sortas="RETLOC_ULONG">GTK_RETLOC_ULONG</primary></indexterm><programlisting>#define GTK_RETLOC_ULONG(a)	((gulong*)	(a).d.pointer_data)
</programlisting>
<warning><para><literal>GTK_RETLOC_ULONG</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
If the <link linkend="GtkArg"><type>GtkArg</type></link> contains a pointer to the value, this macro will be a pointer to a <link linkend="GTK-TYPE-ULONG--CAPS"><literal>GTK_TYPE_ULONG</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-RETLOC-FLOAT--CAPS" role="macro" condition="deprecated:">
<title>GTK_RETLOC_FLOAT()</title>
<indexterm zone="GTK-RETLOC-FLOAT--CAPS" role="deprecated"><primary sortas="RETLOC_FLOAT">GTK_RETLOC_FLOAT</primary></indexterm><programlisting>#define GTK_RETLOC_FLOAT(a)	((gfloat*)	(a).d.pointer_data)
</programlisting>
<warning><para><literal>GTK_RETLOC_FLOAT</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
If the <link linkend="GtkArg"><type>GtkArg</type></link> contains a pointer to the value, this macro will be a pointer to a <link linkend="GTK-TYPE-FLOAT--CAPS"><literal>GTK_TYPE_FLOAT</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-RETLOC-DOUBLE--CAPS" role="macro" condition="deprecated:">
<title>GTK_RETLOC_DOUBLE()</title>
<indexterm zone="GTK-RETLOC-DOUBLE--CAPS" role="deprecated"><primary sortas="RETLOC_DOUBLE">GTK_RETLOC_DOUBLE</primary></indexterm><programlisting>#define GTK_RETLOC_DOUBLE(a)	((gdouble*)	(a).d.pointer_data)
</programlisting>
<warning><para><literal>GTK_RETLOC_DOUBLE</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
If the <link linkend="GtkArg"><type>GtkArg</type></link> contains a pointer to the value, this macro will be a pointer to a <link linkend="GTK-TYPE-DOUBLE--CAPS"><literal>GTK_TYPE_DOUBLE</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-RETLOC-STRING--CAPS" role="macro" condition="deprecated:">
<title>GTK_RETLOC_STRING()</title>
<indexterm zone="GTK-RETLOC-STRING--CAPS" role="deprecated"><primary sortas="RETLOC_STRING">GTK_RETLOC_STRING</primary></indexterm><programlisting>#define GTK_RETLOC_STRING(a)	((gchar**)	(a).d.pointer_data)
</programlisting>
<warning><para><literal>GTK_RETLOC_STRING</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
If the <link linkend="GtkArg"><type>GtkArg</type></link> contains a pointer to the value, this macro will be a pointer to a <link linkend="GTK-TYPE-STRING--CAPS"><literal>GTK_TYPE_STRING</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-RETLOC-ENUM--CAPS" role="macro" condition="deprecated:">
<title>GTK_RETLOC_ENUM()</title>
<indexterm zone="GTK-RETLOC-ENUM--CAPS" role="deprecated"><primary sortas="RETLOC_ENUM">GTK_RETLOC_ENUM</primary></indexterm><programlisting>#define GTK_RETLOC_ENUM(a)	((gint*)	(a).d.pointer_data)
</programlisting>
<warning><para><literal>GTK_RETLOC_ENUM</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
If the <link linkend="GtkArg"><type>GtkArg</type></link> contains a pointer to the value, this macro will be a pointer to a <link linkend="GTK-TYPE-ENUM--CAPS"><literal>GTK_TYPE_ENUM</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-RETLOC-FLAGS--CAPS" role="macro" condition="deprecated:">
<title>GTK_RETLOC_FLAGS()</title>
<indexterm zone="GTK-RETLOC-FLAGS--CAPS" role="deprecated"><primary sortas="RETLOC_FLAGS">GTK_RETLOC_FLAGS</primary></indexterm><programlisting>#define GTK_RETLOC_FLAGS(a)	((guint*)	(a).d.pointer_data)
</programlisting>
<warning><para><literal>GTK_RETLOC_FLAGS</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
If the <link linkend="GtkArg"><type>GtkArg</type></link> contains a pointer to the value, this macro will be a pointer to a <link linkend="GTK-TYPE-FLAGS--CAPS"><literal>GTK_TYPE_FLAGS</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-RETLOC-BOXED--CAPS" role="macro" condition="deprecated:">
<title>GTK_RETLOC_BOXED()</title>
<indexterm zone="GTK-RETLOC-BOXED--CAPS" role="deprecated"><primary sortas="RETLOC_BOXED">GTK_RETLOC_BOXED</primary></indexterm><programlisting>#define GTK_RETLOC_BOXED(a)	((gpointer*)	(a).d.pointer_data)
</programlisting>
<warning><para><literal>GTK_RETLOC_BOXED</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
If the <link linkend="GtkArg"><type>GtkArg</type></link> contains a pointer to the value, this macro will be a pointer to a <link linkend="GTK-TYPE-BOXED--CAPS"><literal>GTK_TYPE_BOXED</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-RETLOC-POINTER--CAPS" role="macro" condition="deprecated:">
<title>GTK_RETLOC_POINTER()</title>
<indexterm zone="GTK-RETLOC-POINTER--CAPS" role="deprecated"><primary sortas="RETLOC_POINTER">GTK_RETLOC_POINTER</primary></indexterm><programlisting>#define GTK_RETLOC_POINTER(a)	((gpointer*)	(a).d.pointer_data)
</programlisting>
<warning><para><literal>GTK_RETLOC_POINTER</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
If the <link linkend="GtkArg"><type>GtkArg</type></link> contains a pointer to the value, this macro will be a pointer to a <link linkend="GTK-TYPE-POINTER--CAPS"><literal>GTK_TYPE_POINTER</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GTK-RETLOC-OBJECT--CAPS" role="macro" condition="deprecated:">
<title>GTK_RETLOC_OBJECT()</title>
<indexterm zone="GTK-RETLOC-OBJECT--CAPS" role="deprecated"><primary sortas="RETLOC_OBJECT">GTK_RETLOC_OBJECT</primary></indexterm><programlisting>#define GTK_RETLOC_OBJECT(a)	((GtkObject**)	(a).d.pointer_data)
</programlisting>
<warning><para><literal>GTK_RETLOC_OBJECT</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
If the <link linkend="GtkArg"><type>GtkArg</type></link> contains a pointer to the value, this macro will be a pointer to a <link linkend="GTK-TYPE-OBJECT--CAPS"><literal>GTK_TYPE_OBJECT</literal></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>a</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkArg"><type>GtkArg</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GtkTypeInfo" role="struct" condition="deprecated:">
<title>GtkTypeInfo</title>
<indexterm zone="GtkTypeInfo" role="deprecated"><primary sortas="TypeInfo">GtkTypeInfo</primary></indexterm><programlisting>typedef struct {
  gchar			*type_name;
  guint			 object_size;
  guint			 class_size;
  GtkClassInitFunc	 class_init_func;
  GtkObjectInitFunc	 object_init_func;
  gpointer		 reserved_1;
  gpointer		 reserved_2;
  GtkClassInitFunc	 base_class_init_func;
} GtkTypeInfo;
</programlisting>
<warning><para><literal>GtkTypeInfo</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Holds information about the type.  <link linkend="gtk-type-name"><function>gtk_type_name()</function></link> returns the name.
<parameter>object_size</parameter> is somehow set to the number of bytes that an instance of
the object will occupy.  <parameter>class_init_func</parameter> holds the type's
initialization function.  <parameter>object_init_func</parameter> holds the initialization
function for an instance of the object.  <parameter>reserved_1</parameter> is used for
<link linkend="GtkEnumValue"><type>GtkEnumValue</type></link> to hold the enumerated values.
</para></refsect2>
<refsect2 id="GtkTypeClass" role="typedef" condition="deprecated:">
<title>GtkTypeClass</title>
<indexterm zone="GtkTypeClass" role="deprecated"><primary sortas="TypeClass">GtkTypeClass</primary></indexterm><programlisting>typedef GTypeClass              GtkTypeClass;
</programlisting>
<warning><para><literal>GtkTypeClass</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
The base structure for a GTK+ type. Every type inherits this as a base structure.
</para></refsect2>
<refsect2 id="GtkEnumValue" role="typedef" condition="deprecated:">
<title>GtkEnumValue</title>
<indexterm zone="GtkEnumValue" role="deprecated"><primary sortas="EnumValue">GtkEnumValue</primary></indexterm><programlisting>typedef GEnumValue  GtkEnumValue;
</programlisting>
<warning><para><literal>GtkEnumValue</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
A structure which contains a single enum value, and its name, and its
nickname.
</para></refsect2>
<refsect2 id="GtkFlagValue" role="typedef" condition="deprecated:">
<title>GtkFlagValue</title>
<indexterm zone="GtkFlagValue" role="deprecated"><primary sortas="FlagValue">GtkFlagValue</primary></indexterm><programlisting>typedef GFlagsValue GtkFlagValue;
</programlisting>
<warning><para><literal>GtkFlagValue</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
</para></refsect2>
<refsect2 id="gtk-type-init" role="function" condition="deprecated:">
<title>gtk_type_init ()</title>
<indexterm zone="gtk-type-init" role="deprecated"><primary sortas="type_init">gtk_type_init</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_type_init                       (<link linkend="GTypeDebugFlags">GTypeDebugFlags</link> debug_flags);</programlisting>
<warning><para><literal>gtk_type_init</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Initializes the data structures associated with GTK+ types.
</para><variablelist role="params">
<varlistentry><term><parameter>debug_flags</parameter>&#160;:</term>
<listitem><simpara>debug flags
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-type-unique" role="function" condition="deprecated:">
<title>gtk_type_unique ()</title>
<indexterm zone="gtk-type-unique" role="deprecated"><primary sortas="type_unique">gtk_type_unique</primary></indexterm><programlisting><link linkend="GtkType">GtkType</link>             gtk_type_unique                     (<link linkend="GtkType">GtkType</link> parent_type,
                                                         const <link linkend="GtkTypeInfo">GtkTypeInfo</link> *gtkinfo);</programlisting>
<warning><para><literal>gtk_type_unique</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Creates a new, unique type.
</para><variablelist role="params">
<varlistentry><term><parameter>parent_type</parameter>&#160;:</term>
<listitem><simpara>if zero, a fundamental type is created
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>gtkinfo</parameter>&#160;:</term>
<listitem><simpara>must not be <link linkend="NULL--CAPS"><literal>NULL</literal></link>, and <parameter>type_info->type_name</parameter> must also not be <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>the new <link linkend="GtkType"><type>GtkType</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-type-name" role="macro" condition="deprecated:">
<title>gtk_type_name()</title>
<indexterm zone="gtk-type-name" role="deprecated"><primary sortas="type_name">gtk_type_name</primary></indexterm><programlisting>#define	gtk_type_name(type)		 g_type_name (type)
</programlisting>
<warning><para><literal>gtk_type_name</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Returns a pointer to the name of a type, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if it has none.
</para><variablelist role="params">
<varlistentry><term><parameter>type</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkType"><type>GtkType</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>a pointer to the name of a type, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if it has none.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-type-from-name" role="macro" condition="deprecated:">
<title>gtk_type_from_name()</title>
<indexterm zone="gtk-type-from-name" role="deprecated"><primary sortas="type_from_name">gtk_type_from_name</primary></indexterm><programlisting>#define	gtk_type_from_name(name)	 g_type_from_name (name)
</programlisting>
<warning><para><literal>gtk_type_from_name</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Gets the internal representation of a type, given its name.
</para><variablelist role="params">
<varlistentry><term><parameter>name</parameter>&#160;:</term>
<listitem><simpara>the name of a GTK+ type
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>a <link linkend="GtkType"><type>GtkType</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-type-parent" role="macro" condition="deprecated:">
<title>gtk_type_parent()</title>
<indexterm zone="gtk-type-parent" role="deprecated"><primary sortas="type_parent">gtk_type_parent</primary></indexterm><programlisting>#define	gtk_type_parent(type)		 g_type_parent (type)
</programlisting>
<warning><para><literal>gtk_type_parent</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Returns the parent type of a <link linkend="GtkType"><type>GtkType</type></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>type</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkType"><type>GtkType</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>the <link linkend="GtkType"><type>GtkType</type></link> of the parent.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-type-class" role="function" condition="deprecated:2.14: Use g_type_class_peek() or g_type_class_ref() instead.">
<title>gtk_type_class ()</title>
<indexterm zone="gtk-type-class" role="deprecated"><primary sortas="type_class">gtk_type_class</primary></indexterm><programlisting><link linkend="gpointer">gpointer</link>            gtk_type_class                      (<link linkend="GtkType">GtkType</link> type);</programlisting>
<warning><para><literal>gtk_type_class</literal> has been deprecated since version 2.14 and should not be used in newly-written code. Use <link linkend="g-type-class-peek"><function>g_type_class_peek()</function></link> or <link linkend="g-type-class-ref"><function>g_type_class_ref()</function></link> instead.</para></warning>
<para>
Returns a pointer pointing to the class of <parameter>type</parameter> or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if there
was any trouble identifying <parameter>type</parameter>.  Initializes the class if
necessary.</para>
<para>
Returns a pointer pointing to the class of <parameter>type</parameter> or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if there was
any trouble identifying <parameter>type</parameter>.  Initializes the class if necessary.
</para><variablelist role="params">
<varlistentry><term><parameter>type</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkType"><type>GtkType</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> pointer to the class.

</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-type-new" role="function" condition="deprecated:">
<title>gtk_type_new ()</title>
<indexterm zone="gtk-type-new" role="deprecated"><primary sortas="type_new">gtk_type_new</primary></indexterm><programlisting><link linkend="gpointer">gpointer</link>            gtk_type_new                        (<link linkend="GtkType">GtkType</link> type);</programlisting>
<warning><para><literal>gtk_type_new</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Creates a new object of a given type, and return a pointer to it.
Returns <link linkend="NULL--CAPS"><literal>NULL</literal></link> if you give it an invalid type.  It allocates the object
out of the type's memory chunk if there is a memory chunk.  The object
has all the proper initializers called.
</para><variablelist role="params">
<varlistentry><term><parameter>type</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkType"><type>GtkType</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>pointer to a <link linkend="GtkTypeObject"><type>GtkTypeObject</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-type-is-a" role="macro" condition="deprecated:">
<title>gtk_type_is_a()</title>
<indexterm zone="gtk-type-is-a" role="deprecated"><primary sortas="type_is_a">gtk_type_is_a</primary></indexterm><programlisting>#define	gtk_type_is_a(type, is_a_type)	 g_type_is_a ((type), (is_a_type))
</programlisting>
<warning><para><literal>gtk_type_is_a</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Looks in the type hierarchy to see if <parameter>type</parameter> has <parameter>is_a_type</parameter> among its
ancestors.  Do so with a simple lookup, not a loop.
</para><variablelist role="params">
<varlistentry><term><parameter>type</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkType"><type>GtkType</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>is_a_type</parameter>&#160;:</term>
<listitem><simpara>another <link linkend="GtkType"><type>GtkType</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>%TRUE if <parameter>type</parameter> is a <parameter>is_a_type</parameter>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-type-enum-get-values" role="function" condition="deprecated:">
<title>gtk_type_enum_get_values ()</title>
<indexterm zone="gtk-type-enum-get-values" role="deprecated"><primary sortas="type_enum_get_values">gtk_type_enum_get_values</primary></indexterm><programlisting><link linkend="GtkEnumValue">GtkEnumValue</link>*       gtk_type_enum_get_values            (<link linkend="GtkType">GtkType</link> enum_type);</programlisting>
<warning><para><literal>gtk_type_enum_get_values</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
If <parameter>enum_type</parameter> has values, then return a pointer to all of them.
</para><variablelist role="params">
<varlistentry><term><parameter>enum_type</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkType"><type>GtkType</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>#GtkEnumValue*
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-type-flags-get-values" role="function" condition="deprecated:">
<title>gtk_type_flags_get_values ()</title>
<indexterm zone="gtk-type-flags-get-values" role="deprecated"><primary sortas="type_flags_get_values">gtk_type_flags_get_values</primary></indexterm><programlisting><link linkend="GtkFlagValue">GtkFlagValue</link>*       gtk_type_flags_get_values           (<link linkend="GtkType">GtkType</link> flags_type);</programlisting>
<warning><para><literal>gtk_type_flags_get_values</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
If <parameter>flags_type</parameter> has values, then return a pointer to all of them.
</para><variablelist role="params">
<varlistentry><term><parameter>flags_type</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkType"><type>GtkType</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>#GtkFlagValue*
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-type-enum-find-value" role="function" condition="deprecated:">
<title>gtk_type_enum_find_value ()</title>
<indexterm zone="gtk-type-enum-find-value" role="deprecated"><primary sortas="type_enum_find_value">gtk_type_enum_find_value</primary></indexterm><programlisting><link linkend="GtkEnumValue">GtkEnumValue</link>*       gtk_type_enum_find_value            (<link linkend="GtkType">GtkType</link> enum_type,
                                                         const <link linkend="gchar">gchar</link> *value_name);</programlisting>
<warning><para><literal>gtk_type_enum_find_value</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Returns a pointer to one of <parameter>enum_type</parameter>'s <link linkend="GtkEnumValues"><type>GtkEnumValues</type></link>'s whose name (or nickname) matches <parameter>value_name</parameter>.
</para><variablelist role="params">
<varlistentry><term><parameter>enum_type</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkType"><type>GtkType</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value_name</parameter>&#160;:</term>
<listitem><simpara>the name to look for.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>#GtkEnumValue*
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-type-flags-find-value" role="function" condition="deprecated:">
<title>gtk_type_flags_find_value ()</title>
<indexterm zone="gtk-type-flags-find-value" role="deprecated"><primary sortas="type_flags_find_value">gtk_type_flags_find_value</primary></indexterm><programlisting><link linkend="GtkFlagValue">GtkFlagValue</link>*       gtk_type_flags_find_value           (<link linkend="GtkType">GtkType</link> flags_type,
                                                         const <link linkend="gchar">gchar</link> *value_name);</programlisting>
<warning><para><literal>gtk_type_flags_find_value</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Returns a pointer to one of <parameter>flag_type</parameter>'s <link linkend="GtkFlagValue"><type>GtkFlagValue</type></link>'s whose name (or nickname) matches <parameter>value_name</parameter>.
</para><variablelist role="params">
<varlistentry><term><parameter>flags_type</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkType"><type>GtkType</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value_name</parameter>&#160;:</term>
<listitem><simpara>the name to look for.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>#GtkFlagValue*
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>




</refentry>
