X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/df5204e0a48e819dd1e63f5064c593576c7caa97..e81b607b4322af54190484aa7ee34112337a344e:/wxPython/demo/Main.py diff --git a/wxPython/demo/Main.py b/wxPython/demo/Main.py index 4938824bf8..be75f8c97c 100644 --- a/wxPython/demo/Main.py +++ b/wxPython/demo/Main.py @@ -36,8 +36,8 @@ import images # For debugging ##wx.Trap(); -##print "wx.VERSION_STRING = ", wx.VERSION_STRING -##print os.getpid(); +##print "wx.VERSION_STRING = %s (%s)" % (wx.VERSION_STRING, wx.USE_UNICODE and 'unicode' or 'ansi') +##print "pid:", os.getpid() ##raw_input("Press Enter...") @@ -47,14 +47,23 @@ import images _treeList = [ # new stuff ('Recent Additions/Updates', [ - 'StandardPaths', - 'MediaCtrl', - 'DatePickerCtrl', - 'MouseGestures', + 'AnalogClock', + 'AUI_DockingWindowMgr', + 'AUI_Notebook', + 'CheckListCtrlMixin', + 'ComboTreeBox', + 'Pickers', + 'PseudoDC', + 'RichTextCtrl', + 'Treebook', + 'Toolbook', + 'BitmapFromBuffer', + 'RawBitmapAccess', ]), # managed windows == things with a (optional) caption you can close ('Frames and Dialogs', [ + 'AUI_DockingWindowMgr', 'Dialog', 'Frame', 'MDIWindows', @@ -70,6 +79,7 @@ _treeList = [ 'FindReplaceDialog', 'FontDialog', 'MessageDialog', + 'MultiChoiceDialog', 'PageSetupDialog', 'PrintDialog', 'ProgressDialog', @@ -80,7 +90,6 @@ _treeList = [ # dialogs from libraries ('More Dialogs', [ 'ImageBrowser', - 'MultipleChoiceDialog', 'ScrolledMessageDialog', ]), @@ -91,7 +100,6 @@ _treeList = [ 'CheckBox', 'CheckListBox', 'Choice', - 'Choicebook', 'ComboBox', 'Gauge', 'Grid', @@ -100,9 +108,7 @@ _treeList = [ 'ListCtrl', 'ListCtrl_virtual', 'ListCtrl_edit', - 'Listbook', 'Menu', - 'Notebook', 'PopupMenu', 'PopupWindow', 'RadioBox', @@ -124,10 +130,20 @@ _treeList = [ 'TreeCtrl', 'Validator', ]), + + ('"Book" Controls', [ + 'AUI_Notebook', + 'Choicebook', + 'Listbook', + 'Notebook', + 'Toolbook', + 'Treebook', + ]), ('Custom Controls', [ - 'AnalogClockWindow', + 'AnalogClock', 'ColourSelect', + 'ComboTreeBox', 'Editor', 'GenericButtons', 'GenericDirCtrl', @@ -146,6 +162,7 @@ _treeList = [ #'RightTextCtrl', deprecated as we have wxTE_RIGHT now. 'Calendar', 'CalendarCtrl', + 'CheckListCtrlMixin', 'ContextHelp', 'DatePickerCtrl', 'DynamicSashWindow', @@ -154,16 +171,21 @@ _treeList = [ 'FileBrowseButton', 'FloatBar', 'FloatCanvas', + 'FoldPanelBar', + 'GIFAnimationCtrl', 'HtmlWindow', + 'HyperLinkCtrl', 'IntCtrl', - 'MediaCtrl', 'MVCTree', 'MaskedEditControls', 'MaskedNumCtrl', - 'MimeTypesManager', + 'MediaCtrl', + 'MultiSplitterWindow', + 'Pickers', 'PyCrust', 'PyPlot', 'PyShell', + 'RichTextCtrl', 'ScrolledPanel', 'SplitTree', 'StyledTextCtrl_1', @@ -210,12 +232,15 @@ _treeList = [ # Images ('Using Images', [ 'ArtProvider', + 'BitmapFromBuffer', 'Cursor', 'DragImage', + 'GIFAnimationCtrl', 'Image', 'ImageAlpha', 'ImageFromStream', 'Mask', + 'RawBitmapAccess', 'Throbber', ]), @@ -226,21 +251,19 @@ _treeList = [ 'DrawXXXList', 'FileHistory', 'FontEnumerator', + 'GLCanvas', 'Joystick', + 'MimeTypesManager', 'MouseGestures', 'OGL', 'PrintFramework', + 'PseudoDC', 'ShapedWindow', 'Sound', 'StandardPaths', 'Unicode', ]), - # need libs not coming with the demo - ('Samples using an external library', [ - 'GLCanvas', - ]), - ('Check out the samples dir too', [ ]), @@ -451,7 +474,7 @@ try: 'fore:#000000,back:#FFFFFF,face:Courier New,size:9') else: self.StyleSetSpec(stc.STC_STYLE_DEFAULT, - 'fore:#000000,back:#FFFFFF,face:Courier,size:12') + 'fore:#000000,back:#FFFFFF,face:Courier,size:9') # Clear styles and revert to default. self.StyleClearAll() @@ -797,7 +820,8 @@ class DemoModules: def LoadDict(self, modID): if self.name != __name__: source = self.modules[modID][1] - description = self.modules[modID][3] + #description = self.modules[modID][3] + description = self.modules[modID][2] try: self.modules[modID][0] = {} @@ -933,7 +957,7 @@ class DemoErrorPanel(wx.Panel): self.box = wx.BoxSizer(wx.VERTICAL) # Main Label - self.box.Add(wx.StaticText(self, -1, "An error has occured while trying to run the demo") + self.box.Add(wx.StaticText(self, -1, "An error has occurred while trying to run the demo") , 0, wx.ALIGN_CENTER | wx.TOP, 10) # Exception Information @@ -1076,8 +1100,7 @@ class DemoTaskBarIcon(wx.TaskBarIcon): def OnTaskBarChange(self, evt): - names = [ "WXPdemo", "WXP", "Mondrian", "Test2m", - "Blom08m", "Blom10m", "Blom15m" ] + names = [ "WXPdemo", "Mondrian", "Pencil", "Carrot" ] name = names[self.imgidx] getFunc = getattr(images, "get%sImage" % name) @@ -1164,22 +1187,6 @@ class wxPythonDemo(wx.Frame): menu.AppendMenu(wx.NewId(), item[0], submenu) self.mainmenu.Append(menu, '&Demo') - # Make a Demo Code menu - #TODO: Add new menu items - # Like the option-enabled entries to select the - # active module - #TODO: should we bother? - - #menu = wx.Menu() - #saveID = wx.NewId() - #restoreID = wx.NewId() - # - #menu.Append(saveID, '&Save\tCtrl-S', 'Save edited demo') - #menu.Append(restoreID, '&Delete Modified\tCtrl-R', 'Delete modified copy') - #self.Bind(wx.EVT_MENU, self.codePage.OnSave, id=saveID) - #self.Bind(wx.EVT_MENU, self.codePage.OnRestore, id=restoreID) - #self.mainmenu.Append(menu, 'Demo &Code') - # # Make a Help menu menu = wx.Menu() @@ -1190,7 +1197,7 @@ 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') menu.AppendSeparator() - helpItem = menu.Append(-1, '&About\tCtrl-H', 'wxPython RULES!!!') + helpItem = menu.Append(-1, '&About wxPython Demo', 'wxPython RULES!!!') wx.App.SetMacAboutMenuItemId(helpItem.GetId()) self.Bind(wx.EVT_MENU, self.OnOpenShellWindow, shellItem) @@ -1206,6 +1213,7 @@ class wxPythonDemo(wx.Frame): self.SetMenuBar(self.mainmenu) self.finddata = wx.FindReplaceData() + self.finddata.SetFlags(wx.FR_DOWN) if 0: # This is another way to set Accelerators, in addition to @@ -1401,7 +1409,7 @@ class wxPythonDemo(wx.Frame): # o The RunTest() for all samples must now return a window that can # be palced in a tab in the main notebook. - # o If an error occurs (or has occured before) an error tab is created. + # o If an error occurs (or has occurred before) an error tab is created. if module is not None: wx.LogMessage("Running demo module...") @@ -1523,9 +1531,7 @@ class wxPythonDemo(wx.Frame): self.nb.SetSelection(1) self.finddlg = wx.FindReplaceDialog(self, self.finddata, "Find", - wx.FR_NOUPDOWN | - wx.FR_NOMATCHCASE | - wx.FR_NOWHOLEWORD) + wx.FR_NOMATCHCASE | wx.FR_NOWHOLEWORD) self.finddlg.Show(True) @@ -1538,13 +1544,22 @@ class wxPythonDemo(wx.Frame): self.nb.SetSelection(1) end = editor.GetLastPosition() textstring = editor.GetRange(0, end).lower() - start = editor.GetSelection()[1] findstring = self.finddata.GetFindString().lower() - loc = textstring.find(findstring, start) + backward = not (self.finddata.GetFlags() & wx.FR_DOWN) + if backward: + start = editor.GetSelection()[0] + loc = textstring.rfind(findstring, 0, start) + else: + start = editor.GetSelection()[1] + loc = textstring.find(findstring, start) if loc == -1 and start != 0: # string not found, start at beginning - start = 0 - loc = textstring.find(findstring, start) + if backward: + start = end + loc = textstring.rfind(findstring, 0, start) + else: + start = 0 + loc = textstring.find(findstring, start) if loc == -1: dlg = wx.MessageDialog(self, 'Find String Not Found', 'Find String Not Found in Demo File', @@ -1671,18 +1686,33 @@ class wxPythonDemo(wx.Frame): class MySplashScreen(wx.SplashScreen): def __init__(self): - bmp = wx.Image(opj("bitmaps/splash.gif")).ConvertToBitmap() + bmp = wx.Image(opj("bitmaps/splash.png")).ConvertToBitmap() wx.SplashScreen.__init__(self, bmp, wx.SPLASH_CENTRE_ON_SCREEN | wx.SPLASH_TIMEOUT, - 3000, None, -1) + 5000, None, -1) self.Bind(wx.EVT_CLOSE, self.OnClose) + self.fc = wx.FutureCall(2000, self.ShowMain) + def OnClose(self, evt): + # Make sure the default handler runs too so this window gets + # destroyed + evt.Skip() self.Hide() + + # if the timer is still running then go ahead and show the + # main frame now + if self.fc.IsRunning(): + self.fc.Stop() + self.ShowMain() + + + def ShowMain(self): frame = wxPythonDemo(None, "wxPython: (A Demonstration)") frame.Show() - evt.Skip() # Make sure the default handler runs too... - + if self.fc.IsRunning(): + self.Raise() + class MyApp(wx.App): def OnInit(self): @@ -1701,7 +1731,7 @@ class MyApp(wx.App): # initialization, finally creating and showing the main # application window(s). In this case we have nothing else to # do so we'll delay showing the main frame until later (see - # OnClose above) so the users can see the SplashScreen effect. + # ShowMain above) so the users can see the SplashScreen effect. splash = MySplashScreen() splash.Show()