v0.2.1 c0399be

gtkeventcontroller.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/gdk"
12	"github.com/bnema/puregotk/v4/gobject"
13	"github.com/bnema/puregotk/v4/gobject/types"
14)
15
16type EventControllerClass struct {
17	_ structs.HostLayout
18}
19
20func (x *EventControllerClass) GoPointer() uintptr {
21	return uintptr(unsafe.Pointer(x))
22}
23
24// The base class for event controllers.
25//
26// These are ancillary objects associated to widgets, which react
27// to `GdkEvents`, and possibly trigger actions as a consequence.
28//
29// Event controllers are added to a widget with
30// [method@Gtk.Widget.add_controller]. It is rarely necessary to
31// explicitly remove a controller with [method@Gtk.Widget.remove_controller].
32//
33// See the chapter on [input handling](input-handling.html) for
34// an overview of the basic concepts, such as the capture and bubble
35// phases of event propagation.
36type EventController struct {
37	gobject.Object
38}
39
40var xEventControllerGLibType func() types.GType
41
42func EventControllerGLibType() types.GType {
43	return xEventControllerGLibType()
44}
45
46func EventControllerNewFromInternalPtr(ptr uintptr) *EventController {
47	cls := &EventController{}
48	cls.Ptr = ptr
49	return cls
50}
51
52var xEventControllerGetCurrentEvent func(uintptr) uintptr
53
54// Returns the event that is currently being handled by the controller.
55//
56// At other times, %NULL is returned.
57func (x *EventController) GetCurrentEvent() *gdk.Event {
58	var cls *gdk.Event
59
60	cret := xEventControllerGetCurrentEvent(x.GoPointer())
61
62	if cret == 0 {
63		return nil
64	}
65	gobject.IncreaseRef(cret)
66	cls = &gdk.Event{}
67	cls.Ptr = cret
68	return cls
69}
70
71var xEventControllerGetCurrentEventDevice func(uintptr) uintptr
72
73// Returns the device of the event that is currently being
74// handled by the controller.
75//
76// At other times, %NULL is returned.
77func (x *EventController) GetCurrentEventDevice() *gdk.Device {
78	var cls *gdk.Device
79
80	cret := xEventControllerGetCurrentEventDevice(x.GoPointer())
81
82	if cret == 0 {
83		return nil
84	}
85	gobject.IncreaseRef(cret)
86	cls = &gdk.Device{}
87	cls.Ptr = cret
88	return cls
89}
90
91var xEventControllerGetCurrentEventState func(uintptr) gdk.ModifierType
92
93// Returns the modifier state of the event that is currently being
94// handled by the controller.
95//
96// At other times, 0 is returned.
97func (x *EventController) GetCurrentEventState() gdk.ModifierType {
98
99	cret := xEventControllerGetCurrentEventState(x.GoPointer())
100	return cret
101}
102
103var xEventControllerGetCurrentEventTime func(uintptr) uint32
104
105// Returns the timestamp of the event that is currently being
106// handled by the controller.
107//
108// At other times, 0 is returned.
109func (x *EventController) GetCurrentEventTime() uint32 {
110
111	cret := xEventControllerGetCurrentEventTime(x.GoPointer())
112	return cret
113}
114
115var xEventControllerGetName func(uintptr) string
116
117// Gets the name of @controller.
118func (x *EventController) GetName() string {
119
120	cret := xEventControllerGetName(x.GoPointer())
121	return cret
122}
123
124var xEventControllerGetPropagationLimit func(uintptr) PropagationLimit
125
126// Gets the propagation limit of the event controller.
127func (x *EventController) GetPropagationLimit() PropagationLimit {
128
129	cret := xEventControllerGetPropagationLimit(x.GoPointer())
130	return cret
131}
132
133var xEventControllerGetPropagationPhase func(uintptr) PropagationPhase
134
135// Gets the propagation phase at which @controller handles events.
136func (x *EventController) GetPropagationPhase() PropagationPhase {
137
138	cret := xEventControllerGetPropagationPhase(x.GoPointer())
139	return cret
140}
141
142var xEventControllerGetWidget func(uintptr) uintptr
143
144// Returns the `GtkWidget` this controller relates to.
145func (x *EventController) GetWidget() *Widget {
146	var cls *Widget
147
148	cret := xEventControllerGetWidget(x.GoPointer())
149
150	if cret == 0 {
151		return nil
152	}
153	gobject.IncreaseRef(cret)
154	cls = &Widget{}
155	cls.Ptr = cret
156	return cls
157}
158
159var xEventControllerReset func(uintptr)
160
161// Resets the @controller to a clean state.
162func (x *EventController) Reset() {
163
164	xEventControllerReset(x.GoPointer())
165
166}
167
168var xEventControllerSetName func(uintptr, uintptr)
169
170// Sets a name on the controller that can be used for debugging.
171func (x *EventController) SetName(NameVar *string) {
172
173	NameVarPtr := core.GStrdupNullable(NameVar)
174	defer core.GFreeNullable(NameVarPtr)
175
176	xEventControllerSetName(x.GoPointer(), NameVarPtr)
177
178}
179
180var xEventControllerSetPropagationLimit func(uintptr, PropagationLimit)
181
182// Sets the event propagation limit on the event controller.
183//
184// If the limit is set to %GTK_LIMIT_SAME_NATIVE, the controller
185// won't handle events that are targeted at widgets on a different
186// surface, such as popovers.
187func (x *EventController) SetPropagationLimit(LimitVar PropagationLimit) {
188
189	xEventControllerSetPropagationLimit(x.GoPointer(), LimitVar)
190
191}
192
193var xEventControllerSetPropagationPhase func(uintptr, PropagationPhase)
194
195// Sets the propagation phase at which a controller handles events.
196//
197// If @phase is %GTK_PHASE_NONE, no automatic event handling will be
198// performed, but other additional gesture maintenance will.
199func (x *EventController) SetPropagationPhase(PhaseVar PropagationPhase) {
200
201	xEventControllerSetPropagationPhase(x.GoPointer(), PhaseVar)
202
203}
204
205var xEventControllerSetStaticName func(uintptr, uintptr)
206
207// Sets a name on the controller that can be used for debugging.
208func (x *EventController) SetStaticName(NameVar *string) {
209
210	NameVarPtr := core.GStrdupNullable(NameVar)
211	defer core.GFreeNullable(NameVarPtr)
212
213	xEventControllerSetStaticName(x.GoPointer(), NameVarPtr)
214
215}
216
217func (c *EventController) GoPointer() uintptr {
218	if c == nil {
219		return 0
220	}
221	return c.Ptr
222}
223
224func (c *EventController) SetGoPointer(ptr uintptr) {
225	c.Ptr = ptr
226}
227
228// SetPropertyName sets the "name" property.
229// The name for this controller, typically used for debugging purposes.
230func (x *EventController) SetPropertyName(value string) {
231	var v gobject.Value
232	v.Init(gobject.TypeStringVal)
233	v.SetString(&value)
234	x.SetProperty("name", &v)
235}
236
237// GetPropertyName gets the "name" property.
238// The name for this controller, typically used for debugging purposes.
239func (x *EventController) GetPropertyName() string {
240	var v gobject.Value
241	x.GetProperty("name", &v)
242	return v.GetString()
243}
244
245func init() {
246	core.SetPackageName("GTK", "gtk4")
247	core.SetSharedLibraries("GTK", []string{"libgtk-4.so.1"})
248	var libs []uintptr
249	for _, libPath := range core.GetPaths("GTK") {
250		lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
251		if err != nil {
252			panic(err)
253		}
254		libs = append(libs, lib)
255	}
256
257	core.PuregoSafeRegister(&xEventControllerGLibType, libs, "gtk_event_controller_get_type")
258
259	core.PuregoSafeRegister(&xEventControllerGetCurrentEvent, libs, "gtk_event_controller_get_current_event")
260	core.PuregoSafeRegister(&xEventControllerGetCurrentEventDevice, libs, "gtk_event_controller_get_current_event_device")
261	core.PuregoSafeRegister(&xEventControllerGetCurrentEventState, libs, "gtk_event_controller_get_current_event_state")
262	core.PuregoSafeRegister(&xEventControllerGetCurrentEventTime, libs, "gtk_event_controller_get_current_event_time")
263	core.PuregoSafeRegister(&xEventControllerGetName, libs, "gtk_event_controller_get_name")
264	core.PuregoSafeRegister(&xEventControllerGetPropagationLimit, libs, "gtk_event_controller_get_propagation_limit")
265	core.PuregoSafeRegister(&xEventControllerGetPropagationPhase, libs, "gtk_event_controller_get_propagation_phase")
266	core.PuregoSafeRegister(&xEventControllerGetWidget, libs, "gtk_event_controller_get_widget")
267	core.PuregoSafeRegister(&xEventControllerReset, libs, "gtk_event_controller_reset")
268	core.PuregoSafeRegister(&xEventControllerSetName, libs, "gtk_event_controller_set_name")
269	core.PuregoSafeRegister(&xEventControllerSetPropagationLimit, libs, "gtk_event_controller_set_propagation_limit")
270	core.PuregoSafeRegister(&xEventControllerSetPropagationPhase, libs, "gtk_event_controller_set_propagation_phase")
271	core.PuregoSafeRegister(&xEventControllerSetStaticName, libs, "gtk_event_controller_set_static_name")
272
273}

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