示例#1
0
    def __init__( me, type =int, item_type =None,
                    sync_size_masters =None,    # list-of-other vectors
                    sync_size_slaves  =None,    # list-of-other vectors
                    **kargs):
        item_type = StaticType.makeStaticType( item_type or type )
        item_type.name = 'item'                         #??
        me.item_type = item_type
        me._item_validator = item_type._validate

        kargs = Sizer.__init__( me, **kargs)

        class Container_type( SeqContainer):
            __slots__ = ()
            _parent = me
        me.container_type = Container_type

        if sync_size_slaves is not None:
            if isinstance( sync_size_slaves, Syncer.DualList):
                sync_size_slaves.append( me)
            me._sync_slaves = sync_size_slaves
        if sync_size_masters is not None:
            if isinstance( sync_size_masters, Syncer.DualList):
                sync_size_masters.append( me)
            me._sync_masters = sync_size_masters

        StaticType.__init__( me, Container_type, default_value= Container_type,
                    typ_matcher= lambda value,typ: isinstance( value, (tuple,list)),
                    **kargs )
示例#2
0
 def __init__( me, type_description ='',
                 UI_width = None,
                 **kargs):
     kargs = Sizer.__init__( me, **kargs)
     UI_width = UI_width or me.max
     StaticType.__init__( me, str,
         type_description=type_description or me.__class__.__name__,
         UI_width=UI_width,
         **kargs)