v0.2.1 c0399be

gtkiconview.go RawHistoryFolder

1// Package gtk was automatically generated by github.com/bnema/puregotk DO NOT EDIT
2package gtk
3
4import (
5	"unsafe"
6
7	"github.com/ebitengine/purego"
8
9	"github.com/bnema/puregotk/pkg/core"
10	"github.com/bnema/puregotk/v4/gdk"
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 used by gtk_icon_view_selected_foreach() to map all
17// selected rows.
18//
19// It will be called on every selected row in the view.
20type IconViewForeachFunc func(uintptr, *TreePath, uintptr)
21
22// An enum for determining where a dropped item goes.
23type IconViewDropPosition int
24
25var xIconViewDropPositionGLibType func() types.GType
26
27func IconViewDropPositionGLibType() types.GType {
28	return xIconViewDropPositionGLibType()
29}
30
31const (
32
33	// no drop possible
34	IconViewNoDropValue IconViewDropPosition = 0
35	// dropped item replaces the item
36	IconViewDropIntoValue IconViewDropPosition = 1
37	// dropped item is inserted to the left
38	IconViewDropLeftValue IconViewDropPosition = 2
39	// dropped item is inserted to the right
40	IconViewDropRightValue IconViewDropPosition = 3
41	// dropped item is inserted above
42	IconViewDropAboveValue IconViewDropPosition = 4
43	// dropped item is inserted below
44	IconViewDropBelowValue IconViewDropPosition = 5
45)
46
47// `GtkIconView` is a widget which displays data in a grid of icons.
48//
49// <picture>
50//
51//	<source srcset="icon-view-dark.png" media="(prefers-color-scheme: dark)">
52//	<img alt="An example GtkIconView" src="icon-view.png">
53//
54// </picture>
55//
56// `GtkIconView` provides an alternative view on a `GtkTreeModel`.
57// It displays the model as a grid of icons with labels. Like
58// [class@Gtk.TreeView], it allows to select one or multiple items
59// (depending on the selection mode, see [method@Gtk.IconView.set_selection_mode]).
60// In addition to selection with the arrow keys, `GtkIconView` supports
61// rubberband selection, which is controlled by dragging the pointer.
62//
63// Note that if the tree model is backed by an actual tree store (as
64// opposed to a flat list where the mapping to icons is obvious),
65// `GtkIconView` will only display the first level of the tree and
66// ignore the tree’s branches.
67//
68// ## CSS nodes
69//
70// ```
71// iconview.view
72// ╰── [rubberband]
73// ```
74//
75// `GtkIconView` has a single CSS node with name iconview and style class .view.
76// For rubberband selection, a subnode with name rubberband is used.
77type IconView struct {
78	Widget
79}
80
81var xIconViewGLibType func() types.GType
82
83func IconViewGLibType() types.GType {
84	return xIconViewGLibType()
85}
86
87func IconViewNewFromInternalPtr(ptr uintptr) *IconView {
88	cls := &IconView{}
89	cls.Ptr = ptr
90	return cls
91}
92
93var xNewIconView func() uintptr
94
95// Creates a new `GtkIconView` widget
96func NewIconView() *IconView {
97	var cls *IconView
98
99	cret := xNewIconView()
100
101	if cret == 0 {
102		return nil
103	}
104	gobject.IncreaseRef(cret)
105	cls = &IconView{}
106	cls.Ptr = cret
107	return cls
108}
109
110var xNewIconViewWithArea func(uintptr) uintptr
111
112// Creates a new `GtkIconView` widget using the
113// specified @area to layout cells inside the icons.
114func NewIconViewWithArea(AreaVar *CellArea) *IconView {
115	var cls *IconView
116
117	cret := xNewIconViewWithArea(AreaVar.GoPointer())
118
119	if cret == 0 {
120		return nil
121	}
122	gobject.IncreaseRef(cret)
123	cls = &IconView{}
124	cls.Ptr = cret
125	return cls
126}
127
128var xNewIconViewWithModel func(uintptr) uintptr
129
130// Creates a new `GtkIconView` widget with the model @model.
131func NewIconViewWithModel(ModelVar TreeModel) *IconView {
132	var cls *IconView
133
134	cret := xNewIconViewWithModel(ModelVar.GoPointer())
135
136	if cret == 0 {
137		return nil
138	}
139	gobject.IncreaseRef(cret)
140	cls = &IconView{}
141	cls.Ptr = cret
142	return cls
143}
144
145var xIconViewCreateDragIcon func(uintptr, *TreePath) uintptr
146
147// Creates a `GdkPaintable` representation of the item at @path.
148// This image is used for a drag icon.
149func (x *IconView) CreateDragIcon(PathVar *TreePath) *gdk.PaintableBase {
150	var cls *gdk.PaintableBase
151
152	cret := xIconViewCreateDragIcon(x.GoPointer(), PathVar)
153
154	if cret == 0 {
155		return nil
156	}
157	cls = &gdk.PaintableBase{}
158	cls.Ptr = cret
159	return cls
160}
161
162var xIconViewEnableModelDragDest func(uintptr, *gdk.ContentFormats, gdk.DragAction)
163
164// Turns @icon_view into a drop destination for automatic DND. Calling this
165// method sets `GtkIconView`:reorderable to %FALSE.
166func (x *IconView) EnableModelDragDest(FormatsVar *gdk.ContentFormats, ActionsVar gdk.DragAction) {
167
168	xIconViewEnableModelDragDest(x.GoPointer(), FormatsVar, ActionsVar)
169
170}
171
172var xIconViewEnableModelDragSource func(uintptr, gdk.ModifierType, *gdk.ContentFormats, gdk.DragAction)
173
174// Turns @icon_view into a drag source for automatic DND. Calling this
175// method sets `GtkIconView`:reorderable to %FALSE.
176func (x *IconView) EnableModelDragSource(StartButtonMaskVar gdk.ModifierType, FormatsVar *gdk.ContentFormats, ActionsVar gdk.DragAction) {
177
178	xIconViewEnableModelDragSource(x.GoPointer(), StartButtonMaskVar, FormatsVar, ActionsVar)
179
180}
181
182var xIconViewGetActivateOnSingleClick func(uintptr) bool
183
184// Gets the setting set by gtk_icon_view_set_activate_on_single_click().
185func (x *IconView) GetActivateOnSingleClick() bool {
186
187	cret := xIconViewGetActivateOnSingleClick(x.GoPointer())
188	return cret
189}
190
191var xIconViewGetCellRect func(uintptr, *TreePath, uintptr, *gdk.Rectangle) bool
192
193// Fills the bounding rectangle in widget coordinates for the cell specified by
194// @path and @cell. If @cell is %NULL the main cell area is used.
195//
196// This function is only valid if @icon_view is realized.
197func (x *IconView) GetCellRect(PathVar *TreePath, CellVar *CellRenderer, RectVar *gdk.Rectangle) bool {
198
199	cret := xIconViewGetCellRect(x.GoPointer(), PathVar, CellVar.GoPointer(), RectVar)
200	return cret
201}
202
203var xIconViewGetColumnSpacing func(uintptr) int
204
205// Returns the value of the ::column-spacing property.
206func (x *IconView) GetColumnSpacing() int {
207
208	cret := xIconViewGetColumnSpacing(x.GoPointer())
209	return cret
210}
211
212var xIconViewGetColumns func(uintptr) int
213
214// Returns the value of the ::columns property.
215func (x *IconView) GetColumns() int {
216
217	cret := xIconViewGetColumns(x.GoPointer())
218	return cret
219}
220
221var xIconViewGetCursor func(uintptr, **TreePath, **CellRenderer) bool
222
223// Fills in @path and @cell with the current cursor path and cell.
224// If the cursor isn’t currently set, then *@path will be %NULL.
225// If no cell currently has focus, then *@cell will be %NULL.
226//
227// The returned `GtkTreePath` must be freed with gtk_tree_path_free().
228func (x *IconView) GetCursor(PathVar **TreePath, CellVar **CellRenderer) bool {
229
230	cret := xIconViewGetCursor(x.GoPointer(), PathVar, CellVar)
231	return cret
232}
233
234var xIconViewGetDestItemAtPos func(uintptr, int, int, **TreePath, *IconViewDropPosition) bool
235
236// Determines the destination item for a given position.
237func (x *IconView) GetDestItemAtPos(DragXVar int, DragYVar int, PathVar **TreePath, PosVar *IconViewDropPosition) bool {
238
239	cret := xIconViewGetDestItemAtPos(x.GoPointer(), DragXVar, DragYVar, PathVar, PosVar)
240	return cret
241}
242
243var xIconViewGetDragDestItem func(uintptr, **TreePath, *IconViewDropPosition)
244
245// Gets information about the item that is highlighted for feedback.
246func (x *IconView) GetDragDestItem(PathVar **TreePath, PosVar *IconViewDropPosition) {
247
248	xIconViewGetDragDestItem(x.GoPointer(), PathVar, PosVar)
249
250}
251
252var xIconViewGetItemAtPos func(uintptr, int, int, **TreePath, **CellRenderer) bool
253
254// Gets the path and cell for the icon at the given position.
255func (x *IconView) GetItemAtPos(XVar int, YVar int, PathVar **TreePath, CellVar **CellRenderer) bool {
256
257	cret := xIconViewGetItemAtPos(x.GoPointer(), XVar, YVar, PathVar, CellVar)
258	return cret
259}
260
261var xIconViewGetItemColumn func(uintptr, *TreePath) int
262
263// Gets the column in which the item @path is currently
264// displayed. Column numbers start at 0.
265func (x *IconView) GetItemColumn(PathVar *TreePath) int {
266
267	cret := xIconViewGetItemColumn(x.GoPointer(), PathVar)
268	return cret
269}
270
271var xIconViewGetItemOrientation func(uintptr) Orientation
272
273// Returns the value of the ::item-orientation property which determines
274// whether the labels are drawn beside the icons instead of below.
275func (x *IconView) GetItemOrientation() Orientation {
276
277	cret := xIconViewGetItemOrientation(x.GoPointer())
278	return cret
279}
280
281var xIconViewGetItemPadding func(uintptr) int
282
283// Returns the value of the ::item-padding property.
284func (x *IconView) GetItemPadding() int {
285
286	cret := xIconViewGetItemPadding(x.GoPointer())
287	return cret
288}
289
290var xIconViewGetItemRow func(uintptr, *TreePath) int
291
292// Gets the row in which the item @path is currently
293// displayed. Row numbers start at 0.
294func (x *IconView) GetItemRow(PathVar *TreePath) int {
295
296	cret := xIconViewGetItemRow(x.GoPointer(), PathVar)
297	return cret
298}
299
300var xIconViewGetItemWidth func(uintptr) int
301
302// Returns the value of the ::item-width property.
303func (x *IconView) GetItemWidth() int {
304
305	cret := xIconViewGetItemWidth(x.GoPointer())
306	return cret
307}
308
309var xIconViewGetMargin func(uintptr) int
310
311// Returns the value of the ::margin property.
312func (x *IconView) GetMargin() int {
313
314	cret := xIconViewGetMargin(x.GoPointer())
315	return cret
316}
317
318var xIconViewGetMarkupColumn func(uintptr) int
319
320// Returns the column with markup text for @icon_view.
321func (x *IconView) GetMarkupColumn() int {
322
323	cret := xIconViewGetMarkupColumn(x.GoPointer())
324	return cret
325}
326
327var xIconViewGetModel func(uintptr) uintptr
328
329// Returns the model the `GtkIconView` is based on.  Returns %NULL if the
330// model is unset.
331func (x *IconView) GetModel() *TreeModelBase {
332	var cls *TreeModelBase
333
334	cret := xIconViewGetModel(x.GoPointer())
335
336	if cret == 0 {
337		return nil
338	}
339	gobject.IncreaseRef(cret)
340	cls = &TreeModelBase{}
341	cls.Ptr = cret
342	return cls
343}
344
345var xIconViewGetPathAtPos func(uintptr, int, int) *TreePath
346
347// Gets the path for the icon at the given position.
348func (x *IconView) GetPathAtPos(XVar int, YVar int) *TreePath {
349
350	cret := xIconViewGetPathAtPos(x.GoPointer(), XVar, YVar)
351	return cret
352}
353
354var xIconViewGetPixbufColumn func(uintptr) int
355
356// Returns the column with pixbufs for @icon_view.
357func (x *IconView) GetPixbufColumn() int {
358
359	cret := xIconViewGetPixbufColumn(x.GoPointer())
360	return cret
361}
362
363var xIconViewGetReorderable func(uintptr) bool
364
365// Retrieves whether the user can reorder the list via drag-and-drop.
366// See gtk_icon_view_set_reorderable().
367func (x *IconView) GetReorderable() bool {
368
369	cret := xIconViewGetReorderable(x.GoPointer())
370	return cret
371}
372
373var xIconViewGetRowSpacing func(uintptr) int
374
375// Returns the value of the ::row-spacing property.
376func (x *IconView) GetRowSpacing() int {
377
378	cret := xIconViewGetRowSpacing(x.GoPointer())
379	return cret
380}
381
382var xIconViewGetSelectedItems func(uintptr) *glib.List
383
384// Creates a list of paths of all selected items. Additionally, if you are
385// planning on modifying the model after calling this function, you may
386// want to convert the returned list into a list of `GtkTreeRowReferences`.
387// To do this, you can use gtk_tree_row_reference_new().
388//
389// To free the return value, use `g_list_free_full`:
390//
391// ```c
392// GtkWidget *icon_view = gtk_icon_view_new ();
393// // Use icon_view
394//
395// GList *list = gtk_icon_view_get_selected_items (GTK_ICON_VIEW (icon_view));
396//
397// // use list
398//
399// g_list_free_full (list, (GDestroyNotify) gtk_tree_path_free);
400// ```
401func (x *IconView) GetSelectedItems() *glib.List {
402
403	cret := xIconViewGetSelectedItems(x.GoPointer())
404	return cret
405}
406
407var xIconViewGetSelectionMode func(uintptr) SelectionMode
408
409// Gets the selection mode of the @icon_view.
410func (x *IconView) GetSelectionMode() SelectionMode {
411
412	cret := xIconViewGetSelectionMode(x.GoPointer())
413	return cret
414}
415
416var xIconViewGetSpacing func(uintptr) int
417
418// Returns the value of the ::spacing property.
419func (x *IconView) GetSpacing() int {
420
421	cret := xIconViewGetSpacing(x.GoPointer())
422	return cret
423}
424
425var xIconViewGetTextColumn func(uintptr) int
426
427// Returns the column with text for @icon_view.
428func (x *IconView) GetTextColumn() int {
429
430	cret := xIconViewGetTextColumn(x.GoPointer())
431	return cret
432}
433
434var xIconViewGetTooltipColumn func(uintptr) int
435
436// Returns the column of @icon_view’s model which is being used for
437// displaying tooltips on @icon_view’s rows.
438func (x *IconView) GetTooltipColumn() int {
439
440	cret := xIconViewGetTooltipColumn(x.GoPointer())
441	return cret
442}
443
444var xIconViewGetTooltipContext func(uintptr, int, int, bool, **TreeModel, **TreePath, *TreeIter) bool
445
446// This function is supposed to be used in a `GtkWidget::query-tooltip`
447// signal handler for `GtkIconView`. The @x, @y and @keyboard_tip values
448// which are received in the signal handler, should be passed to this
449// function without modification.
450//
451// The return value indicates whether there is an icon view item at the given
452// coordinates (%TRUE) or not (%FALSE) for mouse tooltips. For keyboard
453// tooltips the item returned will be the cursor item. When %TRUE, then any of
454// @model, @path and @iter which have been provided will be set to point to
455// that row and the corresponding model.
456func (x *IconView) GetTooltipContext(XVar int, YVar int, KeyboardTipVar bool, ModelVar **TreeModel, PathVar **TreePath, IterVar *TreeIter) bool {
457
458	cret := xIconViewGetTooltipContext(x.GoPointer(), XVar, YVar, KeyboardTipVar, ModelVar, PathVar, IterVar)
459	return cret
460}
461
462var xIconViewGetVisibleRange func(uintptr, **TreePath, **TreePath) bool
463
464// Sets @start_path and @end_path to be the first and last visible path.
465// Note that there may be invisible paths in between.
466//
467// Both paths should be freed with gtk_tree_path_free() after use.
468func (x *IconView) GetVisibleRange(StartPathVar **TreePath, EndPathVar **TreePath) bool {
469
470	cret := xIconViewGetVisibleRange(x.GoPointer(), StartPathVar, EndPathVar)
471	return cret
472}
473
474var xIconViewItemActivated func(uintptr, *TreePath)
475
476// Activates the item determined by @path.
477func (x *IconView) ItemActivated(PathVar *TreePath) {
478
479	xIconViewItemActivated(x.GoPointer(), PathVar)
480
481}
482
483var xIconViewPathIsSelected func(uintptr, *TreePath) bool
484
485// Returns %TRUE if the icon pointed to by @path is currently
486// selected. If @path does not point to a valid location, %FALSE is returned.
487func (x *IconView) PathIsSelected(PathVar *TreePath) bool {
488
489	cret := xIconViewPathIsSelected(x.GoPointer(), PathVar)
490	return cret
491}
492
493var xIconViewScrollToPath func(uintptr, *TreePath, bool, float32, float32)
494
495// Moves the alignments of @icon_view to the position specified by @path.
496// @row_align determines where the row is placed, and @col_align determines
497// where @column is placed.  Both are expected to be between 0.0 and 1.0.
498// 0.0 means left/top alignment, 1.0 means right/bottom alignment, 0.5 means
499// center.
500//
501// If @use_align is %FALSE, then the alignment arguments are ignored, and the
502// tree does the minimum amount of work to scroll the item onto the screen.
503// This means that the item will be scrolled to the edge closest to its current
504// position.  If the item is currently visible on the screen, nothing is done.
505//
506// This function only works if the model is set, and @path is a valid row on
507// the model. If the model changes before the @icon_view is realized, the
508// centered path will be modified to reflect this change.
509func (x *IconView) ScrollToPath(PathVar *TreePath, UseAlignVar bool, RowAlignVar float32, ColAlignVar float32) {
510
511	xIconViewScrollToPath(x.GoPointer(), PathVar, UseAlignVar, RowAlignVar, ColAlignVar)
512
513}
514
515var xIconViewSelectAll func(uintptr)
516
517// Selects all the icons. @icon_view must has its selection mode set
518// to %GTK_SELECTION_MULTIPLE.
519func (x *IconView) SelectAll() {
520
521	xIconViewSelectAll(x.GoPointer())
522
523}
524
525var xIconViewSelectPath func(uintptr, *TreePath)
526
527// Selects the row at @path.
528func (x *IconView) SelectPath(PathVar *TreePath) {
529
530	xIconViewSelectPath(x.GoPointer(), PathVar)
531
532}
533
534var xIconViewSelectedForeach func(uintptr, uintptr, uintptr)
535
536// Calls a function for each selected icon. Note that the model or
537// selection cannot be modified from within this function.
538func (x *IconView) SelectedForeach(FuncVar *IconViewForeachFunc, DataVar uintptr) {
539
540	var FuncVarRef uintptr
541	if FuncVar != nil {
542		FuncVarPtr := uintptr(unsafe.Pointer(FuncVar))
543		if cbRefPtr, ok := glib.GetCallback(FuncVarPtr); ok {
544			FuncVarRef = cbRefPtr
545		} else {
546			fcb := func(arg0 uintptr, arg1 *TreePath, arg2 uintptr) {
547				cbFn := *FuncVar
548				cbFn(arg0, arg1, arg2)
549			}
550			FuncVarRef = purego.NewCallback(fcb)
551			glib.SaveCallbackWithClosure(FuncVarPtr, FuncVarRef, FuncVar)
552		}
553	}
554
555	xIconViewSelectedForeach(x.GoPointer(), FuncVarRef, DataVar)
556
557}
558
559var xIconViewSetActivateOnSingleClick func(uintptr, bool)
560
561// Causes the `GtkIconView`::item-activated signal to be emitted on
562// a single click instead of a double click.
563func (x *IconView) SetActivateOnSingleClick(SingleVar bool) {
564
565	xIconViewSetActivateOnSingleClick(x.GoPointer(), SingleVar)
566
567}
568
569var xIconViewSetColumnSpacing func(uintptr, int)
570
571// Sets the ::column-spacing property which specifies the space
572// which is inserted between the columns of the icon view.
573func (x *IconView) SetColumnSpacing(ColumnSpacingVar int) {
574
575	xIconViewSetColumnSpacing(x.GoPointer(), ColumnSpacingVar)
576
577}
578
579var xIconViewSetColumns func(uintptr, int)
580
581// Sets the ::columns property which determines in how
582// many columns the icons are arranged. If @columns is
583// -1, the number of columns will be chosen automatically
584// to fill the available area.
585func (x *IconView) SetColumns(ColumnsVar int) {
586
587	xIconViewSetColumns(x.GoPointer(), ColumnsVar)
588
589}
590
591var xIconViewSetCursor func(uintptr, *TreePath, uintptr, bool)
592
593// Sets the current keyboard focus to be at @path, and selects it.  This is
594// useful when you want to focus the user’s attention on a particular item.
595// If @cell is not %NULL, then focus is given to the cell specified by
596// it. Additionally, if @start_editing is %TRUE, then editing should be
597// started in the specified cell.
598//
599// This function is often followed by `gtk_widget_grab_focus
600// (icon_view)` in order to give keyboard focus to the widget.
601// Please note that editing can only happen when the widget is realized.
602func (x *IconView) SetCursor(PathVar *TreePath, CellVar *CellRenderer, StartEditingVar bool) {
603
604	xIconViewSetCursor(x.GoPointer(), PathVar, CellVar.GoPointer(), StartEditingVar)
605
606}
607
608var xIconViewSetDragDestItem func(uintptr, *TreePath, IconViewDropPosition)
609
610// Sets the item that is highlighted for feedback.
611func (x *IconView) SetDragDestItem(PathVar *TreePath, PosVar IconViewDropPosition) {
612
613	xIconViewSetDragDestItem(x.GoPointer(), PathVar, PosVar)
614
615}
616
617var xIconViewSetItemOrientation func(uintptr, Orientation)
618
619// Sets the ::item-orientation property which determines whether the labels
620// are drawn beside the icons instead of below.
621func (x *IconView) SetItemOrientation(OrientationVar Orientation) {
622
623	xIconViewSetItemOrientation(x.GoPointer(), OrientationVar)
624
625}
626
627var xIconViewSetItemPadding func(uintptr, int)
628
629// Sets the `GtkIconView`:item-padding property which specifies the padding
630// around each of the icon view’s items.
631func (x *IconView) SetItemPadding(ItemPaddingVar int) {
632
633	xIconViewSetItemPadding(x.GoPointer(), ItemPaddingVar)
634
635}
636
637var xIconViewSetItemWidth func(uintptr, int)
638
639// Sets the ::item-width property which specifies the width
640// to use for each item. If it is set to -1, the icon view will
641// automatically determine a suitable item size.
642func (x *IconView) SetItemWidth(ItemWidthVar int) {
643
644	xIconViewSetItemWidth(x.GoPointer(), ItemWidthVar)
645
646}
647
648var xIconViewSetMargin func(uintptr, int)
649
650// Sets the ::margin property which specifies the space
651// which is inserted at the top, bottom, left and right
652// of the icon view.
653func (x *IconView) SetMargin(MarginVar int) {
654
655	xIconViewSetMargin(x.GoPointer(), MarginVar)
656
657}
658
659var xIconViewSetMarkupColumn func(uintptr, int)
660
661// Sets the column with markup information for @icon_view to be
662// @column. The markup column must be of type `G_TYPE_STRING`.
663// If the markup column is set to something, it overrides
664// the text column set by gtk_icon_view_set_text_column().
665func (x *IconView) SetMarkupColumn(ColumnVar int) {
666
667	xIconViewSetMarkupColumn(x.GoPointer(), ColumnVar)
668
669}
670
671var xIconViewSetModel func(uintptr, uintptr)
672
673// Sets the model for a `GtkIconView`.
674// If the @icon_view already has a model set, it will remove
675// it before setting the new model.  If @model is %NULL, then
676// it will unset the old model.
677func (x *IconView) SetModel(ModelVar TreeModel) {
678
679	xIconViewSetModel(x.GoPointer(), ModelVar.GoPointer())
680
681}
682
683var xIconViewSetPixbufColumn func(uintptr, int)
684
685// Sets the column with pixbufs for @icon_view to be @column. The pixbuf
686// column must be of type `GDK_TYPE_PIXBUF`
687func (x *IconView) SetPixbufColumn(ColumnVar int) {
688
689	xIconViewSetPixbufColumn(x.GoPointer(), ColumnVar)
690
691}
692
693var xIconViewSetReorderable func(uintptr, bool)
694
695// This function is a convenience function to allow you to reorder models that
696// support the `GtkTreeDragSourceIface` and the `GtkTreeDragDestIface`. Both
697// `GtkTreeStore` and `GtkListStore` support these. If @reorderable is %TRUE, then
698// the user can reorder the model by dragging and dropping rows.  The
699// developer can listen to these changes by connecting to the model's
700// row_inserted and row_deleted signals. The reordering is implemented by setting up
701// the icon view as a drag source and destination. Therefore, drag and
702// drop can not be used in a reorderable view for any other purpose.
703//
704// This function does not give you any degree of control over the order -- any
705// reordering is allowed.  If more control is needed, you should probably
706// handle drag and drop manually.
707func (x *IconView) SetReorderable(ReorderableVar bool) {
708
709	xIconViewSetReorderable(x.GoPointer(), ReorderableVar)
710
711}
712
713var xIconViewSetRowSpacing func(uintptr, int)
714
715// Sets the ::row-spacing property which specifies the space
716// which is inserted between the rows of the icon view.
717func (x *IconView) SetRowSpacing(RowSpacingVar int) {
718
719	xIconViewSetRowSpacing(x.GoPointer(), RowSpacingVar)
720
721}
722
723var xIconViewSetSelectionMode func(uintptr, SelectionMode)
724
725// Sets the selection mode of the @icon_view.
726func (x *IconView) SetSelectionMode(ModeVar SelectionMode) {
727
728	xIconViewSetSelectionMode(x.GoPointer(), ModeVar)
729
730}
731
732var xIconViewSetSpacing func(uintptr, int)
733
734// Sets the ::spacing property which specifies the space
735// which is inserted between the cells (i.e. the icon and
736// the text) of an item.
737func (x *IconView) SetSpacing(SpacingVar int) {
738
739	xIconViewSetSpacing(x.GoPointer(), SpacingVar)
740
741}
742
743var xIconViewSetTextColumn func(uintptr, int)
744
745// Sets the column with text for @icon_view to be @column. The text
746// column must be of type `G_TYPE_STRING`.
747func (x *IconView) SetTextColumn(ColumnVar int) {
748
749	xIconViewSetTextColumn(x.GoPointer(), ColumnVar)
750
751}
752
753var xIconViewSetTooltipCell func(uintptr, uintptr, *TreePath, uintptr)
754
755// Sets the tip area of @tooltip to the area which @cell occupies in
756// the item pointed to by @path. See also gtk_tooltip_set_tip_area().
757//
758// See also gtk_icon_view_set_tooltip_column() for a simpler alternative.
759func (x *IconView) SetTooltipCell(TooltipVar *Tooltip, PathVar *TreePath, CellVar *CellRenderer) {
760
761	xIconViewSetTooltipCell(x.GoPointer(), TooltipVar.GoPointer(), PathVar, CellVar.GoPointer())
762
763}
764
765var xIconViewSetTooltipColumn func(uintptr, int)
766
767// If you only plan to have simple (text-only) tooltips on full items, you
768// can use this function to have `GtkIconView` handle these automatically
769// for you. @column should be set to the column in @icon_view’s model
770// containing the tooltip texts, or -1 to disable this feature.
771//
772// When enabled, `GtkWidget:has-tooltip` will be set to %TRUE and
773// @icon_view will connect a `GtkWidget::query-tooltip` signal handler.
774//
775// Note that the signal handler sets the text with gtk_tooltip_set_markup(),
776// so &, <, etc have to be escaped in the text.
777func (x *IconView) SetTooltipColumn(ColumnVar int) {
778
779	xIconViewSetTooltipColumn(x.GoPointer(), ColumnVar)
780
781}
782
783var xIconViewSetTooltipItem func(uintptr, uintptr, *TreePath)
784
785// Sets the tip area of @tooltip to be the area covered by the item at @path.
786// See also gtk_icon_view_set_tooltip_column() for a simpler alternative.
787// See also gtk_tooltip_set_tip_area().
788func (x *IconView) SetTooltipItem(TooltipVar *Tooltip, PathVar *TreePath) {
789
790	xIconViewSetTooltipItem(x.GoPointer(), TooltipVar.GoPointer(), PathVar)
791
792}
793
794var xIconViewUnselectAll func(uintptr)
795
796// Unselects all the icons.
797func (x *IconView) UnselectAll() {
798
799	xIconViewUnselectAll(x.GoPointer())
800
801}
802
803var xIconViewUnselectPath func(uintptr, *TreePath)
804
805// Unselects the row at @path.
806func (x *IconView) UnselectPath(PathVar *TreePath) {
807
808	xIconViewUnselectPath(x.GoPointer(), PathVar)
809
810}
811
812var xIconViewUnsetModelDragDest func(uintptr)
813
814// Undoes the effect of gtk_icon_view_enable_model_drag_dest(). Calling this
815// method sets `GtkIconView`:reorderable to %FALSE.
816func (x *IconView) UnsetModelDragDest() {
817
818	xIconViewUnsetModelDragDest(x.GoPointer())
819
820}
821
822var xIconViewUnsetModelDragSource func(uintptr)
823
824// Undoes the effect of gtk_icon_view_enable_model_drag_source(). Calling this
825// method sets `GtkIconView`:reorderable to %FALSE.
826func (x *IconView) UnsetModelDragSource() {
827
828	xIconViewUnsetModelDragSource(x.GoPointer())
829
830}
831
832func (c *IconView) GoPointer() uintptr {
833	if c == nil {
834		return 0
835	}
836	return c.Ptr
837}
838
839func (c *IconView) SetGoPointer(ptr uintptr) {
840	c.Ptr = ptr
841}
842
843// SetPropertyActivateOnSingleClick sets the "activate-on-single-click" property.
844// The activate-on-single-click property specifies whether the "item-activated" signal
845// will be emitted after a single click.
846func (x *IconView) SetPropertyActivateOnSingleClick(value bool) {
847	var v gobject.Value
848	v.Init(gobject.TypeBooleanVal)
849	v.SetBoolean(value)
850	x.SetProperty("activate-on-single-click", &v)
851}
852
853// GetPropertyActivateOnSingleClick gets the "activate-on-single-click" property.
854// The activate-on-single-click property specifies whether the "item-activated" signal
855// will be emitted after a single click.
856func (x *IconView) GetPropertyActivateOnSingleClick() bool {
857	var v gobject.Value
858	x.GetProperty("activate-on-single-click", &v)
859	return v.GetBoolean()
860}
861
862// SetPropertyColumnSpacing sets the "column-spacing" property.
863// The column-spacing property specifies the space which is inserted between
864// the columns of the icon view.
865func (x *IconView) SetPropertyColumnSpacing(value int) {
866	var v gobject.Value
867	v.Init(gobject.TypeIntVal)
868	v.SetInt(value)
869	x.SetProperty("column-spacing", &v)
870}
871
872// GetPropertyColumnSpacing gets the "column-spacing" property.
873// The column-spacing property specifies the space which is inserted between
874// the columns of the icon view.
875func (x *IconView) GetPropertyColumnSpacing() int {
876	var v gobject.Value
877	x.GetProperty("column-spacing", &v)
878	return v.GetInt()
879}
880
881// SetPropertyColumns sets the "columns" property.
882// The columns property contains the number of the columns in which the
883// items should be displayed. If it is -1, the number of columns will
884// be chosen automatically to fill the available area.
885func (x *IconView) SetPropertyColumns(value int) {
886	var v gobject.Value
887	v.Init(gobject.TypeIntVal)
888	v.SetInt(value)
889	x.SetProperty("columns", &v)
890}
891
892// GetPropertyColumns gets the "columns" property.
893// The columns property contains the number of the columns in which the
894// items should be displayed. If it is -1, the number of columns will
895// be chosen automatically to fill the available area.
896func (x *IconView) GetPropertyColumns() int {
897	var v gobject.Value
898	x.GetProperty("columns", &v)
899	return v.GetInt()
900}
901
902// SetPropertyItemPadding sets the "item-padding" property.
903// The item-padding property specifies the padding around each
904// of the icon view's item.
905func (x *IconView) SetPropertyItemPadding(value int) {
906	var v gobject.Value
907	v.Init(gobject.TypeIntVal)
908	v.SetInt(value)
909	x.SetProperty("item-padding", &v)
910}
911
912// GetPropertyItemPadding gets the "item-padding" property.
913// The item-padding property specifies the padding around each
914// of the icon view's item.
915func (x *IconView) GetPropertyItemPadding() int {
916	var v gobject.Value
917	x.GetProperty("item-padding", &v)
918	return v.GetInt()
919}
920
921// SetPropertyItemWidth sets the "item-width" property.
922// The item-width property specifies the width to use for each item.
923// If it is set to -1, the icon view will automatically determine a
924// suitable item size.
925func (x *IconView) SetPropertyItemWidth(value int) {
926	var v gobject.Value
927	v.Init(gobject.TypeIntVal)
928	v.SetInt(value)
929	x.SetProperty("item-width", &v)
930}
931
932// GetPropertyItemWidth gets the "item-width" property.
933// The item-width property specifies the width to use for each item.
934// If it is set to -1, the icon view will automatically determine a
935// suitable item size.
936func (x *IconView) GetPropertyItemWidth() int {
937	var v gobject.Value
938	x.GetProperty("item-width", &v)
939	return v.GetInt()
940}
941
942// SetPropertyMargin sets the "margin" property.
943// The margin property specifies the space which is inserted
944// at the edges of the icon view.
945func (x *IconView) SetPropertyMargin(value int) {
946	var v gobject.Value
947	v.Init(gobject.TypeIntVal)
948	v.SetInt(value)
949	x.SetProperty("margin", &v)
950}
951
952// GetPropertyMargin gets the "margin" property.
953// The margin property specifies the space which is inserted
954// at the edges of the icon view.
955func (x *IconView) GetPropertyMargin() int {
956	var v gobject.Value
957	x.GetProperty("margin", &v)
958	return v.GetInt()
959}
960
961// SetPropertyMarkupColumn sets the "markup-column" property.
962// The ::markup-column property contains the number of the model column
963// containing markup information to be displayed. The markup column must be
964// of type `G_TYPE_STRING`. If this property and the :text-column property
965// are both set to column numbers, it overrides the text column.
966// If both are set to -1, no texts are displayed.
967func (x *IconView) SetPropertyMarkupColumn(value int) {
968	var v gobject.Value
969	v.Init(gobject.TypeIntVal)
970	v.SetInt(value)
971	x.SetProperty("markup-column", &v)
972}
973
974// GetPropertyMarkupColumn gets the "markup-column" property.
975// The ::markup-column property contains the number of the model column
976// containing markup information to be displayed. The markup column must be
977// of type `G_TYPE_STRING`. If this property and the :text-column property
978// are both set to column numbers, it overrides the text column.
979// If both are set to -1, no texts are displayed.
980func (x *IconView) GetPropertyMarkupColumn() int {
981	var v gobject.Value
982	x.GetProperty("markup-column", &v)
983	return v.GetInt()
984}
985
986// SetPropertyPixbufColumn sets the "pixbuf-column" property.
987// The ::pixbuf-column property contains the number of the model column
988// containing the pixbufs which are displayed. The pixbuf column must be
989// of type `GDK_TYPE_PIXBUF`. Setting this property to -1 turns off the
990// display of pixbufs.
991func (x *IconView) SetPropertyPixbufColumn(value int) {
992	var v gobject.Value
993	v.Init(gobject.TypeIntVal)
994	v.SetInt(value)
995	x.SetProperty("pixbuf-column", &v)
996}
997
998// GetPropertyPixbufColumn gets the "pixbuf-column" property.
999// The ::pixbuf-column property contains the number of the model column
1000// containing the pixbufs which are displayed. The pixbuf column must be
1001// of type `GDK_TYPE_PIXBUF`. Setting this property to -1 turns off the
1002// display of pixbufs.
1003func (x *IconView) GetPropertyPixbufColumn() int {
1004	var v gobject.Value
1005	x.GetProperty("pixbuf-column", &v)
1006	return v.GetInt()
1007}
1008
1009// SetPropertyReorderable sets the "reorderable" property.
1010// The reorderable property specifies if the items can be reordered
1011// by DND.
1012func (x *IconView) SetPropertyReorderable(value bool) {
1013	var v gobject.Value
1014	v.Init(gobject.TypeBooleanVal)
1015	v.SetBoolean(value)
1016	x.SetProperty("reorderable", &v)
1017}
1018
1019// GetPropertyReorderable gets the "reorderable" property.
1020// The reorderable property specifies if the items can be reordered
1021// by DND.
1022func (x *IconView) GetPropertyReorderable() bool {
1023	var v gobject.Value
1024	x.GetProperty("reorderable", &v)
1025	return v.GetBoolean()
1026}
1027
1028// SetPropertyRowSpacing sets the "row-spacing" property.
1029// The row-spacing property specifies the space which is inserted between
1030// the rows of the icon view.
1031func (x *IconView) SetPropertyRowSpacing(value int) {
1032	var v gobject.Value
1033	v.Init(gobject.TypeIntVal)
1034	v.SetInt(value)
1035	x.SetProperty("row-spacing", &v)
1036}
1037
1038// GetPropertyRowSpacing gets the "row-spacing" property.
1039// The row-spacing property specifies the space which is inserted between
1040// the rows of the icon view.
1041func (x *IconView) GetPropertyRowSpacing() int {
1042	var v gobject.Value
1043	x.GetProperty("row-spacing", &v)
1044	return v.GetInt()
1045}
1046
1047// SetPropertySpacing sets the "spacing" property.
1048// The spacing property specifies the space which is inserted between
1049// the cells (i.e. the icon and the text) of an item.
1050func (x *IconView) SetPropertySpacing(value int) {
1051	var v gobject.Value
1052	v.Init(gobject.TypeIntVal)
1053	v.SetInt(value)
1054	x.SetProperty("spacing", &v)
1055}
1056
1057// GetPropertySpacing gets the "spacing" property.
1058// The spacing property specifies the space which is inserted between
1059// the cells (i.e. the icon and the text) of an item.
1060func (x *IconView) GetPropertySpacing() int {
1061	var v gobject.Value
1062	x.GetProperty("spacing", &v)
1063	return v.GetInt()
1064}
1065
1066// SetPropertyTextColumn sets the "text-column" property.
1067// The ::text-column property contains the number of the model column
1068// containing the texts which are displayed. The text column must be
1069// of type `G_TYPE_STRING`. If this property and the :markup-column
1070// property are both set to -1, no texts are displayed.
1071func (x *IconView) SetPropertyTextColumn(value int) {
1072	var v gobject.Value
1073	v.Init(gobject.TypeIntVal)
1074	v.SetInt(value)
1075	x.SetProperty("text-column", &v)
1076}
1077
1078// GetPropertyTextColumn gets the "text-column" property.
1079// The ::text-column property contains the number of the model column
1080// containing the texts which are displayed. The text column must be
1081// of type `G_TYPE_STRING`. If this property and the :markup-column
1082// property are both set to -1, no texts are displayed.
1083func (x *IconView) GetPropertyTextColumn() int {
1084	var v gobject.Value
1085	x.GetProperty("text-column", &v)
1086	return v.GetInt()
1087}
1088
1089// SetPropertyTooltipColumn sets the "tooltip-column" property.
1090// The column of the icon view model which is being used for displaying
1091// tooltips on it's rows.
1092func (x *IconView) SetPropertyTooltipColumn(value int) {
1093	var v gobject.Value
1094	v.Init(gobject.TypeIntVal)
1095	v.SetInt(value)
1096	x.SetProperty("tooltip-column", &v)
1097}
1098
1099// GetPropertyTooltipColumn gets the "tooltip-column" property.
1100// The column of the icon view model which is being used for displaying
1101// tooltips on it's rows.
1102func (x *IconView) GetPropertyTooltipColumn() int {
1103	var v gobject.Value
1104	x.GetProperty("tooltip-column", &v)
1105	return v.GetInt()
1106}
1107
1108// A [keybinding signal][class@Gtk.SignalAction]
1109// which gets emitted when the user activates the currently
1110// focused item.
1111//
1112// Applications should not connect to it, but may emit it with
1113// g_signal_emit_by_name() if they need to control activation
1114// programmatically.
1115//
1116// The default bindings for this signal are Space, Return and Enter.
1117func (x *IconView) ConnectActivateCursorItem(cb *func(IconView) bool) uint {
1118	cbPtr := uintptr(unsafe.Pointer(cb))
1119	if cbRefPtr, ok := glib.GetCallback(cbPtr); ok {
1120		handlerID := gobject.SignalConnect(x.GoPointer(), "activate-cursor-item", cbRefPtr)
1121		glib.SaveHandlerMapping(handlerID, cbPtr)
1122		return handlerID
1123	}
1124
1125	fcb := func(clsPtr uintptr) bool {
1126		fa := IconView{}
1127		fa.Ptr = clsPtr
1128		cbFn := *cb
1129
1130		return cbFn(fa)
1131
1132	}
1133	cbRefPtr := purego.NewCallback(fcb)
1134	glib.SaveCallbackWithClosure(cbPtr, cbRefPtr, cb)
1135	handlerID := gobject.SignalConnect(x.GoPointer(), "activate-cursor-item", cbRefPtr)
1136	glib.SaveHandlerMapping(handlerID, cbPtr)
1137	return handlerID
1138}
1139
1140// The ::item-activated signal is emitted when the method
1141// gtk_icon_view_item_activated() is called, when the user double
1142// clicks an item with the "activate-on-single-click" property set
1143// to %FALSE, or when the user single clicks an item when the
1144// "activate-on-single-click" property set to %TRUE. It is also
1145// emitted when a non-editable item is selected and one of the keys:
1146// Space, Return or Enter is pressed.
1147func (x *IconView) ConnectItemActivated(cb *func(IconView, uintptr)) uint {
1148	cbPtr := uintptr(unsafe.Pointer(cb))
1149	if cbRefPtr, ok := glib.GetCallback(cbPtr); ok {
1150		handlerID := gobject.SignalConnect(x.GoPointer(), "item-activated", cbRefPtr)
1151		glib.SaveHandlerMapping(handlerID, cbPtr)
1152		return handlerID
1153	}
1154
1155	fcb := func(clsPtr uintptr, PathVarp uintptr) {
1156		fa := IconView{}
1157		fa.Ptr = clsPtr
1158		cbFn := *cb
1159
1160		cbFn(fa, PathVarp)
1161
1162	}
1163	cbRefPtr := purego.NewCallback(fcb)
1164	glib.SaveCallbackWithClosure(cbPtr, cbRefPtr, cb)
1165	handlerID := gobject.SignalConnect(x.GoPointer(), "item-activated", cbRefPtr)
1166	glib.SaveHandlerMapping(handlerID, cbPtr)
1167	return handlerID
1168}
1169
1170// The ::move-cursor signal is a
1171// [keybinding signal][class@Gtk.SignalAction]
1172// which gets emitted when the user initiates a cursor movement.
1173//
1174// Applications should not connect to it, but may emit it with
1175// g_signal_emit_by_name() if they need to control the cursor
1176// programmatically.
1177//
1178// The default bindings for this signal include
1179// - Arrow keys which move by individual steps
1180// - Home/End keys which move to the first/last item
1181// - PageUp/PageDown which move by "pages"
1182// All of these will extend the selection when combined with
1183// the Shift modifier.
1184func (x *IconView) ConnectMoveCursor(cb *func(IconView, MovementStep, int, bool, bool) bool) uint {
1185	cbPtr := uintptr(unsafe.Pointer(cb))
1186	if cbRefPtr, ok := glib.GetCallback(cbPtr); ok {
1187		handlerID := gobject.SignalConnect(x.GoPointer(), "move-cursor", cbRefPtr)
1188		glib.SaveHandlerMapping(handlerID, cbPtr)
1189		return handlerID
1190	}
1191
1192	fcb := func(clsPtr uintptr, StepVarp MovementStep, CountVarp int, ExtendVarp bool, ModifyVarp bool) bool {
1193		fa := IconView{}
1194		fa.Ptr = clsPtr
1195		cbFn := *cb
1196
1197		return cbFn(fa, StepVarp, CountVarp, ExtendVarp, ModifyVarp)
1198
1199	}
1200	cbRefPtr := purego.NewCallback(fcb)
1201	glib.SaveCallbackWithClosure(cbPtr, cbRefPtr, cb)
1202	handlerID := gobject.SignalConnect(x.GoPointer(), "move-cursor", cbRefPtr)
1203	glib.SaveHandlerMapping(handlerID, cbPtr)
1204	return handlerID
1205}
1206
1207// A [keybinding signal][class@Gtk.SignalAction]
1208// which gets emitted when the user selects all items.
1209//
1210// Applications should not connect to it, but may emit it with
1211// g_signal_emit_by_name() if they need to control selection
1212// programmatically.
1213//
1214// The default binding for this signal is Ctrl-a.
1215func (x *IconView) ConnectSelectAll(cb *func(IconView)) uint {
1216	cbPtr := uintptr(unsafe.Pointer(cb))
1217	if cbRefPtr, ok := glib.GetCallback(cbPtr); ok {
1218		handlerID := gobject.SignalConnect(x.GoPointer(), "select-all", cbRefPtr)
1219		glib.SaveHandlerMapping(handlerID, cbPtr)
1220		return handlerID
1221	}
1222
1223	fcb := func(clsPtr uintptr) {
1224		fa := IconView{}
1225		fa.Ptr = clsPtr
1226		cbFn := *cb
1227
1228		cbFn(fa)
1229
1230	}
1231	cbRefPtr := purego.NewCallback(fcb)
1232	glib.SaveCallbackWithClosure(cbPtr, cbRefPtr, cb)
1233	handlerID := gobject.SignalConnect(x.GoPointer(), "select-all", cbRefPtr)
1234	glib.SaveHandlerMapping(handlerID, cbPtr)
1235	return handlerID
1236}
1237
1238// A [keybinding signal][class@Gtk.SignalAction]
1239// which gets emitted when the user selects the item that is currently
1240// focused.
1241//
1242// Applications should not connect to it, but may emit it with
1243// g_signal_emit_by_name() if they need to control selection
1244// programmatically.
1245//
1246// There is no default binding for this signal.
1247func (x *IconView) ConnectSelectCursorItem(cb *func(IconView)) uint {
1248	cbPtr := uintptr(unsafe.Pointer(cb))
1249	if cbRefPtr, ok := glib.GetCallback(cbPtr); ok {
1250		handlerID := gobject.SignalConnect(x.GoPointer(), "select-cursor-item", cbRefPtr)
1251		glib.SaveHandlerMapping(handlerID, cbPtr)
1252		return handlerID
1253	}
1254
1255	fcb := func(clsPtr uintptr) {
1256		fa := IconView{}
1257		fa.Ptr = clsPtr
1258		cbFn := *cb
1259
1260		cbFn(fa)
1261
1262	}
1263	cbRefPtr := purego.NewCallback(fcb)
1264	glib.SaveCallbackWithClosure(cbPtr, cbRefPtr, cb)
1265	handlerID := gobject.SignalConnect(x.GoPointer(), "select-cursor-item", cbRefPtr)
1266	glib.SaveHandlerMapping(handlerID, cbPtr)
1267	return handlerID
1268}
1269
1270// The ::selection-changed signal is emitted when the selection
1271// (i.e. the set of selected items) changes.
1272func (x *IconView) ConnectSelectionChanged(cb *func(IconView)) uint {
1273	cbPtr := uintptr(unsafe.Pointer(cb))
1274	if cbRefPtr, ok := glib.GetCallback(cbPtr); ok {
1275		handlerID := gobject.SignalConnect(x.GoPointer(), "selection-changed", cbRefPtr)
1276		glib.SaveHandlerMapping(handlerID, cbPtr)
1277		return handlerID
1278	}
1279
1280	fcb := func(clsPtr uintptr) {
1281		fa := IconView{}
1282		fa.Ptr = clsPtr
1283		cbFn := *cb
1284
1285		cbFn(fa)
1286
1287	}
1288	cbRefPtr := purego.NewCallback(fcb)
1289	glib.SaveCallbackWithClosure(cbPtr, cbRefPtr, cb)
1290	handlerID := gobject.SignalConnect(x.GoPointer(), "selection-changed", cbRefPtr)
1291	glib.SaveHandlerMapping(handlerID, cbPtr)
1292	return handlerID
1293}
1294
1295// A [keybinding signal][class@Gtk.SignalAction]
1296// which gets emitted when the user toggles whether the currently
1297// focused item is selected or not. The exact effect of this
1298// depend on the selection mode.
1299//
1300// Applications should not connect to it, but may emit it with
1301// g_signal_emit_by_name() if they need to control selection
1302// programmatically.
1303//
1304// There is no default binding for this signal is Ctrl-Space.
1305func (x *IconView) ConnectToggleCursorItem(cb *func(IconView)) uint {
1306	cbPtr := uintptr(unsafe.Pointer(cb))
1307	if cbRefPtr, ok := glib.GetCallback(cbPtr); ok {
1308		handlerID := gobject.SignalConnect(x.GoPointer(), "toggle-cursor-item", cbRefPtr)
1309		glib.SaveHandlerMapping(handlerID, cbPtr)
1310		return handlerID
1311	}
1312
1313	fcb := func(clsPtr uintptr) {
1314		fa := IconView{}
1315		fa.Ptr = clsPtr
1316		cbFn := *cb
1317
1318		cbFn(fa)
1319
1320	}
1321	cbRefPtr := purego.NewCallback(fcb)
1322	glib.SaveCallbackWithClosure(cbPtr, cbRefPtr, cb)
1323	handlerID := gobject.SignalConnect(x.GoPointer(), "toggle-cursor-item", cbRefPtr)
1324	glib.SaveHandlerMapping(handlerID, cbPtr)
1325	return handlerID
1326}
1327
1328// A [keybinding signal][class@Gtk.SignalAction]
1329// which gets emitted when the user unselects all items.
1330//
1331// Applications should not connect to it, but may emit it with
1332// g_signal_emit_by_name() if they need to control selection
1333// programmatically.
1334//
1335// The default binding for this signal is Ctrl-Shift-a.
1336func (x *IconView) ConnectUnselectAll(cb *func(IconView)) uint {
1337	cbPtr := uintptr(unsafe.Pointer(cb))
1338	if cbRefPtr, ok := glib.GetCallback(cbPtr); ok {
1339		handlerID := gobject.SignalConnect(x.GoPointer(), "unselect-all", cbRefPtr)
1340		glib.SaveHandlerMapping(handlerID, cbPtr)
1341		return handlerID
1342	}
1343
1344	fcb := func(clsPtr uintptr) {
1345		fa := IconView{}
1346		fa.Ptr = clsPtr
1347		cbFn := *cb
1348
1349		cbFn(fa)
1350
1351	}
1352	cbRefPtr := purego.NewCallback(fcb)
1353	glib.SaveCallbackWithClosure(cbPtr, cbRefPtr, cb)
1354	handlerID := gobject.SignalConnect(x.GoPointer(), "unselect-all", cbRefPtr)
1355	glib.SaveHandlerMapping(handlerID, cbPtr)
1356	return handlerID
1357}
1358
1359// Requests the user's screen reader to announce the given message.
1360//
1361// This kind of notification is useful for messages that
1362// either have only a visual representation or that are not
1363// exposed visually at all, e.g. a notification about a
1364// successful operation.
1365//
1366// Also, by using this API, you can ensure that the message
1367// does not interrupts the user's current screen reader output.
1368func (x *IconView) Announce(MessageVar string, PriorityVar AccessibleAnnouncementPriority) {
1369
1370	XGtkAccessibleAnnounce(x.GoPointer(), MessageVar, PriorityVar)
1371
1372}
1373
1374// Retrieves the accessible parent for an accessible object.
1375//
1376// This function returns `NULL` for top level widgets.
1377func (x *IconView) GetAccessibleParent() *AccessibleBase {
1378	var cls *AccessibleBase
1379
1380	cret := XGtkAccessibleGetAccessibleParent(x.GoPointer())
1381
1382	if cret == 0 {
1383		return nil
1384	}
1385	cls = &AccessibleBase{}
1386	cls.Ptr = cret
1387	return cls
1388}
1389
1390// Retrieves the accessible role of an accessible object.
1391func (x *IconView) GetAccessibleRole() AccessibleRole {
1392
1393	cret := XGtkAccessibleGetAccessibleRole(x.GoPointer())
1394	return cret
1395}
1396
1397// Retrieves the implementation for the given accessible object.
1398func (x *IconView) GetAtContext() *ATContext {
1399	var cls *ATContext
1400
1401	cret := XGtkAccessibleGetAtContext(x.GoPointer())
1402
1403	if cret == 0 {
1404		return nil
1405	}
1406	cls = &ATContext{}
1407	cls.Ptr = cret
1408	return cls
1409}
1410
1411// Queries the coordinates and dimensions of this accessible
1412//
1413// This functionality can be overridden by `GtkAccessible`
1414// implementations, e.g. to get the bounds from an ignored
1415// child widget.
1416func (x *IconView) GetBounds(XVar *int, YVar *int, WidthVar *int, HeightVar *int) bool {
1417
1418	cret := XGtkAccessibleGetBounds(x.GoPointer(), XVar, YVar, WidthVar, HeightVar)
1419	return cret
1420}
1421
1422// Retrieves the first accessible child of an accessible object.
1423func (x *IconView) GetFirstAccessibleChild() *AccessibleBase {
1424	var cls *AccessibleBase
1425
1426	cret := XGtkAccessibleGetFirstAccessibleChild(x.GoPointer())
1427
1428	if cret == 0 {
1429		return nil
1430	}
1431	cls = &AccessibleBase{}
1432	cls.Ptr = cret
1433	return cls
1434}
1435
1436// Retrieves the next accessible sibling of an accessible object
1437func (x *IconView) GetNextAccessibleSibling() *AccessibleBase {
1438	var cls *AccessibleBase
1439
1440	cret := XGtkAccessibleGetNextAccessibleSibling(x.GoPointer())
1441
1442	if cret == 0 {
1443		return nil
1444	}
1445	cls = &AccessibleBase{}
1446	cls.Ptr = cret
1447	return cls
1448}
1449
1450// Queries a platform state, such as focus.
1451//
1452// This functionality can be overridden by `GtkAccessible`
1453// implementations, e.g. to get platform state from an ignored
1454// child widget, as is the case for `GtkText` wrappers.
1455func (x *IconView) GetPlatformState(StateVar AccessiblePlatformState) bool {
1456
1457	cret := XGtkAccessibleGetPlatformState(x.GoPointer(), StateVar)
1458	return cret
1459}
1460
1461// Resets the accessible property to its default value.
1462func (x *IconView) ResetProperty(PropertyVar AccessibleProperty) {
1463
1464	XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
1465
1466}
1467
1468// Resets the accessible relation to its default value.
1469func (x *IconView) ResetRelation(RelationVar AccessibleRelation) {
1470
1471	XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
1472
1473}
1474
1475// Resets the accessible state to its default value.
1476func (x *IconView) ResetState(StateVar AccessibleState) {
1477
1478	XGtkAccessibleResetState(x.GoPointer(), StateVar)
1479
1480}
1481
1482// Sets the parent and sibling of an accessible object.
1483//
1484// This function is meant to be used by accessible implementations that are
1485// not part of the widget hierarchy, and but act as a logical bridge between
1486// widgets. For instance, if a widget creates an object that holds metadata
1487// for each child, and you want that object to implement the `GtkAccessible`
1488// interface, you will use this function to ensure that the parent of each
1489// child widget is the metadata object, and the parent of each metadata
1490// object is the container widget.
1491func (x *IconView) SetAccessibleParent(ParentVar Accessible, NextSiblingVar Accessible) {
1492
1493	XGtkAccessibleSetAccessibleParent(x.GoPointer(), ParentVar.GoPointer(), NextSiblingVar.GoPointer())
1494
1495}
1496
1497// Updates the next accessible sibling.
1498//
1499// That might be useful when a new child of a custom accessible
1500// is created, and it needs to be linked to a previous child.
1501func (x *IconView) UpdateNextAccessibleSibling(NewSiblingVar Accessible) {
1502
1503	XGtkAccessibleUpdateNextAccessibleSibling(x.GoPointer(), NewSiblingVar.GoPointer())
1504
1505}
1506
1507// Informs ATs that the platform state has changed.
1508//
1509// This function should be used by `GtkAccessible` implementations that
1510// have a platform state but are not widgets. Widgets handle platform
1511// states automatically.
1512func (x *IconView) UpdatePlatformState(StateVar AccessiblePlatformState) {
1513
1514	XGtkAccessibleUpdatePlatformState(x.GoPointer(), StateVar)
1515
1516}
1517
1518// Updates a list of accessible properties.
1519//
1520// See the [enum@Gtk.AccessibleProperty] documentation for the
1521// value types of accessible properties.
1522//
1523// This function should be called by `GtkWidget` types whenever
1524// an accessible property change must be communicated to assistive
1525// technologies.
1526//
1527// Example:
1528// ```c
1529// value = gtk_adjustment_get_value (adjustment);
1530// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
1531//
1532//	GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
1533//	-1);
1534//
1535// ```
1536func (x *IconView) UpdateProperty(FirstPropertyVar AccessibleProperty, varArgs ...interface{}) {
1537
1538	XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
1539
1540}
1541
1542// Updates an array of accessible properties.
1543//
1544// This function should be called by `GtkWidget` types whenever an accessible
1545// property change must be communicated to assistive technologies.
1546//
1547// This function is meant to be used by language bindings.
1548func (x *IconView) UpdatePropertyValue(NPropertiesVar int, PropertiesVar []AccessibleProperty, ValuesVar []gobject.Value) {
1549
1550	XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
1551
1552}
1553
1554// Updates a list of accessible relations.
1555//
1556// This function should be called by `GtkWidget` types whenever an accessible
1557// relation change must be communicated to assistive technologies.
1558//
1559// If the [enum@Gtk.AccessibleRelation] requires a list of references,
1560// you should pass each reference individually, followed by `NULL`, e.g.
1561//
1562// ```c
1563// gtk_accessible_update_relation (accessible,
1564//
1565//	GTK_ACCESSIBLE_RELATION_CONTROLS,
1566//	  ref1, NULL,
1567//	GTK_ACCESSIBLE_RELATION_LABELLED_BY,
1568//	  ref1, ref2, ref3, NULL,
1569//	-1);
1570//
1571// ```
1572func (x *IconView) UpdateRelation(FirstRelationVar AccessibleRelation, varArgs ...interface{}) {
1573
1574	XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
1575
1576}
1577
1578// Updates an array of accessible relations.
1579//
1580// This function should be called by `GtkWidget` types whenever an accessible
1581// relation change must be communicated to assistive technologies.
1582//
1583// This function is meant to be used by language bindings.
1584func (x *IconView) UpdateRelationValue(NRelationsVar int, RelationsVar []AccessibleRelation, ValuesVar []gobject.Value) {
1585
1586	XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
1587
1588}
1589
1590// Updates a list of accessible states.
1591//
1592// See the [enum@Gtk.AccessibleState] documentation for the
1593// value types of accessible states.
1594//
1595// This function should be called by `GtkWidget` types whenever
1596// an accessible state change must be communicated to assistive
1597// technologies.
1598//
1599// Example:
1600//
1601// ```c
1602// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
1603// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
1604//
1605//	GTK_ACCESSIBLE_STATE_CHECKED, value,
1606//	-1);
1607//
1608// ```
1609func (x *IconView) UpdateState(FirstStateVar AccessibleState, varArgs ...interface{}) {
1610
1611	XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
1612
1613}
1614
1615// Updates an array of accessible states.
1616//
1617// This function should be called by `GtkWidget` types whenever an accessible
1618// state change must be communicated to assistive technologies.
1619//
1620// This function is meant to be used by language bindings.
1621func (x *IconView) UpdateStateValue(NStatesVar int, StatesVar []AccessibleState, ValuesVar []gobject.Value) {
1622
1623	XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
1624
1625}
1626
1627// Gets the ID of the @buildable object.
1628//
1629// `GtkBuilder` sets the name based on the ID attribute
1630// of the `<object>` tag used to construct the @buildable.
1631func (x *IconView) GetBuildableId() string {
1632
1633	cret := XGtkBuildableGetBuildableId(x.GoPointer())
1634	return cret
1635}
1636
1637// Adds an attribute mapping to the list in @cell_layout.
1638//
1639// The @column is the column of the model to get a value from, and the
1640// @attribute is the property on @cell to be set from that value. So for
1641// example if column 2 of the model contains strings, you could have the
1642// “text” attribute of a `GtkCellRendererText` get its values from column 2.
1643// In this context "attribute" and "property" are used interchangeably.
1644func (x *IconView) AddAttribute(CellVar *CellRenderer, AttributeVar string, ColumnVar int) {
1645
1646	XGtkCellLayoutAddAttribute(x.GoPointer(), CellVar.GoPointer(), AttributeVar, ColumnVar)
1647
1648}
1649
1650// Unsets all the mappings on all renderers on @cell_layout and
1651// removes all renderers from @cell_layout.
1652func (x *IconView) Clear() {
1653
1654	XGtkCellLayoutClear(x.GoPointer())
1655
1656}
1657
1658// Clears all existing attributes previously set with
1659// gtk_cell_layout_set_attributes().
1660func (x *IconView) ClearAttributes(CellVar *CellRenderer) {
1661
1662	XGtkCellLayoutClearAttributes(x.GoPointer(), CellVar.GoPointer())
1663
1664}
1665
1666// Returns the underlying `GtkCellArea` which might be @cell_layout
1667// if called on a `GtkCellArea` or might be %NULL if no `GtkCellArea`
1668// is used by @cell_layout.
1669func (x *IconView) GetArea() *CellArea {
1670	var cls *CellArea
1671
1672	cret := XGtkCellLayoutGetArea(x.GoPointer())
1673
1674	if cret == 0 {
1675		return nil
1676	}
1677	gobject.IncreaseRef(cret)
1678	cls = &CellArea{}
1679	cls.Ptr = cret
1680	return cls
1681}
1682
1683// Returns the cell renderers which have been added to @cell_layout.
1684func (x *IconView) GetCells() *glib.List {
1685
1686	cret := XGtkCellLayoutGetCells(x.GoPointer())
1687	return cret
1688}
1689
1690// Adds the @cell to the end of @cell_layout. If @expand is %FALSE, then the
1691// @cell is allocated no more space than it needs. Any unused space is
1692// divided evenly between cells for which @expand is %TRUE.
1693//
1694// Note that reusing the same cell renderer is not supported.
1695func (x *IconView) PackEnd(CellVar *CellRenderer, ExpandVar bool) {
1696
1697	XGtkCellLayoutPackEnd(x.GoPointer(), CellVar.GoPointer(), ExpandVar)
1698
1699}
1700
1701// Packs the @cell into the beginning of @cell_layout. If @expand is %FALSE,
1702// then the @cell is allocated no more space than it needs. Any unused space
1703// is divided evenly between cells for which @expand is %TRUE.
1704//
1705// Note that reusing the same cell renderer is not supported.
1706func (x *IconView) PackStart(CellVar *CellRenderer, ExpandVar bool) {
1707
1708	XGtkCellLayoutPackStart(x.GoPointer(), CellVar.GoPointer(), ExpandVar)
1709
1710}
1711
1712// Re-inserts @cell at @position.
1713//
1714// Note that @cell has already to be packed into @cell_layout
1715// for this to function properly.
1716func (x *IconView) Reorder(CellVar *CellRenderer, PositionVar int) {
1717
1718	XGtkCellLayoutReorder(x.GoPointer(), CellVar.GoPointer(), PositionVar)
1719
1720}
1721
1722// Sets the attributes in the parameter list as the attributes
1723// of @cell_layout.
1724//
1725// See [method@Gtk.CellLayout.add_attribute] for more details.
1726//
1727// The attributes should be in attribute/column order, as in
1728// gtk_cell_layout_add_attribute(). All existing attributes are
1729// removed, and replaced with the new attributes.
1730func (x *IconView) SetAttributes(CellVar *CellRenderer, varArgs ...interface{}) {
1731
1732	XGtkCellLayoutSetAttributes(x.GoPointer(), CellVar.GoPointer(), varArgs...)
1733
1734}
1735
1736// Sets the `GtkCellLayout`DataFunc to use for @cell_layout.
1737//
1738// This function is used instead of the standard attributes mapping
1739// for setting the column value, and should set the value of @cell_layout’s
1740// cell renderer(s) as appropriate.
1741//
1742// @func may be %NULL to remove a previously set function.
1743func (x *IconView) SetCellDataFunc(CellVar *CellRenderer, FuncVar *CellLayoutDataFunc, FuncDataVar uintptr, DestroyVar *glib.DestroyNotify) {
1744
1745	XGtkCellLayoutSetCellDataFunc(x.GoPointer(), CellVar.GoPointer(), glib.NewCallbackNullable(FuncVar), FuncDataVar, glib.NewCallback(DestroyVar))
1746
1747}
1748
1749// Returns the size of a non-scrolling border around the
1750// outside of the scrollable.
1751//
1752// An example for this would be treeview headers. GTK can use
1753// this information to display overlaid graphics, like the
1754// overshoot indication, at the right position.
1755func (x *IconView) GetBorder(BorderVar *Border) bool {
1756
1757	cret := XGtkScrollableGetBorder(x.GoPointer(), BorderVar)
1758	return cret
1759}
1760
1761// Retrieves the `GtkAdjustment` used for horizontal scrolling.
1762func (x *IconView) GetHadjustment() *Adjustment {
1763	var cls *Adjustment
1764
1765	cret := XGtkScrollableGetHadjustment(x.GoPointer())
1766
1767	if cret == 0 {
1768		return nil
1769	}
1770	gobject.IncreaseRef(cret)
1771	cls = &Adjustment{}
1772	cls.Ptr = cret
1773	return cls
1774}
1775
1776// Gets the horizontal `GtkScrollablePolicy`.
1777func (x *IconView) GetHscrollPolicy() ScrollablePolicy {
1778
1779	cret := XGtkScrollableGetHscrollPolicy(x.GoPointer())
1780	return cret
1781}
1782
1783// Retrieves the `GtkAdjustment` used for vertical scrolling.
1784func (x *IconView) GetVadjustment() *Adjustment {
1785	var cls *Adjustment
1786
1787	cret := XGtkScrollableGetVadjustment(x.GoPointer())
1788
1789	if cret == 0 {
1790		return nil
1791	}
1792	gobject.IncreaseRef(cret)
1793	cls = &Adjustment{}
1794	cls.Ptr = cret
1795	return cls
1796}
1797
1798// Gets the vertical `GtkScrollablePolicy`.
1799func (x *IconView) GetVscrollPolicy() ScrollablePolicy {
1800
1801	cret := XGtkScrollableGetVscrollPolicy(x.GoPointer())
1802	return cret
1803}
1804
1805// Sets the horizontal adjustment of the `GtkScrollable`.
1806func (x *IconView) SetHadjustment(HadjustmentVar *Adjustment) {
1807
1808	XGtkScrollableSetHadjustment(x.GoPointer(), HadjustmentVar.GoPointer())
1809
1810}
1811
1812// Sets the `GtkScrollablePolicy`.
1813//
1814// The policy determines whether horizontal scrolling should start
1815// below the minimum width or below the natural width.
1816func (x *IconView) SetHscrollPolicy(PolicyVar ScrollablePolicy) {
1817
1818	XGtkScrollableSetHscrollPolicy(x.GoPointer(), PolicyVar)
1819
1820}
1821
1822// Sets the vertical adjustment of the `GtkScrollable`.
1823func (x *IconView) SetVadjustment(VadjustmentVar *Adjustment) {
1824
1825	XGtkScrollableSetVadjustment(x.GoPointer(), VadjustmentVar.GoPointer())
1826
1827}
1828
1829// Sets the `GtkScrollablePolicy`.
1830//
1831// The policy determines whether vertical scrolling should start
1832// below the minimum height or below the natural height.
1833func (x *IconView) SetVscrollPolicy(PolicyVar ScrollablePolicy) {
1834
1835	XGtkScrollableSetVscrollPolicy(x.GoPointer(), PolicyVar)
1836
1837}
1838
1839func init() {
1840	core.SetPackageName("GTK", "gtk4")
1841	core.SetSharedLibraries("GTK", []string{"libgtk-4.so.1"})
1842	var libs []uintptr
1843	for _, libPath := range core.GetPaths("GTK") {
1844		lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
1845		if err != nil {
1846			panic(err)
1847		}
1848		libs = append(libs, lib)
1849	}
1850
1851	core.PuregoSafeRegister(&xIconViewDropPositionGLibType, libs, "gtk_icon_view_drop_position_get_type")
1852
1853	core.PuregoSafeRegister(&xIconViewGLibType, libs, "gtk_icon_view_get_type")
1854
1855	core.PuregoSafeRegister(&xNewIconView, libs, "gtk_icon_view_new")
1856	core.PuregoSafeRegister(&xNewIconViewWithArea, libs, "gtk_icon_view_new_with_area")
1857	core.PuregoSafeRegister(&xNewIconViewWithModel, libs, "gtk_icon_view_new_with_model")
1858
1859	core.PuregoSafeRegister(&xIconViewCreateDragIcon, libs, "gtk_icon_view_create_drag_icon")
1860	core.PuregoSafeRegister(&xIconViewEnableModelDragDest, libs, "gtk_icon_view_enable_model_drag_dest")
1861	core.PuregoSafeRegister(&xIconViewEnableModelDragSource, libs, "gtk_icon_view_enable_model_drag_source")
1862	core.PuregoSafeRegister(&xIconViewGetActivateOnSingleClick, libs, "gtk_icon_view_get_activate_on_single_click")
1863	core.PuregoSafeRegister(&xIconViewGetCellRect, libs, "gtk_icon_view_get_cell_rect")
1864	core.PuregoSafeRegister(&xIconViewGetColumnSpacing, libs, "gtk_icon_view_get_column_spacing")
1865	core.PuregoSafeRegister(&xIconViewGetColumns, libs, "gtk_icon_view_get_columns")
1866	core.PuregoSafeRegister(&xIconViewGetCursor, libs, "gtk_icon_view_get_cursor")
1867	core.PuregoSafeRegister(&xIconViewGetDestItemAtPos, libs, "gtk_icon_view_get_dest_item_at_pos")
1868	core.PuregoSafeRegister(&xIconViewGetDragDestItem, libs, "gtk_icon_view_get_drag_dest_item")
1869	core.PuregoSafeRegister(&xIconViewGetItemAtPos, libs, "gtk_icon_view_get_item_at_pos")
1870	core.PuregoSafeRegister(&xIconViewGetItemColumn, libs, "gtk_icon_view_get_item_column")
1871	core.PuregoSafeRegister(&xIconViewGetItemOrientation, libs, "gtk_icon_view_get_item_orientation")
1872	core.PuregoSafeRegister(&xIconViewGetItemPadding, libs, "gtk_icon_view_get_item_padding")
1873	core.PuregoSafeRegister(&xIconViewGetItemRow, libs, "gtk_icon_view_get_item_row")
1874	core.PuregoSafeRegister(&xIconViewGetItemWidth, libs, "gtk_icon_view_get_item_width")
1875	core.PuregoSafeRegister(&xIconViewGetMargin, libs, "gtk_icon_view_get_margin")
1876	core.PuregoSafeRegister(&xIconViewGetMarkupColumn, libs, "gtk_icon_view_get_markup_column")
1877	core.PuregoSafeRegister(&xIconViewGetModel, libs, "gtk_icon_view_get_model")
1878	core.PuregoSafeRegister(&xIconViewGetPathAtPos, libs, "gtk_icon_view_get_path_at_pos")
1879	core.PuregoSafeRegister(&xIconViewGetPixbufColumn, libs, "gtk_icon_view_get_pixbuf_column")
1880	core.PuregoSafeRegister(&xIconViewGetReorderable, libs, "gtk_icon_view_get_reorderable")
1881	core.PuregoSafeRegister(&xIconViewGetRowSpacing, libs, "gtk_icon_view_get_row_spacing")
1882	core.PuregoSafeRegister(&xIconViewGetSelectedItems, libs, "gtk_icon_view_get_selected_items")
1883	core.PuregoSafeRegister(&xIconViewGetSelectionMode, libs, "gtk_icon_view_get_selection_mode")
1884	core.PuregoSafeRegister(&xIconViewGetSpacing, libs, "gtk_icon_view_get_spacing")
1885	core.PuregoSafeRegister(&xIconViewGetTextColumn, libs, "gtk_icon_view_get_text_column")
1886	core.PuregoSafeRegister(&xIconViewGetTooltipColumn, libs, "gtk_icon_view_get_tooltip_column")
1887	core.PuregoSafeRegister(&xIconViewGetTooltipContext, libs, "gtk_icon_view_get_tooltip_context")
1888	core.PuregoSafeRegister(&xIconViewGetVisibleRange, libs, "gtk_icon_view_get_visible_range")
1889	core.PuregoSafeRegister(&xIconViewItemActivated, libs, "gtk_icon_view_item_activated")
1890	core.PuregoSafeRegister(&xIconViewPathIsSelected, libs, "gtk_icon_view_path_is_selected")
1891	core.PuregoSafeRegister(&xIconViewScrollToPath, libs, "gtk_icon_view_scroll_to_path")
1892	core.PuregoSafeRegister(&xIconViewSelectAll, libs, "gtk_icon_view_select_all")
1893	core.PuregoSafeRegister(&xIconViewSelectPath, libs, "gtk_icon_view_select_path")
1894	core.PuregoSafeRegister(&xIconViewSelectedForeach, libs, "gtk_icon_view_selected_foreach")
1895	core.PuregoSafeRegister(&xIconViewSetActivateOnSingleClick, libs, "gtk_icon_view_set_activate_on_single_click")
1896	core.PuregoSafeRegister(&xIconViewSetColumnSpacing, libs, "gtk_icon_view_set_column_spacing")
1897	core.PuregoSafeRegister(&xIconViewSetColumns, libs, "gtk_icon_view_set_columns")
1898	core.PuregoSafeRegister(&xIconViewSetCursor, libs, "gtk_icon_view_set_cursor")
1899	core.PuregoSafeRegister(&xIconViewSetDragDestItem, libs, "gtk_icon_view_set_drag_dest_item")
1900	core.PuregoSafeRegister(&xIconViewSetItemOrientation, libs, "gtk_icon_view_set_item_orientation")
1901	core.PuregoSafeRegister(&xIconViewSetItemPadding, libs, "gtk_icon_view_set_item_padding")
1902	core.PuregoSafeRegister(&xIconViewSetItemWidth, libs, "gtk_icon_view_set_item_width")
1903	core.PuregoSafeRegister(&xIconViewSetMargin, libs, "gtk_icon_view_set_margin")
1904	core.PuregoSafeRegister(&xIconViewSetMarkupColumn, libs, "gtk_icon_view_set_markup_column")
1905	core.PuregoSafeRegister(&xIconViewSetModel, libs, "gtk_icon_view_set_model")
1906	core.PuregoSafeRegister(&xIconViewSetPixbufColumn, libs, "gtk_icon_view_set_pixbuf_column")
1907	core.PuregoSafeRegister(&xIconViewSetReorderable, libs, "gtk_icon_view_set_reorderable")
1908	core.PuregoSafeRegister(&xIconViewSetRowSpacing, libs, "gtk_icon_view_set_row_spacing")
1909	core.PuregoSafeRegister(&xIconViewSetSelectionMode, libs, "gtk_icon_view_set_selection_mode")
1910	core.PuregoSafeRegister(&xIconViewSetSpacing, libs, "gtk_icon_view_set_spacing")
1911	core.PuregoSafeRegister(&xIconViewSetTextColumn, libs, "gtk_icon_view_set_text_column")
1912	core.PuregoSafeRegister(&xIconViewSetTooltipCell, libs, "gtk_icon_view_set_tooltip_cell")
1913	core.PuregoSafeRegister(&xIconViewSetTooltipColumn, libs, "gtk_icon_view_set_tooltip_column")
1914	core.PuregoSafeRegister(&xIconViewSetTooltipItem, libs, "gtk_icon_view_set_tooltip_item")
1915	core.PuregoSafeRegister(&xIconViewUnselectAll, libs, "gtk_icon_view_unselect_all")
1916	core.PuregoSafeRegister(&xIconViewUnselectPath, libs, "gtk_icon_view_unselect_path")
1917	core.PuregoSafeRegister(&xIconViewUnsetModelDragDest, libs, "gtk_icon_view_unset_model_drag_dest")
1918	core.PuregoSafeRegister(&xIconViewUnsetModelDragSource, libs, "gtk_icon_view_unset_model_drag_source")
1919
1920}

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 1

Tags 102

↑↓ moveenter openesc close