]> git.saurik.com Git - wxWidgets.git/commitdiff
Adding the option to toggle between native and generic listctrl.
authorKevin Ollivier <kevino@theolliviers.com>
Sat, 11 Nov 2006 23:48:32 +0000 (23:48 +0000)
committerKevin Ollivier <kevino@theolliviers.com>
Sat, 11 Nov 2006 23:48:32 +0000 (23:48 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43327 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

wxPython/demo/ListCtrl.py
wxPython/demo/ListCtrl_edit.py
wxPython/demo/ListCtrl_virtual.py

index 4f3ad75586ae1168fba22eaddcbbd4429cb98a18..0fb6d95166847d3835dcb85d7566b7fbcc8f32ca 100644 (file)
@@ -90,7 +90,16 @@ class TestListCtrlPanel(wx.Panel, listmix.ColumnSorterMixin):
 
         self.log = log
         tID = wx.NewId()
-
+        
+        sizer = wx.BoxSizer(wx.VERTICAL)
+        
+        if wx.Platform == "__WXMAC__":
+            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.il = wx.ImageList(16, 16)
 
         self.idx1 = self.il.Add(images.getSmilesBitmap())
@@ -110,6 +119,7 @@ class TestListCtrlPanel(wx.Panel, listmix.ColumnSorterMixin):
                                  )
         
         self.list.SetImageList(self.il, wx.IMAGE_LIST_SMALL)
+        sizer.Add(self.list, 1, wx.EXPAND | wx.ALL, 4)
 
         self.PopulateList()
 
@@ -119,7 +129,8 @@ class TestListCtrlPanel(wx.Panel, listmix.ColumnSorterMixin):
         listmix.ColumnSorterMixin.__init__(self, 3)
         #self.SortListItems(0, True)
 
-        self.Bind(wx.EVT_SIZE, self.OnSize)
+        self.SetSizer(sizer)
+        self.SetAutoLayout(True)
 
         self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnItemSelected, self.list)
         self.Bind(wx.EVT_LIST_ITEM_DESELECTED, self.OnItemDeselected, self.list)
@@ -142,6 +153,10 @@ class TestListCtrlPanel(wx.Panel, listmix.ColumnSorterMixin):
         self.list.Bind(wx.EVT_RIGHT_UP, self.OnRightClick)
 
 
+    def OnUseNative(self, event):
+        wx.SystemOptions.SetOptionInt("mac.listctrl.always_use_generic", not event.IsChecked())
+        wx.GetApp().GetTopWindow().LoadDemo("ListCtrl")
+
     def PopulateList(self):
         if 0:
             # for normal, simple columns, you can add them like this:
@@ -346,17 +361,8 @@ class TestListCtrlPanel(wx.Panel, listmix.ColumnSorterMixin):
         self.list.EditLabel(self.currentItem)
 
 
-    def OnSize(self, event):
-        w,h = self.GetClientSizeTuple()
-        self.list.SetDimensions(0, 0, w, h)
-
-
-
 #---------------------------------------------------------------------------
 
-# for testing the new native control on wxMac
-#wx.SystemOptions.SetOptionInt("mac.listctrl.always_use_generic", 0)
-
 def runTest(frame, nb, log):
     win = TestListCtrlPanel(nb, log)
     return win
index eaa4ba0380476134e6e89a16a5d9c53722d76c30..4a8a65e3e32be2f3258ab897b587e0ee23793a78 100644 (file)
@@ -87,18 +87,29 @@ class TestListCtrlPanel(wx.Panel):
         self.log = log
         tID = wx.NewId()
 
+        sizer = wx.BoxSizer(wx.VERTICAL)
+        
+        if wx.Platform == "__WXMAC__":
+            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 = TestListCtrl(self, tID,
                                  style=wx.LC_REPORT
                                  | wx.BORDER_NONE
                                  | wx.LC_SORT_ASCENDING
                                  )
 
-        self.Bind(wx.EVT_SIZE, self.OnSize)
+        sizer.Add(self.list, 1, wx.EXPAND | wx.ALL, 4)
+        self.SetSizer(sizer)
+        self.SetAutoLayout(True)
 
 
-    def OnSize(self, event):
-        w,h = self.GetClientSizeTuple()
-        self.list.SetDimensions(0, 0, w, h)
+    def OnUseNative(self, event):
+        wx.SystemOptions.SetOptionInt("mac.listctrl.always_use_generic", not event.IsChecked())
+        wx.GetApp().GetTopWindow().LoadDemo("ListCtrl_edit")
 
 
 
index c050880a134e79cdb1a73359a3d4cf92b934e979..4c2e8c6a35a877ece98eb1ef98ad5e85c8de60d5 100644 (file)
@@ -83,13 +83,34 @@ 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__":
+            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 | wx.ALL, 4)
+        
+        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")
 
-# for testing the new native control on wxMac
-#wx.SystemOptions.SetOptionInt("mac.listctrl.always_use_generic", 0)
+#----------------------------------------------------------------------
 
 def runTest(frame, nb, log):
-    win = TestVirtualList(nb, log)
+    win = TestVirtualListPanel(nb, log)
     return win
 
 #----------------------------------------------------------------------