Exemple #1
0
 def get_free_docks(self, _list):
     
     possible_docks = set()
     
     for block in _list:
         for dock in block.get_docks(True):
             if dock.get_enabled() == True:
                 possible_docks.add(dock)
                 
     return possible_docks
 def dock_ok(self, block):
     
     r = True
     b = None
     for dock in block.get_docks(False):
         
         if dock.get_enabled() == True:
             if dock.get_format() == C_form.FEM:
                 r = False
                 b = block
         else:
             k = self.dock_ok(dock.get_destiny_block())
             r = (r & k[0])
             b = k[1]
     return r, b
Exemple #3
0
    def dock_ok(self, block):
        
        r = True
        b = []

        for dock in block.get_docks(False):
            
            if dock.get_enabled() == True:
                if dock.get_format()==C_form.FEM:
                    r = False
                    b.append(block)
            else:
                k = self.dock_ok( dock.get_destiny_block() )
                r = ( r & k[0] )
                if k[1] != []:
                    b = k[1]
        return r, b
Exemple #4
0
 def remove(self, block, IGNORE_RFLAG=False):
     
     if block.erasable == True or IGNORE_RFLAG == True:
         
         for dock in block.get_docks():
             dock.disconnect()
         try:
             self.blocks.remove(block)
         except ValueError:
             pass
         self.selected -= set( (block,) )
         
         block.kill_gui()
         block.kill_widgets()
         block.mark_dirty()
         
         block.remove()
Exemple #5
0
 def b_disconnect(self, _list):
     for block in _list:
         for dock in block.get_docks(True):
             if dock.get_enabled() == False\
             and not dock.get_destiny_block() in _list:
                 dock.disconnect()