-def runTest(frame, nb, log):
-    win = TestDialog(frame, -1, "This is a Dialog", size=(350, 200),
-                     #style = wxCAPTION | wxSYSTEM_MENU | wxTHICK_FRAME
-                     style = wx.DEFAULT_DIALOG_STYLE
-                     )
-    win.CenterOnScreen()
-    val = win.ShowModal()
+class TestPanel(wx.Panel):
+    def __init__(self, parent, log):
+        self.log = log
+        wx.Panel.__init__(self, parent, -1)
+
+        b = wx.Button(self, -1, "Create and Show a custom Dialog", (50,50))
+        self.Bind(wx.EVT_BUTTON, self.OnButton, b)
+
+        if 'wxMac' in wx.PlatformInfo:
+            self.cb = wx.CheckBox(self, -1, "Set Metal appearance", (50,90))
+            
+
+    def OnButton(self, evt):
+        useMetal = False
+        if 'wxMac' in wx.PlatformInfo:
+            useMetal = self.cb.IsChecked()
+            
+        dlg = TestDialog(self, -1, "Sample Dialog", size=(350, 200),
+                         #style=wxCAPTION | wxSYSTEM_MENU | wxTHICK_FRAME,
+                         style=wx.DEFAULT_DIALOG_STYLE,
+                         useMetal=useMetal,
+                         )
+        dlg.CenterOnScreen()
+
+        # this does not return until the dialog is closed.
+        val = dlg.ShowModal()