Use a MessagePanel instead of a MessageDialog for samples that may not
be runnable in certain conditions git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30229 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		@@ -68,10 +68,10 @@ def runTest(frame, nb, log):
 | 
			
		||||
        win = TestPanel(nb, log)
 | 
			
		||||
        return win
 | 
			
		||||
    else:
 | 
			
		||||
        dlg = wx.MessageDialog(frame, 'This demo only works on MSW.',
 | 
			
		||||
                          'Sorry', wx.OK | wx.ICON_INFORMATION)
 | 
			
		||||
        dlg.ShowModal()
 | 
			
		||||
        dlg.Destroy()
 | 
			
		||||
        from Main import MessagePanel
 | 
			
		||||
        win = MessagePanel(nb, 'This demo only works on Microsoft Windows.',
 | 
			
		||||
                           'Sorry', wx.ICON_WARNING)
 | 
			
		||||
        return win
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
overview = """\
 | 
			
		||||
 
 | 
			
		||||
@@ -191,10 +191,10 @@ def runTest(frame, nb, log):
 | 
			
		||||
        win = TestPanel(nb, log, frame)
 | 
			
		||||
        return win
 | 
			
		||||
    else:
 | 
			
		||||
        dlg = wx.MessageDialog(frame, 'This demo only works on Windows.',
 | 
			
		||||
                          'Sorry', wx.OK | wx.ICON_INFORMATION)
 | 
			
		||||
        dlg.ShowModal()
 | 
			
		||||
        dlg.Destroy()
 | 
			
		||||
        from Main import MessagePanel
 | 
			
		||||
        win = MessagePanel(nb, 'This demo only works on Microsoft Windows.',
 | 
			
		||||
                           'Sorry', wx.ICON_WARNING)
 | 
			
		||||
        return win
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -67,10 +67,10 @@ def runTest(frame, nb, log):
 | 
			
		||||
        win = TestPanel(nb, log)
 | 
			
		||||
        return win
 | 
			
		||||
    else:
 | 
			
		||||
        dlg = wx.MessageDialog(frame, 'This demo only works on MSW.',
 | 
			
		||||
                          'Sorry', wx.OK | wx.ICON_INFORMATION)
 | 
			
		||||
        dlg.ShowModal()
 | 
			
		||||
        dlg.Destroy()
 | 
			
		||||
        from Main import MessagePanel
 | 
			
		||||
        win = MessagePanel(nb, 'This demo only works on Microsoft Windows.',
 | 
			
		||||
                           'Sorry', wx.ICON_WARNING)
 | 
			
		||||
        return win
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
overview = """\
 | 
			
		||||
 
 | 
			
		||||
@@ -92,8 +92,10 @@ class SimpleView(wx.Panel):
 | 
			
		||||
 | 
			
		||||
def runTest(frame, nb, log):
 | 
			
		||||
    if wx.Platform == "__WXMAC__":
 | 
			
		||||
        wx.MessageBox("This demo currently fails on the Mac. The problem is being looked into...", "Sorry")
 | 
			
		||||
        return
 | 
			
		||||
        from Main import MessagePanel
 | 
			
		||||
        win = MessagePanel(nb, 'This demo currently fails on the Mac. The problem is being looked into...',
 | 
			
		||||
                           'Sorry', wx.ICON_WARNING)
 | 
			
		||||
        return win
 | 
			
		||||
 | 
			
		||||
    if 1:
 | 
			
		||||
        win = gizmos.DynamicSashWindow(nb, -1, style =  wx.CLIP_CHILDREN
 | 
			
		||||
 
 | 
			
		||||
@@ -93,7 +93,7 @@ class TestPanel(wx.Panel):
 | 
			
		||||
        if wx.Platform == "__WXMAC__":
 | 
			
		||||
            dlg = wx.MessageDialog(
 | 
			
		||||
                    self, 'FloatBar does not work well on this platform.',
 | 
			
		||||
                    'Sorry', wx.OK | wx.ICON_INFORMATION
 | 
			
		||||
                    'Sorry', wx.OK | wx.ICON_WARNING
 | 
			
		||||
                    )
 | 
			
		||||
            dlg.ShowModal()
 | 
			
		||||
            dlg.Destroy()
 | 
			
		||||
 
 | 
			
		||||
@@ -53,7 +53,7 @@ class ButtonPanel(wx.Panel):
 | 
			
		||||
        if not haveGLCanvas:
 | 
			
		||||
            dlg = wx.MessageDialog(self,
 | 
			
		||||
                                   'The GLCanvas class has not been included with this build of wxPython!',
 | 
			
		||||
                                   'Sorry', wx.OK | wx.ICON_INFORMATION)
 | 
			
		||||
                                   'Sorry', wx.OK | wx.ICON_WARNING)
 | 
			
		||||
            dlg.ShowModal()
 | 
			
		||||
            dlg.Destroy()
 | 
			
		||||
 | 
			
		||||
@@ -61,7 +61,7 @@ class ButtonPanel(wx.Panel):
 | 
			
		||||
            dlg = wx.MessageDialog(self,
 | 
			
		||||
                                   'The OpenGL package was not found.  You can get it at\n'
 | 
			
		||||
                                   'http://PyOpenGL.sourceforge.net/',
 | 
			
		||||
                                   'Sorry', wx.OK | wx.ICON_INFORMATION)
 | 
			
		||||
                                   'Sorry', wx.OK | wx.ICON_WARNING)
 | 
			
		||||
            dlg.ShowModal()
 | 
			
		||||
            dlg.Destroy()
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -994,12 +994,10 @@ def runTest(frame, nb, log):
 | 
			
		||||
        win = JoystickDemoPanel(nb, log)
 | 
			
		||||
        return win
 | 
			
		||||
    else:
 | 
			
		||||
        dlg = wx.MessageDialog(
 | 
			
		||||
                frame, 'wx.Joystick is not available on this platform.',
 | 
			
		||||
                'Sorry', wx.OK | wx.ICON_INFORMATION
 | 
			
		||||
                )
 | 
			
		||||
        dlg.ShowModal()
 | 
			
		||||
        dlg.Destroy()
 | 
			
		||||
        from Main import MessagePanel
 | 
			
		||||
        win = MessagePanel(nb, 'wx.Joystick is not available on this platform.',
 | 
			
		||||
                           'Sorry', wx.ICON_WARNING)
 | 
			
		||||
        return win
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
#----------------------------------------------------------------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -265,6 +265,60 @@ class MyTP(wx.PyTipProvider):
 | 
			
		||||
    def GetTip(self):
 | 
			
		||||
        return "This is my tip"
 | 
			
		||||
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# A class to be used to simply display a message in the demo pane
 | 
			
		||||
# rather than running the sample itself.
 | 
			
		||||
 | 
			
		||||
class MessagePanel(wx.Panel):
 | 
			
		||||
    def __init__(self, parent, message, caption='', flags=0):
 | 
			
		||||
        wx.Panel.__init__(self, parent)
 | 
			
		||||
 | 
			
		||||
        # Make widgets
 | 
			
		||||
        if flags:
 | 
			
		||||
            artid = None
 | 
			
		||||
            if flags & wx.ICON_EXCLAMATION:
 | 
			
		||||
                artid = wx.ART_WARNING            
 | 
			
		||||
            elif flags & wx.ICON_ERROR:
 | 
			
		||||
                artid = wx.ART_ERROR
 | 
			
		||||
            elif flags & wx.ICON_QUESTION:
 | 
			
		||||
                artid = wx.ART_QUESTION
 | 
			
		||||
            elif flags & wx.ICON_INFORMATION:
 | 
			
		||||
                artid = wx.ART_INFORMATION
 | 
			
		||||
 | 
			
		||||
            if artid is not None:
 | 
			
		||||
                bmp = wx.ArtProvider.GetBitmap(artid, wx.ART_MESSAGE_BOX, (32,32))
 | 
			
		||||
                icon = wx.StaticBitmap(self, -1, bmp)
 | 
			
		||||
            else:
 | 
			
		||||
                icon = (32,32) # make a spacer instead
 | 
			
		||||
 | 
			
		||||
        if caption:
 | 
			
		||||
            caption = wx.StaticText(self, -1, caption)
 | 
			
		||||
            caption.SetFont(wx.Font(28, wx.SWISS, wx.NORMAL, wx.BOLD))
 | 
			
		||||
 | 
			
		||||
        message = wx.StaticText(self, -1, message)
 | 
			
		||||
 | 
			
		||||
        # add to sizers for layout
 | 
			
		||||
        tbox = wx.BoxSizer(wx.VERTICAL)
 | 
			
		||||
        if caption:
 | 
			
		||||
            tbox.Add(caption)
 | 
			
		||||
            tbox.Add((10,10))
 | 
			
		||||
        tbox.Add(message)
 | 
			
		||||
        
 | 
			
		||||
        hbox = wx.BoxSizer(wx.HORIZONTAL)
 | 
			
		||||
        hbox.Add((10,10), 1)
 | 
			
		||||
        hbox.Add(icon)
 | 
			
		||||
        hbox.Add((10,10))
 | 
			
		||||
        hbox.Add(tbox)
 | 
			
		||||
        hbox.Add((10,10), 1)
 | 
			
		||||
 | 
			
		||||
        box = wx.BoxSizer(wx.VERTICAL)
 | 
			
		||||
        box.Add((10,10), 1)
 | 
			
		||||
        box.Add(hbox, 0, wx.EXPAND)
 | 
			
		||||
        box.Add((10,10), 2)
 | 
			
		||||
 | 
			
		||||
        self.SetSizer(box)
 | 
			
		||||
        
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
# A class to be used to display source code in the demo.  Try using the
 | 
			
		||||
 
 | 
			
		||||
@@ -69,9 +69,10 @@ class TestPanel(wx.Panel):
 | 
			
		||||
 | 
			
		||||
def runTest(frame, nb, log):
 | 
			
		||||
    if wx.Platform == "__WXMAC__":
 | 
			
		||||
        wx.MessageBox("This demo currently fails on the Mac.",
 | 
			
		||||
                     "Sorry")
 | 
			
		||||
        return
 | 
			
		||||
        from Main import MessagePanel
 | 
			
		||||
        win = MessagePanel(nb, 'This demo currently fails on the Mac.',
 | 
			
		||||
                           'Sorry', wx.ICON_WARNING)
 | 
			
		||||
        return win
 | 
			
		||||
    else:
 | 
			
		||||
        win = TestPanel(nb, log)
 | 
			
		||||
        return win
 | 
			
		||||
 
 | 
			
		||||
@@ -196,12 +196,10 @@ def runTest(frame, nb, log):
 | 
			
		||||
        win = TestPanel(nb, log)
 | 
			
		||||
        return win
 | 
			
		||||
    else:
 | 
			
		||||
        dlg = wx.MessageDialog(
 | 
			
		||||
                frame, 'wx.PopupWindow is not available on this platform.',
 | 
			
		||||
                'Sorry', wx.OK | wx.ICON_INFORMATION
 | 
			
		||||
                )
 | 
			
		||||
        dlg.ShowModal()
 | 
			
		||||
        dlg.Destroy()
 | 
			
		||||
        from Main import MessagePanel
 | 
			
		||||
        win = MessagePanel(nb, 'wx.PopupWindow is not available on this platform.',
 | 
			
		||||
                           'Sorry', wx.ICON_WARNING)
 | 
			
		||||
        return win
 | 
			
		||||
 | 
			
		||||
#---------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -122,8 +122,10 @@ class TestPanel(wx.Panel):
 | 
			
		||||
 | 
			
		||||
def runTest(frame, nb, log):
 | 
			
		||||
    if wx.Platform == "__WXMAC__":
 | 
			
		||||
        wx.MessageBox("This demo currently fails on the Mac. The problem is being looked into...", "Sorry")
 | 
			
		||||
        return
 | 
			
		||||
        from Main import MessagePanel
 | 
			
		||||
        win = MessagePanel(nb, 'This demo currently fails on the Mac. The problem is being looked into...',
 | 
			
		||||
                           'Sorry', wx.ICON_WARNING)
 | 
			
		||||
        return win
 | 
			
		||||
 | 
			
		||||
    win = TestPanel(nb, log)
 | 
			
		||||
    return win
 | 
			
		||||
 
 | 
			
		||||
@@ -161,13 +161,8 @@ class TestPanel(wx.Panel):
 | 
			
		||||
#----------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
def runTest(frame, nb, log):
 | 
			
		||||
    if wx.Platform == "__WXMAC__":
 | 
			
		||||
        wx.MessageBox("This demo currently fails on the Mac.",
 | 
			
		||||
                     "Sorry")
 | 
			
		||||
        return
 | 
			
		||||
    else:
 | 
			
		||||
        win = TestPanel(nb, log)
 | 
			
		||||
        return win
 | 
			
		||||
    win = TestPanel(nb, log)
 | 
			
		||||
    return win
 | 
			
		||||
 | 
			
		||||
#----------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -34,10 +34,10 @@ def runTest(frame, nb, log):
 | 
			
		||||
        win = TestPanel(nb, log)
 | 
			
		||||
        return win
 | 
			
		||||
    else:
 | 
			
		||||
        dlg = wx.MessageDialog(frame, 'wx.ToggleButton is not available on this platform.',
 | 
			
		||||
                          'Sorry', wx.OK | wx.ICON_INFORMATION)
 | 
			
		||||
        dlg.ShowModal()
 | 
			
		||||
        dlg.Destroy()
 | 
			
		||||
        from Main import MessagePanel
 | 
			
		||||
        win = MessagePanel(nb, 'wx.ToggleButton is not available on this platform.',
 | 
			
		||||
                           'Sorry', wx.ICON_WARNING)
 | 
			
		||||
        return win
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#----------------------------------------------------------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -2,123 +2,99 @@
 | 
			
		||||
import  sys
 | 
			
		||||
import  wx
 | 
			
		||||
 | 
			
		||||
py2 = sys.version[0] == '2'
 | 
			
		||||
 | 
			
		||||
try:
 | 
			
		||||
    if py2:
 | 
			
		||||
        from xml.parsers import expat
 | 
			
		||||
        parsermodule = expat
 | 
			
		||||
    else:
 | 
			
		||||
        from xml.parsers import pyexpat
 | 
			
		||||
        parsermodule = pyexpat
 | 
			
		||||
    haveXML = True
 | 
			
		||||
except ImportError:
 | 
			
		||||
    haveXML = False
 | 
			
		||||
from xml.parsers import expat
 | 
			
		||||
 | 
			
		||||
#----------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
if not haveXML:
 | 
			
		||||
    def runTest(frame, nb, log):
 | 
			
		||||
        dlg = wx.MessageDialog(
 | 
			
		||||
                frame, 'This demo requires the XML package.  '
 | 
			
		||||
                'See http://www.python.org/sigs/xml-sig/',
 | 
			
		||||
                'Sorry', wx.OK | wx.ICON_INFORMATION
 | 
			
		||||
                )
 | 
			
		||||
class XMLTree(wx.TreeCtrl):
 | 
			
		||||
    def __init__(self, parent, ID):
 | 
			
		||||
        wx.TreeCtrl.__init__(self, parent, ID)
 | 
			
		||||
        self._root = self.AddRoot("Root")
 | 
			
		||||
        self.nodeStack = [self._root]
 | 
			
		||||
 | 
			
		||||
        dlg.ShowModal()
 | 
			
		||||
        dlg.Destroy()
 | 
			
		||||
        # Trees need an image list to do DnD...
 | 
			
		||||
        self.il = wx.ImageList(16,16)
 | 
			
		||||
        self.SetImageList(self.il)
 | 
			
		||||
 | 
			
		||||
else:
 | 
			
		||||
 | 
			
		||||
    class XMLTree(wx.TreeCtrl):
 | 
			
		||||
        def __init__(self, parent, ID):
 | 
			
		||||
            wx.TreeCtrl.__init__(self, parent, ID)
 | 
			
		||||
            self._root = self.AddRoot("Root")
 | 
			
		||||
            self.nodeStack = [self._root]
 | 
			
		||||
 | 
			
		||||
            # Trees need an image list to do DnD...
 | 
			
		||||
            self.il = wx.ImageList(16,16)
 | 
			
		||||
            self.SetImageList(self.il)
 | 
			
		||||
 | 
			
		||||
            # event handlers for DnD
 | 
			
		||||
            self.Bind(wx.EVT_TREE_BEGIN_DRAG, self.OnBeginDrag)
 | 
			
		||||
            self.Bind(wx.EVT_TREE_END_DRAG, self.OnEndDrag)
 | 
			
		||||
        # event handlers for DnD
 | 
			
		||||
        self.Bind(wx.EVT_TREE_BEGIN_DRAG, self.OnBeginDrag)
 | 
			
		||||
        self.Bind(wx.EVT_TREE_END_DRAG, self.OnEndDrag)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        def OnBeginDrag(self, event):
 | 
			
		||||
            item = event.GetItem()
 | 
			
		||||
    def OnBeginDrag(self, event):
 | 
			
		||||
        item = event.GetItem()
 | 
			
		||||
 | 
			
		||||
            if item != self.GetRootItem():
 | 
			
		||||
                self.draggingItem = item
 | 
			
		||||
                event.Allow()  # if DnD of this item is okay Allow it.
 | 
			
		||||
        if item != self.GetRootItem():
 | 
			
		||||
            self.draggingItem = item
 | 
			
		||||
            event.Allow()  # if DnD of this item is okay Allow it.
 | 
			
		||||
 | 
			
		||||
        def IsDescendant(self, firstItem, secondItem):
 | 
			
		||||
            "Recursive check if firstItem is a descendant of a secondItem."
 | 
			
		||||
            if firstItem == self._root:
 | 
			
		||||
                return False
 | 
			
		||||
            parentItem = self.GetItemParent(firstItem)
 | 
			
		||||
            if parentItem == secondItem:
 | 
			
		||||
                return True
 | 
			
		||||
            else:
 | 
			
		||||
                return self.IsDescendant(parentItem, secondItem)
 | 
			
		||||
    def IsDescendant(self, firstItem, secondItem):
 | 
			
		||||
        "Recursive check if firstItem is a descendant of a secondItem."
 | 
			
		||||
        if firstItem == self._root:
 | 
			
		||||
            return False
 | 
			
		||||
        parentItem = self.GetItemParent(firstItem)
 | 
			
		||||
        if parentItem == secondItem:
 | 
			
		||||
            return True
 | 
			
		||||
        else:
 | 
			
		||||
            return self.IsDescendant(parentItem, secondItem)
 | 
			
		||||
 | 
			
		||||
        def OnEndDrag(self, evt):
 | 
			
		||||
            itemSrc = self.draggingItem
 | 
			
		||||
            itemDst = evt.GetItem()
 | 
			
		||||
            self.draggingItem = None
 | 
			
		||||
    def OnEndDrag(self, evt):
 | 
			
		||||
        itemSrc = self.draggingItem
 | 
			
		||||
        itemDst = evt.GetItem()
 | 
			
		||||
        self.draggingItem = None
 | 
			
		||||
 | 
			
		||||
            if not itemDst.IsOk():
 | 
			
		||||
                print "Can't drag to here..."
 | 
			
		||||
                return
 | 
			
		||||
        if not itemDst.IsOk():
 | 
			
		||||
            print "Can't drag to here..."
 | 
			
		||||
            return
 | 
			
		||||
 | 
			
		||||
            if self.IsDescendant(itemDst, itemSrc):
 | 
			
		||||
                print "Can't move item to its descendant"
 | 
			
		||||
                return
 | 
			
		||||
        if self.IsDescendant(itemDst, itemSrc):
 | 
			
		||||
            print "Can't move item to its descendant"
 | 
			
		||||
            return
 | 
			
		||||
 | 
			
		||||
            # For this simple example just take the text of the source item
 | 
			
		||||
            # and append it to the destination item.  In real life you would
 | 
			
		||||
            # possibly want to copy subtrees...
 | 
			
		||||
            text = self.GetItemText(itemSrc)
 | 
			
		||||
            self.AppendItem(itemDst, text)
 | 
			
		||||
            self.Delete(itemSrc)
 | 
			
		||||
        # For this simple example just take the text of the source item
 | 
			
		||||
        # and append it to the destination item.  In real life you would
 | 
			
		||||
        # possibly want to copy subtrees...
 | 
			
		||||
        text = self.GetItemText(itemSrc)
 | 
			
		||||
        self.AppendItem(itemDst, text)
 | 
			
		||||
        self.Delete(itemSrc)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        # Define a handler for start element events
 | 
			
		||||
        def StartElement(self, name, attrs ):
 | 
			
		||||
    # Define a handler for start element events
 | 
			
		||||
    def StartElement(self, name, attrs ):
 | 
			
		||||
        if py2:
 | 
			
		||||
            name = name.encode()
 | 
			
		||||
 | 
			
		||||
        id = self.AppendItem(self.nodeStack[-1], name)
 | 
			
		||||
        self.nodeStack.append(id)
 | 
			
		||||
 | 
			
		||||
    def EndElement(self,  name ):
 | 
			
		||||
        self.nodeStack = self.nodeStack[:-1]
 | 
			
		||||
 | 
			
		||||
    def CharacterData(self, data ):
 | 
			
		||||
        if data.strip():
 | 
			
		||||
            if py2:
 | 
			
		||||
                name = name.encode()
 | 
			
		||||
                data = data.encode()
 | 
			
		||||
 | 
			
		||||
            id = self.AppendItem(self.nodeStack[-1], name)
 | 
			
		||||
            self.nodeStack.append(id)
 | 
			
		||||
 | 
			
		||||
        def EndElement(self,  name ):
 | 
			
		||||
            self.nodeStack = self.nodeStack[:-1]
 | 
			
		||||
 | 
			
		||||
        def CharacterData(self, data ):
 | 
			
		||||
            if data.strip():
 | 
			
		||||
                if py2:
 | 
			
		||||
                    data = data.encode()
 | 
			
		||||
 | 
			
		||||
                self.AppendItem(self.nodeStack[-1], data)
 | 
			
		||||
            self.AppendItem(self.nodeStack[-1], data)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        def LoadTree(self, filename):
 | 
			
		||||
            # Create a parser
 | 
			
		||||
            Parser = parsermodule.ParserCreate()
 | 
			
		||||
    def LoadTree(self, filename):
 | 
			
		||||
        # Create a parser
 | 
			
		||||
        Parser = expat.ParserCreate()
 | 
			
		||||
 | 
			
		||||
            # Tell the parser what the start element handler is
 | 
			
		||||
            Parser.StartElementHandler = self.StartElement
 | 
			
		||||
            Parser.EndElementHandler = self.EndElement
 | 
			
		||||
            Parser.CharacterDataHandler = self.CharacterData
 | 
			
		||||
        # Tell the parser what the start element handler is
 | 
			
		||||
        Parser.StartElementHandler = self.StartElement
 | 
			
		||||
        Parser.EndElementHandler = self.EndElement
 | 
			
		||||
        Parser.CharacterDataHandler = self.CharacterData
 | 
			
		||||
 | 
			
		||||
            # Parse the XML File
 | 
			
		||||
            ParserStatus = Parser.Parse(open(filename,'r').read(), 1)
 | 
			
		||||
        # Parse the XML File
 | 
			
		||||
        ParserStatus = Parser.Parse(open(filename,'r').read(), 1)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def runTest(frame, nb, log):
 | 
			
		||||
        win = XMLTree(nb, -1)
 | 
			
		||||
        win.LoadTree("paper.xml")
 | 
			
		||||
        return win
 | 
			
		||||
def runTest(frame, nb, log):
 | 
			
		||||
    win = XMLTree(nb, -1)
 | 
			
		||||
    win.LoadTree("paper.xml")
 | 
			
		||||
    return win
 | 
			
		||||
 | 
			
		||||
#----------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user