]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/demo/Main.py
fixed somebody's poorly done StreamSize-->GetSize transition
[wxWidgets.git] / utils / wxPython / demo / Main.py
index 9b8b451988f93c0fb8fec38d5acd1a3032bd1ec1..69dc714e4643ae18987972cc55e77962665a8bd6 100644 (file)
@@ -28,21 +28,22 @@ _treeList = [
     ('Common Dialogs', ['wxColourDialog', 'wxDirDialog', 'wxFileDialog',
                         'wxSingleChoiceDialog', 'wxTextEntryDialog',
                         'wxFontDialog', 'wxPageSetupDialog', 'wxPrintDialog',
-                        'wxMessageDialog']),
+                        'wxMessageDialog', 'wxProgressDialog']),
 
     ('Controls', ['wxButton', 'wxCheckBox', 'wxCheckListBox', 'wxChoice',
                   'wxComboBox', 'wxGauge', 'wxListBox', 'wxListCtrl', 'wxTextCtrl',
                   'wxTreeCtrl', 'wxSpinButton', 'wxStaticText', 'wxStaticBitmap',
                   'wxRadioBox', 'wxSlider']),
 
-    ('Window Layout', ['wxLayoutConstraints']),
+    ('Window Layout', ['wxLayoutConstraints', 'Sizers']),
 
-    ('Micellaneous', ['wxTimer', 'wxGLCanvas', 'DialogUnits', 'wxImage']),
+    ('Miscellaneous', ['wxTimer', 'wxGLCanvas', 'DialogUnits', 'wxImage',
+                      'PrintFramework']),
 
-    ('wxPython Library', ['Layoutf', 'wxScrolledMessageDialog',
+    ('wxPython Library', ['Sizers', 'Layoutf', 'wxScrolledMessageDialog',
                           'wxMultipleChoiceDialog', 'wxPlotCanvas']),
 
-    ('Cool Contribs', ['pyTree', 'hangman', 'SlashDot']),
+    ('Cool Contribs', ['pyTree', 'hangman', 'SlashDot', 'XMLtreeview']),
 
     ]
 
@@ -83,6 +84,11 @@ class wxPythonDemo(wxFrame):
         self.mainmenu.Append(menu, '&Help')
         self.SetMenuBar(self.mainmenu)
 
+        selectedDemo = None
+        selectedDemoName = "Nada"
+        if len(sys.argv) == 2:
+            selectedDemoName = sys.argv[1]
+
         # Create a TreeCtrl
         tID = NewId()
         self.tree = wxTreeCtrl(splitter, tID)
@@ -90,13 +96,15 @@ class wxPythonDemo(wxFrame):
         for item in _treeList:
             child = self.tree.AppendItem(root, item[0])
             for childItem in item[1]:
-                self.tree.AppendItem(child, childItem)
+                theDemo = self.tree.AppendItem(child, childItem)
+                if childItem == selectedDemoName:
+                    selectedDemo = theDemo
+
         self.tree.Expand(root)
         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)
 
-
         # Create a Notebook
         self.nb = wxNotebook(splitter2, -1)
 
@@ -109,13 +117,10 @@ class wxPythonDemo(wxFrame):
         # Set up a TextCtrl on the Demo Code Notebook page
         self.txt = wxTextCtrl(self.nb, -1, '', wxDefaultPosition, wxDefaultSize,
                               wxTE_MULTILINE|wxTE_READONLY|wxHSCROLL)
+        self.txt.SetFont(wxFont(9, wxMODERN, wxNORMAL, wxNORMAL, false))
         self.nb.AddPage(self.txt, "Demo Code")
 
 
-        # select initial items
-        self.nb.SetSelection(0)
-        self.tree.SelectItem(root)
-
         # Set up a log on the View Log Notebook page
         self.log = wxTextCtrl(splitter2, -1, '', wxDefaultPosition, wxDefaultSize,
                               wxTE_MULTILINE|wxTE_READONLY|wxHSCROLL)
@@ -135,13 +140,22 @@ class wxPythonDemo(wxFrame):
         # make our log window be stdout
         #sys.stdout = self
 
+        # select initial items
+        self.nb.SetSelection(0)
+        self.tree.SelectItem(root)
+        if selectedDemo:
+            self.tree.SelectItem(selectedDemo)
+            self.tree.EnsureVisible(selectedDemo)
+
     #---------------------------------------------
     def WriteText(self, text):
         self.log.WriteText(text)
         w, h = self.log.GetClientSizeTuple()
         numLines = h/self.charHeight
         x, y = self.log.PositionToXY(self.log.GetLastPosition())
-        self.log.ShowPosition(self.log.XYToPosition(x, y-numLines+1))
+        self.log.ShowPosition(self.log.XYToPosition(x, y-numLines))
+##          self.log.ShowPosition(self.log.GetLastPosition())
+        self.log.SetInsertionPointEnd()
 
     def write(self, txt):
         self.WriteText(txt)
@@ -201,9 +215,14 @@ class wxPythonDemo(wxFrame):
     # Get the Demo files
     def GetDemoFile(self, filename):
         self.txt.Clear()
-        if not self.txt.LoadFile(filename):
+        #if not self.txt.LoadFile(filename):
+        #    self.txt.WriteText("Cannot open %s file." % filename)
+        try:
+            self.txt.SetValue(open(filename).read())
+        except IOError:
             self.txt.WriteText("Cannot open %s file." % filename)
 
+
         self.txt.SetInsertionPoint(0)
         self.txt.ShowPosition(0)