@@ -8,6 +8,7 @@ use crate::{ffi, ActionGroup};
8
8
9
9
pub trait ActionGroupImpl : ObjectImpl
10
10
where
11
+ <Self as ObjectSubclass >:: Type : IsA < glib:: Object > ,
11
12
<Self as ObjectSubclass >:: Type : IsA < ActionGroup > ,
12
13
{
13
14
fn action_added ( & self , action_name : & str ) {
78
79
79
80
pub trait ActionGroupImplExt : ObjectSubclass + ActionGroupImpl
80
81
where
82
+ <Self as ObjectSubclass >:: Type : IsA < glib:: Object > ,
81
83
<Self as ObjectSubclass >:: Type : IsA < ActionGroup > ,
82
84
{
83
85
fn parent_action_added ( & self , action_name : & str ) {
@@ -342,11 +344,16 @@ where
342
344
}
343
345
}
344
346
345
- impl < T : ActionGroupImpl > ActionGroupImplExt for T where <T as ObjectSubclass >:: Type : IsA < ActionGroup >
346
- { }
347
+ impl < T : ActionGroupImpl > ActionGroupImplExt for T
348
+ where
349
+ <T as ObjectSubclass >:: Type : IsA < glib:: Object > ,
350
+ <T as ObjectSubclass >:: Type : IsA < ActionGroup > ,
351
+ {
352
+ }
347
353
348
354
unsafe impl < T : ActionGroupImpl > IsImplementable < T > for ActionGroup
349
355
where
356
+ <T as ObjectSubclass >:: Type : IsA < glib:: Object > ,
350
357
<T as ObjectSubclass >:: Type : IsA < ActionGroup > ,
351
358
{
352
359
fn interface_init ( iface : & mut glib:: Interface < Self > ) {
@@ -374,6 +381,7 @@ unsafe extern "C" fn action_group_has_action<T: ActionGroupImpl>(
374
381
action_nameptr : * const libc:: c_char ,
375
382
) -> glib:: ffi:: gboolean
376
383
where
384
+ <T as ObjectSubclass >:: Type : IsA < glib:: Object > ,
377
385
<T as ObjectSubclass >:: Type : IsA < ActionGroup > ,
378
386
{
379
387
let instance = & * ( action_group as * mut T :: Instance ) ;
@@ -388,6 +396,7 @@ unsafe extern "C" fn action_group_get_action_enabled<T: ActionGroupImpl>(
388
396
action_nameptr : * const libc:: c_char ,
389
397
) -> glib:: ffi:: gboolean
390
398
where
399
+ <T as ObjectSubclass >:: Type : IsA < glib:: Object > ,
391
400
<T as ObjectSubclass >:: Type : IsA < ActionGroup > ,
392
401
{
393
402
let instance = & * ( action_group as * mut T :: Instance ) ;
@@ -412,6 +421,7 @@ unsafe extern "C" fn action_group_get_action_parameter_type<T: ActionGroupImpl>(
412
421
action_nameptr : * const libc:: c_char ,
413
422
) -> * const glib:: ffi:: GVariantType
414
423
where
424
+ <T as ObjectSubclass >:: Type : IsA < glib:: Object > ,
415
425
<T as ObjectSubclass >:: Type : IsA < ActionGroup > ,
416
426
{
417
427
let instance = & * ( action_group as * mut T :: Instance ) ;
@@ -444,6 +454,7 @@ unsafe extern "C" fn action_group_get_action_state_type<T: ActionGroupImpl>(
444
454
action_nameptr : * const libc:: c_char ,
445
455
) -> * const glib:: ffi:: GVariantType
446
456
where
457
+ <T as ObjectSubclass >:: Type : IsA < glib:: Object > ,
447
458
<T as ObjectSubclass >:: Type : IsA < ActionGroup > ,
448
459
{
449
460
let instance = & * ( action_group as * mut T :: Instance ) ;
@@ -476,6 +487,7 @@ unsafe extern "C" fn action_group_get_action_state_hint<T: ActionGroupImpl>(
476
487
action_nameptr : * const libc:: c_char ,
477
488
) -> * mut glib:: ffi:: GVariant
478
489
where
490
+ <T as ObjectSubclass >:: Type : IsA < glib:: Object > ,
479
491
<T as ObjectSubclass >:: Type : IsA < ActionGroup > ,
480
492
{
481
493
let instance = & * ( action_group as * mut T :: Instance ) ;
@@ -507,6 +519,7 @@ unsafe extern "C" fn action_group_get_action_state<T: ActionGroupImpl>(
507
519
action_nameptr : * const libc:: c_char ,
508
520
) -> * mut glib:: ffi:: GVariant
509
521
where
522
+ <T as ObjectSubclass >:: Type : IsA < glib:: Object > ,
510
523
<T as ObjectSubclass >:: Type : IsA < ActionGroup > ,
511
524
{
512
525
let instance = & * ( action_group as * mut T :: Instance ) ;
@@ -536,6 +549,7 @@ unsafe extern "C" fn action_group_change_action_state<T: ActionGroupImpl>(
536
549
action_nameptr : * const libc:: c_char ,
537
550
stateptr : * mut glib:: ffi:: GVariant ,
538
551
) where
552
+ <T as ObjectSubclass >:: Type : IsA < glib:: Object > ,
539
553
<T as ObjectSubclass >:: Type : IsA < ActionGroup > ,
540
554
{
541
555
let instance = & * ( action_group as * mut T :: Instance ) ;
@@ -551,6 +565,7 @@ unsafe extern "C" fn action_group_activate_action<T: ActionGroupImpl>(
551
565
action_nameptr : * const libc:: c_char ,
552
566
parameterptr : * mut glib:: ffi:: GVariant ,
553
567
) where
568
+ <T as ObjectSubclass >:: Type : IsA < glib:: Object > ,
554
569
<T as ObjectSubclass >:: Type : IsA < ActionGroup > ,
555
570
{
556
571
let instance = & * ( action_group as * mut T :: Instance ) ;
@@ -565,6 +580,7 @@ unsafe extern "C" fn action_group_action_added<T: ActionGroupImpl>(
565
580
action_group : * mut ffi:: GActionGroup ,
566
581
action_nameptr : * const libc:: c_char ,
567
582
) where
583
+ <T as ObjectSubclass >:: Type : IsA < glib:: Object > ,
568
584
<T as ObjectSubclass >:: Type : IsA < ActionGroup > ,
569
585
{
570
586
let instance = & * ( action_group as * mut T :: Instance ) ;
@@ -578,6 +594,7 @@ unsafe extern "C" fn action_group_action_removed<T: ActionGroupImpl>(
578
594
action_group : * mut ffi:: GActionGroup ,
579
595
action_nameptr : * const libc:: c_char ,
580
596
) where
597
+ <T as ObjectSubclass >:: Type : IsA < glib:: Object > ,
581
598
<T as ObjectSubclass >:: Type : IsA < ActionGroup > ,
582
599
{
583
600
let instance = & * ( action_group as * mut T :: Instance ) ;
@@ -592,6 +609,7 @@ unsafe extern "C" fn action_group_action_enabled_changed<T: ActionGroupImpl>(
592
609
action_nameptr : * const libc:: c_char ,
593
610
enabled : glib:: ffi:: gboolean ,
594
611
) where
612
+ <T as ObjectSubclass >:: Type : IsA < glib:: Object > ,
595
613
<T as ObjectSubclass >:: Type : IsA < ActionGroup > ,
596
614
{
597
615
let instance = & * ( action_group as * mut T :: Instance ) ;
@@ -606,6 +624,7 @@ unsafe extern "C" fn action_group_action_state_changed<T: ActionGroupImpl>(
606
624
action_nameptr : * const libc:: c_char ,
607
625
stateptr : * mut glib:: ffi:: GVariant ,
608
626
) where
627
+ <T as ObjectSubclass >:: Type : IsA < glib:: Object > ,
609
628
<T as ObjectSubclass >:: Type : IsA < ActionGroup > ,
610
629
{
611
630
let instance = & * ( action_group as * mut T :: Instance ) ;
@@ -620,6 +639,7 @@ unsafe extern "C" fn action_group_list_actions<T: ActionGroupImpl>(
620
639
action_group : * mut ffi:: GActionGroup ,
621
640
) -> * mut * mut libc:: c_char
622
641
where
642
+ <T as ObjectSubclass >:: Type : IsA < glib:: Object > ,
623
643
<T as ObjectSubclass >:: Type : IsA < ActionGroup > ,
624
644
{
625
645
let instance = & * ( action_group as * mut T :: Instance ) ;
@@ -649,6 +669,7 @@ unsafe extern "C" fn action_group_query_action<T: ActionGroupImpl>(
649
669
state : * mut * mut glib:: ffi:: GVariant ,
650
670
) -> glib:: ffi:: gboolean
651
671
where
672
+ <T as ObjectSubclass >:: Type : IsA < glib:: Object > ,
652
673
<T as ObjectSubclass >:: Type : IsA < ActionGroup > ,
653
674
{
654
675
let instance = & * ( action_group as * mut T :: Instance ) ;
0 commit comments