2 #----------------------------------------------------------------------------
4 # Purpose: Testing lots of stuff, controls, window types, etc.
6 # Author: Robin Dunn & Gary Dumer
10 # Copyright: (c) 1998 by Total Control Software
11 # Licence: wxWindows license
12 #----------------------------------------------------------------------------
14 from wxPython
.wx
import *
16 #---------------------------------------------------------------------------
18 class TestListCtrlPanel(wxPanel
):
19 def __init__(self
, parent
, log
):
20 wxPanel
.__init
__(self
, parent
, -1)
25 self
.il
= wxImageList(16, 16)
26 idx1
= self
.il
.Add(wxNoRefBitmap('bitmaps/smiles.bmp', wxBITMAP_TYPE_BMP
))
28 self
.list = wxListCtrl(self
, tID
, wxDefaultPosition
, wxDefaultSize
,
29 wxLC_REPORT|wxSUNKEN_BORDER
)
30 self
.list.SetImageList(self
.il
, wxIMAGE_LIST_SMALL
)
32 self
.list.SetToolTip(wxToolTip("This is a ToolTip!"))
33 wxToolTip_Enable(true
)
35 self
.list.InsertColumn(0, "Column 0")
36 self
.list.InsertColumn(1, "Column 1")
37 self
.list.InsertColumn(2, "One More Column (2)")
39 self
.list.InsertImageStringItem(x
, "This is item %d" % x
, idx1
)
40 self
.list.SetStringItem(x
, 1, "Col 1, item %d" % x
)
41 self
.list.SetStringItem(x
, 2, "item %d in column 2" % x
)
43 self
.list.SetColumnWidth(0, wxLIST_AUTOSIZE
)
44 self
.list.SetColumnWidth(1, wxLIST_AUTOSIZE
)
45 self
.list.SetColumnWidth(2, wxLIST_AUTOSIZE
)
47 self
.list.SetItemState(5, wxLIST_STATE_SELECTED
, wxLIST_STATE_SELECTED
)
50 EVT_LIST_ITEM_SELECTED(self
, tID
, self
.OnItemSelected
)
51 EVT_LEFT_DCLICK(self
.list, self
.OnDoubleClick
)
52 EVT_COMMAND_RIGHT_CLICK(self
.list, tID
, self
.OnRightClick
)
54 def OnItemSelected(self
, event
):
55 self
.currentItem
= event
.m_itemIndex
56 self
.log
.WriteText("OnItemSelected: %s\n" % self
.list.GetItemText(self
.currentItem
))
58 def OnDoubleClick(self
, event
):
59 self
.log
.WriteText("OnDoubleClick item %s\n" % self
.list.GetItemText(self
.currentItem
))
61 def OnRightClick(self
, event
):
62 self
.log
.WriteText("OnRightClick %s\n" % self
.list.GetItemText(self
.currentItem
))
65 def OnSize(self
, event
):
66 w
,h
= self
.GetClientSizeTuple()
67 self
.list.SetDimensions(0, 0, w
, h
)
72 #---------------------------------------------------------------------------
74 def runTest(frame
, nb
, log
):
75 win
= TestListCtrlPanel(nb
, log
)
78 #---------------------------------------------------------------------------
96 A list control presents lists in a number of formats: list view, report view, icon view and small icon view. Elements are numbered from zero.
99 ------------------------
103 wxListCtrl(wxWindow* parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxLC_ICON, const wxValidator& validator = wxDefaultValidator, const wxString& name = "listCtrl")
105 Constructor, creating and showing a list control.
110 parent = Parent window. Must not be NULL.
112 id = Window identifier. A value of -1 indicates a default value.
114 pos = Window position.
116 size = Window size. If the default size (-1, -1) is specified then the window is sized appropriately.
118 style = Window style. See wxListCtrl.
120 validator = Window validator.