File: marshal.list

package info (click to toggle)
haskell-gtk 0.14.10-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 3,964 kB
  • sloc: haskell: 3,346; ansic: 827; makefile: 161
file content (167 lines) | stat: -rw-r--r-- 5,170 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
# see glib-genmarshal(1) for a detailed description of the file format,
# possible parameter types are:
#   VOID        indicates   no   return   type,  or  no  extra
#               parameters. if VOID is used as  the  parameter
#               list, no additional parameters may be present.
#   BOOLEAN     for boolean types (gboolean)
#   CHAR        for signed char types (gchar)
#   UCHAR       for unsigned char types (guchar)
#   INT         for signed integer types (gint)
#   UINT        for unsigned integer types (guint)
#   LONG        for signed long integer types (glong)
#   ULONG       for unsigned long integer types (gulong)
#   ENUM        for enumeration types (gint)
#   FLAGS       for flag enumeration types (guint)
#   FLOAT       for single-precision float types (gfloat)
#   DOUBLE      for double-precision float types (gdouble)
#   GLIBSTRING  for string types (gchar*)
#   BOXED       for boxed (anonymous but reference counted) types (GBoxed*)
#   POINTER     for anonymous pointer types (gpointer)
#   NONE        deprecated alias for VOID
#   BOOL        deprecated alias for BOOLEAN

#
# One discrepancy from Gtk+ is that for signals that may pass NULL for an object
# reference, the Haskell signal should be passed a 'Maybe GObject'.
# We therefore have two variants that are marshalled as a maybe type:
#
#   OBJECT      for GObject or derived types (GObject*)
#   MOBJECT      for GObject or derived types (GObject*) that may be NULL

# Furthermore, some objects needs to be destroyed synchronously from the main loop of
# Gtk rather than during GC. These objects need to be marshalled using TOBJECT (for thread-safe
# object). It doesn't hurt to use TOBJECT for an object that doesn't need it, except for the
# some performance. As a rule of thumb, use TOBJECT for all libraries that build on package
# 'gtk' and use OBJECT for all packages that only need packages 'glib', 'pango', 'cairo',
# 'gio'. Again both variants exist. Note that the same names will be generated for OBJECT and
# TOBJECT, so you have to remove the OBJECT handler if you need both.
#
#   TOBJECT      for GObject or derived types (GObject*)
#   MTOBJECT      for GObject or derived types (GObject*) that may be NULL

# If you add a new signal type, please check that it actually works!
# If it is a Boxed type check that the reference counting is right.

BOOLEAN:BOXED
BOOLEAN:POINTER
BOOLEAN:BOXED,BOXED
BOOLEAN:ENUM
BOOLEAN:ENUM,DOUBLE
BOOLEAN:INT
#BOOLEAN:ENUM,INT
#BOOLEAN:TOBJECT,UINT,FLAGS
#BOOLEAN:TOBJECT,INT,INT,UINT
#BOOLEAN:TOBJECT,GLIBSTRING,GLIBSTRING,BOXED
BOOLEAN:TOBJECT,BOXED
#BOOLEAN:TOBJECT,BOXED,BOXED
#BOOLEAN:TOBJECT,GLIBSTRING,GLIBSTRING
BOOLEAN:INT,INT
BOOLEAN:INT,INT,INT
BOOLEAN:UINT
BOOLEAN:VOID
BOOLEAN:BOOLEAN
#BOOLEAN:BOOLEAN,BOOLEAN,BOOLEAN
ENUM:VOID
ENUM:ENUM
INT:POINTER
VOID:BOOLEAN
#VOID:ENUM
VOID:INT
#VOID:INT,BOOLEAN
VOID:INT,INT
VOID:VOID
#VOID:GLIBSTRING,INT,POINTER
#GLIBSTRING:DOUBLE
VOID:DOUBLE
#VOID:BOOLEAN,BOOLEAN,BOOLEAN
VOID:BOXED
VOID:BOXED,BOXED
VOID:BOXED,BOXED,POINTER
VOID:BOXED,TOBJECT
#VOID:BOXED,GLIBSTRING,INT
VOID:BOXED,UINT
#VOID:BOXED,UINT,FLAGS
#VOID:BOXED,UINT,UINT
VOID:ENUM
#VOID:ENUM,BOOLEAN
#VOID:ENUM,ENUM
#VOID:ENUM,FLOAT
#VOID:ENUM,FLOAT,BOOLEAN
VOID:ENUM,INT
VOID:ENUM,INT,BOOLEAN
#VOID:INT
#VOID:INT,INT
#VOID:INT,INT,BOXED
#VOID:INT,INT,INT
VOID:TOBJECT
VOID:MTOBJECT
#VOID:TOBJECT,BOOLEAN
VOID:TOBJECT,BOXED,BOXED
#VOID:TOBJECT,BOXED,UINT,UINT
#VOID:TOBJECT,INT,INT
#VOID:TOBJECT,INT,INT,BOXED,UINT,UINT
VOID:TOBJECT,TOBJECT
#VOID:TOBJECT,GLIBSTRING,GLIBSTRING
#VOID:TOBJECT,UINT
#VOID:TOBJECT,UINT,FLAGS
VOID:POINTER
#VOID:POINTER,INT
#VOID:POINTER,BOOLEAN
#VOID:POINTER,POINTER,POINTER
VOID:POINTER,UINT
VOID:GLIBSTRING
# This is for the "edited" signal in CellRendererText:
VOID:GLIBSTRING,GLIBSTRING
#VOID:GLIBSTRING,INT,POINTER
#VOID:GLIBSTRING,UINT,FLAGS
#VOID:UINT,FLAGS,BOXED
VOID:UINT,UINT
VOID:UINT,GLIBSTRING
#VOID:UINT,BOXED,UINT,FLAGS,FLAGS
#VOID:UINT,TOBJECT,UINT,FLAGS,FLAGS

# This marshaller is necessary to marshal a string with explicit length in a
# callback "text-insert" in TextBuffer.
VOID:BOXED,POINTER,INT
# This one is needed in TextView:
VOID:INT,BOOLEAN
# This is for the "editing-started" in CellRenderer
VOID:TOBJECT,GLIBSTRING
# This is for GtkMozEmbed
BOOLEAN:GLIBSTRING
# This makes it possible to catch events on TextTags
BOOLEAN:TOBJECT,POINTER,BOXED
BOOLEAN:POINTER,BOXED,BOXED
# This is onInsertText in Editable
VOID:POINTER,INT,POINTER
# For SelectionData
VOID:POINTER,UINT,UINT
VOID:TOBJECT,POINTER,UINT,UINT
VOID:TOBJECT,INT,INT,POINTER,UINT,UINT
BOOLEAN:TOBJECT,INT,INT,UINT
VOID:TOBJECT,UINT
BOOLEAN:TOBJECT,INT,INT,UINT
# for GtkRange::change-value
BOOLEAN:ENUM,DOUBLE
# for Drag.dragFailed
BOOLEAN:TOBJECT,ENUM
# for TextBuffer
NONE:BOXED,GLIBSTRING
# for Notebook
NONE:TOBJECT,INT
BOOLEAN:ENUM,BOOLEAN
NONE:BOXED,INT
# for TextBuffer
NONE:BOXED,GLIBSTRING
# For queryTooltip
BOOLEAN:TOBJECT,INT,INT,BOOLEAN,TOBJECT
# For EntryBuffer
NONE:INT,GLIBSTRING,INT
# For CellRendererAccel
NONE:GLIBSTRING,INT,ENUM,INT
# For PrintOperation
BOOLEAN:OBJECT
NONE:OBJECT,INT,OBJECT
NONE:OBJECT,OBJECT,OBJECT
BOOLEAN:OBJECT,OBJECT,OBJECT
VOID:ENUM,POINTER