-#----------------------------------------------------------------------
+#---------------------------------------------------------------------------
+
+class TestPanel(wx.Panel):
+    def __init__(self, parent, log):
+        self.log = log
+        wx.Panel.__init__(self, parent, -1)
+
+        b = wx.Button(self, -1, "Show Threads sample", (50,50))
+        self.Bind(wx.EVT_BUTTON, self.OnButton, b)
+
+
+    def OnButton(self, evt):
+        win = TestFrame(self, self.log)
+        win.Show(True)
+
+
+#---------------------------------------------------------------------------
+
 
 def runTest(frame, nb, log):
-    win = TestFrame(frame, log)
-    frame.otherWin = win
-    win.Show(True)
-    return None
+    win = TestPanel(nb, log)
+    return win
 
 #----------------------------------------------------------------------
 
 
 
 
+
 overview = """\
 The main issue with multi-threaded GUI programming is the thread safty
 of the GUI itself.  On most platforms the GUI is not thread safe and