Beispiel #1
0
    def __init__(self, model, prop_name,
                 prop_read=None, prop_write=None, value_error=None):

        UserClassAdapter.__init__(self, model, prop_name,
                                  lambda c,i: c.__getitem__(i),
                                  lambda c,v,i: c.__setitem__(i,v),
                                  prop_read, prop_write, 
                                  value_error)

        prop =  Adapter._get_property(self)
        #prop =  self._get_property() # bug fix reported by A. Dentella
        if not (hasattr(prop, "__getitem__") and
                hasattr(prop, "__setitem__")):
            raise TypeError("Property " + self._prop_name +
                            " is not a valid container")


        self._prop_is_map = isinstance(prop, types.DictType) or \
                            isinstance(prop, ObsMapWrapper)
        # contained widgets
        self._idx2wid = {}
        self._wid2idx = {}
        
        self._widgets = None
        return