1// Package gtk was automatically generated by github.com/bnema/puregotk DO NOT EDIT
2package gtk
3
4import (
5 "structs"
6 "unsafe"
7
8 "github.com/ebitengine/purego"
9
10 "github.com/bnema/puregotk/pkg/core"
11 "github.com/bnema/puregotk/v4/glib"
12 "github.com/bnema/puregotk/v4/gobject"
13 "github.com/bnema/puregotk/v4/gobject/types"
14)
15
16// A function which should set the value of @cell_layout’s cell renderer(s)
17// as appropriate.
18type CellLayoutDataFunc func(uintptr, uintptr, uintptr, *TreeIter, uintptr)
19
20type CellLayoutIface struct {
21 _ structs.HostLayout
22
23 GIface uintptr
24
25 xPackStart uintptr
26
27 xPackEnd uintptr
28
29 xClear uintptr
30
31 xAddAttribute uintptr
32
33 xSetCellDataFunc uintptr
34
35 xClearAttributes uintptr
36
37 xReorder uintptr
38
39 xGetCells uintptr
40
41 xGetArea uintptr
42}
43
44func (x *CellLayoutIface) GoPointer() uintptr {
45 return uintptr(unsafe.Pointer(x))
46}
47
48// OverridePackStart sets the "pack_start" callback function.
49// Packs the cell into the beginning of cell_layout.
50func (x *CellLayoutIface) OverridePackStart(cb func(CellLayout, *CellRenderer, bool)) {
51 if cb == nil {
52 x.xPackStart = 0
53 } else {
54 x.xPackStart = purego.NewCallback(func(CellLayoutVarp uintptr, CellVarp uintptr, ExpandVarp bool) {
55 cb(&CellLayoutBase{Ptr: CellLayoutVarp}, CellRendererNewFromInternalPtr(CellVarp), ExpandVarp)
56 })
57 }
58}
59
60// GetPackStart gets the "pack_start" callback function.
61// Packs the cell into the beginning of cell_layout.
62func (x *CellLayoutIface) GetPackStart() func(CellLayout, *CellRenderer, bool) {
63 if x.xPackStart == 0 {
64 return nil
65 }
66 var rawCallback func(CellLayoutVarp uintptr, CellVarp uintptr, ExpandVarp bool)
67 purego.RegisterFunc(&rawCallback, x.xPackStart)
68 return func(CellLayoutVar CellLayout, CellVar *CellRenderer, ExpandVar bool) {
69 rawCallback(CellLayoutVar.GoPointer(), CellVar.GoPointer(), ExpandVar)
70 }
71}
72
73// OverridePackEnd sets the "pack_end" callback function.
74// Adds the cell to the end of cell_layout.
75func (x *CellLayoutIface) OverridePackEnd(cb func(CellLayout, *CellRenderer, bool)) {
76 if cb == nil {
77 x.xPackEnd = 0
78 } else {
79 x.xPackEnd = purego.NewCallback(func(CellLayoutVarp uintptr, CellVarp uintptr, ExpandVarp bool) {
80 cb(&CellLayoutBase{Ptr: CellLayoutVarp}, CellRendererNewFromInternalPtr(CellVarp), ExpandVarp)
81 })
82 }
83}
84
85// GetPackEnd gets the "pack_end" callback function.
86// Adds the cell to the end of cell_layout.
87func (x *CellLayoutIface) GetPackEnd() func(CellLayout, *CellRenderer, bool) {
88 if x.xPackEnd == 0 {
89 return nil
90 }
91 var rawCallback func(CellLayoutVarp uintptr, CellVarp uintptr, ExpandVarp bool)
92 purego.RegisterFunc(&rawCallback, x.xPackEnd)
93 return func(CellLayoutVar CellLayout, CellVar *CellRenderer, ExpandVar bool) {
94 rawCallback(CellLayoutVar.GoPointer(), CellVar.GoPointer(), ExpandVar)
95 }
96}
97
98// OverrideClear sets the "clear" callback function.
99// Unsets all the mappings on all renderers on cell_layout and
100//
101// removes all renderers from cell_layout.
102func (x *CellLayoutIface) OverrideClear(cb func(CellLayout)) {
103 if cb == nil {
104 x.xClear = 0
105 } else {
106 x.xClear = purego.NewCallback(func(CellLayoutVarp uintptr) {
107 cb(&CellLayoutBase{Ptr: CellLayoutVarp})
108 })
109 }
110}
111
112// GetClear gets the "clear" callback function.
113// Unsets all the mappings on all renderers on cell_layout and
114//
115// removes all renderers from cell_layout.
116func (x *CellLayoutIface) GetClear() func(CellLayout) {
117 if x.xClear == 0 {
118 return nil
119 }
120 var rawCallback func(CellLayoutVarp uintptr)
121 purego.RegisterFunc(&rawCallback, x.xClear)
122 return func(CellLayoutVar CellLayout) {
123 rawCallback(CellLayoutVar.GoPointer())
124 }
125}
126
127// OverrideAddAttribute sets the "add_attribute" callback function.
128// Adds an attribute mapping to the list in
129//
130// cell_layout.
131func (x *CellLayoutIface) OverrideAddAttribute(cb func(CellLayout, *CellRenderer, string, int)) {
132 if cb == nil {
133 x.xAddAttribute = 0
134 } else {
135 x.xAddAttribute = purego.NewCallback(func(CellLayoutVarp uintptr, CellVarp uintptr, AttributeVarp string, ColumnVarp int) {
136 cb(&CellLayoutBase{Ptr: CellLayoutVarp}, CellRendererNewFromInternalPtr(CellVarp), AttributeVarp, ColumnVarp)
137 })
138 }
139}
140
141// GetAddAttribute gets the "add_attribute" callback function.
142// Adds an attribute mapping to the list in
143//
144// cell_layout.
145func (x *CellLayoutIface) GetAddAttribute() func(CellLayout, *CellRenderer, string, int) {
146 if x.xAddAttribute == 0 {
147 return nil
148 }
149 var rawCallback func(CellLayoutVarp uintptr, CellVarp uintptr, AttributeVarp string, ColumnVarp int)
150 purego.RegisterFunc(&rawCallback, x.xAddAttribute)
151 return func(CellLayoutVar CellLayout, CellVar *CellRenderer, AttributeVar string, ColumnVar int) {
152 rawCallback(CellLayoutVar.GoPointer(), CellVar.GoPointer(), AttributeVar, ColumnVar)
153 }
154}
155
156// OverrideSetCellDataFunc sets the "set_cell_data_func" callback function.
157// Sets the `GtkCellLayout`DataFunc to use for
158//
159// cell_layout.
160func (x *CellLayoutIface) OverrideSetCellDataFunc(cb func(CellLayout, *CellRenderer, *CellLayoutDataFunc, uintptr, *glib.DestroyNotify)) {
161 if cb == nil {
162 x.xSetCellDataFunc = 0
163 } else {
164 x.xSetCellDataFunc = purego.NewCallback(func(CellLayoutVarp uintptr, CellVarp uintptr, FuncVarp uintptr, FuncDataVarp uintptr, DestroyVarp uintptr) {
165 cb(&CellLayoutBase{Ptr: CellLayoutVarp}, CellRendererNewFromInternalPtr(CellVarp), (*CellLayoutDataFunc)(unsafe.Pointer(FuncVarp)), FuncDataVarp, (*glib.DestroyNotify)(unsafe.Pointer(DestroyVarp)))
166 })
167 }
168}
169
170// GetSetCellDataFunc gets the "set_cell_data_func" callback function.
171// Sets the `GtkCellLayout`DataFunc to use for
172//
173// cell_layout.
174func (x *CellLayoutIface) GetSetCellDataFunc() func(CellLayout, *CellRenderer, *CellLayoutDataFunc, uintptr, *glib.DestroyNotify) {
175 if x.xSetCellDataFunc == 0 {
176 return nil
177 }
178 var rawCallback func(CellLayoutVarp uintptr, CellVarp uintptr, FuncVarp uintptr, FuncDataVarp uintptr, DestroyVarp uintptr)
179 purego.RegisterFunc(&rawCallback, x.xSetCellDataFunc)
180 return func(CellLayoutVar CellLayout, CellVar *CellRenderer, FuncVar *CellLayoutDataFunc, FuncDataVar uintptr, DestroyVar *glib.DestroyNotify) {
181 rawCallback(CellLayoutVar.GoPointer(), CellVar.GoPointer(), glib.NewCallbackNullable(FuncVar), FuncDataVar, glib.NewCallback(DestroyVar))
182 }
183}
184
185// OverrideClearAttributes sets the "clear_attributes" callback function.
186// Clears all existing attributes previously set
187//
188// with gtk_cell_layout_set_attributes().
189func (x *CellLayoutIface) OverrideClearAttributes(cb func(CellLayout, *CellRenderer)) {
190 if cb == nil {
191 x.xClearAttributes = 0
192 } else {
193 x.xClearAttributes = purego.NewCallback(func(CellLayoutVarp uintptr, CellVarp uintptr) {
194 cb(&CellLayoutBase{Ptr: CellLayoutVarp}, CellRendererNewFromInternalPtr(CellVarp))
195 })
196 }
197}
198
199// GetClearAttributes gets the "clear_attributes" callback function.
200// Clears all existing attributes previously set
201//
202// with gtk_cell_layout_set_attributes().
203func (x *CellLayoutIface) GetClearAttributes() func(CellLayout, *CellRenderer) {
204 if x.xClearAttributes == 0 {
205 return nil
206 }
207 var rawCallback func(CellLayoutVarp uintptr, CellVarp uintptr)
208 purego.RegisterFunc(&rawCallback, x.xClearAttributes)
209 return func(CellLayoutVar CellLayout, CellVar *CellRenderer) {
210 rawCallback(CellLayoutVar.GoPointer(), CellVar.GoPointer())
211 }
212}
213
214// OverrideReorder sets the "reorder" callback function.
215// Re-inserts cell at position.
216func (x *CellLayoutIface) OverrideReorder(cb func(CellLayout, *CellRenderer, int)) {
217 if cb == nil {
218 x.xReorder = 0
219 } else {
220 x.xReorder = purego.NewCallback(func(CellLayoutVarp uintptr, CellVarp uintptr, PositionVarp int) {
221 cb(&CellLayoutBase{Ptr: CellLayoutVarp}, CellRendererNewFromInternalPtr(CellVarp), PositionVarp)
222 })
223 }
224}
225
226// GetReorder gets the "reorder" callback function.
227// Re-inserts cell at position.
228func (x *CellLayoutIface) GetReorder() func(CellLayout, *CellRenderer, int) {
229 if x.xReorder == 0 {
230 return nil
231 }
232 var rawCallback func(CellLayoutVarp uintptr, CellVarp uintptr, PositionVarp int)
233 purego.RegisterFunc(&rawCallback, x.xReorder)
234 return func(CellLayoutVar CellLayout, CellVar *CellRenderer, PositionVar int) {
235 rawCallback(CellLayoutVar.GoPointer(), CellVar.GoPointer(), PositionVar)
236 }
237}
238
239// OverrideGetCells sets the "get_cells" callback function.
240// Get the cell renderers which have been added to
241//
242// cell_layout.
243func (x *CellLayoutIface) OverrideGetCells(cb func(CellLayout) *glib.List) {
244 if cb == nil {
245 x.xGetCells = 0
246 } else {
247 x.xGetCells = purego.NewCallback(func(CellLayoutVarp uintptr) *glib.List {
248 return cb(&CellLayoutBase{Ptr: CellLayoutVarp})
249 })
250 }
251}
252
253// GetGetCells gets the "get_cells" callback function.
254// Get the cell renderers which have been added to
255//
256// cell_layout.
257func (x *CellLayoutIface) GetGetCells() func(CellLayout) *glib.List {
258 if x.xGetCells == 0 {
259 return nil
260 }
261 var rawCallback func(CellLayoutVarp uintptr) *glib.List
262 purego.RegisterFunc(&rawCallback, x.xGetCells)
263 return func(CellLayoutVar CellLayout) *glib.List {
264 return rawCallback(CellLayoutVar.GoPointer())
265 }
266}
267
268// OverrideGetArea sets the "get_area" callback function.
269// Get the underlying `GtkCellArea` which might be
270//
271// cell_layout if called on a `GtkCellArea` or might be NULL if no
272// `GtkCellArea` is used by cell_layout.
273func (x *CellLayoutIface) OverrideGetArea(cb func(CellLayout) *CellArea) {
274 if cb == nil {
275 x.xGetArea = 0
276 } else {
277 x.xGetArea = purego.NewCallback(func(CellLayoutVarp uintptr) uintptr {
278 ret := cb(&CellLayoutBase{Ptr: CellLayoutVarp})
279 if ret == nil {
280 return 0
281 }
282 return ret.GoPointer()
283 })
284 }
285}
286
287// GetGetArea gets the "get_area" callback function.
288// Get the underlying `GtkCellArea` which might be
289//
290// cell_layout if called on a `GtkCellArea` or might be NULL if no
291// `GtkCellArea` is used by cell_layout.
292func (x *CellLayoutIface) GetGetArea() func(CellLayout) *CellArea {
293 if x.xGetArea == 0 {
294 return nil
295 }
296 var rawCallback func(CellLayoutVarp uintptr) uintptr
297 purego.RegisterFunc(&rawCallback, x.xGetArea)
298 return func(CellLayoutVar CellLayout) *CellArea {
299 rawRet := rawCallback(CellLayoutVar.GoPointer())
300 if rawRet == 0 {
301 return nil
302 }
303 ret := &CellArea{}
304 ret.Ptr = rawRet
305 return ret
306 }
307}
308
309// An interface for packing cells
310//
311// `GtkCellLayout` is an interface to be implemented by all objects which
312// want to provide a `GtkTreeViewColumn` like API for packing cells,
313// setting attributes and data funcs.
314//
315// One of the notable features provided by implementations of
316// `GtkCellLayout` are attributes. Attributes let you set the properties
317// in flexible ways. They can just be set to constant values like regular
318// properties. But they can also be mapped to a column of the underlying
319// tree model with gtk_cell_layout_set_attributes(), which means that the value
320// of the attribute can change from cell to cell as they are rendered by
321// the cell renderer. Finally, it is possible to specify a function with
322// gtk_cell_layout_set_cell_data_func() that is called to determine the
323// value of the attribute for each cell that is rendered.
324//
325// ## GtkCellLayouts as GtkBuildable
326//
327// Implementations of GtkCellLayout which also implement the GtkBuildable
328// interface (`GtkCellView`, `GtkIconView`, `GtkComboBox`,
329// `GtkEntryCompletion`, `GtkTreeViewColumn`) accept `GtkCellRenderer` objects
330// as `<child>` elements in UI definitions. They support a custom `<attributes>`
331// element for their children, which can contain multiple `<attribute>`
332// elements. Each `<attribute>` element has a name attribute which specifies
333// a property of the cell renderer; the content of the element is the
334// attribute value.
335//
336// This is an example of a UI definition fragment specifying attributes:
337//
338// ```xml
339// <object class="GtkCellView">
340//
341// <child>
342// <object class="GtkCellRendererText"/>
343// <attributes>
344// <attribute name="text">0</attribute>
345// </attributes>
346// </child>
347//
348// </object>
349// ```
350//
351// Furthermore for implementations of `GtkCellLayout` that use a `GtkCellArea`
352// to lay out cells (all `GtkCellLayout`s in GTK use a `GtkCellArea`)
353// [cell properties](class.CellArea.html#cell-properties) can also be defined
354// in the format by specifying the custom `<cell-packing>` attribute which can
355// contain multiple `<property>` elements.
356//
357// Here is a UI definition fragment specifying cell properties:
358//
359// ```xml
360// <object class="GtkTreeViewColumn">
361//
362// <child>
363// <object class="GtkCellRendererText"/>
364// <cell-packing>
365// <property name="align">True</property>
366// <property name="expand">False</property>
367// </cell-packing>
368// </child>
369//
370// </object>
371// ```
372//
373// ## Subclassing GtkCellLayout implementations
374//
375// When subclassing a widget that implements `GtkCellLayout` like
376// `GtkIconView` or `GtkComboBox`, there are some considerations related
377// to the fact that these widgets internally use a `GtkCellArea`.
378// The cell area is exposed as a construct-only property by these
379// widgets. This means that it is possible to e.g. do
380//
381// ```c
382// GtkWIdget *combo =
383//
384// g_object_new (GTK_TYPE_COMBO_BOX, "cell-area", my_cell_area, NULL);
385//
386// ```
387//
388// to use a custom cell area with a combo box. But construct properties
389// are only initialized after instance `init()`
390// functions have run, which means that using functions which rely on
391// the existence of the cell area in your subclass `init()` function will
392// cause the default cell area to be instantiated. In this case, a provided
393// construct property value will be ignored (with a warning, to alert
394// you to the problem).
395//
396// ```c
397// static void
398// my_combo_box_init (MyComboBox *b)
399//
400// {
401// GtkCellRenderer *cell;
402//
403// cell = gtk_cell_renderer_pixbuf_new ();
404//
405// // The following call causes the default cell area for combo boxes,
406// // a GtkCellAreaBox, to be instantiated
407// gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (b), cell, FALSE);
408// ...
409// }
410//
411// GtkWidget *
412// my_combo_box_new (GtkCellArea *area)
413//
414// {
415// // This call is going to cause a warning about area being ignored
416// return g_object_new (MY_TYPE_COMBO_BOX, "cell-area", area, NULL);
417// }
418//
419// ```
420//
421// If supporting alternative cell areas with your derived widget is
422// not important, then this does not have to concern you. If you want
423// to support alternative cell areas, you can do so by moving the
424// problematic calls out of `init()` and into a `constructor()`
425// for your class.
426type CellLayout interface {
427 GoPointer() uintptr
428 SetGoPointer(uintptr)
429 AddAttribute(CellVar *CellRenderer, AttributeVar string, ColumnVar int)
430 Clear()
431 ClearAttributes(CellVar *CellRenderer)
432 GetArea() *CellArea
433 GetCells() *glib.List
434 PackEnd(CellVar *CellRenderer, ExpandVar bool)
435 PackStart(CellVar *CellRenderer, ExpandVar bool)
436 Reorder(CellVar *CellRenderer, PositionVar int)
437 SetAttributes(CellVar *CellRenderer, varArgs ...interface{})
438 SetCellDataFunc(CellVar *CellRenderer, FuncVar *CellLayoutDataFunc, FuncDataVar uintptr, DestroyVar *glib.DestroyNotify)
439}
440
441var xCellLayoutGLibType func() types.GType
442
443func CellLayoutGLibType() types.GType {
444 return xCellLayoutGLibType()
445}
446
447type CellLayoutBase struct {
448 Ptr uintptr
449}
450
451func (x *CellLayoutBase) GoPointer() uintptr {
452 if x == nil {
453 return 0
454 }
455 return x.Ptr
456}
457
458func (x *CellLayoutBase) SetGoPointer(ptr uintptr) {
459 x.Ptr = ptr
460}
461
462// Adds an attribute mapping to the list in @cell_layout.
463//
464// The @column is the column of the model to get a value from, and the
465// @attribute is the property on @cell to be set from that value. So for
466// example if column 2 of the model contains strings, you could have the
467// “text” attribute of a `GtkCellRendererText` get its values from column 2.
468// In this context "attribute" and "property" are used interchangeably.
469func (x *CellLayoutBase) AddAttribute(CellVar *CellRenderer, AttributeVar string, ColumnVar int) {
470
471 XGtkCellLayoutAddAttribute(x.GoPointer(), CellVar.GoPointer(), AttributeVar, ColumnVar)
472
473}
474
475// Unsets all the mappings on all renderers on @cell_layout and
476// removes all renderers from @cell_layout.
477func (x *CellLayoutBase) Clear() {
478
479 XGtkCellLayoutClear(x.GoPointer())
480
481}
482
483// Clears all existing attributes previously set with
484// gtk_cell_layout_set_attributes().
485func (x *CellLayoutBase) ClearAttributes(CellVar *CellRenderer) {
486
487 XGtkCellLayoutClearAttributes(x.GoPointer(), CellVar.GoPointer())
488
489}
490
491// Returns the underlying `GtkCellArea` which might be @cell_layout
492// if called on a `GtkCellArea` or might be %NULL if no `GtkCellArea`
493// is used by @cell_layout.
494func (x *CellLayoutBase) GetArea() *CellArea {
495 var cls *CellArea
496
497 cret := XGtkCellLayoutGetArea(x.GoPointer())
498
499 if cret == 0 {
500 return nil
501 }
502 gobject.IncreaseRef(cret)
503 cls = &CellArea{}
504 cls.Ptr = cret
505 return cls
506}
507
508// Returns the cell renderers which have been added to @cell_layout.
509func (x *CellLayoutBase) GetCells() *glib.List {
510
511 cret := XGtkCellLayoutGetCells(x.GoPointer())
512 return cret
513}
514
515// Adds the @cell to the end of @cell_layout. If @expand is %FALSE, then the
516// @cell is allocated no more space than it needs. Any unused space is
517// divided evenly between cells for which @expand is %TRUE.
518//
519// Note that reusing the same cell renderer is not supported.
520func (x *CellLayoutBase) PackEnd(CellVar *CellRenderer, ExpandVar bool) {
521
522 XGtkCellLayoutPackEnd(x.GoPointer(), CellVar.GoPointer(), ExpandVar)
523
524}
525
526// Packs the @cell into the beginning of @cell_layout. If @expand is %FALSE,
527// then the @cell is allocated no more space than it needs. Any unused space
528// is divided evenly between cells for which @expand is %TRUE.
529//
530// Note that reusing the same cell renderer is not supported.
531func (x *CellLayoutBase) PackStart(CellVar *CellRenderer, ExpandVar bool) {
532
533 XGtkCellLayoutPackStart(x.GoPointer(), CellVar.GoPointer(), ExpandVar)
534
535}
536
537// Re-inserts @cell at @position.
538//
539// Note that @cell has already to be packed into @cell_layout
540// for this to function properly.
541func (x *CellLayoutBase) Reorder(CellVar *CellRenderer, PositionVar int) {
542
543 XGtkCellLayoutReorder(x.GoPointer(), CellVar.GoPointer(), PositionVar)
544
545}
546
547// Sets the attributes in the parameter list as the attributes
548// of @cell_layout.
549//
550// See [method@Gtk.CellLayout.add_attribute] for more details.
551//
552// The attributes should be in attribute/column order, as in
553// gtk_cell_layout_add_attribute(). All existing attributes are
554// removed, and replaced with the new attributes.
555func (x *CellLayoutBase) SetAttributes(CellVar *CellRenderer, varArgs ...interface{}) {
556
557 XGtkCellLayoutSetAttributes(x.GoPointer(), CellVar.GoPointer(), varArgs...)
558
559}
560
561// Sets the `GtkCellLayout`DataFunc to use for @cell_layout.
562//
563// This function is used instead of the standard attributes mapping
564// for setting the column value, and should set the value of @cell_layout’s
565// cell renderer(s) as appropriate.
566//
567// @func may be %NULL to remove a previously set function.
568func (x *CellLayoutBase) SetCellDataFunc(CellVar *CellRenderer, FuncVar *CellLayoutDataFunc, FuncDataVar uintptr, DestroyVar *glib.DestroyNotify) {
569
570 XGtkCellLayoutSetCellDataFunc(x.GoPointer(), CellVar.GoPointer(), glib.NewCallbackNullable(FuncVar), FuncDataVar, glib.NewCallback(DestroyVar))
571
572}
573
574var XGtkCellLayoutAddAttribute func(uintptr, uintptr, string, int)
575var XGtkCellLayoutClear func(uintptr)
576var XGtkCellLayoutClearAttributes func(uintptr, uintptr)
577var XGtkCellLayoutGetArea func(uintptr) uintptr
578var XGtkCellLayoutGetCells func(uintptr) *glib.List
579var XGtkCellLayoutPackEnd func(uintptr, uintptr, bool)
580var XGtkCellLayoutPackStart func(uintptr, uintptr, bool)
581var XGtkCellLayoutReorder func(uintptr, uintptr, int)
582var XGtkCellLayoutSetAttributes func(uintptr, uintptr, ...interface{})
583var XGtkCellLayoutSetCellDataFunc func(uintptr, uintptr, uintptr, uintptr, uintptr)
584
585func init() {
586 core.SetPackageName("GTK", "gtk4")
587 core.SetSharedLibraries("GTK", []string{"libgtk-4.so.1"})
588 var libs []uintptr
589 for _, libPath := range core.GetPaths("GTK") {
590 lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
591 if err != nil {
592 panic(err)
593 }
594 libs = append(libs, lib)
595 }
596
597 core.PuregoSafeRegister(&xCellLayoutGLibType, libs, "gtk_cell_layout_get_type")
598
599 core.PuregoSafeRegister(&XGtkCellLayoutAddAttribute, libs, "gtk_cell_layout_add_attribute")
600 core.PuregoSafeRegister(&XGtkCellLayoutClear, libs, "gtk_cell_layout_clear")
601 core.PuregoSafeRegister(&XGtkCellLayoutClearAttributes, libs, "gtk_cell_layout_clear_attributes")
602 core.PuregoSafeRegister(&XGtkCellLayoutGetArea, libs, "gtk_cell_layout_get_area")
603 core.PuregoSafeRegister(&XGtkCellLayoutGetCells, libs, "gtk_cell_layout_get_cells")
604 core.PuregoSafeRegister(&XGtkCellLayoutPackEnd, libs, "gtk_cell_layout_pack_end")
605 core.PuregoSafeRegister(&XGtkCellLayoutPackStart, libs, "gtk_cell_layout_pack_start")
606 core.PuregoSafeRegister(&XGtkCellLayoutReorder, libs, "gtk_cell_layout_reorder")
607 core.PuregoSafeRegister(&XGtkCellLayoutSetAttributes, libs, "gtk_cell_layout_set_attributes")
608 core.PuregoSafeRegister(&XGtkCellLayoutSetCellDataFunc, libs, "gtk_cell_layout_set_cell_data_func")
609
610}