@_util.universalmethod
    def attrDefaults(obj,attr):
        if inspect.isclass(obj):
            self = None
            cls = obj # keep things familiar
        else:
            self = obj # keep things familiar
            cls = type(obj)
        
        attributes = cls.__apiobjects__.setdefault('MFnAttributes', {})
        attrObj = attributes.get(attr, None)
        if not _api.isValidMObject(attrObj):
            if self is None:
                # We don't have an instance of the node, we need
                # to make a ghost one...
                dagMod = _api.MDagModifier()
                dgMod = _api.MDGModifier()
                nodeObj = _apicache._makeDgModGhostObject( cls.__melnode__,
                                                           dagMod,
                                                           dgMod )
                nodeMfn = cls.__apicls__(obj)
            else:
                nodeMfn = self.__apimfn__()
            attrObj = nodeMfn.attribute(attr)
            attributes[attr] = attrObj
        return general.AttributeDefaults( attrObj )
Sets icon for the given component. The tab is identified by the
dataset/ETHPy150Open CountZer0/PipelineConstructionSet/python/maya/site-packages/pymel-1.0.3/pymel/core/nodetypes.py/DependNode.attrDefaults--crossover with--dataset/ETHPy150Open rwl/muntjac/muntjac/ui/tab_sheet.py/TabSheet.setTabIcon