true/false or TRUE/FALSE to prepare for the new boolean type and constants being added to Python. Added code to wx.py to test for the existence of the new constants and to create suitable values if not present. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@19335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
96 lines
3.1 KiB
Python
96 lines
3.1 KiB
Python
|
|
from wxPython.wx import *
|
|
from wxPython.lib.infoframe import *
|
|
|
|
#----------------------------------------------------------------------
|
|
|
|
class MyFrame(wxFrame):
|
|
def __init__(self,output):
|
|
wxFrame.__init__(self,None,-1,"Close me...",size=(300,100))
|
|
menubar = wxMenuBar()
|
|
menu = wxMenu()
|
|
mID = NewId()
|
|
menu.Append(mID,"&Enable output","Display output frame")
|
|
EVT_MENU(self,mID,output.EnableOutput)
|
|
mID = NewId()
|
|
menu.Append(mID,"&Disable output","Close output frame")
|
|
EVT_MENU(self,mID,output.DisableOutput)
|
|
menubar.Append(menu,"&Output")
|
|
self.SetMenuBar(menubar)
|
|
output.SetParent(self)
|
|
output.SetOtherMenuBar(menubar,menuname="Output")
|
|
EVT_CLOSE(self,self.OnClose)
|
|
EVT_TIMER(self, -1, self.OnTimer)
|
|
|
|
self.timer = wxTimer(self, -1)
|
|
self.timer.Start(1000)
|
|
|
|
self.save_stdout = sys.stdout
|
|
sys.stdout = self.output = output
|
|
print "Hello!"
|
|
|
|
def OnClose(self,event):
|
|
sys.stdout = self.save_stdout
|
|
self.output.close()
|
|
self.timer.Stop()
|
|
self.timer = None
|
|
self.Destroy()
|
|
|
|
def OnTimer(self, evt):
|
|
print "This was printed with \"print\""
|
|
|
|
|
|
#----------------------------------------------------------------------
|
|
|
|
from wxPython.lib import infoframe
|
|
overview = infoframe.__doc__
|
|
|
|
def runTest(frame, nb, log):
|
|
"""
|
|
This method is used by the wxPython Demo Framework for integrating
|
|
this demo with the rest.
|
|
"""
|
|
win = MyFrame(wxPyInformationalMessagesFrame())
|
|
frame.otherWin = win
|
|
win.Show(1)
|
|
|
|
#----------------------------------------------------------------------
|
|
|
|
if __name__ == "__main__":
|
|
## class MyFrame(wxFrame):
|
|
## def __init__(self,output):
|
|
## wxFrame.__init__(self,None,-1,"Close me...",size=(300,100))
|
|
## EVT_CLOSE(self,self.OnClose)
|
|
## menubar = wxMenuBar()
|
|
## menu = wxMenu()
|
|
## mID = NewId()
|
|
## menu.Append(mID,"&Enable output","Display output frame")
|
|
## EVT_MENU(self,mID,output.EnableOutput)
|
|
## mID = NewId()
|
|
## menu.Append(mID,"&Disable output","Close output frame")
|
|
## EVT_MENU(self,mID,output.DisableOutput)
|
|
## menubar.Append(menu,"&Output")
|
|
## self.SetMenuBar(menubar)
|
|
## output.SetOtherMenuBar(menubar,menuname="Output")
|
|
|
|
## def OnClose(self,event):
|
|
## if isinstance(sys.stdout,wxPyInformationalMessagesFrame):
|
|
## sys.stdout.close()
|
|
## self.Destroy()
|
|
|
|
class MyApp(wxApp):
|
|
outputWindowClass = wxPyInformationalMessagesFrame
|
|
def OnInit(self):
|
|
frame = MyFrame(self.stdioWin)
|
|
frame.Show(True)
|
|
self.SetTopWindow(frame)
|
|
if isinstance(sys.stdout,wxPyInformationalMessagesFrame):
|
|
sys.stdout.SetParent(frame)
|
|
#self.redirectStdio(None)# this is done automatically
|
|
# by the MyApp(1) call below
|
|
print "Starting.\n",
|
|
return True
|
|
|
|
app = MyApp(1)
|
|
app.MainLoop()
|