# For debugging
##wx.Trap();
-##print os.getpid(); raw_input("Press a key...")
+##print "wx.VERSION_STRING = ", wx.VERSION_STRING
+##print os.getpid();
+##raw_input("Press Enter...")
#---------------------------------------------------------------------------
'GridBagSizer',
'Cursor',
'PyPlot',
+ 'ImageAlpha',
+ 'ActiveX_FlashWindow',
+ 'ActiveX_IEHtmlWindow',
+ 'ActiveX_PDFWindow',
]),
# managed windows == things with a (optional) caption you can close
# dialogs from libraries
('More Dialogs', [
- 'ErrorDialogs',
'ImageBrowser',
'MultipleChoiceDialog',
'ScrolledMessageDialog',
# core controls
('Core Windows/Controls', [
+ 'BitmapButton',
'Button',
'CheckBox',
'CheckListBox',
# controls coming from other libraries
('More Windows/Controls', [
+ 'ActiveX_FlashWindow',
+ 'ActiveX_IEHtmlWindow',
+ 'ActiveX_PDFWindow',
#'RightTextCtrl', deprecated as we have wxTE_RIGHT now.
'Calendar',
'CalendarCtrl',
'FloatBar',
'FloatCanvas',
'HtmlWindow',
- 'IEHtmlWin',
'IntCtrl',
'MVCTree',
'MaskedEditControls',
('Process and Events', [
'EventManager',
'KeyEvents',
- 'OOR',
'Process',
'PythonEvents',
'Threads',
'Cursor',
'DragImage',
'Image',
+ 'ImageAlpha',
'ImageFromStream',
'Mask',
'Throbber',
'FileHistory',
'FontEnumerator',
'Joystick',
- 'NewNamespace',
'OGL',
'PrintFramework',
'ShapedWindow',
# need libs not coming with the demo
('Objects using an external library', [
- 'ActiveXWrapper_Acrobat',
- 'ActiveXWrapper_IE',
'GLCanvas',
- #'PlotCanvas', # deprecated, use PyPlot
]),
from StyledTextCtrl_2 import PythonSTC
class DemoCodeViewer(PythonSTC):
def __init__(self, parent, ID):
- PythonSTC.__init__(self, parent, ID)
+ PythonSTC.__init__(self, parent, ID, wx.BORDER_NONE)
self.SetUpEditor()
# Some methods to make it compatible with how the wxTextCtrl is used
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, -1, title, size = (800, 600),
style=wx.DEFAULT_FRAME_STYLE|wx.NO_FULL_REPAINT_ON_RESIZE)
+
self.cwd = os.getcwd()
self.curOverview = ""
self.Centre(wx.BOTH)
self.CreateStatusBar(1, wx.ST_SIZEGRIP)
- splitter = wx.SplitterWindow(self, -1)
- splitter2 = wx.SplitterWindow(splitter, -1) ##, size=(20,20))
+ splitter = wx.SplitterWindow(self, -1, style=wx.CLIP_CHILDREN | wx.SP_LIVE_UPDATE | wx.SP_3D)
+ splitter2 = wx.SplitterWindow(splitter, -1, style=wx.CLIP_CHILDREN | wx.SP_LIVE_UPDATE | wx.SP_3D)
# Set up a log on the View Log Notebook page
self.log = wx.TextCtrl(splitter2, -1,
style = wx.TE_MULTILINE|wx.TE_READONLY|wx.HSCROLL)
-
+
# Set the wxWindows log target to be this textctrl
#wx.Log_SetActiveTarget(wx.LogTextCtrl(self.log))
# Make a File menu
self.mainmenu = wx.MenuBar()
menu = wx.Menu()
+ item = menu.Append(-1, '&Redirect Output',
+ 'Redirect print statements to a window',
+ wx.ITEM_CHECK)
+ self.Bind(wx.EVT_MENU, self.OnToggleRedirect, item)
+
item = menu.Append(-1, 'E&xit\tAlt-X', 'Get the heck outta here!')
self.Bind(wx.EVT_MENU, self.OnFileExit, item)
wx.App_SetMacExitMenuItemId(item.GetId())
+
self.mainmenu.Append(menu, '&File')
# Make a Demo menu
self.tree.EnsureVisible(selectedDemo)
- wx.LogMessage('window handle: %s' % self.GetHandle())
+## wx.LogMessage('window handle: %s' % self.GetHandle())
#---------------------------------------------
if itemText == self.overviewText:
self.LoadDemoSource('Main.py')
self.SetOverview(self.overviewText, overview)
-## self.nb.Refresh();
self.window = None
else:
wx.EndBusyCursor()
self.tree.Refresh()
- # in case runTest is modal, make sure things look right...
-## self.nb.Refresh();
-## wx.SafeYield()
-
self.window = module.runTest(self, self.nb, self) ###
if self.window is not None:
self.nb.AddPage(self.window, 'Demo')
self.nb.SetSelection(2)
-## self.nb.Refresh() # without this wxMac has troubles showing the just added page
else:
self.ovr.SetPage("")
self.txt.Clear()
self.window = None
+ self.tree.SetFocus()
#---------------------------------------------
def OnFileExit(self, *event):
self.Close()
+ def OnToggleRedirect(self, event):
+ app = wx.GetApp()
+ if event.Checked():
+ app.RedirectStdio()
+ print "Print statements and other standard output will now be directed to this window."
+ else:
+ app.RestoreStdio()
+ print "Print statements and other standard output will now be sent to the usual location."
+
def OnHelpAbout(self, event):
from About import MyAboutBox
about = MyAboutBox(self)
self.dying = True
self.window = None
self.mainmenu = None
- if hasattr(self, "tbicon"):
- del self.tbicon
self.Destroy()