def button_connection_edit( self, layer, arg ):
   
   selected_layer = pmc.treeView( self.__layer_tree,
                                  q = True,
                                  si = True )[ 0 ]
                                                             
   if utils.are_connected( layer, selected_layer ):
     utils.disconnect_layers( [ layer, selected_layer ] )
   else:
     if utils.is_high( selected_layer ):
       utils.connect_layers( layer, selected_layer )
     else:
       utils.connect_layers( selected_layer, layer )
   
   self.refresh_button_state()
  def connect_layers( self, evt ):
    """
    Connect two layers event handler.
    """
    high_layers = [ ]
    low_layers = [ ]
    
    for layer in self.get_selected_layers( ):
      if utils.is_high( layer ):
        high_layers.append( layer )
        
      else:
        low_layers.append( layer )

    if not len( low_layers ) == 1:
      pmc.error( 'Connecting Bake Layers requires one and only one low layer.' )
      return False

    utils.connect_layers( low_layers[ 0 ], high_layers )