示例#1
0
 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)
示例#2
0
 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)
示例#3
0
 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)
示例#4
0
 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)
示例#5
0
 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)