Logo Search packages:      
Sourcecode: matplotlib version File versions  Download package

code_editor_test.py

#-------------------------------------------------------------------------------
#  
#  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()                 
        

Generated by  Doxygen 1.6.0   Back to index