...
2: In my attached sample
Nothing attached here;-)
Werner
pastebin:
Andrea's UltimateListCtrl:
#here as text- have UltimateListCtrl from the demo or Andrea in the same
path
import sys
import os
import wx
import random
import datetime
import math
import wx.lib.mixins.listctrl as listmix
import wx.lib.colourdb as cdb
import wx.lib.colourselect as csel
import UltimateListCtrl as ULC
data = {'CONTRACT_TERM':'TEST'}
class DataXfervalidator(wx.PyValidator):
def __init__(self, data, key):
wx.PyValidator.__init__(self)
self.data = data
self.key = key
#self.TransferFromWindow()
#print "validating"
print data
print "VALIDATOR CLASS TRIGGRED"
print key
def Clone (self):
print "VAL CLONE TRIGGERED"
return DataXfervalidator(self.data, self.key)
def Validate(self):
print 'here we go'
def TransferToWindow(self):
print "TransferTO"
print data
textCtrl = self.GetWindow()
textCtrl.SetValue(self.data.get(self.key, ""))
return True
def TransferFromWindow(self):
textCtrl = self.GetWindow()
print "TransferFROM"
#print textCtrl
self.data[self.key] = textCtrl.GetValue()
print data
return True
class TestUltimateListCtrl(ULC.UltimateListCtrl):
def __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition,
size=wx.DefaultSize, style=0, extraStyle=0):
ULC.UltimateListCtrl.__init__(self, parent, id, pos, size,
style, extraStyle)
class UltimateListCtrlPanel(wx.Panel, listmix.ColumnSorterMixin):
def __init__(self, parent):
wx.Panel.__init__(self, parent, -1,
style=wx.WANTS_CHARS|wx.SUNKEN_BORDER)
sizer = wx.BoxSizer(wx.VERTICAL)
self.list = TestUltimateListCtrl(self, -1,
style=wx.LC_REPORT
#| wx.BORDER_SUNKEN
> wx.BORDER_NONE
> wx.LC_EDIT_LABELS
#| wx.LC_SORT_ASCENDING
#| wx.LC_NO_HEADER
> wx.LC_VRULES
> wx.LC_HRULES,
#| wx.LC_SINGLE_SEL
extraStyle=ULC.ULC_HAS_VARIABLE_ROW_HEIGHT
)
sizer.Add(self.list, 1, wx.EXPAND)
self.PopulateList()
#self.TransferDataFromWindow()
self.SetSizer(sizer)
self.SetAutoLayout(True)
def PopulateList(self):
self.list.Freeze()
info = ULC.UltimateListItem()
info._mask = wx.LIST_MASK_TEXT | wx.LIST_MASK_IMAGE |
wx.LIST_MASK_FORMAT | ULC.ULC_MASK_CHECK
info._image =
info._format = 0
#info._kind = 1
info._text = "CONTRACT"
self.list.TransferDataToWindow()
self.list.InsertColumnInfo(0, info)
index = self.list.InsertStringItem(sys.maxint,'')
item = self.list.GetItem(0, 0)
textctrl = wx.TextCtrl(self.list, -1, "",
validator=DataXfervalidator(data,'CONTRACT_TERM'))
##textctrl = wx.TextCtrl(self.list, -1, "", style=wx.TE_MULTILINE)
item.SetWindow(textctrl)
self.list.SetItem(item)
self.list.TransferDataToWindow()
#self.list.TransferDataFromWindow()
#textctrl.TransferDataToWindow()
self.list.SetColumnWidth(0, 100)
self.list.Thaw()
self.list.Update()
class MiniFrame(wx.MiniFrame):
def __init__(self):
wx.MiniFrame.__init__(self, None, -1, 'Mini Frame', size=(800,
600),style=wx.DEFAULT_FRAME_STYLE)
self.ulc = UltimateListCtrlPanel(self)
#button = wx.Button(self.ulc, -1, "Close Me", pos=(15, 15))
#self.Bind(wx.EVT_BUTTON, self.OnCloseMe, button)
#self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
def OnCloseMe(self, event):
self.Close(True)
def OnCloseWindow(self, event):
self.Destroy()
app = wx.PySimpleApp()
MiniFrame().Show()
app.MainLoop()
···
Am 25.10.11 12:35, schrieb werner:
On 10/25/2011 10:42 AM, Tobias Weber wrote:
--
--------------------------------------------------
Tobias Weber
CEO
The ROG Corporation GmbH
Donaustaufer Str. 200
93059 Regensburg
Tel: +49 941 4610 57 55
Fax: +49 941 4610 57 56
www.roglink.com
Gesch�ftsf�hrer: Tobias Weber
Registergericht: Amtsgericht Regensburg - HRB 8954
UStID DE225905250 - Steuer-Nr.184/59359
--------------------------------------------------