All pastes #895026 Raw Edit

Mine

public text v1 · immutable
·published 2008-02-07 14:37 UTC
rendered paste body
class ObjectState(dict):
    """
    """
    def __init__(self, o, **kwargs):
        self.image    = kwargs.get("image", o.image)
        self.color    = kwargs.get("color", o.get_color())
        self.layer    = kwargs.get("layer", o.get_layer())
        self.size     = kwargs.get("size", o.get_size())
        self.position = kwargs.get("position", o.get_position())

        print "ObjectState size: ", self.size
        print "ObjectState pos: ", self.position

    def keys(self):
        return ["top", "right", "bottom", "left", "centerx", "centery", "width", "height",
                "image", "color", "layer"]

    def items(self):
        items = [("layer", self.layer), ("color", self.color), ("image", self.image)]
        items.extend(self.size.items())
        items.extend(self.position.items())

        return items

    def __getitem__(self, key):
        if key in ["top", "right", "bottom", "left", "centerx", "centery"]:
            return self.position.get(key)
        elif key in ["width", "height"]:
            return self.size.get(key)
        elif key == "image":
            return self.image
        elif key == "color":
            return self.color
        elif key == "layer":
            return self.layer
        elif key == "size":
            return self.size
        else:
            return None

    def __setitem__(self, key, value):
        if key in ["top", "right", "bottom", "left", "centerx", "centery"]:
            self.position[key] = value
        elif key in ["width", "height"]:
            self.size[key] = value
        elif key == "image":
            self.image = value
        elif key == "color":
            self.color = value
        elif key == "layer":
            self.layer = value
        else:
            return False

    def __class__(self):
        return DictType