def createTestWin(self, item): TRACE('createTestWin') # Create a window with this resource node = view.tree.GetPyData(item) # Close old window, remember where it was comp = Manager.getNodeComp(node) # Create memory XML file elem = node.cloneNode(True) if not node.hasAttribute('name'): name = 'noname' else: name = node.getAttribute('name') elem.setAttribute('name', STD_NAME) Model.setTestElem(elem) Model.saveTestMemoryFile() xmlFlags = 0 if not g.conf.useSubclassing: xmlFlags |= xrc.XRC_NO_SUBCLASSING # Use translations if encoding is not specified if not Model.dom.encoding: xmlFlags |= xrc.XRC_USE_LOCALE res = xrc.EmptyXmlResource(xmlFlags) xrc.XmlResource.Set(res) # set as global # Init other handlers Manager.addXmlHandlers(res) Manager.preload(res) # Same module list res.Load('memory:test.xrc') object = None testWin = view.testWin try: try: frame, object = comp.makeTestWin(res, name) if not object: # skip the rest raise EOFError # Reset previous tree item and locate tool if testWin.item: view.tree.SetItemBold(testWin.item, False) testWin.SetView(frame, object, item) testWin.Show() view.tree.SetItemBold(item, True) except EOFError: pass except NotImplementedError: wx.LogError('Test window not implemented for %s' % node.getAttribute('class')) logger.exception('error creating test view') except: logger.exception('error creating test view') wx.LogError('Error creating test view') if get_debug(): raise finally: # Cleanup res.Unload(TEST_FILE) xrc.XmlResource.Set(None) wx.MemoryFSHandler.RemoveFile(TEST_FILE)
def createTestWin(self, item): TRACE('createTestWin') # Create a window with this resource node = view.tree.GetPyData(item) # Execute "pragma" comment node if node.nodeType == node.COMMENT_NODE: if node.data and node.data[0] == '%' and g.conf.allowExec != 'no': say = wx.NO if g.conf.allowExec == 'ask' and Model.allowExec is None: say = wx.MessageBox('Execute comment directive?', 'Warning', wx.ICON_EXCLAMATION | wx.YES_NO) if g.conf.allowExec == 'yes' or say == wx.YES: code = node.data[1:] # skip '%' view.tree.ExecCode(code) return # Close old window, remember where it was comp = Manager.getNodeComp(node) # Use parent object if the current one does not support test view testWinItem = item while not comp.isTestable: testWinItem = view.tree.GetItemParent(testWinItem) node = view.tree.GetPyData(testWinItem) comp = Manager.getNodeComp(node) # Create memory XML file elem = node.cloneNode(True) if not node.hasAttribute('name'): name = 'noname' else: name = node.getAttribute('name') elem.setAttribute('name', STD_NAME) Model.setTestElem(elem) Model.saveTestMemoryFile() xmlFlags = 0 if not g.conf.useSubclassing: xmlFlags |= xrc.XRC_NO_SUBCLASSING # Use translations if encoding is not specified if not Model.dom.encoding: xmlFlags |= xrc.XRC_USE_LOCALE res = xrc.EmptyXmlResource(xmlFlags) xrc.XmlResource.Set(res) # set as global # Init other handlers Manager.addXmlHandlers(res) Manager.preload(res) # Same module list res.Load('memory:test.xrc') testWin = view.testWin try: try: frame, object = comp.makeTestWin(res, name) if not object: # skip the rest raise EOFError # Reset previous tree item and locate tool if testWin.item: view.tree.SetItemBold(testWin.item, False) testWin.SetView(frame, object, testWinItem) testWin.Show() view.tree.SetItemBold(testWinItem, True) # For reused frame, object is not positioned immediately wx.CallAfter(self.highlight, item) except EOFError: pass except TestWinError: wx.LogError('Test window could not be created for %s' % node.getAttribute('class')) logger.exception('error creating test view') except: wx.LogError('Error creating test view') logger.exception('error creating test view') if get_debug(): raise finally: # Cleanup res.Unload(TEST_FILE) xrc.XmlResource.Set(None) wx.MemoryFSHandler.RemoveFile(TEST_FILE)
def createTestWin(self, item): TRACE('createTestWin') # Create a window with this resource node = view.tree.GetPyData(item) # Execute "pragma" comment node if node.nodeType == node.COMMENT_NODE: if node.data and node.data[0] == '%' and g.conf.allowExec != 'no': say = wx.NO if g.conf.allowExec == 'ask' and Model.allowExec is None: say = wx.MessageBox('Execute comment directive?', 'Warning', wx.ICON_EXCLAMATION | wx.YES_NO) if g.conf.allowExec == 'yes' or say == wx.YES: code = node.data[1:] # skip '%' view.tree.ExecCode(code) return # Close old window, remember where it was comp = Manager.getNodeComp(node) # Create memory XML file elem = node.cloneNode(True) if not node.hasAttribute('name'): name = 'noname' else: name = node.getAttribute('name') elem.setAttribute('name', STD_NAME) Model.setTestElem(elem) Model.saveTestMemoryFile() xmlFlags = 0 if not g.conf.useSubclassing: xmlFlags |= xrc.XRC_NO_SUBCLASSING # Use translations if encoding is not specified if not Model.dom.encoding: xmlFlags |= xrc.XRC_USE_LOCALE res = xrc.EmptyXmlResource(xmlFlags) xrc.XmlResource.Set(res) # set as global # Init other handlers Manager.addXmlHandlers(res) Manager.preload(res) # Same module list res.Load('memory:test.xrc') object = None testWin = view.testWin try: try: frame, object = comp.makeTestWin(res, name) if not object: # skip the rest raise EOFError # Reset previous tree item and locate tool if testWin.item: view.tree.SetItemBold(testWin.item, False) testWin.SetView(frame, object, item) testWin.Show() view.tree.SetItemBold(item, True) except EOFError: pass except NotImplementedError: wx.LogError('Test window not implemented for %s' % node.getAttribute('class')) logger.exception('error creating test view') except: logger.exception('error creating test view') wx.LogError('Error creating test view') if get_debug(): raise finally: # Cleanup res.Unload(TEST_FILE) xrc.XmlResource.Set(None) wx.MemoryFSHandler.RemoveFile(TEST_FILE)
def createTestWin(self, item): TRACE("createTestWin") # Create a window with this resource node = view.tree.GetPyData(item) # Execute "pragma" comment node if node.nodeType == node.COMMENT_NODE: if node.data and node.data[0] == "%" and g.conf.allowExec != "no": say = wx.NO if g.conf.allowExec == "ask" and Model.allowExec is None: say = wx.MessageBox("Execute comment directive?", "Warning", wx.ICON_EXCLAMATION | wx.YES_NO) if g.conf.allowExec == "yes" or say == wx.YES: code = node.data[1:] # skip '%' view.tree.ExecCode(code) return # Close old window, remember where it was comp = Manager.getNodeComp(node) # Use parent object if the current one does not support test view testWinItem = item while not comp.isTestable: testWinItem = view.tree.GetItemParent(testWinItem) node = view.tree.GetPyData(testWinItem) comp = Manager.getNodeComp(node) # Create memory XML file elem = node.cloneNode(True) if not node.hasAttribute("name"): name = "noname" else: name = node.getAttribute("name") elem.setAttribute("name", STD_NAME) Model.setTestElem(elem) Model.saveTestMemoryFile() xmlFlags = 0 if not g.conf.useSubclassing: xmlFlags |= xrc.XRC_NO_SUBCLASSING # Use translations if encoding is not specified if not Model.dom.encoding: xmlFlags |= xrc.XRC_USE_LOCALE res = xrc.EmptyXmlResource(xmlFlags) xrc.XmlResource.Set(res) # set as global # Init other handlers Manager.addXmlHandlers(res) Manager.preload(res) # Same module list res.Load("memory:test.xrc") testWin = view.testWin try: try: frame, object = comp.makeTestWin(res, name) if not object: # skip the rest raise EOFError # Reset previous tree item and locate tool if testWin.item: view.tree.SetItemBold(testWin.item, False) testWin.SetView(frame, object, testWinItem) testWin.Show() view.tree.SetItemBold(testWinItem, True) # For reused frame, object is not positioned immediately wx.CallAfter(self.highlight, item) except EOFError: pass except TestWinError: wx.LogError("Test window could not be created for %s" % node.getAttribute("class")) logger.exception("error creating test view") except: wx.LogError("Error creating test view") logger.exception("error creating test view") if get_debug(): raise finally: # Cleanup res.Unload(TEST_FILE) xrc.XmlResource.Set(None) wx.MemoryFSHandler.RemoveFile(TEST_FILE)