Added dialog tabbing to wxX11.
[wxWidgets.git] / wxPython / demo / Main.py
index b3ff2f716f255330df932c80baf375ea7a3d1480..14f9a919bbfb524fd8505dc8a584a3ae1ae857b2 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,9 @@ 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',
                                 ]),
 
     ('Windows', ['wxFrame', 'wxDialog', 'wxMiniFrame',
                                 ]),
 
     ('Windows', ['wxFrame', 'wxDialog', 'wxMiniFrame',
@@ -60,14 +43,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 +63,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',
                         ]),
 
     ('wxPython Library', ['Layoutf', 'wxScrolledMessageDialog',
                         ]),
 
     ('wxPython Library', ['Layoutf', 'wxScrolledMessageDialog',
@@ -85,7 +71,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,6 +98,13 @@ 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):
@@ -122,14 +116,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,8 +188,8 @@ 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"))
         root = self.tree.AddRoot("Overview")
         firstChild = None
         #self.tree.SetBackgroundColour(wxNamedColour("Pink"))
         root = self.tree.AddRoot("Overview")
         firstChild = None
@@ -265,12 +252,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
@@ -390,7 +378,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 +469,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 +479,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()