~ubuntu-branches/ubuntu/intrepid/libgtkada2/intrepid

« back to all changes in this revision

Viewing changes to src/gtk-handlers.adb

  • Committer: Bazaar Package Importer
  • Author(s): Luca Falavigna
  • Date: 2008-08-11 09:46:51 UTC
  • mfrom: (6.1.1 squeeze)
  • Revision ID: james.westby@ubuntu.com-20080811094651-9mjd6acwa98ffw5c
Tags: 2.12.0-2ubuntu1
Add lpia to supported architectures.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
--               GtkAda - Ada95 binding for Gtk+/Gnome               --
3
3
--                                                                   --
4
4
--   Copyright (C) 1998-2000 E. Briot, J. Brobecker and A. Charlet   --
 
5
--                 Copyright (C) 2000-2008, AdaCore                   --
5
6
--                                                                   --
6
7
-- This library is free software; you can redistribute it and/or     --
7
8
-- modify it under the terms of the GNU General Public               --
25
25
with System.Assertions;       use System.Assertions;
26
26
with Unchecked_Deallocation;
27
27
 
28
 
with Glib.Values; use Glib.Values;
 
28
with Glib.Values;             use Glib.Values;
29
29
 
30
30
package body Gtk.Handlers is
31
31
 
32
32
   function Count_Arguments
33
 
     (Object : access GObject_Record'Class; Signal : String)
 
33
     (Object : access GObject_Record'Class; Signal : Glib.Signal_Name)
34
34
      return Guint;
35
35
   --  Convenience function that returns the number of arguments for this
36
36
   --  signal
37
37
 
38
38
   function Do_Signal_Connect
39
 
     (Object      : Glib.Object.GObject;
40
 
      Name        : String;
41
 
      Marshaller  : System.Address;
42
 
      Handler     : System.Address;
43
 
      Func_Data   : System.Address;
44
 
      Destroy     : System.Address;
45
 
      After       : Boolean;
46
 
      Slot_Object : System.Address := System.Null_Address;
 
39
     (Object              : Glib.Object.GObject;
 
40
      Name                : Glib.Signal_Name;
 
41
      Marshaller          : System.Address;
 
42
      Handler             : System.Address;
 
43
      Func_Data           : System.Address;
 
44
      Destroy             : System.Address;
 
45
      After               : Boolean;
 
46
      Slot_Object         : System.Address := System.Null_Address;
47
47
      Expect_Return_Value : Boolean) return Handler_Id;
48
48
   --  Internal function used to connect the signal.
49
49
   --  Expect_Return_Value should be true if the user is connecting a function
50
50
   --  to the signal, False if he is connecting a procedure
51
51
 
52
52
   function G_Signal_Parse_Name
53
 
     (Detailed_Signal    : String;
 
53
     (Detailed_Signal    : Glib.Signal_Name;
54
54
      Itype              : GType;
55
55
      Signal_Id_P        : access Signal_Id;
56
56
      Detail_P           : access GQuark;
69
69
   pragma Import (C, Disconnect_Internal, "g_signal_handler_disconnect");
70
70
   --  Internal version of Disconnect
71
71
 
72
 
   function Signal_Lookup (Name : String; IType : GType) return Signal_Id;
 
72
   function Signal_Lookup
 
73
     (Name : Glib.Signal_Name; IType : GType) return Signal_Id;
73
74
   pragma Import (C, Signal_Lookup, "g_signal_lookup");
74
75
 
75
76
   procedure Set_Value (Value : GValue; Val : System.Address);
101
102
   ---------------------
102
103
 
103
104
   function Count_Arguments
104
 
     (Object : access GObject_Record'Class; Signal : String)
 
105
     (Object : access GObject_Record'Class; Signal : Glib.Signal_Name)
105
106
      return Guint
106
107
   is
107
108
      Q  : Signal_Query;
108
109
      Id : constant Signal_Id :=
109
 
        Lookup (Get_Type (Object), Signal & ASCII.NUL);
 
110
        Lookup (Get_Type (Object), String (Signal) & ASCII.NUL);
110
111
 
111
112
   begin
112
113
      if Id = Invalid_Signal_Id then
122
123
   -----------------------
123
124
 
124
125
   function Do_Signal_Connect
125
 
     (Object      : Glib.Object.GObject;
126
 
      Name        : String;
127
 
      Marshaller  : System.Address;
128
 
      Handler     : System.Address;
129
 
      Func_Data   : System.Address;
130
 
      Destroy     : System.Address;
131
 
      After       : Boolean;
132
 
      Slot_Object : System.Address := System.Null_Address;
 
126
     (Object              : Glib.Object.GObject;
 
127
      Name                : Glib.Signal_Name;
 
128
      Marshaller          : System.Address;
 
129
      Handler             : System.Address;
 
130
      Func_Data           : System.Address;
 
131
      Destroy             : System.Address;
 
132
      After               : Boolean;
 
133
      Slot_Object         : System.Address := System.Null_Address;
133
134
      Expect_Return_Value : Boolean) return Handler_Id
134
135
   is
135
136
      function Internal
136
 
        (Instance  : System.Address;
137
 
         Id        : Signal_Id;
138
 
         Detail    : GQuark;
139
 
         Closure   : GClosure;
140
 
         After     : Gint := 0) return Gulong;
 
137
        (Instance : System.Address;
 
138
         Id       : Signal_Id;
 
139
         Detail   : GQuark;
 
140
         Closure  : GClosure;
 
141
         After    : Gint := 0) return Gulong;
141
142
      pragma Import (C, Internal, "g_signal_connect_closure_by_id");
142
143
 
143
144
      use type System.Address;
144
 
      Id          : Handler_Id;
145
 
      Signal      : aliased Signal_Id;
146
 
      Detail      : aliased GQuark;
147
 
      Success     : Gboolean;
148
 
      Q           : Signal_Query;
 
145
      Id      : Handler_Id;
 
146
      Signal  : aliased Signal_Id;
 
147
      Detail  : aliased GQuark;
 
148
      Success : Gboolean;
 
149
      Q       : Signal_Query;
149
150
 
150
151
   begin
151
152
      --  When the handler is destroyed, for instance because Object is
163
164
 
164
165
      if Success = 0 or else Signal = Invalid_Signal_Id then
165
166
         Raise_Assert_Failure
166
 
           ("Trying to connect to unknown signal (""" & Name
 
167
           ("Trying to connect to unknown signal (""" & String (Name)
167
168
            & """) on type " & Type_Name (Get_Type (Object)));
168
169
      end if;
169
170
 
171
172
      if Expect_Return_Value then
172
173
         if Return_Type (Q) = GType_None then
173
174
            Raise_Assert_Failure
174
 
              ("Handlers for """ & Name & """ on a "
 
175
              ("Handlers for """ & String (Name) & """ on a "
175
176
               & Type_Name (Get_Type (Object))
176
177
               & " should be procedures");
177
178
         end if;
179
180
      else
180
181
         if Return_Type (Q) /= GType_None then
181
182
            Raise_Assert_Failure
182
 
              ("Handlers for """ & Name & """ on a "
 
183
              ("Handlers for """ & String (Name) & """ on a "
183
184
               & Type_Name (Get_Type (Object))
184
185
               & " should be functions");
185
186
         end if;
237
238
 
238
239
      procedure Connect
239
240
        (Widget : access Widget_Type'Class;
240
 
         Name   : String;
 
241
         Name   : Glib.Signal_Name;
241
242
         Marsh  : Marshallers.Marshaller;
242
243
         After  : Boolean := False)
243
244
      is
253
254
 
254
255
      procedure Object_Connect
255
256
        (Widget      : access Glib.Object.GObject_Record'Class;
256
 
         Name        : String;
 
257
         Name        : Glib.Signal_Name;
257
258
         Marsh       : Marshallers.Marshaller;
258
259
         Slot_Object : access Widget_Type'Class;
259
260
         After       : Boolean := False)
270
271
 
271
272
      procedure Connect
272
273
        (Widget : access Widget_Type'Class;
273
 
         Name   : String;
 
274
         Name   : Glib.Signal_Name;
274
275
         Cb     : Handler;
275
276
         After  : Boolean := False)
276
277
      is
286
287
 
287
288
      procedure Object_Connect
288
289
        (Widget      : access Glib.Object.GObject_Record'Class;
289
 
         Name        : String;
 
290
         Name        : Glib.Signal_Name;
290
291
         Cb          : Handler;
291
292
         Slot_Object : access Widget_Type'Class;
292
293
         After       : Boolean := False)
303
304
 
304
305
      procedure Connect
305
306
        (Widget : access Widget_Type'Class;
306
 
         Name   : String;
 
307
         Name   : Glib.Signal_Name;
307
308
         Cb     : Simple_Handler;
308
309
         After  : Boolean := False)
309
310
      is
322
323
 
323
324
      procedure Object_Connect
324
325
        (Widget      : access Glib.Object.GObject_Record'Class;
325
 
         Name        : String;
 
326
         Name        : Glib.Signal_Name;
326
327
         Cb          : Simple_Handler;
327
328
         Slot_Object : access Widget_Type'Class;
328
329
         After       : Boolean := False)
410
411
 
411
412
      function Connect
412
413
        (Widget  : access Widget_Type'Class;
413
 
         Name    : String;
 
414
         Name    : Glib.Signal_Name;
414
415
         Marsh   : Marshallers.Marshaller;
415
416
         After   : Boolean := False) return Handler_Id
416
417
      is
437
438
 
438
439
      function Object_Connect
439
440
        (Widget      : access Glib.Object.GObject_Record'Class;
440
 
         Name        : String;
 
441
         Name        : Glib.Signal_Name;
441
442
         Marsh       : Marshallers.Marshaller;
442
443
         Slot_Object : access Widget_Type'Class;
443
444
         After       : Boolean := False) return Handler_Id
467
468
 
468
469
      function Connect
469
470
        (Widget  : access Widget_Type'Class;
470
 
         Name    : String;
 
471
         Name    : Glib.Signal_Name;
471
472
         Cb      : Handler;
472
473
         After   : Boolean := False) return Handler_Id
473
474
      is
495
496
 
496
497
      function Object_Connect
497
498
        (Widget      : access Glib.Object.GObject_Record'Class;
498
 
         Name        : String;
 
499
         Name        : Glib.Signal_Name;
499
500
         Cb          : Handler;
500
501
         Slot_Object : access Widget_Type'Class;
501
502
         After       : Boolean := False) return Handler_Id
525
526
 
526
527
      function Emit_By_Name
527
528
        (Object : access Widget_Type'Class;
528
 
         Name   : String;
 
529
         Name   : Glib.Signal_Name;
529
530
         Param  : Gdk.Event.Gdk_Event) return Return_Type
530
531
      is
531
532
         procedure Internal
532
533
           (Object : System.Address;
533
 
            Name   : String;
 
534
            Name   : Glib.Signal_Name;
534
535
            Param  : System.Address;
535
536
            Ret    : out Gint);
536
537
         pragma Import (C, Internal, "ada_g_signal_emit_by_name_ptr_ptr");
635
636
 
636
637
      procedure Connect
637
638
        (Widget    : access Widget_Type'Class;
638
 
         Name      : String;
 
639
         Name      : Glib.Signal_Name;
639
640
         Marsh     : Marshallers.Marshaller;
640
641
         User_Data : User_Type;
641
642
         After     : Boolean := False)
652
653
 
653
654
      procedure Object_Connect
654
655
        (Widget      : access Glib.Object.GObject_Record'Class;
655
 
         Name        : String;
 
656
         Name        : Glib.Signal_Name;
656
657
         Marsh       : Marshallers.Marshaller;
657
658
         Slot_Object : access Widget_Type'Class;
658
659
         User_Data   : User_Type;
671
672
 
672
673
      procedure Connect
673
674
        (Widget    : access Widget_Type'Class;
674
 
         Name      : String;
 
675
         Name      : Glib.Signal_Name;
675
676
         Cb        : Handler;
676
677
         User_Data : User_Type;
677
678
         After     : Boolean := False)
688
689
 
689
690
      procedure Object_Connect
690
691
        (Widget      : access Glib.Object.GObject_Record'Class;
691
 
         Name        : String;
 
692
         Name        : Glib.Signal_Name;
692
693
         Cb          : Handler;
693
694
         Slot_Object : access Widget_Type'Class;
694
695
         User_Data   : User_Type;
707
708
 
708
709
      procedure Connect
709
710
        (Widget    : access Widget_Type'Class;
710
 
         Name      : String;
 
711
         Name      : Glib.Signal_Name;
711
712
         Cb        : Simple_Handler;
712
713
         User_Data : User_Type;
713
714
         After     : Boolean := False)
727
728
 
728
729
      procedure Object_Connect
729
730
        (Widget      : access Glib.Object.GObject_Record'Class;
730
 
         Name        : String;
 
731
         Name        : Glib.Signal_Name;
731
732
         Cb          : Simple_Handler;
732
733
         Slot_Object : access Widget_Type'Class;
733
734
         User_Data   : User_Type;
748
749
 
749
750
      function Connect
750
751
        (Widget    : access Widget_Type'Class;
751
 
         Name      : String;
 
752
         Name      : Glib.Signal_Name;
752
753
         Marsh     : Marshallers.Marshaller;
753
754
         User_Data : User_Type;
754
755
         After     : Boolean := False)
777
778
 
778
779
      function Object_Connect
779
780
        (Widget      : access Glib.Object.GObject_Record'Class;
780
 
         Name        : String;
 
781
         Name        : Glib.Signal_Name;
781
782
         Marsh       : Marshallers.Marshaller;
782
783
         Slot_Object : access Widget_Type'Class;
783
784
         User_Data   : User_Type;
807
808
 
808
809
      function Connect
809
810
        (Widget    : access Widget_Type'Class;
810
 
         Name      : String;
 
811
         Name      : Glib.Signal_Name;
811
812
         Cb        : Handler;
812
813
         User_Data : User_Type;
813
814
         After     : Boolean := False) return Handler_Id
835
836
 
836
837
      function Object_Connect
837
838
        (Widget      : access Glib.Object.GObject_Record'Class;
838
 
         Name        : String;
 
839
         Name        : Glib.Signal_Name;
839
840
         Cb          : Handler;
840
841
         Slot_Object : access Widget_Type'Class;
841
842
         User_Data   : User_Type;
865
866
 
866
867
      function Emit_By_Name
867
868
        (Object : access Widget_Type'Class;
868
 
         Name   : String;
 
869
         Name   : Glib.Signal_Name;
869
870
         Param  : Gdk.Event.Gdk_Event) return Return_Type
870
871
      is
871
872
         procedure Internal
872
873
           (Object : System.Address;
873
 
            Name   : String;
 
874
            Name   : Glib.Signal_Name;
874
875
            Param  : System.Address;
875
876
            Ret    : out Gint);
876
877
         pragma Import (C, Internal, "ada_g_signal_emit_by_name_ptr_ptr");
970
971
 
971
972
      procedure Connect
972
973
        (Widget : access Widget_Type'Class;
973
 
         Name   : String;
 
974
         Name   : Glib.Signal_Name;
974
975
         Marsh  : Marshallers.Marshaller;
975
976
         After  : Boolean := False)
976
977
      is
986
987
 
987
988
      procedure Object_Connect
988
989
        (Widget      : access Glib.Object.GObject_Record'Class;
989
 
         Name        : String;
 
990
         Name        : Glib.Signal_Name;
990
991
         Marsh       : Marshallers.Marshaller;
991
992
         Slot_Object : access Widget_Type'Class;
992
993
         After       : Boolean := False)
1003
1004
 
1004
1005
      procedure Connect
1005
1006
        (Widget : access Widget_Type'Class;
1006
 
         Name   : String;
 
1007
         Name   : Glib.Signal_Name;
1007
1008
         Cb     : Handler;
1008
1009
         After  : Boolean := False)
1009
1010
      is
1019
1020
 
1020
1021
      procedure Object_Connect
1021
1022
        (Widget      : access Glib.Object.GObject_Record'Class;
1022
 
         Name        : String;
 
1023
         Name        : Glib.Signal_Name;
1023
1024
         Cb          : Handler;
1024
1025
         Slot_Object : access Widget_Type'Class;
1025
1026
         After       : Boolean := False)
1036
1037
 
1037
1038
      procedure Connect
1038
1039
        (Widget : access Widget_Type'Class;
1039
 
         Name   : String;
 
1040
         Name   : Glib.Signal_Name;
1040
1041
         Cb     : Simple_Handler;
1041
1042
         After  : Boolean := False)
1042
1043
      is
1055
1056
 
1056
1057
      procedure Object_Connect
1057
1058
        (Widget      : access Glib.Object.GObject_Record'Class;
1058
 
         Name        : String;
 
1059
         Name        : Glib.Signal_Name;
1059
1060
         Cb          : Simple_Handler;
1060
1061
         Slot_Object : access Widget_Type'Class;
1061
1062
         After       : Boolean := False)
1075
1076
 
1076
1077
      function Connect
1077
1078
        (Widget  : access Widget_Type'Class;
1078
 
         Name    : String;
 
1079
         Name    : Glib.Signal_Name;
1079
1080
         Marsh   : Marshallers.Marshaller;
1080
1081
         After   : Boolean := False)
1081
1082
        return Handler_Id
1104
1105
 
1105
1106
      function Object_Connect
1106
1107
        (Widget      : access Glib.Object.GObject_Record'Class;
1107
 
         Name        : String;
 
1108
         Name        : Glib.Signal_Name;
1108
1109
         Marsh       : Marshallers.Marshaller;
1109
1110
         Slot_Object : access Widget_Type'Class;
1110
1111
         After       : Boolean := False) return Handler_Id
1134
1135
 
1135
1136
      function Connect
1136
1137
        (Widget  : access Widget_Type'Class;
1137
 
         Name    : String;
 
1138
         Name    : Glib.Signal_Name;
1138
1139
         Cb      : Handler;
1139
1140
         After   : Boolean := False)
1140
1141
        return Handler_Id
1160
1161
 
1161
1162
      function Object_Connect
1162
1163
        (Widget      : access Glib.Object.GObject_Record'Class;
1163
 
         Name        : String;
 
1164
         Name        : Glib.Signal_Name;
1164
1165
         Cb          : Handler;
1165
1166
         Slot_Object : access Widget_Type'Class;
1166
1167
         After       : Boolean := False) return Handler_Id
1190
1191
 
1191
1192
      procedure Emit_By_Name
1192
1193
        (Object : access Widget_Type'Class;
1193
 
         Name   : String;
 
1194
         Name   : Glib.Signal_Name;
1194
1195
         Param  : Gdk.Event.Gdk_Event)
1195
1196
      is
1196
1197
         procedure Internal
1197
1198
           (Object : System.Address;
1198
 
            Name   : String;
 
1199
            Name   : Glib.Signal_Name;
1199
1200
            Param  : System.Address);
1200
1201
         pragma Import (C, Internal, "ada_g_signal_emit_by_name_ptr");
1201
1202
 
1292
1293
 
1293
1294
      procedure Connect
1294
1295
        (Widget    : access Widget_Type'Class;
1295
 
         Name      : String;
 
1296
         Name      : Glib.Signal_Name;
1296
1297
         Marsh     : Marshallers.Marshaller;
1297
1298
         User_Data : User_Type;
1298
1299
         After     : Boolean := False)
1309
1310
 
1310
1311
      procedure Object_Connect
1311
1312
        (Widget      : access Glib.Object.GObject_Record'Class;
1312
 
         Name        : String;
 
1313
         Name        : Glib.Signal_Name;
1313
1314
         Marsh       : Marshallers.Marshaller;
1314
1315
         Slot_Object : access Widget_Type'Class;
1315
1316
         User_Data   : User_Type;
1328
1329
 
1329
1330
      procedure Connect
1330
1331
        (Widget    : access Widget_Type'Class;
1331
 
         Name      : String;
 
1332
         Name      : Glib.Signal_Name;
1332
1333
         Cb        : Handler;
1333
1334
         User_Data : User_Type;
1334
1335
         After     : Boolean := False)
1345
1346
 
1346
1347
      procedure Object_Connect
1347
1348
        (Widget      : access Glib.Object.GObject_Record'Class;
1348
 
         Name        : String;
 
1349
         Name        : Glib.Signal_Name;
1349
1350
         Cb          : Handler;
1350
1351
         Slot_Object : access Widget_Type'Class;
1351
1352
         User_Data   : User_Type;
1364
1365
 
1365
1366
      procedure Connect
1366
1367
        (Widget    : access Widget_Type'Class;
1367
 
         Name      : String;
 
1368
         Name      : Glib.Signal_Name;
1368
1369
         Cb        : Simple_Handler;
1369
1370
         User_Data : User_Type;
1370
1371
         After     : Boolean := False)
1384
1385
 
1385
1386
      procedure Object_Connect
1386
1387
        (Widget      : access Glib.Object.GObject_Record'Class;
1387
 
         Name        : String;
 
1388
         Name        : Glib.Signal_Name;
1388
1389
         Cb          : Simple_Handler;
1389
1390
         Slot_Object : access Widget_Type'Class;
1390
1391
         User_Data   : User_Type;
1405
1406
 
1406
1407
      function Connect
1407
1408
        (Widget    : access Widget_Type'Class;
1408
 
         Name      : String;
 
1409
         Name      : Glib.Signal_Name;
1409
1410
         Marsh     : Marshallers.Marshaller;
1410
1411
         User_Data : User_Type;
1411
1412
         After     : Boolean := False) return Handler_Id
1433
1434
 
1434
1435
      function Object_Connect
1435
1436
        (Widget      : access GObject_Record'Class;
1436
 
         Name        : String;
 
1437
         Name        : Glib.Signal_Name;
1437
1438
         Marsh       : Marshallers.Marshaller;
1438
1439
         Slot_Object : access Widget_Type'Class;
1439
1440
         User_Data   : User_Type;
1463
1464
 
1464
1465
      function Connect
1465
1466
        (Widget    : access Widget_Type'Class;
1466
 
         Name      : String;
 
1467
         Name      : Glib.Signal_Name;
1467
1468
         Cb        : Handler;
1468
1469
         User_Data : User_Type;
1469
1470
         After     : Boolean := False) return Handler_Id
1492
1493
 
1493
1494
      function Object_Connect
1494
1495
        (Widget      : access GObject_Record'Class;
1495
 
         Name        : String;
 
1496
         Name        : Glib.Signal_Name;
1496
1497
         Cb          : Handler;
1497
1498
         Slot_Object : access Widget_Type'Class;
1498
1499
         User_Data   : User_Type;
1522
1523
 
1523
1524
      procedure Emit_By_Name
1524
1525
        (Object : access Widget_Type'Class;
1525
 
         Name   : String;
 
1526
         Name   : Glib.Signal_Name;
1526
1527
         Param  : Gdk.Event.Gdk_Event)
1527
1528
      is
1528
1529
         procedure Internal
1529
1530
           (Object : System.Address;
1530
 
            Name   : String;
 
1531
            Name   : Glib.Signal_Name;
1531
1532
            Param  : System.Address);
1532
1533
         pragma Import (C, Internal, "ada_g_signal_emit_by_name_ptr");
1533
1534
 
1552
1553
 
1553
1554
      procedure Connect
1554
1555
        (Widget    : access Widget_Type'Class;
1555
 
         Name      : String;
 
1556
         Name      : Glib.Signal_Name;
1556
1557
         Marsh     : Internal_Cb.Marshallers.Marshaller;
1557
1558
         User_Data : User_Type;
1558
1559
         After     : Boolean := False)
1569
1570
 
1570
1571
      procedure Object_Connect
1571
1572
        (Widget      : access Glib.Object.GObject_Record'Class;
1572
 
         Name        : String;
 
1573
         Name        : Glib.Signal_Name;
1573
1574
         Marsh       : Internal_Cb.Marshallers.Marshaller;
1574
1575
         Slot_Object : access Widget_Type'Class;
1575
1576
         User_Data   : User_Type;
1588
1589
 
1589
1590
      procedure Connect
1590
1591
        (Widget    : access Widget_Type'Class;
1591
 
         Name      : String;
 
1592
         Name      : Glib.Signal_Name;
1592
1593
         Cb        : Handler;
1593
1594
         User_Data : User_Type;
1594
1595
         After     : Boolean := False)
1605
1606
 
1606
1607
      procedure Object_Connect
1607
1608
        (Widget      : access Glib.Object.GObject_Record'Class;
1608
 
         Name        : String;
 
1609
         Name        : Glib.Signal_Name;
1609
1610
         Cb          : Handler;
1610
1611
         Slot_Object : access Widget_Type'Class;
1611
1612
         User_Data   : User_Type;
1624
1625
 
1625
1626
      procedure Connect
1626
1627
        (Widget    : access Widget_Type'Class;
1627
 
         Name      : String;
 
1628
         Name      : Glib.Signal_Name;
1628
1629
         Cb        : Simple_Handler;
1629
1630
         User_Data : User_Type;
1630
1631
         After     : Boolean := False)
1644
1645
 
1645
1646
      procedure Object_Connect
1646
1647
        (Widget      : access Glib.Object.GObject_Record'Class;
1647
 
         Name        : String;
 
1648
         Name        : Glib.Signal_Name;
1648
1649
         Cb          : Simple_Handler;
1649
1650
         Slot_Object : access Widget_Type'Class;
1650
1651
         User_Data   : User_Type;
1665
1666
 
1666
1667
      function Connect
1667
1668
        (Widget    : access Widget_Type'Class;
1668
 
         Name      : String;
 
1669
         Name      : Glib.Signal_Name;
1669
1670
         Marsh     : Internal_Cb.Marshallers.Marshaller;
1670
1671
         User_Data : User_Type;
1671
1672
         After     : Boolean := False) return Handler_Id
1683
1684
 
1684
1685
      function Object_Connect
1685
1686
        (Widget      : access Glib.Object.GObject_Record'Class;
1686
 
         Name        : String;
 
1687
         Name        : Glib.Signal_Name;
1687
1688
         Marsh       : Internal_Cb.Marshallers.Marshaller;
1688
1689
         Slot_Object : access Widget_Type'Class;
1689
1690
         User_Data   : User_Type;
1702
1703
 
1703
1704
      function Connect
1704
1705
        (Widget    : access Widget_Type'Class;
1705
 
         Name      : String;
 
1706
         Name      : Glib.Signal_Name;
1706
1707
         Cb        : Handler;
1707
1708
         User_Data : User_Type;
1708
1709
         After     : Boolean := False) return Handler_Id
1720
1721
 
1721
1722
      function Object_Connect
1722
1723
        (Widget      : access Glib.Object.GObject_Record'Class;
1723
 
         Name        : String;
 
1724
         Name        : Glib.Signal_Name;
1724
1725
         Cb          : Handler;
1725
1726
         Slot_Object : access Widget_Type'Class;
1726
1727
         User_Data   : User_Type;
1747
1748
 
1748
1749
      procedure Connect
1749
1750
        (Widget    : access Widget_Type'Class;
1750
 
         Name      : String;
 
1751
         Name      : Glib.Signal_Name;
1751
1752
         Marsh     : Internal_Cb.Marshallers.Marshaller;
1752
1753
         User_Data : User_Type;
1753
1754
         After     : Boolean := False)
1764
1765
 
1765
1766
      procedure Object_Connect
1766
1767
        (Widget      : access Glib.Object.GObject_Record'Class;
1767
 
         Name        : String;
 
1768
         Name        : Glib.Signal_Name;
1768
1769
         Marsh       : Internal_Cb.Marshallers.Marshaller;
1769
1770
         Slot_Object : access Widget_Type'Class;
1770
1771
         User_Data   : User_Type;
1783
1784
 
1784
1785
      procedure Connect
1785
1786
        (Widget    : access Widget_Type'Class;
1786
 
         Name      : String;
 
1787
         Name      : Glib.Signal_Name;
1787
1788
         Cb        : Handler;
1788
1789
         User_Data : User_Type;
1789
1790
         After     : Boolean := False)
1800
1801
 
1801
1802
      procedure Object_Connect
1802
1803
        (Widget      : access Glib.Object.GObject_Record'Class;
1803
 
         Name        : String;
 
1804
         Name        : Glib.Signal_Name;
1804
1805
         Cb          : Handler;
1805
1806
         Slot_Object : access Widget_Type'Class;
1806
1807
         User_Data   : User_Type;
1819
1820
 
1820
1821
      procedure Connect
1821
1822
        (Widget    : access Widget_Type'Class;
1822
 
         Name      : String;
 
1823
         Name      : Glib.Signal_Name;
1823
1824
         Cb        : Simple_Handler;
1824
1825
         User_Data : User_Type;
1825
1826
         After     : Boolean := False)
1839
1840
 
1840
1841
      procedure Object_Connect
1841
1842
        (Widget      : access Glib.Object.GObject_Record'Class;
1842
 
         Name        : String;
 
1843
         Name        : Glib.Signal_Name;
1843
1844
         Cb          : Simple_Handler;
1844
1845
         Slot_Object : access Widget_Type'Class;
1845
1846
         User_Data   : User_Type;
1860
1861
 
1861
1862
      function Connect
1862
1863
        (Widget    : access Widget_Type'Class;
1863
 
         Name      : String;
 
1864
         Name      : Glib.Signal_Name;
1864
1865
         Marsh     : Internal_Cb.Marshallers.Marshaller;
1865
1866
         User_Data : User_Type;
1866
1867
         After     : Boolean := False) return Handler_Id
1878
1879
 
1879
1880
      function Object_Connect
1880
1881
        (Widget      : access Glib.Object.GObject_Record'Class;
1881
 
         Name        : String;
 
1882
         Name        : Glib.Signal_Name;
1882
1883
         Marsh       : Internal_Cb.Marshallers.Marshaller;
1883
1884
         Slot_Object : access Widget_Type'Class;
1884
1885
         User_Data   : User_Type;
1897
1898
 
1898
1899
      function Connect
1899
1900
        (Widget    : access Widget_Type'Class;
1900
 
         Name      : String;
 
1901
         Name      : Glib.Signal_Name;
1901
1902
         Cb        : Handler;
1902
1903
         User_Data : User_Type;
1903
1904
         After     : Boolean := False) return Handler_Id
1915
1916
 
1916
1917
      function Object_Connect
1917
1918
        (Widget      : access Glib.Object.GObject_Record'Class;
1918
 
         Name        : String;
 
1919
         Name        : Glib.Signal_Name;
1919
1920
         Cb          : Handler;
1920
1921
         Slot_Object : access Widget_Type'Class;
1921
1922
         User_Data   : User_Type;
1950
1951
 
1951
1952
   procedure Emit_Stop_By_Name
1952
1953
     (Object : access Glib.Object.GObject_Record'Class;
1953
 
      Name   : String)
 
1954
      Name   : Glib.Signal_Name)
1954
1955
   is
1955
1956
      procedure Internal
1956
1957
        (Object : System.Address;