File: table_list_editor_test.py

package info (click to toggle)
python-traitsui 4.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 13,292 kB
  • sloc: python: 39,867; makefile: 120; sh: 5
file content (94 lines) | stat: -rw-r--r-- 3,165 bytes parent folder | download | duplicates (3)
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
#-------------------------------------------------------------------------------
#
#  TableEditor test case for Traits UI which tests editing of lists instead of
#  editing of objects.
#
#  Written by: David C. Morrill
#
#  Date: 07/06/2005
#
#  (c) Copyright 2005 by Enthought, Inc.
#  Copyright (c) 2007, Enthought, Inc.
#  License: BSD Style.
#
#-------------------------------------------------------------------------------

#-------------------------------------------------------------------------------
#  Imports:
#-------------------------------------------------------------------------------

from traits.api \
    import HasStrictTraits, List

from traitsui.api \
    import View, Item, TableEditor

from traitsui.table_column \
    import ListColumn

from traitsui.table_filter \
    import TableFilter

#-------------------------------------------------------------------------------
#  Sample data:
#-------------------------------------------------------------------------------

people = [
   [ 'Dave',   39, '555-1212' ],
   [ 'Mike',   28, '555-3526' ],
   [ 'Joe',    34, '555-6943' ],
   [ 'Tom',    22, '555-7586' ],
   [ 'Dick',   63, '555-3895' ],
   [ 'Harry',  46, '555-3285' ],
   [ 'Sally',  43, '555-8797' ],
   [ 'Fields', 31, '555-3547' ]
]

#-------------------------------------------------------------------------------
#  Table editor definition:
#-------------------------------------------------------------------------------

table_editor = TableEditor(
    columns            = [ ListColumn( index = 0, label = 'Name'  ),
                           ListColumn( index = 1, label = 'Age'   ),
                           ListColumn( index = 2, label = 'Phone' ) ],
    editable           = False,
    show_column_labels = True,       #
)

#-------------------------------------------------------------------------------
#  'TableTest' class:
#-------------------------------------------------------------------------------

class TableTest ( HasStrictTraits ):

    #---------------------------------------------------------------------------
    #  Trait definitions:
    #---------------------------------------------------------------------------

    people = List

    #---------------------------------------------------------------------------
    #  Traits view definitions:
    #---------------------------------------------------------------------------

    traits_view = View( [ Item( 'people',
                                editor    = table_editor,
                                resizable = True ),
                          '|[]<>' ],
                        title   = 'Table Editor Test',
                        width   = .17,
                        height  = .23,
                        buttons = [ 'OK', 'Cancel' ],
                        kind    = 'live' )

#-------------------------------------------------------------------------------
#  Run the tests:
#-------------------------------------------------------------------------------

if __name__ == '__main__':
    tt = TableTest( people = people )
    tt.configure_traits()
    for p in tt.people:
        print p
        print '--------------'