X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0d8a01fdaa5dc8427a3801d08ce10b19518ed0e3..696d13ee0e378e3f14eb624cae2335bc05f74d06:/wxPython/demo/Main.py?ds=sidebyside diff --git a/wxPython/demo/Main.py b/wxPython/demo/Main.py index bbb6a43cca..c5ec3fa129 100644 --- a/wxPython/demo/Main.py +++ b/wxPython/demo/Main.py @@ -47,13 +47,6 @@ import images _treeList = [ # new stuff ('Recent Additions/Updates', [ - 'AnalogClock', - 'AUI_DockingWindowMgr', - 'AUI_Notebook', - 'CheckListCtrlMixin', - 'ComboTreeBox', - 'Pickers', - 'PseudoDC', 'RichTextCtrl', 'Treebook', 'Toolbook', @@ -66,7 +59,6 @@ _treeList = [ 'FlatNotebook', 'CustomTreeCtrl', 'AboutBox', - 'AnimateCtrl', 'AlphaDrawing', 'GraphicsContext', 'CollapsiblePane', @@ -75,12 +67,15 @@ _treeList = [ 'BitmapComboBox', 'I18N', 'Img2PyArtProvider', - 'SearchCtrl', + 'SearchCtrl', + 'SizedControls', + 'AUI_MDI', ]), # managed windows == things with a (optional) caption you can close ('Frames and Dialogs', [ 'AUI_DockingWindowMgr', + 'AUI_MDI', 'Dialog', 'Frame', 'MDIWindows', @@ -230,6 +225,7 @@ _treeList = [ 'Layoutf', 'RowColSizer', 'ScrolledPanel', + 'SizedControls', 'Sizers', 'XmlResource', 'XmlResourceHandler', @@ -1212,9 +1208,9 @@ class wxPythonDemo(wx.Frame): 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()) + exitItem = menu.Append(-1, 'E&xit\tCtrl-Q', 'Get the heck outta here!') + self.Bind(wx.EVT_MENU, self.OnFileExit, exitItem) + wx.App.SetMacExitMenuItemId(exitItem.GetId()) self.mainmenu.Append(menu, '&File') # Make a Demo menu @@ -1236,11 +1232,14 @@ class wxPythonDemo(wx.Frame): shellItem = menu.Append(-1, 'Open Py&Shell Window\tF5', 'An interactive interpreter window with the demo app and frame objects in the namesapce') + inspToolItem = menu.Append(-1, 'Open &Widget Inspector\tF6', + 'A tool that lets you browse the live widgets and sizers in an application') menu.AppendSeparator() helpItem = menu.Append(-1, '&About wxPython Demo', 'wxPython RULES!!!') wx.App.SetMacAboutMenuItemId(helpItem.GetId()) self.Bind(wx.EVT_MENU, self.OnOpenShellWindow, shellItem) + self.Bind(wx.EVT_MENU, self.OnOpenWidgetInspector, inspToolItem) self.Bind(wx.EVT_MENU, self.OnHelpAbout, helpItem) self.Bind(wx.EVT_MENU, self.OnHelpFind, findItem) self.Bind(wx.EVT_MENU, self.OnFindNext, findnextItem) @@ -1255,13 +1254,14 @@ class wxPythonDemo(wx.Frame): self.finddata = wx.FindReplaceData() self.finddata.SetFlags(wx.FR_DOWN) - if 0: + if False: # This is another way to set Accelerators, in addition to # using the '\t' syntax in the menu items. - aTable = wx.AcceleratorTable([(wx.ACCEL_ALT, ord('X'), exitID), - (wx.ACCEL_CTRL, ord('H'), helpID), - (wx.ACCEL_CTRL, ord('F'), findID), - (wx.ACCEL_NORMAL, WXK_F3, findnextID) + aTable = wx.AcceleratorTable([(wx.ACCEL_ALT, ord('X'), exitItem.GetId()), + (wx.ACCEL_CTRL, ord('H'), helpItem.GetId()), + (wx.ACCEL_CTRL, ord('F'), findItem.GetId()), + (wx.ACCEL_NORMAL, wx.WXK_F3, findnextItem.GetId()), + (wx.ACCEL_NORMAL, wx.WXK_F9, shellItem.GetId()), ]) self.SetAcceleratorTable(aTable) @@ -1270,8 +1270,11 @@ class wxPythonDemo(wx.Frame): tID = wx.NewId() leftPanel = wx.Panel(splitter) - self.filter = wx.TextCtrl(leftPanel) + self.filter = wx.SearchCtrl(leftPanel) + self.filter.ShowCancelButton(True) self.filter.Bind(wx.EVT_TEXT, self.RecreateTree) + self.filter.Bind(wx.EVT_SEARCHCTRL_CANCEL_BTN, + lambda e: self.filter.SetValue('')) self.treeMap = {} self.tree = wx.TreeCtrl(leftPanel, tID, style = @@ -1371,6 +1374,7 @@ class wxPythonDemo(wx.Frame): #--------------------------------------------- def RecreateTree(self, evt=None): + self.tree.Freeze() self.tree.DeleteAllItems() self.root = self.tree.AddRoot("wxPython Overview") firstChild = None @@ -1388,7 +1392,9 @@ class wxPythonDemo(wx.Frame): self.tree.Expand(self.root) if firstChild: self.tree.Expand(firstChild) - + if filter: + self.tree.ExpandAll() + self.tree.Thaw() def WriteText(self, text): if text[-1:] == '\n': @@ -1679,6 +1685,20 @@ class wxPythonDemo(wx.Frame): evt.Skip() self.Bind(wx.EVT_CLOSE, CloseShell) + + def OnOpenWidgetInspector(self, evt): + # Activate the widget inspection tool + from wx.lib.inspect import InspectionTool + if not InspectionTool().initialized: + InspectionTool().Init() + + # Find a widget to be selected in the tree. Use either the + # one under the cursor, if any, or this frame. + wnd = wx.FindWindowAtPointer() + if not wnd: + wnd = self + InspectionTool().Show(wnd, True) + #--------------------------------------------- def OnCloseWindow(self, event): @@ -1777,10 +1797,9 @@ class MySplashScreen(wx.SplashScreen): frame.Show() if self.fc.IsRunning(): self.Raise() - -import wx.lib.mixins.inspect -class MyApp(wx.App, wx.lib.mixins.inspect.InspectionMixin): + +class MyApp(wx.App): def OnInit(self): """ Create and show the splash screen. It will then create and show @@ -1801,9 +1820,6 @@ class MyApp(wx.App, wx.lib.mixins.inspect.InspectionMixin): splash = MySplashScreen() splash.Show() - # Setup the InspectionMixin - self.Init() - return True