Sophie

Sophie

distrib > Fedora > 13 > i386 > by-pkgid > 581a2dffc64bef35e96957a65359cde2 > files > 859

python-TraitsGUI-3.4.0-2.fc13.noarch.rpm

#-------------------------------------------------------------------------------
#  
#  Test the DockWindow.  
#  
#  Written by: David C. Morrill
#  
#  Date: 10/20/2005
#  
#  (c) Copyright 2005 by Enthought, Inc.
#  
#-------------------------------------------------------------------------------

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

import wx
import sys

from enthought.traits.api \
    import *
    
from enthought.traits.ui.api \
    import *
    
from enthought.traits.ui.menu \
    import *
    
from enthought.pyface.dock.api \
    import *
           
from enthought.pyface.image_resource \
    import ImageResource

#-------------------------------------------------------------------------------
#  Global data:  
#-------------------------------------------------------------------------------

# DockControl style to use:
style1 = 'horizontal'
style2 = 'vertical'

image1 = ImageResource( 'folder' )
image2 = ImageResource( 'gear' )

#-------------------------------------------------------------------------------
#  Creates a DockWindow as a Traits UI widget:
#-------------------------------------------------------------------------------
    
def create_dock_window ( parent, editor ):    
    """ Creates a window for editing a workflow canvas.
    """
    window  = DockWindow( parent ).control
    button1 = wx.Button( window, -1, 'Button 1' )
    button2 = wx.Button( window, -1, 'Button 2' )
    button3 = wx.Button( window, -1, 'Button 3' )
    button4 = wx.Button( window, -1, 'Button 4' )
    button5 = wx.Button( window, -1, 'Button 5' )
    button6 = wx.Button( window, -1, 'Button 6' )
    sizer   = DockSizer( contents = 
                  [ DockControl( name      = 'Button 1',
                                 image     = image1,
                                 closeable = True,
                                 control   = button1, 
                                 style     = style1 ),
                    [ DockControl( name      = 'Button 2', 
                                   image     = image1,
                                   closeable = True,
                                   height    = 400,
                                   control   = button2,
                                   style   = style1 ),
                      ( [ DockControl( name      = 'Button 3',
                                     image     = image2,
                                     resizable = False,
                                       control   = button3,
                                       style     = style2 ),
                          DockControl( name      = 'Button 4',
                                       image     = image2,
                                       resizable = False,
                                       control   = button4, 
                                       style     = style2 ) ],
                        [  DockControl( name      = 'Button 5',
                                       resizable = False,
                                       control   = button5, 
                                       style     = style2 ),
                          DockControl( name      = 'Button 6',
                                       resizable = False,
                                       control   = button6, 
                                       style     = style2 ) ] )
                    ]
                  ] )
    window.SetSizer( sizer )
    window.SetAutoLayout( True )
    
    return window

#-------------------------------------------------------------------------------
#  'TestDock' class:  
#-------------------------------------------------------------------------------

class TestDock ( HasPrivateTraits ):
    
    #---------------------------------------------------------------------------
    #  Trait definitions:  
    #---------------------------------------------------------------------------
        
    dummy = Int
    
    #---------------------------------------------------------------------------
    #  Traits view definitions:  
    #---------------------------------------------------------------------------
        
    view = View( [ Item( 'dummy',
                         resizable = True,
                         editor    = CustomEditor( create_dock_window ) ),
                   '|<>' ],
                 title     = 'DockWindow Test',
                 resizable = True,
                 width     = 0.5,
                 height    = 0.5,
                 buttons   = NoButtons )
                 
#-------------------------------------------------------------------------------
#  Run the test program:  
#-------------------------------------------------------------------------------
                        
if __name__ == '__main__':
    if len( sys.argv ) > 1:
        style1 = style2 = sys.argv[1]
        if len( sys.argv ) > 2:
            style2 = sys.argv[2]
    TestDock().configure_traits()