X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/095315e20d117d292ea01f8f964b19c032a0fd56..c1dda21b64f300d89cbc084802082d37c694e971:/wxPython/demo/ListCtrl.py?ds=sidebyside diff --git a/wxPython/demo/ListCtrl.py b/wxPython/demo/ListCtrl.py index 7ef63aaf29..c766332fe9 100644 --- a/wxPython/demo/ListCtrl.py +++ b/wxPython/demo/ListCtrl.py @@ -90,7 +90,17 @@ class TestListCtrlPanel(wx.Panel, listmix.ColumnSorterMixin): self.log = log tID = wx.NewId() - + + 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.il = wx.ImageList(16, 16) self.idx1 = self.il.Add(images.getSmilesBitmap()) @@ -110,6 +120,7 @@ class TestListCtrlPanel(wx.Panel, listmix.ColumnSorterMixin): ) self.list.SetImageList(self.il, wx.IMAGE_LIST_SMALL) + sizer.Add(self.list, 1, wx.EXPAND) self.PopulateList() @@ -119,7 +130,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 +154,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: @@ -205,7 +221,7 @@ class TestListCtrlPanel(wx.Panel, listmix.ColumnSorterMixin): self.log.WriteText("x, y = %s\n" % str((x, y))) item, flags = self.list.HitTest((x, y)) - if flags & wx.LIST_HITTEST_ONITEM: + if item != wx.NOT_FOUND and flags & wx.LIST_HITTEST_ONITEM: self.list.Select(item) event.Skip() @@ -346,12 +362,6 @@ 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) - - - #--------------------------------------------------------------------------- def runTest(frame, nb, log):