140
140
<a name="g-action-map-lookup-action"></a><h3>g_action_map_lookup_action ()</h3>
141
141
<pre class="programlisting"><a class="link" href="GAction.html" title="GAction"><span class="returnvalue">GAction</span></a> *
142
142
g_action_map_lookup_action (<em class="parameter"><code><a class="link" href="GActionMap.html" title="GActionMap"><span class="type">GActionMap</span></a> *action_map</code></em>,
143
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *action_name</code></em>);</pre>
143
<em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *action_name</code></em>);</pre>
144
144
<p>Looks up the action with the name <em class="parameter"><code>action_name</code></em>
145
145
in <em class="parameter"><code>action_map</code></em>
147
<p>If no such action exists, returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
147
<p>If no such action exists, returns <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
148
148
<div class="refsect3">
149
149
<a name="id-1.4.22.5.10.2.6"></a><h4>Parameters</h4>
150
150
<div class="informaltable"><table width="100%" border="0">
180
180
<pre class="programlisting"><span class="returnvalue">void</span>
181
181
g_action_map_add_action_entries (<em class="parameter"><code><a class="link" href="GActionMap.html" title="GActionMap"><span class="type">GActionMap</span></a> *action_map</code></em>,
182
182
<em class="parameter"><code>const <a class="link" href="GActionMap.html#GActionEntry" title="struct GActionEntry"><span class="type">GActionEntry</span></a> *entries</code></em>,
183
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n_entries</code></em>,
184
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
183
<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a> n_entries</code></em>,
184
<em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
185
185
<p>A convenience function for creating multiple <a class="link" href="GSimpleAction.html" title="GSimpleAction"><span class="type">GSimpleAction</span></a> instances
186
186
and adding them to a <a class="link" href="GActionMap.html" title="GActionMap"><span class="type">GActionMap</span></a>.</p>
187
187
<p>Each action is constructed as per one <a class="link" href="GActionMap.html#GActionEntry" title="struct GActionEntry"><span class="type">GActionEntry</span></a>.</p>
222
<td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
223
<span class="function">activate_quit</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GSimpleAction</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">simple</span><span class="symbol">,</span>
224
<span class="normal"> </span><span class="usertype">GVariant</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">parameter</span><span class="symbol">,</span>
225
<span class="normal"> </span><span class="usertype">gpointer</span><span class="normal"> user_data</span><span class="symbol">)</span>
226
<span class="cbracket">{</span>
227
<span class="normal"> </span><span class="function">exit</span><span class="normal"> </span><span class="symbol">(</span><span class="number">0</span><span class="symbol">);</span>
228
<span class="cbracket">}</span>
230
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
231
<span class="function">activate_print_string</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GSimpleAction</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">simple</span><span class="symbol">,</span>
232
<span class="normal"> </span><span class="usertype">GVariant</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">parameter</span><span class="symbol">,</span>
233
<span class="normal"> </span><span class="usertype">gpointer</span><span class="normal"> user_data</span><span class="symbol">)</span>
234
<span class="cbracket">{</span>
235
<span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Warnings-and-Assertions.html#g-print">g_print</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"%s</span><span class="specialchar">\n</span><span class="string">"</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#g-variant-get-string">g_variant_get_string</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">parameter</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">));</span>
236
<span class="cbracket">}</span>
238
<span class="keyword">static</span><span class="normal"> <a href="GActionGroup.html">GActionGroup</a> </span><span class="symbol">*</span>
239
<span class="function">create_action_group</span><span class="normal"> </span><span class="symbol">(</span><span class="type">void</span><span class="symbol">)</span>
240
<span class="cbracket">{</span>
241
<span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">GActionEntry</span><span class="normal"> entries</span><span class="symbol">[]</span><span class="normal"> </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span>
242
<span class="normal"> </span><span class="cbracket">{</span><span class="normal"> </span><span class="string">"quit"</span><span class="symbol">,</span><span class="normal"> activate_quit </span><span class="cbracket">}</span><span class="symbol">,</span>
243
<span class="normal"> </span><span class="cbracket">{</span><span class="normal"> </span><span class="string">"print-string"</span><span class="symbol">,</span><span class="normal"> activate_print_string</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"s"</span><span class="normal"> </span><span class="cbracket">}</span>
244
<span class="normal"> </span><span class="cbracket">}</span><span class="symbol">;</span>
245
<span class="normal"> </span><span class="usertype">GSimpleActionGroup</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">group</span><span class="symbol">;</span>
247
<span class="normal"> group </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GSimpleActionGroup.html#g-simple-action-group-new">g_simple_action_group_new</a></span><span class="normal"> </span><span class="symbol">();</span>
248
<span class="normal"> </span><span class="function"><a href="GActionMap.html#g-action-map-add-action-entries">g_action_map_add_action_entries</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">G_ACTION_MAP</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">group</span><span class="symbol">),</span><span class="normal"> entries</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#G-N-ELEMENTS:CAPS">G_N_ELEMENTS</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">entries</span><span class="symbol">),</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
250
<span class="normal"> </span><span class="keyword">return</span><span class="normal"> </span><span class="function">G_ACTION_GROUP</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">group</span><span class="symbol">);</span>
251
<span class="cbracket">}</span></pre></td>
222
<td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static void</span>
223
<span class="function">activate_quit</span> <span class="gtkdoc opt">(</span>GSimpleAction <span class="gtkdoc opt">*</span>simple<span class="gtkdoc opt">,</span>
224
GVariant <span class="gtkdoc opt">*</span>parameter<span class="gtkdoc opt">,</span>
225
gpointer user_data<span class="gtkdoc opt">)</span>
226
<span class="gtkdoc opt">{</span>
227
<span class="function">exit</span> <span class="gtkdoc opt">(</span><span class="number">0</span><span class="gtkdoc opt">);</span>
228
<span class="gtkdoc opt">}</span>
230
<span class="gtkdoc kwb">static void</span>
231
<span class="function">activate_print_string</span> <span class="gtkdoc opt">(</span>GSimpleAction <span class="gtkdoc opt">*</span>simple<span class="gtkdoc opt">,</span>
232
GVariant <span class="gtkdoc opt">*</span>parameter<span class="gtkdoc opt">,</span>
233
gpointer user_data<span class="gtkdoc opt">)</span>
234
<span class="gtkdoc opt">{</span>
235
<span class="function"><a href="../glib/glib-Warnings-and-Assertions.html#g-print">g_print</a></span> <span class="gtkdoc opt">(</span><span class="string">"%s</span><span class="gtkdoc esc">\n</span><span class="string">"</span><span class="gtkdoc opt">,</span> <span class="function"><a href="../glib/glib-GVariant.html#g-variant-get-string">g_variant_get_string</a></span> <span class="gtkdoc opt">(</span>parameter<span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">));</span>
236
<span class="gtkdoc opt">}</span>
238
<span class="gtkdoc kwb">static</span> GActionGroup <span class="gtkdoc opt">*</span>
239
<span class="function">create_action_group</span> <span class="gtkdoc opt">(</span><span class="gtkdoc kwb">void</span><span class="gtkdoc opt">)</span>
240
<span class="gtkdoc opt">{</span>
241
<span class="gtkdoc kwb">const</span> GActionEntry entries<span class="gtkdoc opt">[] = {</span>
242
<span class="gtkdoc opt">{</span> <span class="string">"quit"</span><span class="gtkdoc opt">,</span> activate_quit <span class="gtkdoc opt">},</span>
243
<span class="gtkdoc opt">{</span> <span class="string">"print-string"</span><span class="gtkdoc opt">,</span> activate_print_string<span class="gtkdoc opt">,</span> <span class="string">"s"</span> <span class="gtkdoc opt">}</span>
244
<span class="gtkdoc opt">};</span>
245
GSimpleActionGroup <span class="gtkdoc opt">*</span>group<span class="gtkdoc opt">;</span>
247
group <span class="gtkdoc opt">=</span> <span class="function"><a href="GSimpleActionGroup.html#g-simple-action-group-new">g_simple_action_group_new</a></span> <span class="gtkdoc opt">();</span>
248
<span class="function"><a href="GActionMap.html#g-action-map-add-action-entries">g_action_map_add_action_entries</a></span> <span class="gtkdoc opt">(</span><span class="function">G_ACTION_MAP</span> <span class="gtkdoc opt">(</span>group<span class="gtkdoc opt">),</span> entries<span class="gtkdoc opt">,</span> <span class="function"><a href="../glib/glib-Standard-Macros.html#G-N-ELEMENTS:CAPS">G_N_ELEMENTS</a></span> <span class="gtkdoc opt">(</span>entries<span class="gtkdoc opt">),</span> NULL<span class="gtkdoc opt">);</span>
250
<span class="keyword">return</span> <span class="function">G_ACTION_GROUP</span> <span class="gtkdoc opt">(</span>group<span class="gtkdoc opt">);</span>
251
<span class="gtkdoc opt">}</span></pre></td>
458
<td class="struct_member_name"><p>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GActionEntry.name"></a>name</code></em>;</p></td>
458
<td class="struct_member_name"><p>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GActionEntry.name"></a>name</code></em>;</p></td>
459
459
<td class="struct_member_description"><p>the name of the action</p></td>
460
460
<td class="struct_member_annotations"> </td>
463
463
<td class="struct_member_name"><p><em class="structfield"><code><a name="GActionEntry.activate"></a>activate</code></em> ()</p></td>
464
464
<td class="struct_member_description"><p>the callback to connect to the "activate" signal of the
465
action. Since GLib 2.40, this can be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for stateful
465
action. Since GLib 2.40, this can be <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for stateful
466
466
actions, in which case the default handler is used. For
467
467
boolean-stated actions with no parameter, this is a
468
468
toggle. For other state types (and parameter type equal
472
472
<td class="struct_member_annotations"> </td>
475
<td class="struct_member_name"><p>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GActionEntry.parameter-type"></a>parameter_type</code></em>;</p></td>
475
<td class="struct_member_name"><p>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GActionEntry.parameter-type"></a>parameter_type</code></em>;</p></td>
476
476
<td class="struct_member_description"><p>the type of the parameter that must be passed to the
477
477
activate function for this action, given as a single
478
GVariant type string (or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for no parameter)</p></td>
478
GVariant type string (or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for no parameter)</p></td>
479
479
<td class="struct_member_annotations"> </td>
482
<td class="struct_member_name"><p>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GActionEntry.state"></a>state</code></em>;</p></td>
482
<td class="struct_member_name"><p>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GActionEntry.state"></a>state</code></em>;</p></td>
483
483
<td class="struct_member_description"><p>the initial state for this action, given in
484
<a href="http://library.gnome.org/devel/glib/unstable/gvariant-text.html">GVariant text format</a>. The state is parsed
484
<a href="../glib/gvariant-text.html">GVariant text format</a>. The state is parsed
485
485
with no extra type information, so type tags must be added to
486
486
the string if they are necessary. Stateless actions should
487
give <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> here.</p></td>
487
give <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> here.</p></td>
488
488
<td class="struct_member_annotations"> </td>