# HG changeset patch # User lbessard # Date 1196960773 -3600 # Node ID 5e1e3d46c0c923764710bdaf2f04401fb7f85272 # Parent dc107daa21357128128702effb6a321a47e69c2d Adding support for execution order code generation diff -r dc107daa2135 -r 5e1e3d46c0c9 plugins/svgui/svgui.py --- a/plugins/svgui/svgui.py Thu Dec 06 17:59:41 2007 +0100 +++ b/plugins/svgui/svgui.py Thu Dec 06 18:06:13 2007 +0100 @@ -777,7 +777,7 @@ return [(Gen_C_file,"")],"",True def BlockTypesFactory(self): - def generate_svgui_block(generator, block, body, link): + def generate_svgui_block(generator, block, body, link, order=False): name = block.getInstanceName() block_id = self.GetElementIdFromName(name) if block_id == None: @@ -785,14 +785,14 @@ type = block.getTypeName() block_infos = self.GetBlockType(type) current_location = ".".join(map(str, self.GetCurrentLocation())) - if not generator.ComputedBlocks.get(name, False): + if not generator.ComputedBlocks.get(name, False) and not order: for num, variable in enumerate(block.inputVariables.getVariable()): connections = variable.connectionPointIn.getConnections() if connections and len(connections) == 1: parameter = "%sQ%s%s.%d.%d"%("%", TYPECONVERSION[block_infos["inputs"][num][1]], current_location, block_id, num+1) value = generator.ComputeFBDExpression(body, connections[0]) generator.Program += (" %s := %s;\n"%(parameter, generator.ExtractModifier(variable, value))) - generator.ComputedBlocks[name] = True + generator.ComputedBlocks[block] = True if link: connectionPoint = link.getPosition()[-1] for num, variable in enumerate(block.outputVariables.getVariable()):