from wxPython.wx import *
 
+havePopupWindow = 1
+try:
+    wxPopupWindow
+except NameError:
+    havePopupWindow = 0
+    wxPopupWindow = wxPopupTransientWindow = wxWindow
+
 #---------------------------------------------------------------------------
 
 class TestPopup(wxPopupWindow):
         self.ReleaseMouse()
 
     def OnRightUp(self, evt):
-        self.Show(false)
+        self.Show(False)
         self.Destroy()
 
 
 
     def ProcessLeftDown(self, evt):
         self.log.write("ProcessLeftDown\n")
-        return false
+        return False
 
     def OnDismiss(self):
         self.log.write("OnDismiss\n")
         sz =  btn.GetSize()
         win.Position(pos, (0, sz.height))
 
-        win.Show(true)
+        win.Show(True)
 
 
     def OnShowPopupTransient(self, evt):
         sz =  btn.GetSize()
         win.Position(pos, (0, sz.height))
 
-        win.Show(true)
+        win.Show(True)
 
 class TestPopupWithListbox(wxPopupWindow):
     def __init__(self, parent, style, log):
 #---------------------------------------------------------------------------
 
 def runTest(frame, nb, log):
-    win = TestPanel(nb, log)
-    return win
+    if havePopupWindow:
+        win = TestPanel(nb, log)
+        return win
+    else:
+        dlg = wxMessageDialog(frame, 'wxPopupWindow is not available on this platform.',
+                          'Sorry', wxOK | wxICON_INFORMATION)
+        dlg.ShowModal()
+        dlg.Destroy()
 
 #---------------------------------------------------------------------------
 
 
 overview = """\
 """
+
+
+
+
+if __name__ == '__main__':
+    import sys,os
+    import run
+    run.main(['', os.path.basename(sys.argv[0])])
+