def _update_widget_properties(self, modified=None): # after initial creation, call with modified=None if not self.widget: return if self.style & wx.LC_REPORT: # columns and rows ############################################################################################# if not modified or "columns" in modified or "style" in modified: columns = self.columns # adjust number of columns while self.widget.GetColumnCount()>len(columns): self.widget.DeleteColumn(self.widget.GetColumnCount()-1) while self.widget.GetColumnCount()<len(columns): i = self.widget.GetColumnCount() self.widget.InsertColumn(i, columns[i][0]) # set column widths and labels for i, (label,size) in enumerate(columns): item = wx.ListItem() item.SetText(label) self.widget.SetColumn(i, item) size = int(size or "0") if size>0: # results with LIST_AUTOSIZE are not too good self.widget.SetColumnWidth(i, size) if not modified or "rows_number" in modified or "style" in modified: self.widget.DeleteAllItems() if self.columns: for i in range(self.rows_number): compat.ListCtrl_InsertStringItem(self.widget, i, "") self._set_name()
def _insert_item(self, index, item): compat.ListCtrl_InsertStringItem(self.items, index, item[0]) for col, value in enumerate(item): if col==0: continue compat.ListCtrl_SetStringItem(self.items, index, col, compat.unicode(value)) # fix bug 698074 self.items.SetItemState(index, wx.LIST_STATE_SELECTED, wx.LIST_STATE_SELECTED)
def _do_move_item(self, event, index, is_down): """internal function used by move_item_up and move_item_down. Returns the new index of the moved item, or None if no change occurred""" self.items.SetFocus() #index = self.selected_index i = index+1 if is_down else index-1 if i < 0 or i>=self.items.GetItemCount(): return None def get(i, j): return self.items.GetItem(i, j).GetText() item = [get(index, j) for j in range(6)] self.items.DeleteItem(index) compat.ListCtrl_InsertStringItem(self.items, i, item[0]) for col,content in enumerate(item): if col==0: continue compat.ListCtrl_SetStringItem(self.items, i,col, content) self._select_item(i, force=True)
def _insert_item_string(self, index, s): if not isinstance(s, compat.unicode): s = misc.wxstr(s) return compat.ListCtrl_InsertStringItem(self.items, index, s)
def _insert_item_string(self, index, s): return compat.ListCtrl_InsertStringItem(self.items, index, s)