1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>ClutterChildMeta</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="Clutter Reference Manual">
8 <link rel="up" href="ch01.html" title="Abstract classes and interfaces">
9 <link rel="prev" href="ClutterContainer.html" title="ClutterContainer">
10 <link rel="next" href="ClutterMedia.html" title="ClutterMedia">
11 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
17 <td><a accesskey="p" href="ClutterContainer.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">Clutter Reference Manual</th>
21 <td><a accesskey="n" href="ClutterMedia.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#ClutterChildMeta.synopsis" class="shortcut">Top</a>
26 <a href="#ClutterChildMeta.description" class="shortcut">Description</a>
28 <a href="#ClutterChildMeta.object-hierarchy" class="shortcut">Object Hierarchy</a>
30 <a href="#ClutterChildMeta.properties" class="shortcut">Properties</a>
33 <div class="refentry">
34 <a name="ClutterChildMeta"></a><div class="titlepage"></div>
35 <div class="refnamediv"><table width="100%"><tr>
37 <h2><span class="refentrytitle"><a name="ClutterChildMeta.top_of_page"></a>ClutterChildMeta</span></h2>
38 <p>ClutterChildMeta — Wrapper for actors inside a container</p>
40 <td valign="top" align="right"></td>
42 <div class="refsynopsisdiv">
43 <a name="ClutterChildMeta.synopsis"></a><h2>Synopsis</h2>
44 <pre class="synopsis"> <a class="link" href="ClutterChildMeta.html#ClutterChildMeta-struct" title="ClutterChildMeta">ClutterChildMeta</a>;
45 struct <a class="link" href="ClutterChildMeta.html#ClutterChildMetaClass" title="struct ClutterChildMetaClass">ClutterChildMetaClass</a>;
46 <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="returnvalue">ClutterContainer</span></a> * <a class="link" href="ClutterChildMeta.html#clutter-child-meta-get-container" title="clutter_child_meta_get_container ()">clutter_child_meta_get_container</a> (<em class="parameter"><code><a class="link" href="ClutterChildMeta.html" title="ClutterChildMeta"><span class="type">ClutterChildMeta</span></a> *data</code></em>);
47 <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="returnvalue">ClutterActor</span></a> * <a class="link" href="ClutterChildMeta.html#clutter-child-meta-get-actor" title="clutter_child_meta_get_actor ()">clutter_child_meta_get_actor</a> (<em class="parameter"><code><a class="link" href="ClutterChildMeta.html" title="ClutterChildMeta"><span class="type">ClutterChildMeta</span></a> *data</code></em>);
50 <div class="refsect1">
51 <a name="ClutterChildMeta.object-hierarchy"></a><h2>Object Hierarchy</h2>
52 <pre class="synopsis">
53 <a href="../gobject/gobject-The-Base-Object-Type.html#GObject">GObject</a>
55 +----<a class="link" href="ClutterLayoutMeta.html" title="ClutterLayoutMeta">ClutterLayoutMeta</a>
58 <div class="refsect1">
59 <a name="ClutterChildMeta.properties"></a><h2>Properties</h2>
60 <pre class="synopsis">
61 "<a class="link" href="ClutterChildMeta.html#ClutterChildMeta--actor" title='The "actor" property'>actor</a>" <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>* : Read / Write / Construct Only
62 "<a class="link" href="ClutterChildMeta.html#ClutterChildMeta--container" title='The "container" property'>container</a>" <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a>* : Read / Write / Construct Only
65 <div class="refsect1">
66 <a name="ClutterChildMeta.description"></a><h2>Description</h2>
68 <a class="link" href="ClutterChildMeta.html" title="ClutterChildMeta"><span class="type">ClutterChildMeta</span></a> is a wrapper object created by <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a>
69 implementations in order to store child-specific data and properties.
72 A <a class="link" href="ClutterChildMeta.html" title="ClutterChildMeta"><span class="type">ClutterChildMeta</span></a> wraps a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> inside a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a>.
75 <a class="link" href="ClutterChildMeta.html" title="ClutterChildMeta"><span class="type">ClutterChildMeta</span></a> is available since Clutter 0.8
78 <div class="refsect1">
79 <a name="ClutterChildMeta.details"></a><h2>Details</h2>
80 <div class="refsect2">
81 <a name="ClutterChildMeta-struct"></a><h3>ClutterChildMeta</h3>
82 <pre class="programlisting">typedef struct {
83 ClutterContainer *container;
88 Base interface for container specific state for child actors. A child
89 data is meant to be used when you need to keep track of information
90 about each individual child added to a container.
93 In order to use it you should create your own subclass of
94 <a class="link" href="ClutterChildMeta.html" title="ClutterChildMeta"><span class="type">ClutterChildMeta</span></a> and set the <a class="link" href="ClutterContainer.html#ClutterContainerIface" title="struct ClutterContainerIface"><span class="type">ClutterContainerIface</span></a> child_meta_type
95 interface member to your subclass type, like:
99 <div class="informalexample">
100 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
103 <td class="listing_lines" align="right"><pre>1
110 <td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
111 <span class="function">my_container_iface_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">ClutterContainerIface</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">iface</span><span class="symbol">)</span>
112 <span class="cbracket">{</span>
113 <span class="normal"> </span><span class="comment">/* set the rest of the <a class="link" href="ClutterContainer.html" title="ClutterContainer">ClutterContainer</a> vtable */</span>
115 <span class="normal"> container_iface</span><span class="symbol">-></span><span class="normal">child_meta_type </span><span class="symbol">=</span><span class="normal"> MY_TYPE_CHILD_META</span><span class="symbol">;</span>
116 <span class="cbracket">}</span></pre></td>
125 This will automatically create a <a class="link" href="ClutterChildMeta.html" title="ClutterChildMeta"><span class="type">ClutterChildMeta</span></a> of type
126 MY_TYPE_CHILD_META for every actor that is added to the container.
129 The child data for an actor can be retrieved using the
130 <a class="link" href="ClutterContainer.html#clutter-container-get-child-meta" title="clutter_container_get_child_meta ()"><code class="function">clutter_container_get_child_meta()</code></a> function.
133 The properties of the data and your subclass can be manipulated with
134 <a class="link" href="ClutterContainer.html#clutter-container-child-set" title="clutter_container_child_set ()"><code class="function">clutter_container_child_set()</code></a> and <a class="link" href="ClutterContainer.html#clutter-container-child-get" title="clutter_container_child_get ()"><code class="function">clutter_container_child_get()</code></a> which
135 act like <a href="../gobject/gobject-The-Base-Object-Type.html#g-object-set"><code class="function">g_object_set()</code></a> and <a href="../gobject/gobject-The-Base-Object-Type.html#g-object-get"><code class="function">g_object_get()</code></a>.
138 You can provide hooks for your own storage as well as control the
139 instantiation by overriding the <a class="link" href="ClutterContainer.html#ClutterContainerIface" title="struct ClutterContainerIface"><span class="type">ClutterContainerIface</span></a> virtual functions
140 <code class="function">create_child_meta</code>,
141 <code class="function">destroy_child_meta</code>,
142 and <code class="function">get_child_meta</code>.
144 <div class="variablelist"><table border="0">
145 <col align="left" valign="top">
148 <td><p><span class="term"><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> *<em class="structfield"><code><a name="ClutterChildMeta-struct.container"></a>container</code></em>;</span></p></td>
149 <td>the container handling this data</td>
152 <td><p><span class="term"><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> *<em class="structfield"><code><a name="ClutterChildMeta-struct.actor"></a>actor</code></em>;</span></p></td>
153 <td>the actor wrapped by this data</td>
157 <p class="since">Since 0.8</p>
160 <div class="refsect2">
161 <a name="ClutterChildMetaClass"></a><h3>struct ClutterChildMetaClass</h3>
162 <pre class="programlisting">struct ClutterChildMetaClass {
166 The <a class="link" href="ClutterChildMeta.html#ClutterChildMetaClass" title="struct ClutterChildMetaClass"><span class="type">ClutterChildMetaClass</span></a> contains only private data
168 <p class="since">Since 0.8</p>
171 <div class="refsect2">
172 <a name="clutter-child-meta-get-container"></a><h3>clutter_child_meta_get_container ()</h3>
173 <pre class="programlisting"><a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="returnvalue">ClutterContainer</span></a> * clutter_child_meta_get_container (<em class="parameter"><code><a class="link" href="ClutterChildMeta.html" title="ClutterChildMeta"><span class="type">ClutterChildMeta</span></a> *data</code></em>);</pre>
175 Retrieves the container using <em class="parameter"><code>data</code></em>
177 <div class="variablelist"><table border="0">
178 <col align="left" valign="top">
181 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
182 <td>a <a class="link" href="ClutterChildMeta.html" title="ClutterChildMeta"><span class="type">ClutterChildMeta</span></a>
186 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
187 <td>a <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
192 <p class="since">Since 0.8</p>
195 <div class="refsect2">
196 <a name="clutter-child-meta-get-actor"></a><h3>clutter_child_meta_get_actor ()</h3>
197 <pre class="programlisting"><a class="link" href="ClutterActor.html" title="ClutterActor"><span class="returnvalue">ClutterActor</span></a> * clutter_child_meta_get_actor (<em class="parameter"><code><a class="link" href="ClutterChildMeta.html" title="ClutterChildMeta"><span class="type">ClutterChildMeta</span></a> *data</code></em>);</pre>
199 Retrieves the actor wrapped by <em class="parameter"><code>data</code></em>
201 <div class="variablelist"><table border="0">
202 <col align="left" valign="top">
205 <td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
206 <td>a <a class="link" href="ClutterChildMeta.html" title="ClutterChildMeta"><span class="type">ClutterChildMeta</span></a>
210 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
211 <td>a <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
216 <p class="since">Since 0.8</p>
219 <div class="refsect1">
220 <a name="ClutterChildMeta.property-details"></a><h2>Property Details</h2>
221 <div class="refsect2">
222 <a name="ClutterChildMeta--actor"></a><h3>The <code class="literal">"actor"</code> property</h3>
223 <pre class="programlisting"> "actor" <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a>* : Read / Write / Construct Only</pre>
225 The <a class="link" href="ClutterActor.html" title="ClutterActor"><span class="type">ClutterActor</span></a> being wrapped by this <a class="link" href="ClutterChildMeta.html" title="ClutterChildMeta"><span class="type">ClutterChildMeta</span></a>
227 <p class="since">Since 0.8</p>
230 <div class="refsect2">
231 <a name="ClutterChildMeta--container"></a><h3>The <code class="literal">"container"</code> property</h3>
232 <pre class="programlisting"> "container" <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a>* : Read / Write / Construct Only</pre>
234 The <a class="link" href="ClutterContainer.html" title="ClutterContainer"><span class="type">ClutterContainer</span></a> that created this <a class="link" href="ClutterChildMeta.html" title="ClutterChildMeta"><span class="type">ClutterChildMeta</span></a>.
236 <p class="since">Since 0.8</p>
242 Generated by GTK-Doc V1.18.1</div>