Adding the option to toggle between native and generic listctrl.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43327 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Kevin Ollivier 2006-11-11 23:48:32 +00:00
parent 92e0c0eb51
commit 5924f6b37d
3 changed files with 57 additions and 19 deletions

View 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

View 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")

View 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
#----------------------------------------------------------------------