File: test_listctrl.py

package info (click to toggle)
wxpython4.0 4.2.3%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 221,752 kB
  • sloc: cpp: 962,555; python: 230,573; ansic: 170,731; makefile: 51,756; sh: 9,342; perl: 1,564; javascript: 584; php: 326; xml: 200
file content (200 lines) | stat: -rw-r--r-- 5,286 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
import unittest
from unittests import wtc
import wx

#---------------------------------------------------------------------------

class listctrl_Tests(wtc.WidgetTestCase):

    def test_listctrlCtor(self):
        lc = wx.ListCtrl(self.frame, style=wx.LC_REPORT)


    def test_listctrlDefaultCtor(self):
        lc = wx.ListCtrl()
        lc.Create(self.frame, style=wx.LC_REPORT)


    def test_listctrlEventTypes(self):
        wx.wxEVT_COMMAND_LIST_BEGIN_DRAG
        wx.wxEVT_COMMAND_LIST_BEGIN_RDRAG
        wx.wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT
        wx.wxEVT_COMMAND_LIST_END_LABEL_EDIT
        wx.wxEVT_COMMAND_LIST_DELETE_ITEM
        wx.wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS
        wx.wxEVT_COMMAND_LIST_ITEM_SELECTED
        wx.wxEVT_COMMAND_LIST_ITEM_DESELECTED
        wx.wxEVT_COMMAND_LIST_KEY_DOWN
        wx.wxEVT_COMMAND_LIST_INSERT_ITEM
        wx.wxEVT_COMMAND_LIST_COL_CLICK
        wx.wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK
        wx.wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK
        wx.wxEVT_COMMAND_LIST_ITEM_ACTIVATED
        wx.wxEVT_COMMAND_LIST_CACHE_HINT
        wx.wxEVT_COMMAND_LIST_COL_RIGHT_CLICK
        wx.wxEVT_COMMAND_LIST_COL_BEGIN_DRAG
        wx.wxEVT_COMMAND_LIST_COL_DRAGGING
        wx.wxEVT_COMMAND_LIST_COL_END_DRAG
        wx.wxEVT_COMMAND_LIST_ITEM_FOCUSED

        wx.EVT_LIST_BEGIN_DRAG
        wx.EVT_LIST_BEGIN_RDRAG
        wx.EVT_LIST_BEGIN_LABEL_EDIT
        wx.EVT_LIST_END_LABEL_EDIT
        wx.EVT_LIST_DELETE_ITEM
        wx.EVT_LIST_DELETE_ALL_ITEMS
        wx.EVT_LIST_ITEM_SELECTED
        wx.EVT_LIST_ITEM_DESELECTED
        wx.EVT_LIST_KEY_DOWN
        wx.EVT_LIST_INSERT_ITEM
        wx.EVT_LIST_COL_CLICK
        wx.EVT_LIST_ITEM_RIGHT_CLICK
        wx.EVT_LIST_ITEM_MIDDLE_CLICK
        wx.EVT_LIST_ITEM_ACTIVATED
        wx.EVT_LIST_CACHE_HINT
        wx.EVT_LIST_COL_RIGHT_CLICK
        wx.EVT_LIST_COL_BEGIN_DRAG
        wx.EVT_LIST_COL_DRAGGING
        wx.EVT_LIST_COL_END_DRAG
        wx.EVT_LIST_ITEM_FOCUSED


    def test_listctrlEvent(self):
        # check creating a ListEvent, and if the properties are working
        evt = wx.ListEvent(wx.wxEVT_COMMAND_LIST_ITEM_SELECTED, 123)

        evt.KeyCode = 111
        assert evt.GetKeyCode() == 111

        evt.Index = 222
        assert evt.GetIndex() == 222

        evt.Column = 3
        assert evt.GetColumn() == 3

        evt.Point = (44, 55)
        assert evt.GetPoint() == (44, 55)

        i = wx.ListItem()
        i.SetId(66)
        evt.Item = i
        assert evt.GetItem().GetId() == 66

        evt.CacheFrom = 77
        assert evt.GetCacheFrom() == 77

        evt.CacheTo = 88
        assert evt.GetCacheTo() == 88


    def test_listctrlConstants(self):
        wx.LC_VRULES
        wx.LC_HRULES

        wx.LC_ICON
        wx.LC_SMALL_ICON
        wx.LC_LIST
        wx.LC_REPORT

        wx.LC_ALIGN_TOP
        wx.LC_ALIGN_LEFT
        wx.LC_AUTOARRANGE
        wx.LC_VIRTUAL
        wx.LC_EDIT_LABELS
        wx.LC_NO_HEADER
        wx.LC_NO_SORT_HEADER
        wx.LC_SINGLE_SEL
        wx.LC_SORT_ASCENDING
        wx.LC_SORT_DESCENDING

        wx.LC_MASK_TYPE
        wx.LC_MASK_ALIGN
        wx.LC_MASK_SORT

        wx.LIST_MASK_STATE
        wx.LIST_MASK_TEXT
        wx.LIST_MASK_IMAGE
        wx.LIST_MASK_DATA
        wx.LIST_SET_ITEM
        wx.LIST_MASK_WIDTH
        wx.LIST_MASK_FORMAT

        wx.LIST_STATE_DONTCARE
        wx.LIST_STATE_DROPHILITED
        wx.LIST_STATE_FOCUSED
        wx.LIST_STATE_SELECTED
        wx.LIST_STATE_CUT

        wx.LIST_HITTEST_ABOVE
        wx.LIST_HITTEST_BELOW
        wx.LIST_HITTEST_NOWHERE
        wx.LIST_HITTEST_ONITEMICON
        wx.LIST_HITTEST_ONITEMLABEL
        wx.LIST_HITTEST_ONITEMSTATEICON
        wx.LIST_HITTEST_TOLEFT
        wx.LIST_HITTEST_TORIGHT
        wx.LIST_HITTEST_ONITEM

        wx.LIST_GETSUBITEMRECT_WHOLEITEM

        wx.LIST_NEXT_ABOVE
        wx.LIST_NEXT_ALL
        wx.LIST_NEXT_BELOW
        wx.LIST_NEXT_LEFT
        wx.LIST_NEXT_RIGHT

        wx.LIST_ALIGN_DEFAULT
        wx.LIST_ALIGN_LEFT
        wx.LIST_ALIGN_TOP
        wx.LIST_ALIGN_SNAP_TO_GRID

        wx.LIST_FORMAT_LEFT
        wx.LIST_FORMAT_RIGHT
        wx.LIST_FORMAT_CENTRE
        wx.LIST_FORMAT_CENTER

        wx.LIST_AUTOSIZE
        wx.LIST_AUTOSIZE_USEHEADER

        wx.LIST_RECT_BOUNDS
        wx.LIST_RECT_ICON
        wx.LIST_RECT_LABEL

        wx.LIST_FIND_UP
        wx.LIST_FIND_DOWN
        wx.LIST_FIND_LEFT
        wx.LIST_FIND_RIGHT


    def _makeListCtrl(self):
        lc = wx.ListCtrl(self.frame, style=wx.LC_REPORT)
        lc.AppendColumn('AAAA')
        lc.AppendColumn('BBBB')
        lc.InsertItem(0, 'item 1A')
        lc.SetItem(0, 1, 'item 1B')
        return lc


    def test_listctrlItemData01(self):
        lc = self._makeListCtrl()
        lc.SetItemData(0, 12345)
        data = lc.GetItemData(0)
        assert data == 12345


    def test_listctrlItemData02(self):
        lc = self._makeListCtrl()
        with self.assertRaises(OverflowError):
            lc.SetItemData(0, wx._core._LLONG_MAX + 100)


    def test_listctrlDeleteAllColumns(self):
        lc = self._makeListCtrl()
        lc.DeleteAllColumns()


#---------------------------------------------------------------------------


if __name__ == '__main__':
    unittest.main()