v0.2.1 c0399be

gtkentrybuffer.go RawHistoryFolder

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
16type EntryBufferClass struct {
17	_ structs.HostLayout
18
19	ParentClass gobject.ObjectClass
20
21	xInsertedText uintptr
22
23	xDeletedText uintptr
24
25	xGetText uintptr
26
27	xGetLength uintptr
28
29	xInsertText uintptr
30
31	xDeleteText uintptr
32
33	xGtkReserved1 uintptr
34
35	xGtkReserved2 uintptr
36
37	xGtkReserved3 uintptr
38
39	xGtkReserved4 uintptr
40
41	xGtkReserved5 uintptr
42
43	xGtkReserved6 uintptr
44
45	xGtkReserved7 uintptr
46
47	xGtkReserved8 uintptr
48}
49
50func (x *EntryBufferClass) GoPointer() uintptr {
51	return uintptr(unsafe.Pointer(x))
52}
53
54// OverrideInsertedText sets the "inserted_text" callback function.
55func (x *EntryBufferClass) OverrideInsertedText(cb func(*EntryBuffer, uint, string, uint)) {
56	if cb == nil {
57		x.xInsertedText = 0
58	} else {
59		x.xInsertedText = purego.NewCallback(func(BufferVarp uintptr, PositionVarp uint, CharsVarp string, NCharsVarp uint) {
60			cb(EntryBufferNewFromInternalPtr(BufferVarp), PositionVarp, CharsVarp, NCharsVarp)
61		})
62	}
63}
64
65// GetInsertedText gets the "inserted_text" callback function.
66func (x *EntryBufferClass) GetInsertedText() func(*EntryBuffer, uint, string, uint) {
67	if x.xInsertedText == 0 {
68		return nil
69	}
70	var rawCallback func(BufferVarp uintptr, PositionVarp uint, CharsVarp string, NCharsVarp uint)
71	purego.RegisterFunc(&rawCallback, x.xInsertedText)
72	return func(BufferVar *EntryBuffer, PositionVar uint, CharsVar string, NCharsVar uint) {
73		rawCallback(BufferVar.GoPointer(), PositionVar, CharsVar, NCharsVar)
74	}
75}
76
77// OverrideDeletedText sets the "deleted_text" callback function.
78func (x *EntryBufferClass) OverrideDeletedText(cb func(*EntryBuffer, uint, uint)) {
79	if cb == nil {
80		x.xDeletedText = 0
81	} else {
82		x.xDeletedText = purego.NewCallback(func(BufferVarp uintptr, PositionVarp uint, NCharsVarp uint) {
83			cb(EntryBufferNewFromInternalPtr(BufferVarp), PositionVarp, NCharsVarp)
84		})
85	}
86}
87
88// GetDeletedText gets the "deleted_text" callback function.
89func (x *EntryBufferClass) GetDeletedText() func(*EntryBuffer, uint, uint) {
90	if x.xDeletedText == 0 {
91		return nil
92	}
93	var rawCallback func(BufferVarp uintptr, PositionVarp uint, NCharsVarp uint)
94	purego.RegisterFunc(&rawCallback, x.xDeletedText)
95	return func(BufferVar *EntryBuffer, PositionVar uint, NCharsVar uint) {
96		rawCallback(BufferVar.GoPointer(), PositionVar, NCharsVar)
97	}
98}
99
100// OverrideGetText sets the "get_text" callback function.
101func (x *EntryBufferClass) OverrideGetText(cb func(*EntryBuffer, uint) string) {
102	if cb == nil {
103		x.xGetText = 0
104	} else {
105		x.xGetText = purego.NewCallback(func(BufferVarp uintptr, NBytesVarp uint) string {
106			return cb(EntryBufferNewFromInternalPtr(BufferVarp), NBytesVarp)
107		})
108	}
109}
110
111// GetGetText gets the "get_text" callback function.
112func (x *EntryBufferClass) GetGetText() func(*EntryBuffer, uint) string {
113	if x.xGetText == 0 {
114		return nil
115	}
116	var rawCallback func(BufferVarp uintptr, NBytesVarp uint) string
117	purego.RegisterFunc(&rawCallback, x.xGetText)
118	return func(BufferVar *EntryBuffer, NBytesVar uint) string {
119		return rawCallback(BufferVar.GoPointer(), NBytesVar)
120	}
121}
122
123// OverrideGetLength sets the "get_length" callback function.
124func (x *EntryBufferClass) OverrideGetLength(cb func(*EntryBuffer) uint) {
125	if cb == nil {
126		x.xGetLength = 0
127	} else {
128		x.xGetLength = purego.NewCallback(func(BufferVarp uintptr) uint {
129			return cb(EntryBufferNewFromInternalPtr(BufferVarp))
130		})
131	}
132}
133
134// GetGetLength gets the "get_length" callback function.
135func (x *EntryBufferClass) GetGetLength() func(*EntryBuffer) uint {
136	if x.xGetLength == 0 {
137		return nil
138	}
139	var rawCallback func(BufferVarp uintptr) uint
140	purego.RegisterFunc(&rawCallback, x.xGetLength)
141	return func(BufferVar *EntryBuffer) uint {
142		return rawCallback(BufferVar.GoPointer())
143	}
144}
145
146// OverrideInsertText sets the "insert_text" callback function.
147func (x *EntryBufferClass) OverrideInsertText(cb func(*EntryBuffer, uint, string, uint) uint) {
148	if cb == nil {
149		x.xInsertText = 0
150	} else {
151		x.xInsertText = purego.NewCallback(func(BufferVarp uintptr, PositionVarp uint, CharsVarp string, NCharsVarp uint) uint {
152			return cb(EntryBufferNewFromInternalPtr(BufferVarp), PositionVarp, CharsVarp, NCharsVarp)
153		})
154	}
155}
156
157// GetInsertText gets the "insert_text" callback function.
158func (x *EntryBufferClass) GetInsertText() func(*EntryBuffer, uint, string, uint) uint {
159	if x.xInsertText == 0 {
160		return nil
161	}
162	var rawCallback func(BufferVarp uintptr, PositionVarp uint, CharsVarp string, NCharsVarp uint) uint
163	purego.RegisterFunc(&rawCallback, x.xInsertText)
164	return func(BufferVar *EntryBuffer, PositionVar uint, CharsVar string, NCharsVar uint) uint {
165		return rawCallback(BufferVar.GoPointer(), PositionVar, CharsVar, NCharsVar)
166	}
167}
168
169// OverrideDeleteText sets the "delete_text" callback function.
170func (x *EntryBufferClass) OverrideDeleteText(cb func(*EntryBuffer, uint, uint) uint) {
171	if cb == nil {
172		x.xDeleteText = 0
173	} else {
174		x.xDeleteText = purego.NewCallback(func(BufferVarp uintptr, PositionVarp uint, NCharsVarp uint) uint {
175			return cb(EntryBufferNewFromInternalPtr(BufferVarp), PositionVarp, NCharsVarp)
176		})
177	}
178}
179
180// GetDeleteText gets the "delete_text" callback function.
181func (x *EntryBufferClass) GetDeleteText() func(*EntryBuffer, uint, uint) uint {
182	if x.xDeleteText == 0 {
183		return nil
184	}
185	var rawCallback func(BufferVarp uintptr, PositionVarp uint, NCharsVarp uint) uint
186	purego.RegisterFunc(&rawCallback, x.xDeleteText)
187	return func(BufferVar *EntryBuffer, PositionVar uint, NCharsVar uint) uint {
188		return rawCallback(BufferVar.GoPointer(), PositionVar, NCharsVar)
189	}
190}
191
192// OverrideGtkReserved1 sets the "_gtk_reserved1" callback function.
193func (x *EntryBufferClass) OverrideGtkReserved1(cb func()) {
194	if cb == nil {
195		x.xGtkReserved1 = 0
196	} else {
197		x.xGtkReserved1 = purego.NewCallback(func() {
198			cb()
199		})
200	}
201}
202
203// GetGtkReserved1 gets the "_gtk_reserved1" callback function.
204func (x *EntryBufferClass) GetGtkReserved1() func() {
205	if x.xGtkReserved1 == 0 {
206		return nil
207	}
208	var rawCallback func()
209	purego.RegisterFunc(&rawCallback, x.xGtkReserved1)
210	return func() {
211		rawCallback()
212	}
213}
214
215// OverrideGtkReserved2 sets the "_gtk_reserved2" callback function.
216func (x *EntryBufferClass) OverrideGtkReserved2(cb func()) {
217	if cb == nil {
218		x.xGtkReserved2 = 0
219	} else {
220		x.xGtkReserved2 = purego.NewCallback(func() {
221			cb()
222		})
223	}
224}
225
226// GetGtkReserved2 gets the "_gtk_reserved2" callback function.
227func (x *EntryBufferClass) GetGtkReserved2() func() {
228	if x.xGtkReserved2 == 0 {
229		return nil
230	}
231	var rawCallback func()
232	purego.RegisterFunc(&rawCallback, x.xGtkReserved2)
233	return func() {
234		rawCallback()
235	}
236}
237
238// OverrideGtkReserved3 sets the "_gtk_reserved3" callback function.
239func (x *EntryBufferClass) OverrideGtkReserved3(cb func()) {
240	if cb == nil {
241		x.xGtkReserved3 = 0
242	} else {
243		x.xGtkReserved3 = purego.NewCallback(func() {
244			cb()
245		})
246	}
247}
248
249// GetGtkReserved3 gets the "_gtk_reserved3" callback function.
250func (x *EntryBufferClass) GetGtkReserved3() func() {
251	if x.xGtkReserved3 == 0 {
252		return nil
253	}
254	var rawCallback func()
255	purego.RegisterFunc(&rawCallback, x.xGtkReserved3)
256	return func() {
257		rawCallback()
258	}
259}
260
261// OverrideGtkReserved4 sets the "_gtk_reserved4" callback function.
262func (x *EntryBufferClass) OverrideGtkReserved4(cb func()) {
263	if cb == nil {
264		x.xGtkReserved4 = 0
265	} else {
266		x.xGtkReserved4 = purego.NewCallback(func() {
267			cb()
268		})
269	}
270}
271
272// GetGtkReserved4 gets the "_gtk_reserved4" callback function.
273func (x *EntryBufferClass) GetGtkReserved4() func() {
274	if x.xGtkReserved4 == 0 {
275		return nil
276	}
277	var rawCallback func()
278	purego.RegisterFunc(&rawCallback, x.xGtkReserved4)
279	return func() {
280		rawCallback()
281	}
282}
283
284// OverrideGtkReserved5 sets the "_gtk_reserved5" callback function.
285func (x *EntryBufferClass) OverrideGtkReserved5(cb func()) {
286	if cb == nil {
287		x.xGtkReserved5 = 0
288	} else {
289		x.xGtkReserved5 = purego.NewCallback(func() {
290			cb()
291		})
292	}
293}
294
295// GetGtkReserved5 gets the "_gtk_reserved5" callback function.
296func (x *EntryBufferClass) GetGtkReserved5() func() {
297	if x.xGtkReserved5 == 0 {
298		return nil
299	}
300	var rawCallback func()
301	purego.RegisterFunc(&rawCallback, x.xGtkReserved5)
302	return func() {
303		rawCallback()
304	}
305}
306
307// OverrideGtkReserved6 sets the "_gtk_reserved6" callback function.
308func (x *EntryBufferClass) OverrideGtkReserved6(cb func()) {
309	if cb == nil {
310		x.xGtkReserved6 = 0
311	} else {
312		x.xGtkReserved6 = purego.NewCallback(func() {
313			cb()
314		})
315	}
316}
317
318// GetGtkReserved6 gets the "_gtk_reserved6" callback function.
319func (x *EntryBufferClass) GetGtkReserved6() func() {
320	if x.xGtkReserved6 == 0 {
321		return nil
322	}
323	var rawCallback func()
324	purego.RegisterFunc(&rawCallback, x.xGtkReserved6)
325	return func() {
326		rawCallback()
327	}
328}
329
330// OverrideGtkReserved7 sets the "_gtk_reserved7" callback function.
331func (x *EntryBufferClass) OverrideGtkReserved7(cb func()) {
332	if cb == nil {
333		x.xGtkReserved7 = 0
334	} else {
335		x.xGtkReserved7 = purego.NewCallback(func() {
336			cb()
337		})
338	}
339}
340
341// GetGtkReserved7 gets the "_gtk_reserved7" callback function.
342func (x *EntryBufferClass) GetGtkReserved7() func() {
343	if x.xGtkReserved7 == 0 {
344		return nil
345	}
346	var rawCallback func()
347	purego.RegisterFunc(&rawCallback, x.xGtkReserved7)
348	return func() {
349		rawCallback()
350	}
351}
352
353// OverrideGtkReserved8 sets the "_gtk_reserved8" callback function.
354func (x *EntryBufferClass) OverrideGtkReserved8(cb func()) {
355	if cb == nil {
356		x.xGtkReserved8 = 0
357	} else {
358		x.xGtkReserved8 = purego.NewCallback(func() {
359			cb()
360		})
361	}
362}
363
364// GetGtkReserved8 gets the "_gtk_reserved8" callback function.
365func (x *EntryBufferClass) GetGtkReserved8() func() {
366	if x.xGtkReserved8 == 0 {
367		return nil
368	}
369	var rawCallback func()
370	purego.RegisterFunc(&rawCallback, x.xGtkReserved8)
371	return func() {
372		rawCallback()
373	}
374}
375
376// Holds the text that is displayed in a single-line text entry widget.
377//
378// A single `GtkEntryBuffer` object can be shared by multiple widgets
379// which will then share the same text content, but not the cursor
380// position, visibility attributes, icon etc.
381//
382// `GtkEntryBuffer` may be derived from. Such a derived class might allow
383// text to be stored in an alternate location, such as non-pageable memory,
384// useful in the case of important passwords. Or a derived class could
385// integrate with an application’s concept of undo/redo.
386type EntryBuffer struct {
387	gobject.Object
388}
389
390var xEntryBufferGLibType func() types.GType
391
392func EntryBufferGLibType() types.GType {
393	return xEntryBufferGLibType()
394}
395
396func EntryBufferNewFromInternalPtr(ptr uintptr) *EntryBuffer {
397	cls := &EntryBuffer{}
398	cls.Ptr = ptr
399	return cls
400}
401
402var xNewEntryBuffer func(uintptr, int) uintptr
403
404// Create a new `GtkEntryBuffer` object.
405//
406// Optionally, specify initial text to set in the buffer.
407func NewEntryBuffer(InitialCharsVar *string, NInitialCharsVar int) *EntryBuffer {
408	var cls *EntryBuffer
409
410	InitialCharsVarPtr := core.GStrdupNullable(InitialCharsVar)
411	defer core.GFreeNullable(InitialCharsVarPtr)
412
413	cret := xNewEntryBuffer(InitialCharsVarPtr, NInitialCharsVar)
414
415	if cret == 0 {
416		return nil
417	}
418	cls = &EntryBuffer{}
419	cls.Ptr = cret
420	return cls
421}
422
423var xEntryBufferDeleteText func(uintptr, uint, int) uint
424
425// Deletes a sequence of characters from the buffer.
426//
427// @n_chars characters are deleted starting at @position.
428// If @n_chars is negative, then all characters until the
429// end of the text are deleted.
430//
431// If @position or @n_chars are out of bounds, then they
432// are coerced to sane values.
433//
434// Note that the positions are specified in characters,
435// not bytes.
436func (x *EntryBuffer) DeleteText(PositionVar uint, NCharsVar int) uint {
437
438	cret := xEntryBufferDeleteText(x.GoPointer(), PositionVar, NCharsVar)
439	return cret
440}
441
442var xEntryBufferEmitDeletedText func(uintptr, uint, uint)
443
444// Used when subclassing `GtkEntryBuffer`.
445func (x *EntryBuffer) EmitDeletedText(PositionVar uint, NCharsVar uint) {
446
447	xEntryBufferEmitDeletedText(x.GoPointer(), PositionVar, NCharsVar)
448
449}
450
451var xEntryBufferEmitInsertedText func(uintptr, uint, string, uint)
452
453// Used when subclassing `GtkEntryBuffer`.
454func (x *EntryBuffer) EmitInsertedText(PositionVar uint, CharsVar string, NCharsVar uint) {
455
456	xEntryBufferEmitInsertedText(x.GoPointer(), PositionVar, CharsVar, NCharsVar)
457
458}
459
460var xEntryBufferGetBytes func(uintptr) uint
461
462// Retrieves the length in bytes of the buffer.
463//
464// See [method@Gtk.EntryBuffer.get_length].
465func (x *EntryBuffer) GetBytes() uint {
466
467	cret := xEntryBufferGetBytes(x.GoPointer())
468	return cret
469}
470
471var xEntryBufferGetLength func(uintptr) uint
472
473// Retrieves the length in characters of the buffer.
474func (x *EntryBuffer) GetLength() uint {
475
476	cret := xEntryBufferGetLength(x.GoPointer())
477	return cret
478}
479
480var xEntryBufferGetMaxLength func(uintptr) int
481
482// Retrieves the maximum allowed length of the text in @buffer.
483func (x *EntryBuffer) GetMaxLength() int {
484
485	cret := xEntryBufferGetMaxLength(x.GoPointer())
486	return cret
487}
488
489var xEntryBufferGetText func(uintptr) string
490
491// Retrieves the contents of the buffer.
492//
493// The memory pointer returned by this call will not change
494// unless this object emits a signal, or is finalized.
495func (x *EntryBuffer) GetText() string {
496
497	cret := xEntryBufferGetText(x.GoPointer())
498	return cret
499}
500
501var xEntryBufferInsertText func(uintptr, uint, string, int) uint
502
503// Inserts @n_chars characters of @chars into the contents of the
504// buffer, at position @position.
505//
506// If @n_chars is negative, then characters from chars will be inserted
507// until a null-terminator is found. If @position or @n_chars are out of
508// bounds, or the maximum buffer text length is exceeded, then they are
509// coerced to sane values.
510//
511// Note that the position and length are in characters, not in bytes.
512func (x *EntryBuffer) InsertText(PositionVar uint, CharsVar string, NCharsVar int) uint {
513
514	cret := xEntryBufferInsertText(x.GoPointer(), PositionVar, CharsVar, NCharsVar)
515	return cret
516}
517
518var xEntryBufferSetMaxLength func(uintptr, int)
519
520// Sets the maximum allowed length of the contents of the buffer.
521//
522// If the current contents are longer than the given length, then
523// they will be truncated to fit.
524func (x *EntryBuffer) SetMaxLength(MaxLengthVar int) {
525
526	xEntryBufferSetMaxLength(x.GoPointer(), MaxLengthVar)
527
528}
529
530var xEntryBufferSetText func(uintptr, string, int)
531
532// Sets the text in the buffer.
533//
534// This is roughly equivalent to calling
535// [method@Gtk.EntryBuffer.delete_text] and
536// [method@Gtk.EntryBuffer.insert_text].
537//
538// Note that @n_chars is in characters, not in bytes.
539func (x *EntryBuffer) SetText(CharsVar string, NCharsVar int) {
540
541	xEntryBufferSetText(x.GoPointer(), CharsVar, NCharsVar)
542
543}
544
545func (c *EntryBuffer) GoPointer() uintptr {
546	if c == nil {
547		return 0
548	}
549	return c.Ptr
550}
551
552func (c *EntryBuffer) SetGoPointer(ptr uintptr) {
553	c.Ptr = ptr
554}
555
556// GetPropertyLength gets the "length" property.
557// The length (in characters) of the text in buffer.
558func (x *EntryBuffer) GetPropertyLength() uint {
559	var v gobject.Value
560	x.GetProperty("length", &v)
561	return v.GetUint()
562}
563
564// SetPropertyMaxLength sets the "max-length" property.
565// The maximum length (in characters) of the text in the buffer.
566func (x *EntryBuffer) SetPropertyMaxLength(value int) {
567	var v gobject.Value
568	v.Init(gobject.TypeIntVal)
569	v.SetInt(value)
570	x.SetProperty("max-length", &v)
571}
572
573// GetPropertyMaxLength gets the "max-length" property.
574// The maximum length (in characters) of the text in the buffer.
575func (x *EntryBuffer) GetPropertyMaxLength() int {
576	var v gobject.Value
577	x.GetProperty("max-length", &v)
578	return v.GetInt()
579}
580
581// SetPropertyText sets the "text" property.
582// The contents of the buffer.
583func (x *EntryBuffer) SetPropertyText(value string) {
584	var v gobject.Value
585	v.Init(gobject.TypeStringVal)
586	v.SetString(&value)
587	x.SetProperty("text", &v)
588}
589
590// GetPropertyText gets the "text" property.
591// The contents of the buffer.
592func (x *EntryBuffer) GetPropertyText() string {
593	var v gobject.Value
594	x.GetProperty("text", &v)
595	return v.GetString()
596}
597
598// The text is altered in the default handler for this signal.
599//
600// If you want access to the text after the text has been modified,
601// use %G_CONNECT_AFTER.
602func (x *EntryBuffer) ConnectDeletedText(cb *func(EntryBuffer, uint, uint)) uint {
603	cbPtr := uintptr(unsafe.Pointer(cb))
604	if cbRefPtr, ok := glib.GetCallback(cbPtr); ok {
605		handlerID := gobject.SignalConnect(x.GoPointer(), "deleted-text", cbRefPtr)
606		glib.SaveHandlerMapping(handlerID, cbPtr)
607		return handlerID
608	}
609
610	fcb := func(clsPtr uintptr, PositionVarp uint, NCharsVarp uint) {
611		fa := EntryBuffer{}
612		fa.Ptr = clsPtr
613		cbFn := *cb
614
615		cbFn(fa, PositionVarp, NCharsVarp)
616
617	}
618	cbRefPtr := purego.NewCallback(fcb)
619	glib.SaveCallbackWithClosure(cbPtr, cbRefPtr, cb)
620	handlerID := gobject.SignalConnect(x.GoPointer(), "deleted-text", cbRefPtr)
621	glib.SaveHandlerMapping(handlerID, cbPtr)
622	return handlerID
623}
624
625// This signal is emitted after text is inserted into the buffer.
626func (x *EntryBuffer) ConnectInsertedText(cb *func(EntryBuffer, uint, string, uint)) uint {
627	cbPtr := uintptr(unsafe.Pointer(cb))
628	if cbRefPtr, ok := glib.GetCallback(cbPtr); ok {
629		handlerID := gobject.SignalConnect(x.GoPointer(), "inserted-text", cbRefPtr)
630		glib.SaveHandlerMapping(handlerID, cbPtr)
631		return handlerID
632	}
633
634	fcb := func(clsPtr uintptr, PositionVarp uint, CharsVarp uintptr, NCharsVarp uint) {
635		fa := EntryBuffer{}
636		fa.Ptr = clsPtr
637		cbFn := *cb
638
639		cbFn(fa, PositionVarp, core.GoString(CharsVarp), NCharsVarp)
640
641	}
642	cbRefPtr := purego.NewCallback(fcb)
643	glib.SaveCallbackWithClosure(cbPtr, cbRefPtr, cb)
644	handlerID := gobject.SignalConnect(x.GoPointer(), "inserted-text", cbRefPtr)
645	glib.SaveHandlerMapping(handlerID, cbPtr)
646	return handlerID
647}
648
649func init() {
650	core.SetPackageName("GTK", "gtk4")
651	core.SetSharedLibraries("GTK", []string{"libgtk-4.so.1"})
652	var libs []uintptr
653	for _, libPath := range core.GetPaths("GTK") {
654		lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
655		if err != nil {
656			panic(err)
657		}
658		libs = append(libs, lib)
659	}
660
661	core.PuregoSafeRegister(&xEntryBufferGLibType, libs, "gtk_entry_buffer_get_type")
662
663	core.PuregoSafeRegister(&xNewEntryBuffer, libs, "gtk_entry_buffer_new")
664
665	core.PuregoSafeRegister(&xEntryBufferDeleteText, libs, "gtk_entry_buffer_delete_text")
666	core.PuregoSafeRegister(&xEntryBufferEmitDeletedText, libs, "gtk_entry_buffer_emit_deleted_text")
667	core.PuregoSafeRegister(&xEntryBufferEmitInsertedText, libs, "gtk_entry_buffer_emit_inserted_text")
668	core.PuregoSafeRegister(&xEntryBufferGetBytes, libs, "gtk_entry_buffer_get_bytes")
669	core.PuregoSafeRegister(&xEntryBufferGetLength, libs, "gtk_entry_buffer_get_length")
670	core.PuregoSafeRegister(&xEntryBufferGetMaxLength, libs, "gtk_entry_buffer_get_max_length")
671	core.PuregoSafeRegister(&xEntryBufferGetText, libs, "gtk_entry_buffer_get_text")
672	core.PuregoSafeRegister(&xEntryBufferInsertText, libs, "gtk_entry_buffer_insert_text")
673	core.PuregoSafeRegister(&xEntryBufferSetMaxLength, libs, "gtk_entry_buffer_set_max_length")
674	core.PuregoSafeRegister(&xEntryBufferSetText, libs, "gtk_entry_buffer_set_text")
675
676}

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