# HG changeset patch # User greg # Date 1227686668 -3600 # Node ID 9cce835264874c64923264584ef419feeb137ce6 # Parent ea7928fd07da97eb0d027086491ff21bfb8d6b0c Bug on Exception handling fixed diff -r ea7928fd07da -r 9cce83526487 plugins/svgui/svgui.py --- a/plugins/svgui/svgui.py Mon Nov 24 08:57:43 2008 +0100 +++ b/plugins/svgui/svgui.py Wed Nov 26 09:04:28 2008 +0100 @@ -9,6 +9,7 @@ from SVGUIControler import * from SVGUIEditor import * from FBD_Objects import * +from PLCGenerator import PLCGenException from wxPopen import ProcessLogger from wx.wxsvg import SVGDocument @@ -166,11 +167,10 @@ dialog.Destroy() def _StartInkscape(self): - if not self._View: - svgfile = os.path.join(self.PlugPath(), "gui.svg") - if not os.path.isfile(svgfile): - svgfile = None - open_svg(svgfile) + svgfile = os.path.join(self.PlugPath(), "gui.svg") + if not os.path.isfile(svgfile): + svgfile = None + open_svg(svgfile) PluginMethods = [ {"bitmap" : os.path.join("images","HMIEditor"), @@ -251,7 +251,7 @@ name = block.getinstanceName() block_id = self.GetElementIdFromName(name) if block_id == None: - raise ValueError, "No corresponding block found" + raise PLCGenException, "Undefined SVGUI Block \"%s\""%name type = block.gettypeName() block_infos = GetSVGUIBlockType(type) current_location = ".".join(map(str, self.GetCurrentLocation())) @@ -273,16 +273,17 @@ for num, variable in enumerate(block.outputVariables.getvariable()): blockPointx, blockPointy = variable.connectionPointOut.getrelPositionXY() output_info = (generator.TagName, "block", block.getlocalId(), "output", num) + parameter = "%sI%s%s.%d.%d"%("%", TYPECONVERSION[block_infos["outputs"][num][1]], current_location, block_id, num+1) if block.getx() + blockPointx == connectionPoint.getx() and block.gety() + blockPointy == connectionPoint.gety(): - return [("%sI%s%s.%d.%d"%("%", TYPECONVERSION[block_infos["outputs"][num][1]], current_location, block_id, num+1), output_info)] - raise ValueError, "No output variable found" + return generator.ExtractModifier(variable, [(parameter, output_info)], output_info) + raise PLCGenException, "No corresponding output variable found on SVGUI Block \"%s\""%name else: return None def initialise_block(type, name, block = None): block_id = self.GetElementIdFromName(name) if block_id == None: - raise ValueError, "No corresponding block found" + raise PLCGenException, "Undefined SVGUI Block \"%s\""%name block_infos = GetSVGUIBlockType(type) current_location = ".".join(map(str, self.GetCurrentLocation())) variables = []