]> Pileus Git - ~andy/gtk/blob - docs/reference/gtk/tmpl/gtkcellrenderer.sgml
4a0e088d414663d90b06e8cbe87a07fc4175902e
[~andy/gtk] / docs / reference / gtk / tmpl / gtkcellrenderer.sgml
1 <!-- ##### SECTION Title ##### -->
2 GtkCellRenderer
3
4 <!-- ##### SECTION Short_Description ##### -->
5 An object for rendering a single cell on a GdkDrawable
6
7 <!-- ##### SECTION Long_Description ##### -->
8 <para>
9 The #GtkCellRenderer is a base class of a set of objects used for
10 rendering a cell to a #GdkDrawable.  These objects are used primarily by
11 the #GtkTreeView widget, though they aren't tied to them in any
12 specific way.  It is worth noting that #GtkCellRenderer is not a
13 #GtkWidget and cannot be treated as such.
14 </para>
15
16 <para>
17 The primary use of a #GtkCellRenderer is for drawing a certain graphical
18 elements on a #GdkDrawable.  Typically, one cell renderer is used to
19 draw many cells on the screen.  To this extent, it isn't expected that a
20 CellRenderer keep any permanent state around.  Instead, any state is set
21 just prior to use using #GObject<!-- -->s property system.  Then, the
22 cell is measured using gtk_cell_renderer_get_size().  Finally, the cell
23 is rendered in the correct location using gtk_cell_renderer_render().
24 </para>
25
26 <para>
27 There are a number of rules that must be followed when writing a new
28 #GtkCellRenderer.  First and formost, it's important that a certain set
29 of properties will always yield a cell renderer of the same size,
30 barring a #GtkStyle change.  The #GtkCellRenderer also has a number of
31 generic properties that are expected to be honored by all children.
32 </para>
33
34 <para>
35 Beyond merely rendering a cell, cell renderers can optionally 
36 provide active user interface elements. A cell renderer can be 
37 <firstterm>activatable</firstterm> like #GtkCellRendererToggle, 
38 which toggles when it gets activated by a mouse click, or it can be 
39 <firstterm>editable</firstterm> like #GtkCellRendererText, which 
40 allows the user to edit the text using a #GtkEntry.
41 To make a cell renderer activatable or editable, you have to 
42 implement the @activate or @start_editing virtual functions, 
43 respectively.
44 </para>
45
46 <!-- ##### SECTION See_Also ##### -->
47 <para>
48 #GtkCellRendererText,#GtkCellRendererPixbuf,#GtkCellRendererToggle
49 </para>
50
51 <!-- ##### SECTION Stability_Level ##### -->
52
53
54 <!-- ##### SECTION Image ##### -->
55
56
57 <!-- ##### ENUM GtkCellRendererState ##### -->
58 <para>
59 Tells how a cell is to be rendererd.
60 </para>
61
62 @GTK_CELL_RENDERER_SELECTED: The cell is currently selected, and
63 probably has a selection colored background to render to.
64 @GTK_CELL_RENDERER_PRELIT: The mouse is hovering over the cell.
65 @GTK_CELL_RENDERER_INSENSITIVE: The cell is drawn in an insensitive manner
66 @GTK_CELL_RENDERER_SORTED: The cell is in a sorted row
67 @GTK_CELL_RENDERER_FOCUSED: The cell is in the focus row.
68
69 <!-- ##### ENUM GtkCellRendererMode ##### -->
70 <para>
71 Identifies how the user can interact with a particular cell.
72 </para>
73
74 @GTK_CELL_RENDERER_MODE_INERT: The cell is just for display
75 and cannot be interacted with.  Note that this doesn't mean that eg. the
76 row being drawn can't be selected -- just that a particular element of
77 it cannot be individually modified.
78 @GTK_CELL_RENDERER_MODE_ACTIVATABLE: The cell can be clicked.
79 @GTK_CELL_RENDERER_MODE_EDITABLE: The cell can be edited or otherwise modified.
80
81 <!-- ##### STRUCT GtkCellRenderer ##### -->
82 <para>
83
84 </para>
85
86
87 <!-- ##### SIGNAL GtkCellRenderer::editing-canceled ##### -->
88 <para>
89
90 </para>
91
92 @cellrenderer: the object which received the signal.
93
94 <!-- ##### SIGNAL GtkCellRenderer::editing-started ##### -->
95 <para>
96
97 </para>
98
99 @cellrenderer: the object which received the signal.
100 @arg1: 
101 @arg2: 
102
103 <!-- ##### ARG GtkCellRenderer:cell-background ##### -->
104 <para>
105
106 </para>
107
108 <!-- ##### ARG GtkCellRenderer:cell-background-gdk ##### -->
109 <para>
110
111 </para>
112
113 <!-- ##### ARG GtkCellRenderer:cell-background-set ##### -->
114 <para>
115
116 </para>
117
118 <!-- ##### ARG GtkCellRenderer:editing ##### -->
119 <para>
120
121 </para>
122
123 <!-- ##### ARG GtkCellRenderer:height ##### -->
124 <para>
125
126 </para>
127
128 <!-- ##### ARG GtkCellRenderer:is-expanded ##### -->
129 <para>
130
131 </para>
132
133 <!-- ##### ARG GtkCellRenderer:is-expander ##### -->
134 <para>
135
136 </para>
137
138 <!-- ##### ARG GtkCellRenderer:mode ##### -->
139 <para>
140
141 </para>
142
143 <!-- ##### ARG GtkCellRenderer:sensitive ##### -->
144 <para>
145
146 </para>
147
148 <!-- ##### ARG GtkCellRenderer:visible ##### -->
149 <para>
150
151 </para>
152
153 <!-- ##### ARG GtkCellRenderer:width ##### -->
154 <para>
155
156 </para>
157
158 <!-- ##### ARG GtkCellRenderer:xalign ##### -->
159 <para>
160
161 </para>
162
163 <!-- ##### ARG GtkCellRenderer:xpad ##### -->
164 <para>
165
166 </para>
167
168 <!-- ##### ARG GtkCellRenderer:yalign ##### -->
169 <para>
170
171 </para>
172
173 <!-- ##### ARG GtkCellRenderer:ypad ##### -->
174 <para>
175
176 </para>
177
178 <!-- ##### STRUCT GtkCellRendererClass ##### -->
179 <para>
180
181 </para>
182
183 @parent_class: 
184 @get_size: 
185 @render: 
186 @activate: 
187 @start_editing: 
188 @editing_canceled: 
189 @editing_started: 
190 @_gtk_reserved1: 
191 @_gtk_reserved2: 
192
193 <!-- ##### FUNCTION gtk_cell_renderer_get_size ##### -->
194 <para>
195
196 </para>
197
198 @cell: 
199 @widget: 
200 @cell_area: 
201 @x_offset: 
202 @y_offset: 
203 @width: 
204 @height: 
205
206
207 <!-- ##### FUNCTION gtk_cell_renderer_render ##### -->
208 <para>
209
210 </para>
211
212 @cell: 
213 @window: 
214 @widget: 
215 @background_area: 
216 @cell_area: 
217 @expose_area: 
218 @flags: 
219
220
221 <!-- ##### FUNCTION gtk_cell_renderer_activate ##### -->
222 <para>
223
224 </para>
225
226 @cell: 
227 @event: 
228 @widget: 
229 @path: 
230 @background_area: 
231 @cell_area: 
232 @flags: 
233 @Returns: 
234
235
236 <!-- ##### FUNCTION gtk_cell_renderer_start_editing ##### -->
237 <para>
238
239 </para>
240
241 @cell: 
242 @event: 
243 @widget: 
244 @path: 
245 @background_area: 
246 @cell_area: 
247 @flags: 
248 @Returns: 
249
250
251 <!-- ##### FUNCTION gtk_cell_renderer_stop_editing ##### -->
252 <para>
253
254 </para>
255
256 @cell: 
257 @canceled: 
258
259
260 <!-- ##### FUNCTION gtk_cell_renderer_get_fixed_size ##### -->
261 <para>
262
263 </para>
264
265 @cell: 
266 @width: 
267 @height: 
268
269
270 <!-- ##### FUNCTION gtk_cell_renderer_set_fixed_size ##### -->
271 <para>
272
273 </para>
274
275 @cell: 
276 @width: 
277 @height: 
278
279
280 <!-- ##### FUNCTION gtk_cell_renderer_get_visible ##### -->
281 <para>
282
283 </para>
284
285 @cell: 
286 @Returns: 
287
288
289 <!-- ##### FUNCTION gtk_cell_renderer_set_visible ##### -->
290 <para>
291
292 </para>
293
294 @cell: 
295 @visible: 
296
297
298 <!-- ##### FUNCTION gtk_cell_renderer_get_sensitive ##### -->
299 <para>
300
301 </para>
302
303 @cell: 
304 @Returns: 
305
306
307 <!-- ##### FUNCTION gtk_cell_renderer_set_sensitive ##### -->
308 <para>
309
310 </para>
311
312 @cell: 
313 @sensitive: 
314
315
316 <!-- ##### FUNCTION gtk_cell_renderer_get_alignment ##### -->
317 <para>
318
319 </para>
320
321 @cell: 
322 @xalign: 
323 @yalign: 
324
325
326 <!-- ##### FUNCTION gtk_cell_renderer_set_alignment ##### -->
327 <para>
328
329 </para>
330
331 @cell: 
332 @xalign: 
333 @yalign: 
334
335
336 <!-- ##### FUNCTION gtk_cell_renderer_get_padding ##### -->
337 <para>
338
339 </para>
340
341 @cell: 
342 @xpad: 
343 @ypad: 
344
345
346 <!-- ##### FUNCTION gtk_cell_renderer_set_padding ##### -->
347 <para>
348
349 </para>
350
351 @cell: 
352 @xpad: 
353 @ypad: 
354
355