class GObject::SignalGroup
 
  - GObject::SignalGroup
 - GObject::Object
 - Reference
 - Object
 
Overview
GSignalGroup manages a collection of signals on a GObject.
GSignalGroup simplifies the process of connecting  many signals to a GObject
as a group. As such there is no API to disconnect a signal from the group.
In particular, this allows you to:
- Change the target instance, which automatically causes disconnection of the signals from the old instance and connecting to the new instance.
 - Block and unblock signals as a group
 - Ensuring that blocked state transfers across target instances.
 
One place you might want to use such a structure is with Gtk::TextView and
Gtk::TextBuffer. Often times, you'll need to connect to many signals on
Gtk::TextBuffer from a Gtk::TextView subclass. This allows you to create a
signal group during instance construction, simply bind the
Gtk::TextView:buffer property to GSignalGroup:target and connect
all the signals you need. When the Gtk::TextView:buffer property changes
all of the signals will be transitioned correctly.
Defined in:
lib/gi-crystal/src/auto/g_object-2.0/signal_group.crConstructors
- 
        .new(target_type : UInt64) : self
        
          
Creates a new #GSignalGroup for target instances of target_type.
 - 
        .new
        
          
Initialize a new
SignalGroup. - .new(*, target : GObject::Object | Nil = nil, target_type : UInt64 | Nil = nil)
 
Class Method Summary
- 
        .g_type : UInt64
        
          
Returns the type id (GType) registered in GLib type system.
 
Instance Method Summary
- 
        #==(other : self)
        
          
Returns
trueif this reference is the same as other. - #bind_signal
 - 
        #block : Nil
        
          
Blocks all signal handlers managed by self so they will not be called during any signal emissions.
 - 
        #connect_closure(detailed_signal : String, closure : GObject::Closure, after : Bool) : Nil
        
          
Connects closure to the signal detailed_signal on #GSignalGroup:target.
 - 
        #connect_data(detailed_signal : String, c_handler : GObject::Callback, data : Pointer(Void) | Nil, notify : GObject::ClosureNotify, flags : GObject::ConnectFlags) : Nil
        
          
Connects c_handler to the signal detailed_signal on the target instance of self.
 - 
        #connect_swapped(detailed_signal : String, c_handler : GObject::Callback, data : Pointer(Void) | Nil) : Nil
        
          
Connects c_handler to the signal detailed_signal on the target instance of self.
 - 
        #dup_target : GObject::Object | Nil
        
          
Gets the target instance used when connecting signals.
 - #hash(hasher)
 - #target : GObject::Object | Nil
 - 
        #target=(target : GObject::Object | Nil) : Nil
        
          
Sets the target instance used when connecting signals.
 - #target_type : UInt64
 - #target_type=(value : UInt64) : UInt64
 - #unbind_signal
 - 
        #unblock : Nil
        
          
Unblocks all signal handlers managed by self so they will be called again during any signal emissions unless it is blocked again.
 
Instance methods inherited from class GObject::Object
  
  
    
      ==(other : self)
    ==, 
    
  
    
      bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding
    bind_property, 
    
  
    
      bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding
    bind_property_full, 
    
  
    
      data(key : String) : Pointer(Void) | Nil
    data, 
    
  
    
      finalize
    finalize, 
    
  
    
      freeze_notify : Nil
    freeze_notify, 
    
  
    
      getv(names : Enumerable(String), values : Enumerable(_)) : Nil
    getv, 
    
  
    
      hash(hasher)
    hash, 
    
  
    
      notify(property_name : String) : Nil
    notify, 
    
  
    
      notify_by_pspec(pspec : GObject::ParamSpec) : Nil
    notify_by_pspec, 
    
  
    
      notify_signal
    notify_signal, 
    
  
    
      property(property_name : String, value : _) : Nil
    property, 
    
  
    
      qdata(quark : UInt32) : Pointer(Void) | Nil
    qdata, 
    
  
    
      ref_count : UInt32
    ref_count, 
    
  
    
      run_dispose : Nil
    run_dispose, 
    
  
    
      set_data(key : String, data : Pointer(Void) | Nil) : Nil
    set_data, 
    
  
    
      set_property(property_name : String, value : _) : Nil
    set_property, 
    
  
    
      steal_data(key : String) : Pointer(Void) | Nil
    steal_data, 
    
  
    
      steal_qdata(quark : UInt32) : Pointer(Void) | Nil
    steal_qdata, 
    
  
    
      thaw_notify : Nil
    thaw_notify, 
    
  
    
      to_unsafe : Pointer(Void)
    to_unsafe, 
    
  
    
      watch_closure(closure : GObject::Closure) : Nil
    watch_closure
    
  
    
  Constructor methods inherited from class GObject::Object
  
  
    
      cast(obj : GObject::Object) : self
    cast, 
    
  
    
      new(pointer : Pointer(Void), transfer : GICrystal::Transfer)new new, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv
Class methods inherited from class GObject::Object
  
  
    
      cast?(obj : GObject::Object) : self | Nil
    cast?, 
    
  
    
      compat_control(what : UInt64, data : Pointer(Void) | Nil) : UInt64
    compat_control, 
    
  
    
      g_type : UInt64
    g_type, 
    
  
    
      interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec
    interface_find_property, 
    
  
    
      interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec)
    interface_list_properties
    
  
    
  Macros inherited from class GObject::Object
  
  
    
      previous_vfunc(*args)
    previous_vfunc, 
    
  
    
      previous_vfunc!(*args)
    previous_vfunc!, 
    
  
    
      signal(signature)
    signal
    
  
  
    
    
    
    
  
    
    
    
    
  
Constructor Detail
Creates a new #GSignalGroup for target instances of target_type.
Class Method Detail
Instance Method Detail
Returns true if this reference is the same as other. Invokes same?.
Blocks all signal handlers managed by self so they will not be called during any signal emissions. Must be unblocked exactly the same number of times it has been blocked to become active again.
This blocked state will be kept across changes of the target instance.
Connects closure to the signal detailed_signal on #GSignalGroup:target.
You cannot connect a signal handler after #GSignalGroup:target has been set.
Connects c_handler to the signal detailed_signal on the target instance of self.
You cannot connect a signal handler after #GSignalGroup:target has been set.
Connects c_handler to the signal detailed_signal on the target instance of self.
The instance on which the signal is emitted and data will be swapped when calling c_handler.
You cannot connect a signal handler after #GSignalGroup:target has been set.
Sets the target instance used when connecting signals. Any signal that has been registered with g_signal_group_connect_object() or similar functions will be connected to this object.
If the target instance was previously set, signals will be disconnected from that object prior to connecting to target.
Unblocks all signal handlers managed by self so they will be called again during any signal emissions unless it is blocked again. Must be unblocked exactly the same number of times it has been blocked to become active again.