X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/33a43c5e1ec71c840ea76f3609523bb0966641b0..f0b0b7d4b803b59ead09d076402df3d5f2c10e2f:/utils/wxPython/demo/Main.py?ds=inline diff --git a/utils/wxPython/demo/Main.py b/utils/wxPython/demo/Main.py index 21c5db7bc5..fea3339ceb 100644 --- a/utils/wxPython/demo/Main.py +++ b/utils/wxPython/demo/Main.py @@ -13,7 +13,7 @@ import sys, os from wxPython.wx import * - +from wxPython.lib.splashscreen import SplashScreen #--------------------------------------------------------------------------- @@ -21,11 +21,15 @@ _useSplitter = true _useNestedSplitter = true _treeList = [ + ('New since last release', ['wxMVCTree', 'wxVTKRenderWindow', + 'FileBrowseButton', 'GenericButtons', + 'wxMask', 'wxEditor']), + ('Managed Windows', ['wxFrame', 'wxDialog', 'wxMiniFrame']), - ('Miscellaneous Windows', ['wxGrid', 'wxSashWindow', + ('Non-Managed Windows', ['wxGrid', 'wxSashWindow', 'wxScrolledWindow', 'wxSplitterWindow', - 'wxStatusBar', 'wxToolBar', 'wxNotebook', + 'wxStatusBar', 'wxNotebook', 'wxHtmlWindow']), ('Common Dialogs', ['wxColourDialog', 'wxDirDialog', 'wxFileDialog', @@ -36,16 +40,20 @@ _treeList = [ ('Controls', ['wxButton', 'wxCheckBox', 'wxCheckListBox', 'wxChoice', 'wxComboBox', 'wxGauge', 'wxListBox', 'wxListCtrl', 'wxTextCtrl', 'wxTreeCtrl', 'wxSpinButton', 'wxStaticText', 'wxStaticBitmap', - 'wxRadioBox', 'wxSlider']), + 'wxRadioBox', 'wxSlider', 'wxToolBar', #'wxToggleButton' + ]), ('Window Layout', ['wxLayoutConstraints', 'Sizers', 'OldSizers']), - ('Miscellaneous', ['wxTimer', 'wxValidator', 'wxGLCanvas', 'DialogUnits', - 'wxImage', 'PrintFramework', 'wxOGL']), + ('Miscellaneous', [ 'DragAndDrop', 'CustomDragAndDrop', 'FontEnumerator', + 'wxTimer', 'wxValidator', 'wxGLCanvas', 'DialogUnits', + 'wxImage', 'wxMask', 'PrintFramework', 'wxOGL', + 'PythonEvents', 'Threads']), - ('wxPython Library', ['OldSizers', 'Layoutf', 'wxScrolledMessageDialog', + ('wxPython Library', ['Layoutf', 'wxScrolledMessageDialog', 'wxMultipleChoiceDialog', 'wxPlotCanvas', 'wxFloatBar', - 'PyShell']), + 'PyShell', 'wxCalendar', 'wxMVCTree', 'wxVTKRenderWindow', + 'FileBrowseButton', 'GenericButtons', 'wxEditor']), ('Cool Contribs', ['pyTree', 'hangman', 'SlashDot', 'XMLtreeview']), @@ -57,6 +65,8 @@ class wxPythonDemo(wxFrame): def __init__(self, parent, id, title): wxFrame.__init__(self, parent, -1, title, size = (725, 550)) + self.cwd = os.getcwd() + if wxPlatform == '__WXMSW__': self.icon = wxIcon('bitmaps/mondrian.ico', wxBITMAP_TYPE_ICO) self.SetIcon(self.icon) @@ -128,13 +138,16 @@ class wxPythonDemo(wxFrame): self.treeMap = {} self.tree = wxTreeCtrl(splitter, tID) root = self.tree.AddRoot("Overview") + firstChild = None for item in _treeList: child = self.tree.AppendItem(root, item[0]) + if not firstChild: firstChild = child for childItem in item[1]: theDemo = self.tree.AppendItem(child, childItem) self.treeMap[childItem] = theDemo self.tree.Expand(root) + self.tree.Expand(firstChild) EVT_TREE_ITEM_EXPANDED (self.tree, tID, self.OnItemExpanded) EVT_TREE_ITEM_COLLAPSED (self.tree, tID, self.OnItemCollapsed) EVT_TREE_SEL_CHANGED (self.tree, tID, self.OnSelChanged) @@ -160,6 +173,7 @@ class wxPythonDemo(wxFrame): (w, self.charHeight) = self.log.GetTextExtent('X') self.WriteText('wxPython Demo Log:\n') + self.Show(true) # add the windows to the splitter and split it. if _useSplitter: @@ -233,6 +247,7 @@ class wxPythonDemo(wxFrame): #--------------------------------------------- def RunDemo(self, itemText): + os.chdir(self.cwd) if self.nb.GetPageCount() == 3: if self.nb.GetSelection() == 2: self.nb.SetSelection(0) @@ -350,7 +365,16 @@ class MyApp(wxApp): wxImage_AddHandler(wxJPEGHandler()) wxImage_AddHandler(wxPNGHandler()) wxImage_AddHandler(wxGIFHandler()) - frame = wxPythonDemo(NULL, -1, "wxPython: (A Demonstration)") + + self.splash = SplashScreen(None, bitmapfile='bitmaps/splash.gif', + duration=4000, callback=self.AfterSplash) + self.splash.Show(true) + wxYield() + return true + + def AfterSplash(self): + self.splash.Close(true) + frame = wxPythonDemo(None, -1, "wxPython: (A Demonstration)") frame.Show(true) self.SetTopWindow(frame) return true