32        if "getType" in dct 
and not isinstance(dct[
"getType"], classmethod):
 
   33            dct[
"getType"] = classmethod(dct[
"getType"])
 
   35        if "setDefaults" in dct 
and not isinstance(dct[
"setDefaults"], classmethod):
 
   36            dct[
"setDefaults"] = classmethod(dct[
"setDefaults"])
 
   41        newclass = type.__new__(self, name, bases, dct)
 
   44        newclass.configurables = {}
 
   48        slots = dct.get(
"__slots__")
 
   50            props = [x 
for x 
in slots 
if x[0] != 
"_"]
 
   51            propDict = dct.get(
"_propertyDocDct")
 
   53                docString = propDict 
and propDict.get(prop)
 
   54                if isinstance(slots, dict):
 
   58                proxy = PropertyProxy.PropertyProxyFactory(
 
   59                    getattr(newclass, prop), docString, default
 
   62                properties[prop] = proxy
 
   63                setattr(newclass, prop, proxy)
 
   68                bprops = base._properties.copy()
 
   69                bprops.update(properties)
 
   71            except AttributeError:
 
   74        newclass._properties = properties