44
45
def _image_id(obj):
45
46
return gimp._id2image, (obj.ID,)
46
48
def _drawable_id(obj):
47
49
return gimp._id2drawable, (obj.ID,)
48
51
def _display_id(obj):
49
52
return gimp._id2display, int(obj)
50
copy_reg.pickle(gimp.Image, _image_id, gimp._id2image)
51
copy_reg.pickle(gimp.Layer, _drawable_id, gimp._id2drawable)
55
return gimp._id2vectors, int(obj.ID)
57
copy_reg.pickle(gimp.Image, _image_id, gimp._id2image)
58
copy_reg.pickle(gimp.Layer, _drawable_id, gimp._id2drawable)
52
59
copy_reg.pickle(gimp.Channel, _drawable_id, gimp._id2drawable)
53
copy_reg.pickle(gimp.Display, _display_id, gimp._id2display)
54
del copy_reg, _image_id, _drawable_id, _display_id
60
copy_reg.pickle(gimp.Display, _display_id, gimp._id2display)
61
copy_reg.pickle(gimp.Vectors, _vectors_id, gimp._id2vectors)
63
del copy_reg, _image_id, _drawable_id, _display_id, _vectors_id
57
66
def has_key(self, key):
66
75
s = gimp.get_data(key)
68
77
raise KeyError, key
69
79
f = StringIO.StringIO(s)
70
80
return pickle.Unpickler(f).load()
71
82
def __setitem__(self, key, value):
72
83
f = StringIO.StringIO()
73
84
p = pickle.Pickler(f)
75
86
gimp.set_data(key, f.getvalue())
76
88
def __delitem__(self, key):
77
89
gimp.set_data(key, '')