_treeList = [
# new stuff
('Recent Additions', [
- 'wxVListBox',
- 'wxListbook',
- 'wxMaskedNumCtrl',
+ 'VListBox',
+ 'Listbook',
+ 'MaskedNumCtrl',
'FloatCanvas',
- 'wxXmlResourceSubclass',
- 'wxGridBagSizer',
+ 'XmlResourceSubclass',
+ 'GridBagSizer',
'Cursor',
'PyPlot',
]),
# managed windows == things with a (optional) caption you can close
('Base Frames and Dialogs', [
- 'wxDialog',
- 'wxFrame',
- 'wxMDIWindows',
- 'wxMiniFrame',
- 'wxWizard',
+ 'Dialog',
+ 'Frame',
+ 'MDIWindows',
+ 'MiniFrame',
+ 'Wizard',
]),
# the common dialogs
('Common Dialogs', [
- 'wxColourDialog',
- 'wxDirDialog',
- 'wxFileDialog',
- 'wxFileDialog_Save',
- 'wxFindReplaceDialog',
- 'wxFontDialog',
- 'wxMessageDialog',
- 'wxPageSetupDialog',
- 'wxPrintDialog',
- 'wxProgressDialog',
- 'wxSingleChoiceDialog',
- 'wxTextEntryDialog',
+ 'ColourDialog',
+ 'DirDialog',
+ 'FileDialog',
+ 'FileDialog_Save',
+ 'FindReplaceDialog',
+ 'FontDialog',
+ 'MessageDialog',
+ 'PageSetupDialog',
+ 'PrintDialog',
+ 'ProgressDialog',
+ 'SingleChoiceDialog',
+ 'TextEntryDialog',
]),
# dialogs from libraries
('More Dialogs', [
'ErrorDialogs',
'ImageBrowser',
- 'wxMultipleChoiceDialog',
- 'wxScrolledMessageDialog',
+ 'MultipleChoiceDialog',
+ 'ScrolledMessageDialog',
]),
# core controls
('Core Windows/Controls', [
+ 'Button',
+ 'CheckBox',
+ 'CheckListBox',
+ 'Choice',
+ 'ComboBox',
+ 'Gauge',
+ 'Grid',
+ 'Grid_MegaExample',
+ 'ListBox',
+ 'ListCtrl',
+ 'ListCtrl_virtual',
+ 'Listbook',
+ 'Menu',
+ 'Notebook',
'PopupMenu',
- 'wxButton',
- 'wxCheckBox',
- 'wxCheckListBox',
- 'wxChoice',
- 'wxComboBox',
- 'wxGauge',
- 'wxGrid',
- 'wxGrid_MegaExample',
- 'wxListbook',
- 'wxListBox',
- 'wxListCtrl',
- 'wxListCtrl_virtual',
- 'wxMenu',
- 'wxNotebook',
- 'wxPopupWindow',
- 'wxRadioBox',
- 'wxRadioButton',
- 'wxSashWindow',
- 'wxScrolledWindow',
- 'wxSlider',
- 'wxSpinButton',
- 'wxSpinCtrl',
- 'wxSplitterWindow',
- 'wxStaticBitmap',
- 'wxStaticText',
- 'wxStatusBar',
- 'wxTextCtrl',
- 'wxToggleButton',
- 'wxToolBar',
- 'wxTreeCtrl',
- 'wxValidator',
+ 'PopupWindow',
+ 'RadioBox',
+ 'RadioButton',
+ 'SashWindow',
+ 'ScrolledWindow',
+ 'Slider',
+ 'SpinButton',
+ 'SpinCtrl',
+ 'SplitterWindow',
+ 'StaticBitmap',
+ 'StaticText',
+ 'StatusBar',
+ 'TextCtrl',
+ 'ToggleButton',
+ 'ToolBar',
+ 'TreeCtrl',
+ 'Validator',
]),
('Custom Controls', [
'AnalogClockWindow',
'ColourSelect',
+ 'Editor',
'GenericButtons',
- 'wxEditor',
- 'wxGenericDirCtrl',
- 'wxLEDNumberCtrl',
- 'wxMultiSash',
- 'wxPopupControl',
- 'wxPyColourChooser',
- 'wxTreeListCtrl',
+ 'GenericDirCtrl',
+ 'LEDNumberCtrl',
+ 'MultiSash',
+ 'PopupControl',
+ 'PyColourChooser',
+ 'TreeListCtrl',
]),
# controls coming from other libraries
('More Windows/Controls', [
- #'wxFloatBar', deprecated
- #'wxMVCTree', deprecated
- #'wxRightTextCtrl', deprecated as we have wxTE_RIGHT now.
+ #'RightTextCtrl', deprecated as we have wxTE_RIGHT now.
+ 'Calendar',
+ 'CalendarCtrl',
'ContextHelp',
+ 'DynamicSashWindow',
+ 'EditableListBox',
'FancyText',
- 'FloatCanvas',
'FileBrowseButton',
+ 'FloatBar',
+ 'FloatCanvas',
+ 'HtmlWindow',
+ 'IEHtmlWin',
+ 'IntCtrl',
+ 'MVCTree',
'MaskedEditControls',
- 'PyShell',
+ 'MaskedNumCtrl',
+ 'MimeTypesManager',
'PyCrust',
'PyPlot',
+ 'PyShell',
+ 'ScrolledPanel',
'SplitTree',
+ 'StyledTextCtrl_1',
+ 'StyledTextCtrl_2',
'TablePrint',
'Throbber',
- 'wxCalendar',
- 'wxCalendarCtrl',
- 'wxDynamicSashWindow',
- 'wxEditableListBox',
- 'wxHtmlWindow',
- 'wxIEHtmlWin',
- 'wxIntCtrl',
- 'wxMimeTypesManager',
- 'wxMaskedNumCtrl',
- 'wxScrolledPanel',
- 'wxStyledTextCtrl_1',
- 'wxStyledTextCtrl_2',
- 'wxTimeCtrl',
- 'wxVListBox',
+ 'TimeCtrl',
+ 'VListBox',
]),
# How to lay out the controls in a frame/dialog
('Window Layout', [
+ 'GridBagSizer',
'LayoutAnchors',
+ 'LayoutConstraints',
'Layoutf',
'RowColSizer',
+ 'ScrolledPanel',
'Sizers',
- 'wxGridBagSizer',
- 'wxLayoutConstraints',
- 'wxScrolledPanel',
- 'wxXmlResource',
- 'wxXmlResourceHandler',
- 'wxXmlResourceSubclass',
+ 'XmlResource',
+ 'XmlResourceHandler',
+ 'XmlResourceSubclass',
]),
# ditto
('Process and Events', [
'EventManager',
- 'infoframe',
+ 'KeyEvents',
'OOR',
+ 'Process',
'PythonEvents',
'Threads',
- 'wxKeyEvents',
- 'wxProcess',
- 'wxTimer',
+ 'Timer',
+ 'infoframe',
]),
# Clipboard and DnD
# Images
('Using Images', [
+ 'ArtProvider',
'Cursor',
+ 'DragImage',
+ 'Image',
+ 'ImageFromStream',
+ 'Mask',
'Throbber',
- 'wxArtProvider',
- 'wxDragImage',
- 'wxImage',
- 'wxImageFromStream',
- 'wxMask',
]),
# Other stuff
'ColourDB',
'DialogUnits',
'DrawXXXList',
+ 'FileHistory',
'FontEnumerator',
+ 'Joystick',
'NewNamespace',
+ 'OGL',
'PrintFramework',
'ShapedWindow',
- 'Throbber',
+ 'Sound',
'Unicode',
- 'wxFileHistory',
- 'wxJoystick',
- 'wxOGL',
- 'wxWave',
]),
# need libs not coming with the demo
('Objects using an external library', [
'ActiveXWrapper_Acrobat',
'ActiveXWrapper_IE',
- 'wxGLCanvas',
- #'wxPlotCanvas', # deprecated, use PyPlot
+ 'GLCanvas',
+ #'PlotCanvas', # deprecated, use PyPlot
]),
#---------------------------------------------------------------------------
# A class to be used to display source code in the demo. Try using the
-# wxSTC in the wxStyledTextCtrl_2 sample first, fall back to wxTextCtrl
+# wxSTC in the StyledTextCtrl_2 sample first, fall back to wxTextCtrl
# if there is an error, such as the stc module not being present.
#
try:
##raise ImportError
from wx import stc
- from wxStyledTextCtrl_2 import PythonSTC
+ from StyledTextCtrl_2 import PythonSTC
class DemoCodeViewer(PythonSTC):
def __init__(self, parent, ID):
PythonSTC.__init__(self, parent, ID)
splitter = wx.SplitterWindow(self, -1)
splitter2 = wx.SplitterWindow(splitter, -1)
+ # 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))
+
+ # But instead of the above we want to show how to use our own wx.Log class
+ wx.Log_SetActiveTarget(MyLog(self.log))
+
+ # for serious debugging
+ #wx.Log_SetActiveTarget(wx.LogStderr())
+ #wx.Log_SetTraceMask(wx.TraceMessages)
+
+
+
def EmptyHandler(evt): pass
#splitter.Bind(wx.EVT_ERASE_BACKGROUND, EmptyHandler)
#splitter2.Bind(wx.EVT_ERASE_BACKGROUND, EmptyHandler)
# Make a File menu
self.mainmenu = wx.MenuBar()
menu = wx.Menu()
- exitID = wx.NewId()
- menu.Append(exitID, 'E&xit\tAlt-X', 'Get the heck outta here!')
- self.Bind(wx.EVT_MENU, self.OnFileExit, id=exitID)
- wx.App_SetMacExitMenuItemId(exitID)
+ 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
for item in _treeList:
submenu = wx.Menu()
for childItem in item[1]:
- mID = wx.NewId()
- submenu.Append(mID, childItem)
- self.Bind(wx.EVT_MENU, self.OnDemoMenu, id=mID)
+ mi = submenu.Append(-1, childItem)
+ self.Bind(wx.EVT_MENU, self.OnDemoMenu, mi)
menu.AppendMenu(wx.NewId(), item[0], submenu)
self.mainmenu.Append(menu, '&Demo')
findID = wx.NewId()
findnextID = wx.NewId()
menu = wx.Menu()
- menu.Append(findID, '&Find\tCtrl-F', 'Find in the Demo Code')
- menu.Append(findnextID, 'Find &Next\tF3', 'Find Next')
+ findItem = menu.Append(-1, '&Find\tCtrl-F', 'Find in the Demo Code')
+ findnextItem = menu.Append(-1, 'Find &Next\tF3', 'Find Next')
menu.AppendSeparator()
- menu.Append(helpID, '&About\tCtrl-H', 'wxPython RULES!!!')
- wx.App_SetMacAboutMenuItemId(helpID)
- self.Bind(wx.EVT_MENU, self.OnHelpAbout, id=helpID)
- self.Bind(wx.EVT_MENU, self.OnHelpFind, id=findID)
- self.Bind(wx.EVT_MENU, self.OnFindNext, id=findnextID)
+ helpItem = menu.Append(-1, '&About\tCtrl-H', 'wxPython RULES!!!')
+ wx.App_SetMacAboutMenuItemId(helpItem.GetId())
+ self.Bind(wx.EVT_MENU, self.OnHelpAbout, helpItem)
+ self.Bind(wx.EVT_MENU, self.OnHelpFind, findItem)
+ self.Bind(wx.EVT_MENU, self.OnFindNext, findnextItem)
self.Bind(wx.EVT_COMMAND_FIND, self.OnFind)
self.Bind(wx.EVT_COMMAND_FIND_NEXT, self.OnFind)
self.Bind(wx.EVT_COMMAND_FIND_CLOSE, self.OnFindClose)
self.LoadDemoSource('Main.py')
- # 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))
-
- # But instead of the above we want to show how to use our own wx.Log class
- wx.Log_SetActiveTarget(MyLog(self.log))
-
- # for serious debugging
- #wx.Log_SetActiveTarget(wx.LogStderr())
- #wx.Log_SetTraceMask(wx.TraceMessages)
-
-
# add the windows to the splitter and split it.
splitter2.SplitHorizontally(self.nb, self.log, -120)
splitter.SplitVertically(self.tree, splitter2, 180)
splitter2.SetMinimumPaneSize(20)
- # Make the splitter on the right expand the top wind when resized
+ # Make the splitter on the right expand the top window when resized
def SplitterOnSize(evt):
splitter = evt.GetEventObject()
sz = splitter.GetSize()
os.chdir(demoPath)
except:
pass
- app = MyApp(0) #wx.Platform == "__WXMAC__")
+ app = MyApp(wx.Platform == "__WXMAC__")
app.MainLoop()