]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/ListCtrl_virtual.py
fix compilation problem when wxUSE_FSVOLUME==0 after last commit: declare wxIsDriveAv...
[wxWidgets.git] / wxPython / demo / ListCtrl_virtual.py
index 75f5d97573126ca3a81786db0ec712a30bcee5b7..699ad1dc10b8fc78daaf234cb07d621e3227264a 100644 (file)
@@ -1,11 +1,3 @@
-# 11/20/2003 - Jeff Grimmett (grimmtooth@softhome.net)
-#
-# o Updated for wx namespace
-# 
-# 11/29/2003 - Jeff Grimmett (grimmtooth@softhome.net)
-#
-# o wx.ListItem.GetText() returns a wxString pointer, not the text.
-# 
 
 import  wx
 import  images
@@ -91,10 +83,35 @@ class TestVirtualList(wx.ListCtrl):
             return None
 
 
+class TestVirtualListPanel(wx.Panel):
+    def __init__(self, parent, log):
+        wx.Panel.__init__(self, parent, -1, style=wx.WANTS_CHARS)
+        
+        self.log = log
+        sizer = wx.BoxSizer(wx.VERTICAL)
+        
+        if wx.Platform == "__WXMAC__" and \
+               hasattr(wx.GetApp().GetTopWindow(), "LoadDemo"):
+            self.useNative = wx.CheckBox(self, -1, "Use native listctrl")
+            self.useNative.SetValue( 
+                not wx.SystemOptions.GetOptionInt("mac.listctrl.always_use_generic") )
+            self.Bind(wx.EVT_CHECKBOX, self.OnUseNative, self.useNative)
+            sizer.Add(self.useNative, 0, wx.ALL | wx.ALIGN_RIGHT, 4)
+            
+        self.list = TestVirtualList(self, self.log)
+        sizer.Add(self.list, 1, wx.EXPAND)
+        
+        self.SetSizer(sizer)
+        self.SetAutoLayout(True)
+        
+    def OnUseNative(self, event):
+        wx.SystemOptions.SetOptionInt("mac.listctrl.always_use_generic", not event.IsChecked())
+        wx.GetApp().GetTopWindow().LoadDemo("ListCtrl_virtual")
+
 #----------------------------------------------------------------------
 
 def runTest(frame, nb, log):
-    win = TestVirtualList(nb, log)
+    win = TestVirtualListPanel(nb, log)
     return win
 
 #----------------------------------------------------------------------
@@ -113,5 +130,5 @@ without limiting what can be done with the list control itself.
 if __name__ == '__main__':
     import sys,os
     import run
-    run.main(['', os.path.basename(sys.argv[0])])
+    run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])