File: code_editor_test.py

package info (click to toggle)
matplotlib 0.98.1-1%2Blenny4
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 18,624 kB
  • ctags: 22,599
  • sloc: python: 76,915; cpp: 63,459; ansic: 5,353; makefile: 111; sh: 12
file content (94 lines) | stat: -rw-r--r-- 3,144 bytes parent folder | download | duplicates (2)
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
#-------------------------------------------------------------------------------
#  
#  Test using a KeyBindings object with the traits Codeditor
#  
#  Written by: David C. Morrill
#  
#  Date: 09/22/2005
#  
#  (c) Copyright 2005 by Enthought, Inc.
#  
#-------------------------------------------------------------------------------

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

from enthought.traits.api \
    import HasPrivateTraits, Code, Str

from enthought.traits.ui.api \
    import View, Item, Handler, CodeEditor

from enthought.traits.ui.key_bindings \
    import KeyBinding, KeyBindings

from enthought.traits.ui.menu \
    import NoButtons

#-------------------------------------------------------------------------------
#  Define a KeyBindings object:  
#-------------------------------------------------------------------------------
        
key_bindings = KeyBindings(

    KeyBinding( binding1    = 'Ctrl-s',
                description = 'Save to a file',
                method_name = 'save_file' ),
                
    KeyBinding( binding1    = 'Ctrl-r',
                description = 'Run script',
                method_name = 'run_script' ),
                
    KeyBinding( binding1    = 'Ctrl-q',
                description = 'Edit key bindings',
                method_name = 'edit_bindings' )
)                

#-------------------------------------------------------------------------------
#  'CodeHandler' class:
#-------------------------------------------------------------------------------

class CodeHandler ( Handler ):
    
    def save_file ( self, info ):
        info.object.status = "save file"
        
    def run_script ( self, info ):
        info.object.status = "run script"
        
    def edit_bindings ( self, info ):
        info.object.status = "edit bindings"
        key_bindings.edit_traits()        

#-------------------------------------------------------------------------------
#  'TestCode' class:
#-------------------------------------------------------------------------------
                
class TestCode ( HasPrivateTraits ):
    
    code   = Code
    status = Str
    
    view = View( 
               [ Item( 'code', 
                       style     = 'custom',
                       resizable = True,
                       editor    = CodeEditor( key_bindings = key_bindings ) ),
                 'status~',
                 '|<>' ],
               id = 'enthought.traits.ui.tests.test_code_editor.TestCode',
               title     = 'Sample Code Editor',
               width     = 0.4,
               height    = 0.4,
               resizable = True,
               buttons   = NoButtons,
               handler   = CodeHandler() )
          
#-------------------------------------------------------------------------------
#  Run the test:  
#-------------------------------------------------------------------------------
                
if __name__ == '__main__':
    TestCode().configure_traits()