File: test_treectrl.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 (207 lines) | stat: -rw-r--r-- 6,553 bytes parent folder | download | duplicates (4)
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
201
202
203
204
205
206
207
import unittest
from unittests import wtc
import wx

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

class treectrl_Tests(wtc.WidgetTestCase):

    def test_treectrlCtor(self):
        t = wx.TreeCtrl(self.frame)

    def test_treectrlDefaultCtor(self):
        t = wx.TreeCtrl()
        t.Create(self.frame)


    def test_treectrlTreeItemId01(self):
        tree = wx.TreeCtrl(self.frame)
        root = tree.AddRoot('root item')
        self.assertTrue(isinstance(root, wx.TreeItemId))
        self.assertTrue(root.IsOk())

        r = tree.GetRootItem()
        self.assertTrue(r is not root)
        self.assertTrue(r == root)

        child = tree.AppendItem(root, 'child item')
        self.assertTrue(child is not root)
        self.assertTrue(child != root)


    def test_treectrlTreeItemId02(self):
        # Can a TreeItemId be a dictionary key?
        tree = wx.TreeCtrl(self.frame)
        root = tree.AddRoot('root item')
        r = tree.GetRootItem()
        child = tree.AppendItem(root, 'child item')

        d = dict()
        d[root] = 'root'
        d[child] = 'child'
        assert d[root] == 'root'
        assert d[r] == 'root'


    def test_treectrlTreeItemId03(self):
        # Compare with None
        tree = wx.TreeCtrl(self.frame)
        root = tree.AddRoot('root item')
        self.assertTrue(root != None)
        self.assertFalse(root == None)


    def test_treectrlTreeItemData(self):
        value = 'Some Python Object'
        tree = wx.TreeCtrl(self.frame)
        root = tree.AddRoot('root item', data=value)
        v = tree.GetItemData(root)
        self.assertTrue(v == value)
        tree.SetItemData(root, None)
        self.assertTrue(tree.GetItemData(root) is None)


    def test_treectrlTreeItemPyData(self):
        # ensure that the "Py" versions raise deprecation warnings
        value = 'Some Python Object'
        tree = wx.TreeCtrl(self.frame)
        root = tree.AddRoot('root item')
        tree.SetItemData(root, value)

        import warnings
        with warnings.catch_warnings():
            warnings.simplefilter("error")
            with self.assertRaises(wx.wxPyDeprecationWarning):
                tree.SetItemPyData(root, value)

        with warnings.catch_warnings():
            warnings.simplefilter("error")
            with self.assertRaises(wx.wxPyDeprecationWarning):
                tree.GetItemPyData(root)


    def test_treectrlGetSelections(self):
        tree = wx.TreeCtrl(self.frame, style=wx.TR_MULTIPLE)
        root = tree.AddRoot('root item')
        c1 = tree.AppendItem(root, 'c1')
        c2 = tree.AppendItem(root, 'c2')
        tree.SelectItem(c1)
        tree.SelectItem(c2)
        self.assertTrue(tree.IsSelected(c1))
        self.assertTrue(tree.IsSelected(c2))

        sel = tree.GetSelections()
        self.assertTrue(isinstance(sel, list))
        self.assertTrue(len(sel) == 2)
        self.assertTrue(isinstance(sel[0], wx.TreeItemId))



    def test_treectrlGetFirstNext(self):
        tree = wx.TreeCtrl(self.frame)
        root = tree.AddRoot('root item')
        c1 = tree.AppendItem(root, 'c1')
        c2 = tree.AppendItem(root, 'c2')
        c3 = tree.AppendItem(root, 'c3')
        c4 = tree.AppendItem(root, 'c4')

        children = []
        item, cookie = tree.GetFirstChild(root)
        while item:
            children.append(item)
            item, cookie = tree.GetNextChild(root, cookie)

        self.assertEqual(len(children), 4)
        self.assertEqual(children[0], c1)
        self.assertEqual(children[1], c2)
        self.assertEqual(children[2], c3)
        self.assertEqual(children[3], c4)



    def test_treectrlConstantsExist(self):
        wx.TR_NO_BUTTONS
        wx.TR_HAS_BUTTONS
        wx.TR_NO_LINES
        wx.TR_LINES_AT_ROOT
        wx.TR_SINGLE
        wx.TR_MULTIPLE
        wx.TR_HAS_VARIABLE_ROW_HEIGHT
        wx.TR_EDIT_LABELS
        wx.TR_HIDE_ROOT
        wx.TR_ROW_LINES
        wx.TR_FULL_ROW_HIGHLIGHT
        wx.TR_DEFAULT_STYLE
        wx.TR_TWIST_BUTTONS
        wx.TreeItemIcon_Normal
        wx.TreeItemIcon_Selected
        wx.TreeItemIcon_Expanded
        wx.TreeItemIcon_SelectedExpanded
        wx.TREE_ITEMSTATE_NONE
        wx.TREE_ITEMSTATE_NEXT
        wx.TREE_ITEMSTATE_PREV
        wx.TREE_HITTEST_ABOVE
        wx.TREE_HITTEST_BELOW
        wx.TREE_HITTEST_NOWHERE
        wx.TREE_HITTEST_ONITEMBUTTON
        wx.TREE_HITTEST_ONITEMICON
        wx.TREE_HITTEST_ONITEMINDENT
        wx.TREE_HITTEST_ONITEMLABEL
        wx.TREE_HITTEST_ONITEMRIGHT
        wx.TREE_HITTEST_ONITEMSTATEICON
        wx.TREE_HITTEST_TOLEFT
        wx.TREE_HITTEST_TORIGHT
        wx.TREE_HITTEST_ONITEMUPPERPART
        wx.TREE_HITTEST_ONITEMLOWERPART
        wx.TREE_HITTEST_ONITEM


    def test_treeEventsExist(self):
        wx.wxEVT_COMMAND_TREE_BEGIN_DRAG
        wx.wxEVT_COMMAND_TREE_BEGIN_RDRAG
        wx.wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT
        wx.wxEVT_COMMAND_TREE_END_LABEL_EDIT
        wx.wxEVT_COMMAND_TREE_DELETE_ITEM
        wx.wxEVT_COMMAND_TREE_GET_INFO
        wx.wxEVT_COMMAND_TREE_SET_INFO
        wx.wxEVT_COMMAND_TREE_ITEM_EXPANDED
        wx.wxEVT_COMMAND_TREE_ITEM_EXPANDING
        wx.wxEVT_COMMAND_TREE_ITEM_COLLAPSED
        wx.wxEVT_COMMAND_TREE_ITEM_COLLAPSING
        wx.wxEVT_COMMAND_TREE_SEL_CHANGED
        wx.wxEVT_COMMAND_TREE_SEL_CHANGING
        wx.wxEVT_COMMAND_TREE_KEY_DOWN
        wx.wxEVT_COMMAND_TREE_ITEM_ACTIVATED
        wx.wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK
        wx.wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLICK
        wx.wxEVT_COMMAND_TREE_END_DRAG
        wx.wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK
        wx.wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP
        wx.wxEVT_COMMAND_TREE_ITEM_MENU

        wx.EVT_TREE_BEGIN_DRAG
        wx.EVT_TREE_BEGIN_RDRAG
        wx.EVT_TREE_BEGIN_LABEL_EDIT
        wx.EVT_TREE_END_LABEL_EDIT
        wx.EVT_TREE_DELETE_ITEM
        wx.EVT_TREE_GET_INFO
        wx.EVT_TREE_SET_INFO
        wx.EVT_TREE_ITEM_EXPANDED
        wx.EVT_TREE_ITEM_EXPANDING
        wx.EVT_TREE_ITEM_COLLAPSED
        wx.EVT_TREE_ITEM_COLLAPSING
        wx.EVT_TREE_SEL_CHANGED
        wx.EVT_TREE_SEL_CHANGING
        wx.EVT_TREE_KEY_DOWN
        wx.EVT_TREE_ITEM_ACTIVATED
        wx.EVT_TREE_ITEM_RIGHT_CLICK
        wx.EVT_TREE_ITEM_MIDDLE_CLICK
        wx.EVT_TREE_END_DRAG
        wx.EVT_TREE_STATE_IMAGE_CLICK
        wx.EVT_TREE_ITEM_GETTOOLTIP
        wx.EVT_TREE_ITEM_MENU

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

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