X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a253aa20446ade206fa399be2acde4149411f678..52f52ebc4e0be6a9899d328b08db9eb14629d219:/wxPython/demo/Main.py diff --git a/wxPython/demo/Main.py b/wxPython/demo/Main.py index 438245d456..76377ae3c1 100644 --- a/wxPython/demo/Main.py +++ b/wxPython/demo/Main.py @@ -29,154 +29,154 @@ import images _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 @@ -188,13 +188,13 @@ _treeList = [ # Images ('Using Images', [ + 'ArtProvider', 'Cursor', + 'DragImage', + 'Image', + 'ImageFromStream', + 'Mask', 'Throbber', - 'wxArtProvider', - 'wxDragImage', - 'wxImage', - 'wxImageFromStream', - 'wxMask', ]), # Other stuff @@ -202,24 +202,23 @@ _treeList = [ '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 ]), @@ -253,14 +252,14 @@ class MyTP(wx.PyTipProvider): #--------------------------------------------------------------------------- # 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) @@ -439,8 +438,10 @@ class wxPythonDemo(wx.Frame): icon = images.getMondrianIcon() self.SetIcon(icon) - if wx.Platform == '__WXMSW__': + if wx.Platform != '__WXMAC__': # setup a taskbar icon, and catch some events from it + icon = wx.IconFromBitmap( + images.getMondrianImage().Scale(16,16).ConvertToBitmap() ) self.tbicon = wx.TaskBarIcon() self.tbicon.SetIcon(icon, "wxPython Demo") self.tbicon.Bind(wx.EVT_TASKBAR_LEFT_DCLICK, self.OnTaskBarActivate) @@ -462,6 +463,22 @@ class wxPythonDemo(wx.Frame): 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) @@ -472,10 +489,9 @@ class wxPythonDemo(wx.Frame): # 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 @@ -483,9 +499,8 @@ class wxPythonDemo(wx.Frame): 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') @@ -495,14 +510,14 @@ class wxPythonDemo(wx.Frame): 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) @@ -577,21 +592,6 @@ class wxPythonDemo(wx.Frame): 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) @@ -600,7 +600,7 @@ class wxPythonDemo(wx.Frame): 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() @@ -930,7 +930,7 @@ def main(): os.chdir(demoPath) except: pass - app = MyApp(0) #wx.Platform == "__WXMAC__") + app = MyApp(wx.Platform == "__WXMAC__") app.MainLoop()