v0.2.1 c0399be

gtkcellrendereraccel.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// The available modes for [property@Gtk.CellRendererAccel:accel-mode].
17type CellRendererAccelMode int
18
19var xCellRendererAccelModeGLibType func() types.GType
20
21func CellRendererAccelModeGLibType() types.GType {
22	return xCellRendererAccelModeGLibType()
23}
24
25const (
26
27	// GTK accelerators mode
28	CellRendererAccelModeGtkValue CellRendererAccelMode = 0
29	// Other accelerator mode
30	CellRendererAccelModeOtherValue CellRendererAccelMode = 1
31)
32
33// Renders a keyboard accelerator in a cell
34//
35// `GtkCellRendererAccel` displays a keyboard accelerator (i.e. a key
36// combination like `Control + a`). If the cell renderer is editable,
37// the accelerator can be changed by simply typing the new combination.
38type CellRendererAccel struct {
39	CellRendererText
40}
41
42var xCellRendererAccelGLibType func() types.GType
43
44func CellRendererAccelGLibType() types.GType {
45	return xCellRendererAccelGLibType()
46}
47
48func CellRendererAccelNewFromInternalPtr(ptr uintptr) *CellRendererAccel {
49	cls := &CellRendererAccel{}
50	cls.Ptr = ptr
51	return cls
52}
53
54var xNewCellRendererAccel func() uintptr
55
56// Creates a new `GtkCellRendererAccel`.
57func NewCellRendererAccel() *CellRendererAccel {
58	var cls *CellRendererAccel
59
60	cret := xNewCellRendererAccel()
61
62	if cret == 0 {
63		return nil
64	}
65	gobject.IncreaseRef(cret)
66	cls = &CellRendererAccel{}
67	cls.Ptr = cret
68	return cls
69}
70
71func (c *CellRendererAccel) GoPointer() uintptr {
72	if c == nil {
73		return 0
74	}
75	return c.Ptr
76}
77
78func (c *CellRendererAccel) SetGoPointer(ptr uintptr) {
79	c.Ptr = ptr
80}
81
82// SetPropertyAccelKey sets the "accel-key" property.
83// The keyval of the accelerator.
84func (x *CellRendererAccel) SetPropertyAccelKey(value uint) {
85	var v gobject.Value
86	v.Init(gobject.TypeUintVal)
87	v.SetUint(value)
88	x.SetProperty("accel-key", &v)
89}
90
91// GetPropertyAccelKey gets the "accel-key" property.
92// The keyval of the accelerator.
93func (x *CellRendererAccel) GetPropertyAccelKey() uint {
94	var v gobject.Value
95	x.GetProperty("accel-key", &v)
96	return v.GetUint()
97}
98
99// SetPropertyKeycode sets the "keycode" property.
100// The hardware keycode of the accelerator. Note that the hardware keycode is
101// only relevant if the key does not have a keyval. Normally, the keyboard
102// configuration should assign keyvals to all keys.
103func (x *CellRendererAccel) SetPropertyKeycode(value uint) {
104	var v gobject.Value
105	v.Init(gobject.TypeUintVal)
106	v.SetUint(value)
107	x.SetProperty("keycode", &v)
108}
109
110// GetPropertyKeycode gets the "keycode" property.
111// The hardware keycode of the accelerator. Note that the hardware keycode is
112// only relevant if the key does not have a keyval. Normally, the keyboard
113// configuration should assign keyvals to all keys.
114func (x *CellRendererAccel) GetPropertyKeycode() uint {
115	var v gobject.Value
116	x.GetProperty("keycode", &v)
117	return v.GetUint()
118}
119
120// Gets emitted when the user has removed the accelerator.
121func (x *CellRendererAccel) ConnectAccelCleared(cb *func(CellRendererAccel, string)) uint {
122	cbPtr := uintptr(unsafe.Pointer(cb))
123	if cbRefPtr, ok := glib.GetCallback(cbPtr); ok {
124		handlerID := gobject.SignalConnect(x.GoPointer(), "accel-cleared", cbRefPtr)
125		glib.SaveHandlerMapping(handlerID, cbPtr)
126		return handlerID
127	}
128
129	fcb := func(clsPtr uintptr, PathStringVarp uintptr) {
130		fa := CellRendererAccel{}
131		fa.Ptr = clsPtr
132		cbFn := *cb
133
134		cbFn(fa, core.GoString(PathStringVarp))
135
136	}
137	cbRefPtr := purego.NewCallback(fcb)
138	glib.SaveCallbackWithClosure(cbPtr, cbRefPtr, cb)
139	handlerID := gobject.SignalConnect(x.GoPointer(), "accel-cleared", cbRefPtr)
140	glib.SaveHandlerMapping(handlerID, cbPtr)
141	return handlerID
142}
143
144// Gets emitted when the user has selected a new accelerator.
145func (x *CellRendererAccel) ConnectAccelEdited(cb *func(CellRendererAccel, string, uint, gdk.ModifierType, uint)) uint {
146	cbPtr := uintptr(unsafe.Pointer(cb))
147	if cbRefPtr, ok := glib.GetCallback(cbPtr); ok {
148		handlerID := gobject.SignalConnect(x.GoPointer(), "accel-edited", cbRefPtr)
149		glib.SaveHandlerMapping(handlerID, cbPtr)
150		return handlerID
151	}
152
153	fcb := func(clsPtr uintptr, PathStringVarp uintptr, AccelKeyVarp uint, AccelModsVarp gdk.ModifierType, HardwareKeycodeVarp uint) {
154		fa := CellRendererAccel{}
155		fa.Ptr = clsPtr
156		cbFn := *cb
157
158		cbFn(fa, core.GoString(PathStringVarp), AccelKeyVarp, AccelModsVarp, HardwareKeycodeVarp)
159
160	}
161	cbRefPtr := purego.NewCallback(fcb)
162	glib.SaveCallbackWithClosure(cbPtr, cbRefPtr, cb)
163	handlerID := gobject.SignalConnect(x.GoPointer(), "accel-edited", cbRefPtr)
164	glib.SaveHandlerMapping(handlerID, cbPtr)
165	return handlerID
166}
167
168func init() {
169	core.SetPackageName("GTK", "gtk4")
170	core.SetSharedLibraries("GTK", []string{"libgtk-4.so.1"})
171	var libs []uintptr
172	for _, libPath := range core.GetPaths("GTK") {
173		lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
174		if err != nil {
175			panic(err)
176		}
177		libs = append(libs, lib)
178	}
179
180	core.PuregoSafeRegister(&xCellRendererAccelModeGLibType, libs, "gtk_cell_renderer_accel_mode_get_type")
181
182	core.PuregoSafeRegister(&xCellRendererAccelGLibType, libs, "gtk_cell_renderer_accel_get_type")
183
184	core.PuregoSafeRegister(&xNewCellRendererAccel, libs, "gtk_cell_renderer_accel_new")
185
186}

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