]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/Main.py
updated samples/html/widget to avoid confusion
[wxWidgets.git] / wxPython / demo / Main.py
index b3ff2f716f255330df932c80baf375ea7a3d1480..b4bca26df9ac6f47998daf6c9d4b7e12fbcad920 100644 (file)
@@ -11,9 +11,8 @@
 # Licence:      wxWindows license
 #----------------------------------------------------------------------------
 
 # Licence:      wxWindows license
 #----------------------------------------------------------------------------
 
-import sys, os, time
+import sys, os, time, string
 from   wxPython.wx import *
 from   wxPython.wx import *
-from   wxPython.lib.splashscreen import SplashScreen
 from   wxPython.html import wxHtmlWindow
 
 import images
 from   wxPython.html import wxHtmlWindow
 
 import images
@@ -22,25 +21,10 @@ import images
 
 
 _treeList = [
 
 
 _treeList = [
-    ('New since last release', ['ContextHelp',
-                                'PyCrust',
-                                'PyCrustWithFilling',
-                                'VirtualListCtrl',
-                                'wxListCtrl',
-                                'TablePrint',
-                                'OOR',
-                                'wxFindReplaceDialog',
-                                'DrawXXXList',
-                                'ErrorDialogs',
-                                'wxRightTextCtrl',
-                                'URLDragAndDrop',
-                                'wxMimeTypesManager',
-                                'wxPopupWindow',
-                                'wxDynamicSashWindow',
-                                'wxEditableListBox',
-                                'SplitTree',
-                                'wxLEDNumberCtrl',
-                                'wxEditor',
+    ('New since last release', ['wxGenericDirCtrl',
+                                'wxImageFromStream',
+                                'RowColSizer',
+                                'Unicode',
                                 ]),
 
     ('Windows', ['wxFrame', 'wxDialog', 'wxMiniFrame',
                                 ]),
 
     ('Windows', ['wxFrame', 'wxDialog', 'wxMiniFrame',
@@ -60,14 +44,17 @@ _treeList = [
                         ]),
 
     ('Controls', ['wxButton', 'wxCheckBox', 'wxCheckListBox', 'wxChoice',
                         ]),
 
     ('Controls', ['wxButton', 'wxCheckBox', 'wxCheckListBox', 'wxChoice',
-                  'wxComboBox', 'wxGauge', 'wxListBox', 'wxListCtrl', 'wxTextCtrl',
+                  'wxComboBox', 'wxGauge', 'wxListBox', 'wxListCtrl', 'VirtualListCtrl',
+                  'wxTextCtrl',
                   'wxTreeCtrl', 'wxSpinButton', 'wxSpinCtrl', 'wxStaticText',
                   'wxStaticBitmap', 'wxRadioBox', 'wxSlider', 'wxToolBar',
                   'wxCalendarCtrl', 'wxToggleButton',
                   'wxEditableListBox', 'wxLEDNumberCtrl',
                   ]),
 
                   'wxTreeCtrl', 'wxSpinButton', 'wxSpinCtrl', 'wxStaticText',
                   'wxStaticBitmap', 'wxRadioBox', 'wxSlider', 'wxToolBar',
                   'wxCalendarCtrl', 'wxToggleButton',
                   'wxEditableListBox', 'wxLEDNumberCtrl',
                   ]),
 
-    ('Window Layout', ['wxLayoutConstraints', 'LayoutAnchors', 'Sizers', 'XML_Resource']),
+    ('Window Layout', ['wxLayoutConstraints', 'LayoutAnchors', 'Sizers', 'XML_Resource',
+                       'RowColSizer',
+                       ]),
 
     ('Miscellaneous', [ 'DragAndDrop', 'CustomDragAndDrop', 'URLDragAndDrop',
                         'FontEnumerator',
 
     ('Miscellaneous', [ 'DragAndDrop', 'CustomDragAndDrop', 'URLDragAndDrop',
                         'FontEnumerator',
@@ -77,7 +64,7 @@ _treeList = [
                         'ActiveXWrapper_Acrobat', 'ActiveXWrapper_IE',
                         'wxDragImage', "wxProcess", "FancyText", "OOR", "wxWave",
                         'wxJoystick', 'DrawXXXList', 'ErrorDialogs', 'wxMimeTypesManager',
                         'ActiveXWrapper_Acrobat', 'ActiveXWrapper_IE',
                         'wxDragImage', "wxProcess", "FancyText", "OOR", "wxWave",
                         'wxJoystick', 'DrawXXXList', 'ErrorDialogs', 'wxMimeTypesManager',
-                        'SplitTree',
+                        'ContextHelp', 'SplitTree', 'Unicode',
                         ]),
 
     ('wxPython Library', ['Layoutf', 'wxScrolledMessageDialog',
                         ]),
 
     ('wxPython Library', ['Layoutf', 'wxScrolledMessageDialog',
@@ -85,7 +72,8 @@ _treeList = [
                           'wxCalendar', 'wxMVCTree', 'wxVTKRenderWindow',
                           'FileBrowseButton', 'GenericButtons', 'wxEditor',
                           'ColourSelect', 'ImageBrowser',
                           'wxCalendar', 'wxMVCTree', 'wxVTKRenderWindow',
                           'FileBrowseButton', 'GenericButtons', 'wxEditor',
                           'ColourSelect', 'ImageBrowser',
-                          'infoframe', 'ColourDB', 'PyCrust', 'TablePrint',
+                          'infoframe', 'ColourDB', 'PyCrust', 'PyCrustWithFilling',
+                          'TablePrint',
                           'wxRightTextCtrl',
                           ]),
 
                           'wxRightTextCtrl',
                           ]),
 
@@ -111,9 +99,17 @@ class MyLog(wxPyLog):
         self.tc.AppendText(message + '\n')
 
 
         self.tc.AppendText(message + '\n')
 
 
+#---------------------------------------------------------------------------
+
+def opj(path):
+    """Convert paths to the platform-specific separator"""
+    return apply(os.path.join, tuple(string.split(path, '/')))
+
+
 #---------------------------------------------------------------------------
 
 class wxPythonDemo(wxFrame):
 #---------------------------------------------------------------------------
 
 class wxPythonDemo(wxFrame):
+    overviewText = "wxPython Overview"
 
     def __init__(self, parent, id, title):
         wxFrame.__init__(self, parent, -1, title, size = (800, 600),
 
     def __init__(self, parent, id, title):
         wxFrame.__init__(self, parent, -1, title, size = (800, 600),
@@ -122,14 +118,7 @@ class wxPythonDemo(wxFrame):
         self.cwd = os.getcwd()
         self.curOverview = ""
 
         self.cwd = os.getcwd()
         self.curOverview = ""
 
-        if 1:
-            icon = wxIconFromXPMData(images.getMondrianData())
-        else:
-            # another way to do it
-            bmp = images.getMondrianBitmap()
-            icon = wxEmptyIcon()
-            icon.CopyFromBitmap(bmp)
-
+        icon = images.getMondrianIcon()
         self.SetIcon(icon)
 
         if wxPlatform == '__WXMSW__':
         self.SetIcon(icon)
 
         if wxPlatform == '__WXMSW__':
@@ -201,10 +190,10 @@ class wxPythonDemo(wxFrame):
         self.tree = wxTreeCtrl(splitter, tID,
                                style=wxTR_HAS_BUTTONS |
                                wxTR_EDIT_LABELS |
         self.tree = wxTreeCtrl(splitter, tID,
                                style=wxTR_HAS_BUTTONS |
                                wxTR_EDIT_LABELS |
-                               wxTR_HAS_VARIABLE_ROW_HEIGHT |
-                               wxSUNKEN_BORDER)
+                               wxTR_HAS_VARIABLE_ROW_HEIGHT)
+
         #self.tree.SetBackgroundColour(wxNamedColour("Pink"))
         #self.tree.SetBackgroundColour(wxNamedColour("Pink"))
-        root = self.tree.AddRoot("Overview")
+        root = self.tree.AddRoot("wxPython Overview")
         firstChild = None
         for item in _treeList:
             child = self.tree.AppendItem(root, item[0])
         firstChild = None
         for item in _treeList:
             child = self.tree.AppendItem(root, item[0])
@@ -229,12 +218,12 @@ class wxPythonDemo(wxFrame):
         # the notebook...
         if 0:  # the old way
             self.ovr = wxHtmlWindow(self.nb, -1, size=(400, 400))
         # the notebook...
         if 0:  # the old way
             self.ovr = wxHtmlWindow(self.nb, -1, size=(400, 400))
-            self.nb.AddPage(self.ovr, "Overview")
+            self.nb.AddPage(self.ovr, self.overviewText)
 
         else:  # hopefully I can remove this hacky code soon, see bug #216861
             panel = wxPanel(self.nb, -1, style=wxCLIP_CHILDREN)
             self.ovr = wxHtmlWindow(panel, -1, size=(400, 400))
 
         else:  # hopefully I can remove this hacky code soon, see bug #216861
             panel = wxPanel(self.nb, -1, style=wxCLIP_CHILDREN)
             self.ovr = wxHtmlWindow(panel, -1, size=(400, 400))
-            self.nb.AddPage(panel, "Overview")
+            self.nb.AddPage(panel, self.overviewText)
 
             def OnOvrSize(evt, ovr=self.ovr):
                 ovr.SetSize(evt.GetSize())
 
             def OnOvrSize(evt, ovr=self.ovr):
                 ovr.SetSize(evt.GetSize())
@@ -243,7 +232,7 @@ class wxPythonDemo(wxFrame):
             EVT_ERASE_BACKGROUND(panel, EmptyHandler)
 
 
             EVT_ERASE_BACKGROUND(panel, EmptyHandler)
 
 
-        self.SetOverview("Overview", overview)
+        self.SetOverview(self.overviewText, overview)
 
 
         # Set up a TextCtrl on the Demo Code Notebook page
 
 
         # Set up a TextCtrl on the Demo Code Notebook page
@@ -265,12 +254,13 @@ class wxPythonDemo(wxFrame):
 
         # add the windows to the splitter and split it.
         splitter2.SplitHorizontally(self.nb, self.log)
 
         # add the windows to the splitter and split it.
         splitter2.SplitHorizontally(self.nb, self.log)
-        splitter2.SetSashPosition(450, true)
-        splitter2.SetMinimumPaneSize(20)
-
         splitter.SplitVertically(self.tree, splitter2)
         splitter.SplitVertically(self.tree, splitter2)
+
         splitter.SetSashPosition(180, true)
         splitter.SetMinimumPaneSize(20)
         splitter.SetSashPosition(180, true)
         splitter.SetMinimumPaneSize(20)
+        splitter2.SetSashPosition(450, true)
+        splitter2.SetMinimumPaneSize(20)
+
 
 
         # select initial items
 
 
         # select initial items
@@ -338,9 +328,9 @@ class wxPythonDemo(wxFrame):
                 self.nb.SetSelection(0)
             self.nb.DeletePage(2)
 
                 self.nb.SetSelection(0)
             self.nb.DeletePage(2)
 
-        if itemText == 'Overview':
+        if itemText == self.overviewText:
             self.GetDemoFile('Main.py')
             self.GetDemoFile('Main.py')
-            self.SetOverview('Overview', overview)
+            self.SetOverview(self.overviewText, overview)
             self.nb.Refresh();
             self.window = None
 
             self.nb.Refresh();
             self.window = None
 
@@ -351,7 +341,7 @@ class wxPythonDemo(wxFrame):
                 try:
                     self.GetDemoFile(itemText + '.py')
                     module = __import__(itemText, globals())
                 try:
                     self.GetDemoFile(itemText + '.py')
                     module = __import__(itemText, globals())
-                    self.SetOverview(itemText, module.overview)
+                    self.SetOverview(itemText + " Overview", module.overview)
                 finally:
                     wxEndBusyCursor()
 
                 finally:
                     wxEndBusyCursor()
 
@@ -390,7 +380,6 @@ class wxPythonDemo(wxFrame):
         lead = text[:6]
         if lead != '<html>' and lead != '<HTML>':
             text = string.join(string.split(text, '\n'), '<br>')
         lead = text[:6]
         if lead != '<html>' and lead != '<HTML>':
             text = string.join(string.split(text, '\n'), '<br>')
-            #text = '<font size="-1"><pre>' + text + '</pre></font>'
         self.ovr.SetPage(text)
         self.nb.SetPageText(0, name)
 
         self.ovr.SetPage(text)
         self.nb.SetPageText(0, name)
 
@@ -482,7 +471,7 @@ class wxPythonDemo(wxFrame):
 
 class MySplashScreen(wxSplashScreen):
     def __init__(self):
 
 class MySplashScreen(wxSplashScreen):
     def __init__(self):
-        bmp = wxImage('bitmaps/splash.gif').ConvertToBitmap()
+        bmp = wxImage(opj("bitmaps/splash.gif")).ConvertToBitmap()
         wxSplashScreen.__init__(self, bmp,
                                 wxSPLASH_CENTRE_ON_SCREEN|wxSPLASH_TIMEOUT,
                                 4000, None, -1)
         wxSplashScreen.__init__(self, bmp,
                                 wxSPLASH_CENTRE_ON_SCREEN|wxSPLASH_TIMEOUT,
                                 4000, None, -1)
@@ -492,26 +481,26 @@ class MySplashScreen(wxSplashScreen):
         frame = wxPythonDemo(None, -1, "wxPython: (A Demonstration)")
         frame.Show(true)
         self.ShowTip(frame)
         frame = wxPythonDemo(None, -1, "wxPython: (A Demonstration)")
         frame.Show(true)
         self.ShowTip(frame)
-        evt.Skip()
+        self.Destroy()
 
     def ShowTip(self, frame):
         try:
 
     def ShowTip(self, frame):
         try:
-            showTipText = open("data/showTips").read()
+            showTipText = open(opj("data/showTips")).read()
             showTip, index = eval(showTipText)
         except IOError:
             showTip, index = (1, 0)
         if showTip:
             showTip, index = eval(showTipText)
         except IOError:
             showTip, index = (1, 0)
         if showTip:
-            tp = wxCreateFileTipProvider("data/tips.txt", index)
+            tp = wxCreateFileTipProvider(opj("data/tips.txt"), index)
             showTip = wxShowTip(frame, tp)
             index = tp.GetCurrentTip()
             showTip = wxShowTip(frame, tp)
             index = tp.GetCurrentTip()
-            open("data/showTips", "w").write(str( (showTip, index) ))
+            open(opj("data/showTips"), "w").write(str( (showTip, index) ))
 
 
 
 class MyApp(wxApp):
     def OnInit(self):
         """
 
 
 
 class MyApp(wxApp):
     def OnInit(self):
         """
-        Create and show the splash screen.  It will then create and show 
+        Create and show the splash screen.  It will then create and show
         the main frame when it is time to do so.
         """
         wxInitAllImageHandlers()
         the main frame when it is time to do so.
         """
         wxInitAllImageHandlers()