]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/wx/lib/mixins/listctrl.py
Compile fixes for Panther
[wxWidgets.git] / wxPython / wx / lib / mixins / listctrl.py
index fbfc82a229cc392e4f5d67c89e2e7121b0c9e066..921e25041570936cec15d70e56252ce3c42d4717 100644 (file)
@@ -117,7 +117,8 @@ class ColumnSorterMixin:
         self._col = col = evt.GetColumn()
         self._colSortFlag[col] = int(not self._colSortFlag[col])
         self.GetListCtrl().SortItems(self.GetColumnSorter())
         self._col = col = evt.GetColumn()
         self._colSortFlag[col] = int(not self._colSortFlag[col])
         self.GetListCtrl().SortItems(self.GetColumnSorter())
-        self.__updateImages(oldCol)
+        if wx.Platform != "__WXMAC__" or wx.SystemOptions.GetOptionInt("mac.listctrl.always_use_generic") == 1:
+            self.__updateImages(oldCol)
         evt.Skip()
 
 
         evt.Skip()
 
 
@@ -248,6 +249,9 @@ class ListCtrlAutoWidthMixin:
         
         if not self:  # avoid a PyDeadObject error
             return
         
         if not self:  # avoid a PyDeadObject error
             return
+
+        if self.GetSize().height < 32:
+            return  # avoid an endless update bug when the height is small.
         
         numCols = self.GetColumnCount()
         if numCols == 0: return # Nothing to resize.
         
         numCols = self.GetColumnCount()
         if numCols == 0: return # Nothing to resize.
@@ -424,7 +428,6 @@ class TextEditMixin:
 
 
     def make_editor(self, col_style=wx.LIST_FORMAT_LEFT):
 
 
     def make_editor(self, col_style=wx.LIST_FORMAT_LEFT):
-        editor = wx.PreTextCtrl()
         
         style =wx.TE_PROCESS_ENTER|wx.TE_PROCESS_TAB|wx.TE_RICH2
         style |= {wx.LIST_FORMAT_LEFT: wx.TE_LEFT,
         
         style =wx.TE_PROCESS_ENTER|wx.TE_PROCESS_TAB|wx.TE_RICH2
         style |= {wx.LIST_FORMAT_LEFT: wx.TE_LEFT,
@@ -432,7 +435,7 @@ class TextEditMixin:
                   wx.LIST_FORMAT_CENTRE : wx.TE_CENTRE
                   }[col_style]
         
                   wx.LIST_FORMAT_CENTRE : wx.TE_CENTRE
                   }[col_style]
         
-        editor.Create(self, -1, style=style)
+        editor = wx.TextCtrl(self, -1, style=style)
         editor.SetBackgroundColour(self.editorBgColour)
         editor.SetForegroundColour(self.editorFgColour)
         font = self.GetFont()
         editor.SetBackgroundColour(self.editorBgColour)
         editor.SetForegroundColour(self.editorFgColour)
         font = self.GetFont()
@@ -442,6 +445,8 @@ class TextEditMixin:
         self.curCol = 0
 
         editor.Hide()
         self.curCol = 0
 
         editor.Hide()
+        if hasattr(self, 'editor'):
+            self.editor.Destroy()
         self.editor = editor
 
         self.col_style = col_style
         self.editor = editor
 
         self.col_style = col_style
@@ -701,12 +706,17 @@ class CheckListCtrlMixin:
     """
     This is a mixin for ListCtrl which add a checkbox in the first
     column of each row. It is inspired by limodou's CheckList.py(which
     """
     This is a mixin for ListCtrl which add a checkbox in the first
     column of each row. It is inspired by limodou's CheckList.py(which
-    can be got from his NewEdit) and improved:    
+    can be got from his NewEdit) and improved:
+    
         - You can just use InsertStringItem() to insert new items;
         - You can just use InsertStringItem() to insert new items;
-        - Once a checkbox is checked/unchecked, the corresponding item is not
-          selected;
+
+        - Once a checkbox is checked/unchecked, the corresponding item
+          is not selected;
+
         - You can use SetItemData() and GetItemData();
         - You can use SetItemData() and GetItemData();
-        - Interfaces are changed to OnCheckItem(), IsChecked(), CheckItem().
+
+        - Interfaces are changed to OnCheckItem(), IsChecked(),
+          CheckItem().
 
     You should not set a imagelist for the ListCtrl once this mixin is used.
     """
 
     You should not set a imagelist for the ListCtrl once this mixin is used.
     """