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:
parent
92e0c0eb51
commit
5924f6b37d
@ -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
|
||||
|
@ -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")
|
||||
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user