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
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
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()
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()