919 lines
66 KiB
HTML
919 lines
66 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||
<html>
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||
<title>GtkActivatable: GTK+ 3 Reference Manual</title>
|
||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
|
||
<link rel="home" href="index.html" title="GTK+ 3 Reference Manual">
|
||
<link rel="up" href="DeprecatedObjects.html" title="Deprecated">
|
||
<link rel="prev" href="GtkRecentAction.html" title="GtkRecentAction">
|
||
<link rel="next" href="GtkImageMenuItem.html" title="GtkImageMenuItem">
|
||
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
|
||
<link rel="stylesheet" href="style.css" type="text/css">
|
||
</head>
|
||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
|
||
<td width="100%" align="left" class="shortcuts">
|
||
<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
|
||
<a href="#GtkActivatable.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span>
|
||
<a href="#GtkActivatable.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites"> <span class="dim">|</span>
|
||
<a href="#GtkActivatable.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations"> <span class="dim">|</span>
|
||
<a href="#GtkActivatable.implementations" class="shortcut">Known Implementations</a></span><span id="nav_properties"> <span class="dim">|</span>
|
||
<a href="#GtkActivatable.properties" class="shortcut">Properties</a></span>
|
||
</td>
|
||
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
|
||
<td><a accesskey="u" href="DeprecatedObjects.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
|
||
<td><a accesskey="p" href="GtkRecentAction.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
|
||
<td><a accesskey="n" href="GtkImageMenuItem.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
|
||
</tr></table>
|
||
<div class="refentry">
|
||
<a name="GtkActivatable"></a><div class="titlepage"></div>
|
||
<div class="refnamediv"><table width="100%"><tr>
|
||
<td valign="top">
|
||
<h2><span class="refentrytitle"><a name="GtkActivatable.top_of_page"></a>GtkActivatable</span></h2>
|
||
<p>GtkActivatable — An interface for activatable widgets</p>
|
||
</td>
|
||
<td class="gallery_image" valign="top" align="right"></td>
|
||
</tr></table></div>
|
||
<div class="refsect1">
|
||
<a name="GtkActivatable.functions"></a><h2>Functions</h2>
|
||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||
<colgroup>
|
||
<col width="150px" class="functions_return">
|
||
<col class="functions_name">
|
||
</colgroup>
|
||
<tbody>
|
||
<tr>
|
||
<td class="function_type">
|
||
<span class="returnvalue">void</span>
|
||
</td>
|
||
<td class="function_name">
|
||
<a class="link" href="GtkActivatable.html#gtk-activatable-do-set-related-action" title="gtk_activatable_do_set_related_action ()">gtk_activatable_do_set_related_action</a> <span class="c_punctuation">()</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="function_type">
|
||
<a class="link" href="GtkAction.html" title="GtkAction"><span class="returnvalue">GtkAction</span></a> *
|
||
</td>
|
||
<td class="function_name">
|
||
<a class="link" href="GtkActivatable.html#gtk-activatable-get-related-action" title="gtk_activatable_get_related_action ()">gtk_activatable_get_related_action</a> <span class="c_punctuation">()</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="function_type">
|
||
<span class="returnvalue">gboolean</span>
|
||
</td>
|
||
<td class="function_name">
|
||
<a class="link" href="GtkActivatable.html#gtk-activatable-get-use-action-appearance" title="gtk_activatable_get_use_action_appearance ()">gtk_activatable_get_use_action_appearance</a> <span class="c_punctuation">()</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="function_type">
|
||
<span class="returnvalue">void</span>
|
||
</td>
|
||
<td class="function_name">
|
||
<a class="link" href="GtkActivatable.html#gtk-activatable-sync-action-properties" title="gtk_activatable_sync_action_properties ()">gtk_activatable_sync_action_properties</a> <span class="c_punctuation">()</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="function_type">
|
||
<span class="returnvalue">void</span>
|
||
</td>
|
||
<td class="function_name">
|
||
<a class="link" href="GtkActivatable.html#gtk-activatable-set-related-action" title="gtk_activatable_set_related_action ()">gtk_activatable_set_related_action</a> <span class="c_punctuation">()</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="function_type">
|
||
<span class="returnvalue">void</span>
|
||
</td>
|
||
<td class="function_name">
|
||
<a class="link" href="GtkActivatable.html#gtk-activatable-set-use-action-appearance" title="gtk_activatable_set_use_action_appearance ()">gtk_activatable_set_use_action_appearance</a> <span class="c_punctuation">()</span>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table></div>
|
||
</div>
|
||
<div class="refsect1">
|
||
<a name="GtkActivatable.properties"></a><h2>Properties</h2>
|
||
<div class="informaltable"><table class="informaltable" border="0">
|
||
<colgroup>
|
||
<col width="150px" class="properties_type">
|
||
<col width="300px" class="properties_name">
|
||
<col width="200px" class="properties_flags">
|
||
</colgroup>
|
||
<tbody>
|
||
<tr>
|
||
<td class="property_type">
|
||
<a class="link" href="GtkAction.html" title="GtkAction"><span class="type">GtkAction</span></a> *</td>
|
||
<td class="property_name"><a class="link" href="GtkActivatable.html#GtkActivatable--related-action" title="The “related-action” property">related-action</a></td>
|
||
<td class="property_flags">Read / Write</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="property_type"><span class="type">gboolean</span></td>
|
||
<td class="property_name"><a class="link" href="GtkActivatable.html#GtkActivatable--use-action-appearance" title="The “use-action-appearance” property">use-action-appearance</a></td>
|
||
<td class="property_flags">Read / Write</td>
|
||
</tr>
|
||
</tbody>
|
||
</table></div>
|
||
</div>
|
||
<div class="refsect1">
|
||
<a name="GtkActivatable.other"></a><h2>Types and Values</h2>
|
||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||
<colgroup>
|
||
<col width="150px" class="name">
|
||
<col class="description">
|
||
</colgroup>
|
||
<tbody>
|
||
<tr>
|
||
<td class="datatype_keyword"> </td>
|
||
<td class="function_name"><a class="link" href="GtkActivatable.html#GtkActivatable-struct" title="GtkActivatable">GtkActivatable</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="datatype_keyword">struct</td>
|
||
<td class="function_name"><a class="link" href="GtkActivatable.html#GtkActivatableIface" title="struct GtkActivatableIface">GtkActivatableIface</a></td>
|
||
</tr>
|
||
</tbody>
|
||
</table></div>
|
||
</div>
|
||
<div class="refsect1">
|
||
<a name="GtkActivatable.object-hierarchy"></a><h2>Object Hierarchy</h2>
|
||
<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
|
||
<span class="lineart">╰──</span> GtkActivatable
|
||
</pre>
|
||
</div>
|
||
<div class="refsect1">
|
||
<a name="GtkActivatable.prerequisites"></a><h2>Prerequisites</h2>
|
||
<p>
|
||
GtkActivatable requires
|
||
GObject.</p>
|
||
</div>
|
||
<div class="refsect1">
|
||
<a name="GtkActivatable.implementations"></a><h2>Known Implementations</h2>
|
||
<p>
|
||
GtkActivatable is implemented by
|
||
<a class="link" href="GtkButton.html" title="GtkButton">GtkButton</a>, <a class="link" href="GtkCheckButton.html" title="GtkCheckButton">GtkCheckButton</a>, <a class="link" href="GtkCheckMenuItem.html" title="GtkCheckMenuItem">GtkCheckMenuItem</a>, <a class="link" href="GtkColorButton.html" title="GtkColorButton">GtkColorButton</a>, <a class="link" href="GtkFontButton.html" title="GtkFontButton">GtkFontButton</a>, <a class="link" href="GtkImageMenuItem.html" title="GtkImageMenuItem">GtkImageMenuItem</a>, <a class="link" href="GtkLinkButton.html" title="GtkLinkButton">GtkLinkButton</a>, <a class="link" href="GtkLockButton.html" title="GtkLockButton">GtkLockButton</a>, <a class="link" href="GtkMenuButton.html" title="GtkMenuButton">GtkMenuButton</a>, <a class="link" href="GtkMenuItem.html" title="GtkMenuItem">GtkMenuItem</a>, <a class="link" href="GtkMenuToolButton.html" title="GtkMenuToolButton">GtkMenuToolButton</a>, <a class="link" href="GtkModelButton.html" title="GtkModelButton">GtkModelButton</a>, <a class="link" href="GtkRadioButton.html" title="GtkRadioButton">GtkRadioButton</a>, <a class="link" href="GtkRadioMenuItem.html" title="GtkRadioMenuItem">GtkRadioMenuItem</a>, <a class="link" href="GtkRadioToolButton.html" title="GtkRadioToolButton">GtkRadioToolButton</a>, <a class="link" href="GtkRecentChooserMenu.html" title="GtkRecentChooserMenu">GtkRecentChooserMenu</a>, <a class="link" href="GtkScaleButton.html" title="GtkScaleButton">GtkScaleButton</a>, <a class="link" href="GtkSeparatorMenuItem.html" title="GtkSeparatorMenuItem">GtkSeparatorMenuItem</a>, <a class="link" href="GtkSeparatorToolItem.html" title="GtkSeparatorToolItem">GtkSeparatorToolItem</a>, <a class="link" href="GtkSwitch.html" title="GtkSwitch">GtkSwitch</a>, <a class="link" href="GtkTearoffMenuItem.html" title="GtkTearoffMenuItem">GtkTearoffMenuItem</a>, <a class="link" href="GtkToggleButton.html" title="GtkToggleButton">GtkToggleButton</a>, <a class="link" href="GtkToggleToolButton.html" title="GtkToggleToolButton">GtkToggleToolButton</a>, <a class="link" href="GtkToolButton.html" title="GtkToolButton">GtkToolButton</a>, <a class="link" href="GtkToolItem.html" title="GtkToolItem">GtkToolItem</a> and <a class="link" href="GtkVolumeButton.html" title="GtkVolumeButton">GtkVolumeButton</a>.</p>
|
||
</div>
|
||
<div class="refsect1">
|
||
<a name="GtkActivatable.includes"></a><h2>Includes</h2>
|
||
<pre class="synopsis">#include <gtk/gtk.h>
|
||
</pre>
|
||
</div>
|
||
<div class="refsect1">
|
||
<a name="GtkActivatable.description"></a><h2>Description</h2>
|
||
<p>Activatable widgets can be connected to a <a class="link" href="GtkAction.html" title="GtkAction"><span class="type">GtkAction</span></a> and reflects
|
||
the state of its action. A <a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a> can also provide feedback
|
||
through its action, as they are responsible for activating their
|
||
related actions.</p>
|
||
<div class="refsect2">
|
||
<a name="id-1.3.25.31.10.3"></a><h3>Implementing GtkActivatable</h3>
|
||
<p>When extending a class that is already <a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a>; it is only
|
||
necessary to implement the <a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a>-><code class="function">sync_action_properties()</code>
|
||
and <a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a>-><code class="function">update()</code> methods and chain up to the parent
|
||
implementation, however when introducing
|
||
a new <a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a> class; the <a class="link" href="GtkActivatable.html#GtkActivatable--related-action" title="The “related-action” property"><span class="type">“related-action”</span></a> and
|
||
<a class="link" href="GtkActivatable.html#GtkActivatable--use-action-appearance" title="The “use-action-appearance” property"><span class="type">“use-action-appearance”</span></a> properties need to be handled by
|
||
the implementor. Handling these properties is mostly a matter of installing
|
||
the action pointer and boolean flag on your instance, and calling
|
||
<a class="link" href="GtkActivatable.html#gtk-activatable-do-set-related-action" title="gtk_activatable_do_set_related_action ()"><code class="function">gtk_activatable_do_set_related_action()</code></a> and
|
||
<a class="link" href="GtkActivatable.html#gtk-activatable-sync-action-properties" title="gtk_activatable_sync_action_properties ()"><code class="function">gtk_activatable_sync_action_properties()</code></a> at the appropriate times.</p>
|
||
<div class="refsect3">
|
||
<a name="id-1.3.25.31.10.3.3"></a><h4>A class fragment implementing <a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a>
|
||
</h4>
|
||
<div class="informalexample">
|
||
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
|
||
<tbody>
|
||
<tr>
|
||
<td class="listing_lines" align="right"><pre>1
|
||
2
|
||
3
|
||
4
|
||
5
|
||
6
|
||
7
|
||
8
|
||
9
|
||
10
|
||
11
|
||
12
|
||
13
|
||
14
|
||
15
|
||
16
|
||
17
|
||
18
|
||
19
|
||
20
|
||
21
|
||
22
|
||
23
|
||
24
|
||
25
|
||
26
|
||
27
|
||
28
|
||
29
|
||
30
|
||
31
|
||
32
|
||
33
|
||
34
|
||
35
|
||
36
|
||
37
|
||
38
|
||
39
|
||
40
|
||
41
|
||
42
|
||
43
|
||
44
|
||
45
|
||
46
|
||
47
|
||
48
|
||
49
|
||
50
|
||
51
|
||
52
|
||
53
|
||
54
|
||
55
|
||
56
|
||
57
|
||
58
|
||
59
|
||
60
|
||
61
|
||
62
|
||
63
|
||
64
|
||
65
|
||
66
|
||
67
|
||
68
|
||
69
|
||
70
|
||
71
|
||
72
|
||
73
|
||
74
|
||
75
|
||
76
|
||
77
|
||
78
|
||
79
|
||
80
|
||
81
|
||
82
|
||
83
|
||
84
|
||
85
|
||
86
|
||
87
|
||
88
|
||
89
|
||
90
|
||
91
|
||
92
|
||
93
|
||
94
|
||
95
|
||
96
|
||
97
|
||
98
|
||
99
|
||
100
|
||
101
|
||
102
|
||
103
|
||
104
|
||
105
|
||
106
|
||
107
|
||
108
|
||
109
|
||
110
|
||
111
|
||
112
|
||
113
|
||
114
|
||
115
|
||
116
|
||
117
|
||
118
|
||
119
|
||
120
|
||
121
|
||
122
|
||
123
|
||
124
|
||
125
|
||
126
|
||
127
|
||
128
|
||
129
|
||
130
|
||
131
|
||
132
|
||
133
|
||
134
|
||
135
|
||
136
|
||
137
|
||
138
|
||
139
|
||
140
|
||
141
|
||
142
|
||
143
|
||
144
|
||
145
|
||
146
|
||
147
|
||
148
|
||
149
|
||
150
|
||
151
|
||
152
|
||
153
|
||
154
|
||
155
|
||
156
|
||
157
|
||
158
|
||
159
|
||
160
|
||
161
|
||
162
|
||
163
|
||
164
|
||
165
|
||
166
|
||
167
|
||
168
|
||
169
|
||
170
|
||
171
|
||
172
|
||
173
|
||
174
|
||
175
|
||
176
|
||
177
|
||
178
|
||
179
|
||
180
|
||
181
|
||
182
|
||
183
|
||
184
|
||
185
|
||
186
|
||
187
|
||
188
|
||
189
|
||
190
|
||
191
|
||
192
|
||
193
|
||
194
|
||
195
|
||
196
|
||
197
|
||
198
|
||
199
|
||
200
|
||
201
|
||
202
|
||
203
|
||
204
|
||
205
|
||
206
|
||
207
|
||
208
|
||
209
|
||
210
|
||
211</pre></td>
|
||
<td class="listing_code"><pre class="programlisting"><span class="keyword">enum</span><span class="normal"> </span><span class="cbracket">{</span>
|
||
<span class="symbol">...</span>
|
||
|
||
<span class="normal">PROP_ACTIVATABLE_RELATED_ACTION</span><span class="symbol">,</span>
|
||
<span class="normal">PROP_ACTIVATABLE_USE_ACTION_APPEARANCE</span>
|
||
<span class="cbracket">}</span>
|
||
|
||
<span class="keyword">struct</span><span class="normal"> </span><span class="classname">_FooBarPrivate</span>
|
||
<span class="cbracket">{</span>
|
||
|
||
<span class="normal"> </span><span class="symbol">...</span>
|
||
|
||
<span class="normal"> </span><span class="usertype">GtkAction</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">action</span><span class="symbol">;</span>
|
||
<span class="normal"> </span><span class="usertype">gboolean</span><span class="normal"> use_action_appearance</span><span class="symbol">;</span>
|
||
<span class="cbracket">}</span><span class="symbol">;</span>
|
||
|
||
<span class="symbol">...</span>
|
||
|
||
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span><span class="normal"> </span><span class="function">foo_bar_activatable_interface_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkActivatableIface</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">iface</span><span class="symbol">);</span>
|
||
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span><span class="normal"> </span><span class="function">foo_bar_activatable_update</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkActivatable</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">activatable</span><span class="symbol">,</span>
|
||
<span class="normal"> </span><span class="usertype">GtkAction</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">action</span><span class="symbol">,</span>
|
||
<span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">property_name</span><span class="symbol">);</span>
|
||
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span><span class="normal"> </span><span class="function">foo_bar_activatable_sync_action_properties</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkActivatable</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">activatable</span><span class="symbol">,</span>
|
||
<span class="normal"> </span><span class="usertype">GtkAction</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">action</span><span class="symbol">);</span>
|
||
<span class="symbol">...</span>
|
||
|
||
|
||
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
|
||
<span class="function">foo_bar_class_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">FooBarClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">klass</span><span class="symbol">)</span>
|
||
<span class="cbracket">{</span>
|
||
|
||
<span class="normal"> </span><span class="symbol">...</span>
|
||
|
||
<span class="normal"> </span><span class="function">g_object_class_override_property</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">gobject_class</span><span class="symbol">,</span><span class="normal"> PROP_ACTIVATABLE_RELATED_ACTION</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"related-action"</span><span class="symbol">);</span>
|
||
<span class="normal"> </span><span class="function">g_object_class_override_property</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">gobject_class</span><span class="symbol">,</span><span class="normal"> PROP_ACTIVATABLE_USE_ACTION_APPEARANCE</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"use-action-appearance"</span><span class="symbol">);</span>
|
||
|
||
<span class="normal"> </span><span class="symbol">...</span>
|
||
<span class="cbracket">}</span>
|
||
|
||
|
||
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
|
||
<span class="function">foo_bar_activatable_interface_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkActivatableIface</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">iface</span><span class="symbol">)</span>
|
||
<span class="cbracket">{</span>
|
||
<span class="normal"> iface</span><span class="symbol">-></span><span class="normal">update </span><span class="symbol">=</span><span class="normal"> foo_bar_activatable_update</span><span class="symbol">;</span>
|
||
<span class="normal"> iface</span><span class="symbol">-></span><span class="normal">sync_action_properties </span><span class="symbol">=</span><span class="normal"> foo_bar_activatable_sync_action_properties</span><span class="symbol">;</span>
|
||
<span class="cbracket">}</span>
|
||
|
||
<span class="symbol">...</span><span class="normal"> Break the reference </span><span class="usertype">using</span><span class="normal"> </span><span class="function"><a href="GtkActivatable.html#gtk-activatable-do-set-related-action">gtk_activatable_do_set_related_action</a></span><span class="symbol">()...</span>
|
||
|
||
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span><span class="normal"> </span>
|
||
<span class="function">foo_bar_dispose</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GObject</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">object</span><span class="symbol">)</span>
|
||
<span class="cbracket">{</span>
|
||
<span class="normal"> </span><span class="usertype">FooBar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">bar </span><span class="symbol">=</span><span class="normal"> </span><span class="function">FOO_BAR</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">);</span>
|
||
<span class="normal"> </span><span class="usertype">FooBarPrivate</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">priv </span><span class="symbol">=</span><span class="normal"> </span><span class="function">FOO_BAR_GET_PRIVATE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">bar</span><span class="symbol">);</span>
|
||
|
||
<span class="normal"> </span><span class="symbol">...</span>
|
||
|
||
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">priv</span><span class="symbol">-></span><span class="normal">action</span><span class="symbol">)</span>
|
||
<span class="normal"> </span><span class="cbracket">{</span>
|
||
<span class="normal"> </span><span class="function"><a href="GtkActivatable.html#gtk-activatable-do-set-related-action">gtk_activatable_do_set_related_action</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_ACTIVATABLE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">bar</span><span class="symbol">),</span><span class="normal"> NULL</span><span class="symbol">);</span>
|
||
<span class="normal"> priv</span><span class="symbol">-></span><span class="normal">action </span><span class="symbol">=</span><span class="normal"> NULL</span><span class="symbol">;</span>
|
||
<span class="normal"> </span><span class="cbracket">}</span>
|
||
<span class="normal"> </span><span class="function">G_OBJECT_CLASS</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">foo_bar_parent_class</span><span class="symbol">)-></span><span class="function">dispose</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">);</span>
|
||
<span class="cbracket">}</span>
|
||
|
||
<span class="symbol">...</span><span class="normal"> Handle the “related</span><span class="symbol">-</span><span class="normal">action” and “use</span><span class="symbol">-</span><span class="normal">action</span><span class="symbol">-</span><span class="usertype">appearance”</span><span class="normal"> properties </span><span class="symbol">...</span>
|
||
|
||
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
|
||
<span class="function">foo_bar_set_property</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GObject</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">object</span><span class="symbol">,</span>
|
||
<span class="normal"> </span><span class="usertype">guint</span><span class="normal"> prop_id</span><span class="symbol">,</span>
|
||
<span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">GValue</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">value</span><span class="symbol">,</span>
|
||
<span class="normal"> </span><span class="usertype">GParamSpec</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">pspec</span><span class="symbol">)</span>
|
||
<span class="cbracket">{</span>
|
||
<span class="normal"> </span><span class="usertype">FooBar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">bar </span><span class="symbol">=</span><span class="normal"> </span><span class="function">FOO_BAR</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">);</span>
|
||
<span class="normal"> </span><span class="usertype">FooBarPrivate</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">priv </span><span class="symbol">=</span><span class="normal"> </span><span class="function">FOO_BAR_GET_PRIVATE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">bar</span><span class="symbol">);</span>
|
||
|
||
<span class="normal"> </span><span class="keyword">switch</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">prop_id</span><span class="symbol">)</span>
|
||
<span class="normal"> </span><span class="cbracket">{</span>
|
||
|
||
<span class="normal"> </span><span class="symbol">...</span>
|
||
|
||
<span class="normal"> </span><span class="keyword">case</span><span class="normal"> PROP_ACTIVATABLE_RELATED_ACTION</span><span class="symbol">:</span>
|
||
<span class="normal"> </span><span class="function">foo_bar_set_related_action</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">bar</span><span class="symbol">,</span><span class="normal"> </span><span class="function">g_value_get_object</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">value</span><span class="symbol">));</span>
|
||
<span class="normal"> </span><span class="keyword">break</span><span class="symbol">;</span>
|
||
<span class="normal"> </span><span class="keyword">case</span><span class="normal"> PROP_ACTIVATABLE_USE_ACTION_APPEARANCE</span><span class="symbol">:</span>
|
||
<span class="normal"> </span><span class="function">foo_bar_set_use_action_appearance</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">bar</span><span class="symbol">,</span><span class="normal"> </span><span class="function">g_value_get_boolean</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">value</span><span class="symbol">));</span>
|
||
<span class="normal"> </span><span class="keyword">break</span><span class="symbol">;</span>
|
||
<span class="label"> default:</span>
|
||
<span class="normal"> </span><span class="function">G_OBJECT_WARN_INVALID_PROPERTY_ID</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">,</span><span class="normal"> prop_id</span><span class="symbol">,</span><span class="normal"> pspec</span><span class="symbol">);</span>
|
||
<span class="normal"> </span><span class="keyword">break</span><span class="symbol">;</span>
|
||
<span class="normal"> </span><span class="cbracket">}</span>
|
||
<span class="cbracket">}</span>
|
||
|
||
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
|
||
<span class="function">foo_bar_get_property</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GObject</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">object</span><span class="symbol">,</span>
|
||
<span class="normal"> </span><span class="usertype">guint</span><span class="normal"> prop_id</span><span class="symbol">,</span>
|
||
<span class="normal"> </span><span class="usertype">GValue</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">value</span><span class="symbol">,</span>
|
||
<span class="normal"> </span><span class="usertype">GParamSpec</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">pspec</span><span class="symbol">)</span>
|
||
<span class="cbracket">{</span>
|
||
<span class="normal"> </span><span class="usertype">FooBar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">bar </span><span class="symbol">=</span><span class="normal"> </span><span class="function">FOO_BAR</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">);</span>
|
||
<span class="normal"> </span><span class="usertype">FooBarPrivate</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">priv </span><span class="symbol">=</span><span class="normal"> </span><span class="function">FOO_BAR_GET_PRIVATE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">bar</span><span class="symbol">);</span>
|
||
|
||
<span class="normal"> </span><span class="keyword">switch</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">prop_id</span><span class="symbol">)</span>
|
||
<span class="normal"> </span><span class="cbracket">{</span><span class="normal"> </span>
|
||
|
||
<span class="normal"> </span><span class="symbol">...</span>
|
||
|
||
<span class="normal"> </span><span class="keyword">case</span><span class="normal"> PROP_ACTIVATABLE_RELATED_ACTION</span><span class="symbol">:</span>
|
||
<span class="normal"> </span><span class="function">g_value_set_object</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">value</span><span class="symbol">,</span><span class="normal"> priv</span><span class="symbol">-></span><span class="normal">action</span><span class="symbol">);</span>
|
||
<span class="normal"> </span><span class="keyword">break</span><span class="symbol">;</span>
|
||
<span class="normal"> </span><span class="keyword">case</span><span class="normal"> PROP_ACTIVATABLE_USE_ACTION_APPEARANCE</span><span class="symbol">:</span>
|
||
<span class="normal"> </span><span class="function">g_value_set_boolean</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">value</span><span class="symbol">,</span><span class="normal"> priv</span><span class="symbol">-></span><span class="normal">use_action_appearance</span><span class="symbol">);</span>
|
||
<span class="normal"> </span><span class="keyword">break</span><span class="symbol">;</span>
|
||
<span class="label"> default:</span>
|
||
<span class="normal"> </span><span class="function">G_OBJECT_WARN_INVALID_PROPERTY_ID</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">,</span><span class="normal"> prop_id</span><span class="symbol">,</span><span class="normal"> pspec</span><span class="symbol">);</span>
|
||
<span class="normal"> </span><span class="keyword">break</span><span class="symbol">;</span>
|
||
<span class="normal"> </span><span class="cbracket">}</span>
|
||
<span class="cbracket">}</span>
|
||
|
||
|
||
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
|
||
<span class="function">foo_bar_set_use_action_appearance</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">FooBar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">bar</span><span class="symbol">,</span><span class="normal"> </span>
|
||
<span class="normal"> </span><span class="usertype">gboolean</span><span class="normal"> use_appearance</span><span class="symbol">)</span>
|
||
<span class="cbracket">{</span>
|
||
<span class="normal"> </span><span class="usertype">FooBarPrivate</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">priv </span><span class="symbol">=</span><span class="normal"> </span><span class="function">FOO_BAR_GET_PRIVATE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">bar</span><span class="symbol">);</span>
|
||
|
||
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">priv</span><span class="symbol">-></span><span class="normal">use_action_appearance </span><span class="symbol">!=</span><span class="normal"> use_appearance</span><span class="symbol">)</span>
|
||
<span class="normal"> </span><span class="cbracket">{</span>
|
||
<span class="normal"> priv</span><span class="symbol">-></span><span class="normal">use_action_appearance </span><span class="symbol">=</span><span class="normal"> use_appearance</span><span class="symbol">;</span>
|
||
<span class="normal"> </span>
|
||
<span class="normal"> </span><span class="function"><a href="GtkActivatable.html#gtk-activatable-sync-action-properties">gtk_activatable_sync_action_properties</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_ACTIVATABLE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">bar</span><span class="symbol">),</span><span class="normal"> priv</span><span class="symbol">-></span><span class="normal">action</span><span class="symbol">);</span>
|
||
<span class="normal"> </span><span class="cbracket">}</span>
|
||
<span class="cbracket">}</span>
|
||
|
||
<span class="symbol">...</span><span class="normal"> </span><span class="usertype">call</span><span class="normal"> </span><span class="function"><a href="GtkActivatable.html#gtk-activatable-do-set-related-action">gtk_activatable_do_set_related_action</a></span><span class="symbol">()</span><span class="normal"> and then assign the </span><span class="usertype">action</span><span class="normal"> pointer</span><span class="symbol">,</span><span class="normal"> </span>
|
||
<span class="normal">no need to reference the action here </span><span class="usertype">since</span><span class="normal"> </span><span class="function"><a href="GtkActivatable.html#gtk-activatable-do-set-related-action">gtk_activatable_do_set_related_action</a></span><span class="symbol">()</span><span class="normal"> already </span>
|
||
<span class="normal">holds a reference here </span><span class="usertype">for</span><span class="normal"> you</span><span class="symbol">...</span>
|
||
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
|
||
<span class="function">foo_bar_set_related_action</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">FooBar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">bar</span><span class="symbol">,</span><span class="normal"> </span>
|
||
<span class="normal"> </span><span class="usertype">GtkAction</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">action</span><span class="symbol">)</span>
|
||
<span class="cbracket">{</span>
|
||
<span class="normal"> </span><span class="usertype">FooBarPrivate</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">priv </span><span class="symbol">=</span><span class="normal"> </span><span class="function">FOO_BAR_GET_PRIVATE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">bar</span><span class="symbol">);</span>
|
||
|
||
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">priv</span><span class="symbol">-></span><span class="normal">action </span><span class="symbol">==</span><span class="normal"> action</span><span class="symbol">)</span>
|
||
<span class="normal"> </span><span class="keyword">return</span><span class="symbol">;</span>
|
||
|
||
<span class="normal"> </span><span class="function"><a href="GtkActivatable.html#gtk-activatable-do-set-related-action">gtk_activatable_do_set_related_action</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_ACTIVATABLE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">bar</span><span class="symbol">),</span><span class="normal"> action</span><span class="symbol">);</span>
|
||
|
||
<span class="normal"> priv</span><span class="symbol">-></span><span class="normal">action </span><span class="symbol">=</span><span class="normal"> action</span><span class="symbol">;</span>
|
||
<span class="cbracket">}</span>
|
||
|
||
<span class="symbol">...</span><span class="normal"> Selectively reset and update activatable depending on </span><span class="usertype">the</span><span class="normal"> use</span><span class="symbol">-</span><span class="normal">action</span><span class="symbol">-</span><span class="usertype">appearance</span><span class="normal"> property </span><span class="symbol">...</span>
|
||
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
|
||
<span class="function">gtk_button_activatable_sync_action_properties</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkActivatable</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">activatable</span><span class="symbol">,</span>
|
||
<span class="normal"> </span><span class="usertype">GtkAction</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">action</span><span class="symbol">)</span>
|
||
<span class="cbracket">{</span>
|
||
<span class="normal"> </span><span class="usertype">GtkButtonPrivate</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">priv </span><span class="symbol">=</span><span class="normal"> </span><span class="function">GTK_BUTTON_GET_PRIVATE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">activatable</span><span class="symbol">);</span>
|
||
|
||
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(!</span><span class="normal">action</span><span class="symbol">)</span>
|
||
<span class="normal"> </span><span class="keyword">return</span><span class="symbol">;</span>
|
||
|
||
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="GtkAction.html#gtk-action-is-visible">gtk_action_is_visible</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">action</span><span class="symbol">))</span>
|
||
<span class="normal"> </span><span class="function"><a href="GtkWidget.html#gtk-widget-show">gtk_widget_show</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_WIDGET</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">activatable</span><span class="symbol">));</span>
|
||
<span class="normal"> </span><span class="keyword">else</span>
|
||
<span class="normal"> </span><span class="function"><a href="GtkWidget.html#gtk-widget-hide">gtk_widget_hide</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_WIDGET</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">activatable</span><span class="symbol">));</span>
|
||
<span class="normal"> </span>
|
||
<span class="normal"> </span><span class="function"><a href="GtkWidget.html#gtk-widget-set-sensitive">gtk_widget_set_sensitive</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_WIDGET</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">activatable</span><span class="symbol">),</span><span class="normal"> </span><span class="function"><a href="GtkAction.html#gtk-action-is-sensitive">gtk_action_is_sensitive</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">action</span><span class="symbol">));</span>
|
||
|
||
<span class="normal"> </span><span class="symbol">...</span>
|
||
<span class="normal"> </span>
|
||
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">priv</span><span class="symbol">-></span><span class="normal">use_action_appearance</span><span class="symbol">)</span>
|
||
<span class="normal"> </span><span class="cbracket">{</span>
|
||
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="GtkAction.html#gtk-action-get-stock-id">gtk_action_get_stock_id</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">action</span><span class="symbol">))</span>
|
||
<span class="normal"> </span><span class="function">foo_bar_set_stock</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">button</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="GtkAction.html#gtk-action-get-stock-id">gtk_action_get_stock_id</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">action</span><span class="symbol">));</span>
|
||
<span class="normal"> </span><span class="keyword">else</span><span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="GtkAction.html#gtk-action-get-label">gtk_action_get_label</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">action</span><span class="symbol">))</span>
|
||
<span class="normal"> </span><span class="function">foo_bar_set_label</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">button</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="GtkAction.html#gtk-action-get-label">gtk_action_get_label</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">action</span><span class="symbol">));</span>
|
||
|
||
<span class="normal"> </span><span class="symbol">...</span>
|
||
|
||
<span class="normal"> </span><span class="cbracket">}</span>
|
||
<span class="cbracket">}</span>
|
||
|
||
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span><span class="normal"> </span>
|
||
<span class="function">foo_bar_activatable_update</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkActivatable</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">activatable</span><span class="symbol">,</span>
|
||
<span class="normal"> </span><span class="usertype">GtkAction</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">action</span><span class="symbol">,</span>
|
||
<span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">property_name</span><span class="symbol">)</span>
|
||
<span class="cbracket">{</span>
|
||
<span class="normal"> </span><span class="usertype">FooBarPrivate</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">priv </span><span class="symbol">=</span><span class="normal"> </span><span class="function">FOO_BAR_GET_PRIVATE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">activatable</span><span class="symbol">);</span>
|
||
|
||
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function">strcmp</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">property_name</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"visible"</span><span class="symbol">)</span><span class="normal"> </span><span class="symbol">==</span><span class="normal"> </span><span class="number">0</span><span class="symbol">)</span>
|
||
<span class="normal"> </span><span class="cbracket">{</span>
|
||
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="GtkAction.html#gtk-action-is-visible">gtk_action_is_visible</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">action</span><span class="symbol">))</span>
|
||
<span class="normal"> </span><span class="function"><a href="GtkWidget.html#gtk-widget-show">gtk_widget_show</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_WIDGET</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">activatable</span><span class="symbol">));</span>
|
||
<span class="normal"> </span><span class="keyword">else</span>
|
||
<span class="normal"> </span><span class="function"><a href="GtkWidget.html#gtk-widget-hide">gtk_widget_hide</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_WIDGET</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">activatable</span><span class="symbol">));</span>
|
||
<span class="normal"> </span><span class="cbracket">}</span>
|
||
<span class="normal"> </span><span class="keyword">else</span><span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function">strcmp</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">property_name</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"sensitive"</span><span class="symbol">)</span><span class="normal"> </span><span class="symbol">==</span><span class="normal"> </span><span class="number">0</span><span class="symbol">)</span>
|
||
<span class="normal"> </span><span class="function"><a href="GtkWidget.html#gtk-widget-set-sensitive">gtk_widget_set_sensitive</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_WIDGET</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">activatable</span><span class="symbol">),</span><span class="normal"> </span><span class="function"><a href="GtkAction.html#gtk-action-is-sensitive">gtk_action_is_sensitive</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">action</span><span class="symbol">));</span>
|
||
|
||
<span class="normal"> </span><span class="symbol">...</span>
|
||
|
||
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(!</span><span class="normal">priv</span><span class="symbol">-></span><span class="normal">use_action_appearance</span><span class="symbol">)</span>
|
||
<span class="normal"> </span><span class="keyword">return</span><span class="symbol">;</span>
|
||
|
||
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function">strcmp</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">property_name</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"stock-id"</span><span class="symbol">)</span><span class="normal"> </span><span class="symbol">==</span><span class="normal"> </span><span class="number">0</span><span class="symbol">)</span>
|
||
<span class="normal"> </span><span class="function">foo_bar_set_stock</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">button</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="GtkAction.html#gtk-action-get-stock-id">gtk_action_get_stock_id</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">action</span><span class="symbol">));</span>
|
||
<span class="normal"> </span><span class="keyword">else</span><span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function">strcmp</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">property_name</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"label"</span><span class="symbol">)</span><span class="normal"> </span><span class="symbol">==</span><span class="normal"> </span><span class="number">0</span><span class="symbol">)</span>
|
||
<span class="normal"> </span><span class="function">foo_bar_set_label</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">button</span><span class="symbol">,</span><span class="normal"> </span><span class="function"><a href="GtkAction.html#gtk-action-get-label">gtk_action_get_label</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">action</span><span class="symbol">));</span>
|
||
|
||
<span class="normal"> </span><span class="symbol">...</span>
|
||
<span class="cbracket">}</span></pre></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
|
||
<p></p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="refsect1">
|
||
<a name="GtkActivatable.functions_details"></a><h2>Functions</h2>
|
||
<div class="refsect2">
|
||
<a name="gtk-activatable-do-set-related-action"></a><h3>gtk_activatable_do_set_related_action ()</h3>
|
||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||
gtk_activatable_do_set_related_action (<em class="parameter"><code><a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a> *activatable</code></em>,
|
||
<em class="parameter"><code><a class="link" href="GtkAction.html" title="GtkAction"><span class="type">GtkAction</span></a> *action</code></em>);</pre>
|
||
<div class="warning"><p><code class="literal">gtk_activatable_do_set_related_action</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p></div>
|
||
<p>This is a utility function for <a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a> implementors.</p>
|
||
<p>When implementing <a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a> you must call this when
|
||
handling changes of the <a class="link" href="GtkActivatable.html#GtkActivatable--related-action" title="The “related-action” property"><span class="type">“related-action”</span></a>, and
|
||
you must also use this to break references in <span class="type">GObject</span>-><code class="function">dispose()</code>.</p>
|
||
<p>This function adds a reference to the currently set related
|
||
action for you, it also makes sure the <a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a>-><code class="function">update()</code>
|
||
method is called when the related <a class="link" href="GtkAction.html" title="GtkAction"><span class="type">GtkAction</span></a> properties change
|
||
and registers to the action’s proxy list.</p>
|
||
<div class="blockquote"><blockquote class="blockquote"><p>Be careful to call this before setting the local
|
||
copy of the <a class="link" href="GtkAction.html" title="GtkAction"><span class="type">GtkAction</span></a> property, since this function uses
|
||
<a class="link" href="GtkActivatable.html#gtk-activatable-get-related-action" title="gtk_activatable_get_related_action ()"><code class="function">gtk_activatable_get_related_action()</code></a> to retrieve the
|
||
previous action.</p></blockquote></div>
|
||
<div class="refsect3">
|
||
<a name="gtk-activatable-do-set-related-action.parameters"></a><h4>Parameters</h4>
|
||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||
<colgroup>
|
||
<col width="150px" class="parameters_name">
|
||
<col class="parameters_description">
|
||
<col width="200px" class="parameters_annotations">
|
||
</colgroup>
|
||
<tbody>
|
||
<tr>
|
||
<td class="parameter_name"><p>activatable</p></td>
|
||
<td class="parameter_description"><p>a <a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a></p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>action</p></td>
|
||
<td class="parameter_description"><p>the <a class="link" href="GtkAction.html" title="GtkAction"><span class="type">GtkAction</span></a> to set</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table></div>
|
||
</div>
|
||
<p class="since">Since: 2.16</p>
|
||
</div>
|
||
<hr>
|
||
<div class="refsect2">
|
||
<a name="gtk-activatable-get-related-action"></a><h3>gtk_activatable_get_related_action ()</h3>
|
||
<pre class="programlisting"><a class="link" href="GtkAction.html" title="GtkAction"><span class="returnvalue">GtkAction</span></a> *
|
||
gtk_activatable_get_related_action (<em class="parameter"><code><a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a> *activatable</code></em>);</pre>
|
||
<div class="warning"><p><code class="literal">gtk_activatable_get_related_action</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p></div>
|
||
<p>Gets the related <a class="link" href="GtkAction.html" title="GtkAction"><span class="type">GtkAction</span></a> for <em class="parameter"><code>activatable</code></em>
|
||
.</p>
|
||
<div class="refsect3">
|
||
<a name="gtk-activatable-get-related-action.parameters"></a><h4>Parameters</h4>
|
||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||
<colgroup>
|
||
<col width="150px" class="parameters_name">
|
||
<col class="parameters_description">
|
||
<col width="200px" class="parameters_annotations">
|
||
</colgroup>
|
||
<tbody><tr>
|
||
<td class="parameter_name"><p>activatable</p></td>
|
||
<td class="parameter_description"><p>a <a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a></p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr></tbody>
|
||
</table></div>
|
||
</div>
|
||
<div class="refsect3">
|
||
<a name="gtk-activatable-get-related-action.returns"></a><h4>Returns</h4>
|
||
<p>the related <a class="link" href="GtkAction.html" title="GtkAction"><span class="type">GtkAction</span></a> if one is set. </p>
|
||
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
|
||
</div>
|
||
<p class="since">Since: 2.16</p>
|
||
</div>
|
||
<hr>
|
||
<div class="refsect2">
|
||
<a name="gtk-activatable-get-use-action-appearance"></a><h3>gtk_activatable_get_use_action_appearance ()</h3>
|
||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||
gtk_activatable_get_use_action_appearance
|
||
(<em class="parameter"><code><a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a> *activatable</code></em>);</pre>
|
||
<div class="warning"><p><code class="literal">gtk_activatable_get_use_action_appearance</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p></div>
|
||
<p>Gets whether this activatable should reset its layout
|
||
and appearance when setting the related action or when
|
||
the action changes appearance.</p>
|
||
<div class="refsect3">
|
||
<a name="gtk-activatable-get-use-action-appearance.parameters"></a><h4>Parameters</h4>
|
||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||
<colgroup>
|
||
<col width="150px" class="parameters_name">
|
||
<col class="parameters_description">
|
||
<col width="200px" class="parameters_annotations">
|
||
</colgroup>
|
||
<tbody><tr>
|
||
<td class="parameter_name"><p>activatable</p></td>
|
||
<td class="parameter_description"><p>a <a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a></p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr></tbody>
|
||
</table></div>
|
||
</div>
|
||
<div class="refsect3">
|
||
<a name="gtk-activatable-get-use-action-appearance.returns"></a><h4>Returns</h4>
|
||
<p> whether <em class="parameter"><code>activatable</code></em>
|
||
uses its actions appearance.</p>
|
||
</div>
|
||
<p class="since">Since: 2.16</p>
|
||
</div>
|
||
<hr>
|
||
<div class="refsect2">
|
||
<a name="gtk-activatable-sync-action-properties"></a><h3>gtk_activatable_sync_action_properties ()</h3>
|
||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||
gtk_activatable_sync_action_properties
|
||
(<em class="parameter"><code><a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a> *activatable</code></em>,
|
||
<em class="parameter"><code><a class="link" href="GtkAction.html" title="GtkAction"><span class="type">GtkAction</span></a> *action</code></em>);</pre>
|
||
<div class="warning"><p><code class="literal">gtk_activatable_sync_action_properties</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p></div>
|
||
<p>This is called to update the activatable completely, this is called
|
||
internally when the <a class="link" href="GtkActivatable.html#GtkActivatable--related-action" title="The “related-action” property"><span class="type">“related-action”</span></a> property is set
|
||
or unset and by the implementing class when
|
||
<a class="link" href="GtkActivatable.html#GtkActivatable--use-action-appearance" title="The “use-action-appearance” property"><span class="type">“use-action-appearance”</span></a> changes.</p>
|
||
<div class="refsect3">
|
||
<a name="gtk-activatable-sync-action-properties.parameters"></a><h4>Parameters</h4>
|
||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||
<colgroup>
|
||
<col width="150px" class="parameters_name">
|
||
<col class="parameters_description">
|
||
<col width="200px" class="parameters_annotations">
|
||
</colgroup>
|
||
<tbody>
|
||
<tr>
|
||
<td class="parameter_name"><p>activatable</p></td>
|
||
<td class="parameter_description"><p>a <a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a></p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>action</p></td>
|
||
<td class="parameter_description"><p>the related <a class="link" href="GtkAction.html" title="GtkAction"><span class="type">GtkAction</span></a> or <code class="literal">NULL</code>. </p></td>
|
||
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
|
||
</tr>
|
||
</tbody>
|
||
</table></div>
|
||
</div>
|
||
<p class="since">Since: 2.16</p>
|
||
</div>
|
||
<hr>
|
||
<div class="refsect2">
|
||
<a name="gtk-activatable-set-related-action"></a><h3>gtk_activatable_set_related_action ()</h3>
|
||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||
gtk_activatable_set_related_action (<em class="parameter"><code><a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a> *activatable</code></em>,
|
||
<em class="parameter"><code><a class="link" href="GtkAction.html" title="GtkAction"><span class="type">GtkAction</span></a> *action</code></em>);</pre>
|
||
<div class="warning"><p><code class="literal">gtk_activatable_set_related_action</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p></div>
|
||
<p>Sets the related action on the <em class="parameter"><code>activatable</code></em>
|
||
object.</p>
|
||
<div class="blockquote"><blockquote class="blockquote"><p><a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a> implementors need to handle the <a class="link" href="GtkActivatable.html#GtkActivatable--related-action" title="The “related-action” property"><span class="type">“related-action”</span></a>
|
||
property and call <a class="link" href="GtkActivatable.html#gtk-activatable-do-set-related-action" title="gtk_activatable_do_set_related_action ()"><code class="function">gtk_activatable_do_set_related_action()</code></a> when it changes.</p></blockquote></div>
|
||
<div class="refsect3">
|
||
<a name="gtk-activatable-set-related-action.parameters"></a><h4>Parameters</h4>
|
||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||
<colgroup>
|
||
<col width="150px" class="parameters_name">
|
||
<col class="parameters_description">
|
||
<col width="200px" class="parameters_annotations">
|
||
</colgroup>
|
||
<tbody>
|
||
<tr>
|
||
<td class="parameter_name"><p>activatable</p></td>
|
||
<td class="parameter_description"><p>a <a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a></p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>action</p></td>
|
||
<td class="parameter_description"><p>the <a class="link" href="GtkAction.html" title="GtkAction"><span class="type">GtkAction</span></a> to set</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table></div>
|
||
</div>
|
||
<p class="since">Since: 2.16</p>
|
||
</div>
|
||
<hr>
|
||
<div class="refsect2">
|
||
<a name="gtk-activatable-set-use-action-appearance"></a><h3>gtk_activatable_set_use_action_appearance ()</h3>
|
||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||
gtk_activatable_set_use_action_appearance
|
||
(<em class="parameter"><code><a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a> *activatable</code></em>,
|
||
<em class="parameter"><code><span class="type">gboolean</span> use_appearance</code></em>);</pre>
|
||
<div class="warning"><p><code class="literal">gtk_activatable_set_use_action_appearance</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p></div>
|
||
<p>Sets whether this activatable should reset its layout and appearance
|
||
when setting the related action or when the action changes appearance</p>
|
||
<div class="blockquote"><blockquote class="blockquote"><p><a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a> implementors need to handle the
|
||
<a class="link" href="GtkActivatable.html#GtkActivatable--use-action-appearance" title="The “use-action-appearance” property"><span class="type">“use-action-appearance”</span></a> property and call
|
||
<a class="link" href="GtkActivatable.html#gtk-activatable-sync-action-properties" title="gtk_activatable_sync_action_properties ()"><code class="function">gtk_activatable_sync_action_properties()</code></a> to update <em class="parameter"><code>activatable</code></em>
|
||
|
||
if needed.</p></blockquote></div>
|
||
<div class="refsect3">
|
||
<a name="gtk-activatable-set-use-action-appearance.parameters"></a><h4>Parameters</h4>
|
||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||
<colgroup>
|
||
<col width="150px" class="parameters_name">
|
||
<col class="parameters_description">
|
||
<col width="200px" class="parameters_annotations">
|
||
</colgroup>
|
||
<tbody>
|
||
<tr>
|
||
<td class="parameter_name"><p>activatable</p></td>
|
||
<td class="parameter_description"><p>a <a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a></p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="parameter_name"><p>use_appearance</p></td>
|
||
<td class="parameter_description"><p>whether to use the actions appearance</p></td>
|
||
<td class="parameter_annotations"> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table></div>
|
||
</div>
|
||
<p class="since">Since: 2.16</p>
|
||
</div>
|
||
</div>
|
||
<div class="refsect1">
|
||
<a name="GtkActivatable.other_details"></a><h2>Types and Values</h2>
|
||
<div class="refsect2">
|
||
<a name="GtkActivatable-struct"></a><h3>GtkActivatable</h3>
|
||
<pre class="programlisting">typedef struct _GtkActivatable GtkActivatable;</pre>
|
||
</div>
|
||
<hr>
|
||
<div class="refsect2">
|
||
<a name="GtkActivatableIface"></a><h3>struct GtkActivatableIface</h3>
|
||
<pre class="programlisting">struct GtkActivatableIface {
|
||
/* virtual table */
|
||
void (* update) (GtkActivatable *activatable,
|
||
GtkAction *action,
|
||
const gchar *property_name);
|
||
void (* sync_action_properties) (GtkActivatable *activatable,
|
||
GtkAction *action);
|
||
};
|
||
</pre>
|
||
<div class="warning"><p><code class="literal">GtkActivatableIface</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p></div>
|
||
<div class="blockquote"><blockquote class="blockquote"><p>This method can be called with a <code class="literal">NULL</code> action at times.</p></blockquote></div>
|
||
<div class="refsect3">
|
||
<a name="GtkActivatableIface.members"></a><h4>Members</h4>
|
||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||
<colgroup>
|
||
<col width="300px" class="struct_members_name">
|
||
<col class="struct_members_description">
|
||
<col width="200px" class="struct_members_annotations">
|
||
</colgroup>
|
||
<tbody>
|
||
<tr>
|
||
<td class="struct_member_name"><p><em class="structfield"><code><a name="GtkActivatableIface.update"></a>update</code></em> ()</p></td>
|
||
<td class="struct_member_description"><p>Called to update the activatable when its related action’s properties change.
|
||
You must check the <a class="link" href="GtkActivatable.html#GtkActivatable--use-action-appearance" title="The “use-action-appearance” property"><span class="type">“use-action-appearance”</span></a> property only apply action
|
||
properties that are meant to effect the appearance accordingly.</p></td>
|
||
<td class="struct_member_annotations"> </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="struct_member_name"><p><em class="structfield"><code><a name="GtkActivatableIface.sync-action-properties"></a>sync_action_properties</code></em> ()</p></td>
|
||
<td class="struct_member_description"><p>Called to update the activatable completely, this is called internally when
|
||
<a class="link" href="GtkActivatable.html#GtkActivatable--related-action" title="The “related-action” property"><span class="type">“related-action”</span></a> property is set or unset and by the implementor when
|
||
<a class="link" href="GtkActivatable.html#GtkActivatable--use-action-appearance" title="The “use-action-appearance” property"><span class="type">“use-action-appearance”</span></a> changes.</p></td>
|
||
<td class="struct_member_annotations"> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table></div>
|
||
</div>
|
||
<p class="since">Since: 2.16</p>
|
||
</div>
|
||
</div>
|
||
<div class="refsect1">
|
||
<a name="GtkActivatable.property-details"></a><h2>Property Details</h2>
|
||
<div class="refsect2">
|
||
<a name="GtkActivatable--related-action"></a><h3>The <code class="literal">“related-action”</code> property</h3>
|
||
<pre class="programlisting"> “related-action” <a class="link" href="GtkAction.html" title="GtkAction"><span class="type">GtkAction</span></a> *</pre>
|
||
<p>The action that this activatable will activate and receive
|
||
updates from for various states and possibly appearance.</p>
|
||
<div class="blockquote"><blockquote class="blockquote"><p><a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a> implementors need to handle the this property and
|
||
call <a class="link" href="GtkActivatable.html#gtk-activatable-do-set-related-action" title="gtk_activatable_do_set_related_action ()"><code class="function">gtk_activatable_do_set_related_action()</code></a> when it changes.</p></blockquote></div>
|
||
<div class="warning"><p><code class="literal">GtkActivatable:related-action</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p></div>
|
||
<p>Flags: Read / Write</p>
|
||
<p class="since">Since: 2.16</p>
|
||
</div>
|
||
<hr>
|
||
<div class="refsect2">
|
||
<a name="GtkActivatable--use-action-appearance"></a><h3>The <code class="literal">“use-action-appearance”</code> property</h3>
|
||
<pre class="programlisting"> “use-action-appearance” <span class="type">gboolean</span></pre>
|
||
<p>Whether this activatable should reset its layout
|
||
and appearance when setting the related action or when
|
||
the action changes appearance.</p>
|
||
<p>See the <a class="link" href="GtkAction.html" title="GtkAction"><span class="type">GtkAction</span></a> documentation directly to find which properties
|
||
should be ignored by the <a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a> when this property is <code class="literal">FALSE</code>.</p>
|
||
<div class="blockquote"><blockquote class="blockquote"><p><a class="link" href="GtkActivatable.html" title="GtkActivatable"><span class="type">GtkActivatable</span></a> implementors need to handle this property
|
||
and call <a class="link" href="GtkActivatable.html#gtk-activatable-sync-action-properties" title="gtk_activatable_sync_action_properties ()"><code class="function">gtk_activatable_sync_action_properties()</code></a> on the activatable
|
||
widget when it changes.</p></blockquote></div>
|
||
<div class="warning"><p><code class="literal">GtkActivatable:use-action-appearance</code> has been deprecated since version 3.10 and should not be used in newly-written code.</p></div>
|
||
<p>Flags: Read / Write</p>
|
||
<p>Default value: TRUE</p>
|
||
<p class="since">Since: 2.16</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="footer">
|
||
<hr>Generated by GTK-Doc V1.29</div>
|
||
</body>
|
||
</html> |