X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ec873c943d71f0d5f13e3398557071448cda6c23..a4027e74873007e3430af3bd77019bcab76f6c04:/wxPython/demo/ListCtrl_edit.py diff --git a/wxPython/demo/ListCtrl_edit.py b/wxPython/demo/ListCtrl_edit.py deleted file mode 100644 index e4dfe4fc06..0000000000 --- a/wxPython/demo/ListCtrl_edit.py +++ /dev/null @@ -1,153 +0,0 @@ -#---------------------------------------------------------------------------- -# Name: ListCtrl_edit.py -# Purpose: Testing editing a ListCtrl -# -# Author: Pim van Heuven -# -# Created: 2004/10/15 -# Copyright: (c) Pim Van Heuven -# Licence: wxWindows license -#---------------------------------------------------------------------------- - -import sys -import wx -import wx.lib.mixins.listctrl as listmix - -#--------------------------------------------------------------------------- - -listctrldata = { -1 : ("Hey!", "You can edit", "me!"), -2 : ("Try changing the contents", "by", "clicking"), -3 : ("in", "a", "cell"), -4 : ("See how the length columns", "change", "?"), -5 : ("You can use", "TAB,", "cursor down,"), -6 : ("and cursor up", "to", "navigate"), -} - -#--------------------------------------------------------------------------- - -class TestListCtrl(wx.ListCtrl, - listmix.ListCtrlAutoWidthMixin, - listmix.TextEditMixin): - - def __init__(self, parent, ID, pos=wx.DefaultPosition, - size=wx.DefaultSize, style=0): - wx.ListCtrl.__init__(self, parent, ID, pos, size, style) - - listmix.ListCtrlAutoWidthMixin.__init__(self) - self.Populate() - listmix.TextEditMixin.__init__(self) - - def Populate(self): - # for normal, simple columns, you can add them like this: - self.InsertColumn(0, "Column 1") - self.InsertColumn(1, "Column 2") - self.InsertColumn(2, "Column 3") - self.InsertColumn(3, "Len 1", wx.LIST_FORMAT_RIGHT) - self.InsertColumn(4, "Len 2", wx.LIST_FORMAT_RIGHT) - self.InsertColumn(5, "Len 3", wx.LIST_FORMAT_RIGHT) - - items = listctrldata.items() - for key, data in items: - index = self.InsertStringItem(sys.maxint, data[0]) - self.SetStringItem(index, 0, data[0]) - self.SetStringItem(index, 1, data[1]) - self.SetStringItem(index, 2, data[2]) - self.SetItemData(index, key) - - self.SetColumnWidth(0, wx.LIST_AUTOSIZE) - self.SetColumnWidth(1, wx.LIST_AUTOSIZE) - self.SetColumnWidth(2, 100) - - self.currentItem = 0 - - - def SetStringItem(self, index, col, data): - if col in range(3): - wx.ListCtrl.SetStringItem(self, index, col, data) - wx.ListCtrl.SetStringItem(self, index, 3+col, str(len(data))) - else: - try: - datalen = int(data) - except: - return - - wx.ListCtrl.SetStringItem(self, index, col, data) - - data = self.GetItem(index, col-3).GetText() - wx.ListCtrl.SetStringItem(self, index, col-3, data[0:datalen]) - - - - -class TestListCtrlPanel(wx.Panel): - def __init__(self, parent, log): - wx.Panel.__init__(self, parent, -1, style=wx.WANTS_CHARS) - - 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.list = TestListCtrl(self, tID, - style=wx.LC_REPORT - | wx.BORDER_NONE - | wx.LC_SORT_ASCENDING - ) - - sizer.Add(self.list, 1, wx.EXPAND) - 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_edit") - - - -#--------------------------------------------------------------------------- - -def runTest(frame, nb, log): - win = TestListCtrlPanel(nb, log) - return win - -#--------------------------------------------------------------------------- - - -overview = """\ - - - -This demo demonstrates direct editing of all cells of a ListCtrl. To -enable it just include the TextEditMixin. The ListCtrl can be -navigated with the TAB and up/down cursor keys. - -

Another facet of this demo is that the remaining space of the -ListCtrls is divided over the first three columns. This is achieved -with the extended syntax of ListCtrlAutoWidthMixin: -listmix.ListCtrlAutoWidthMixin.__init__(self, startcol, endcol) -(Look at the general ListCtrl demo for more information about the -ListCtrlAutoWidthMixin) - -

Finally, the ListCtrl is automatically scrolled, if needed, when -TAB is pressed consecutively (Windows only). - - - -""" - - -if __name__ == '__main__': - import sys,os - import run - run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:]) -