(cls, node_attribute, data_property, default=None, \
            path=lambda x: x, getter=lambda x: x, setter=lambda x: x)
Binds the value of node object's attribute to a property

        :param node_attribute: ``Node``'s attribute name
        :param data_property: property name to be created
        :param default: default value of the property (is ``PropertyNode`` doesn't exist)
        :param path: ``lambda self.node: PropertyNode``, can be used to point binding to another Node instead of ``self.node``.
        :param getter: ``lambda object: object``, used to transform value when getting
        :param setter: ``lambda object: object``, used to transform value when setting
Binds the value of node object's attribute to a property
Binds the value of node object s attribute to a property
def bind_attribute(cls, node_attribute, data_property, default=None, \
            path=lambda x: x, getter=lambda x: x, setter=lambda x: x):
        """
        Binds the value of node object's attribute to a property

        :param node_attribute: ``Node``'s attribute name
        :param data_property: property name to be created
        :param default: default value of the property (is ``PropertyNode`` doesn't exist)
        :param path: ``lambda self.node: PropertyNode``, can be used to point binding to another Node instead of ``self.node``.
        :param getter: ``lambda object: object``, used to transform value when getting
        :param setter: ``lambda object: object``, used to transform value when setting
        """
        def pget(self):
            prop = getattr(path(self._node), node_attribute)
            if prop is not None:
                return getter(prop)
            else:
                return getter(default)

        def pset(self, value):
            setattr(path(self._node), node_attribute, setter(value))

        cls.bind(data_property, pget, pset)
def bind_attribute ( cls , node_attribute , data_property , default = None , path = lambda x : x , getter = lambda x : x , setter = lambda x : x ) : def pget ( self ) : prop = getattr ( path ( self . _node ) , node_attribute ) if prop is not None : return getter ( prop ) else : return getter ( default ) def pset ( self , value ) : setattr ( path ( self . _node ) , node_attribute , setter ( value ) ) cls . bind ( data_property , pget , pset )