Commit 562388c9 authored by Guido van Rossum's avatar Guido van Rossum

added getitem/setitem to Image class; changed call wrapping (again)

parent e8ee6111
...@@ -425,7 +425,7 @@ class Misc: ...@@ -425,7 +425,7 @@ class Misc:
name = tail name = tail
return w return w
def _register(self, func, subst=None): def _register(self, func, subst=None):
f = CallWrapper(func, subst, self).__call__ f = self._wrap(func, subst)
name = `id(f)` name = `id(f)`
if hasattr(func, 'im_func'): if hasattr(func, 'im_func'):
func = func.im_func func = func.im_func
...@@ -474,6 +474,8 @@ class Misc: ...@@ -474,6 +474,8 @@ class Misc:
exc, val, tb = sys.exc_type, sys.exc_value, sys.exc_traceback exc, val, tb = sys.exc_type, sys.exc_value, sys.exc_traceback
root = self._root() root = self._root()
root.report_callback_exception(exc, val, tb) root.report_callback_exception(exc, val, tb)
def _wrap(self, func, subst=None):
return CallWrapper(func, subst, self).__call__
class CallWrapper: class CallWrapper:
def __init__(self, func, subst, widget): def __init__(self, func, subst, widget):
...@@ -1269,6 +1271,10 @@ class Image: ...@@ -1269,6 +1271,10 @@ class Image:
def __del__(self): def __del__(self):
if self.name: if self.name:
self.tk.call('image', 'delete', self.name) self.tk.call('image', 'delete', self.name)
def __setitem__(self, key, value):
self.tk.call(self.name, 'configure', '-'+key, value)
def __getitem__(self, key):
return self.tk.call(self.name, 'configure', '-'+key)
def height(self): def height(self):
return self.tk.getint( return self.tk.getint(
self.tk.call('image', 'height', self.name)) self.tk.call('image', 'height', self.name))
......
...@@ -425,7 +425,7 @@ class Misc: ...@@ -425,7 +425,7 @@ class Misc:
name = tail name = tail
return w return w
def _register(self, func, subst=None): def _register(self, func, subst=None):
f = CallWrapper(func, subst, self).__call__ f = self._wrap(func, subst)
name = `id(f)` name = `id(f)`
if hasattr(func, 'im_func'): if hasattr(func, 'im_func'):
func = func.im_func func = func.im_func
...@@ -474,6 +474,8 @@ class Misc: ...@@ -474,6 +474,8 @@ class Misc:
exc, val, tb = sys.exc_type, sys.exc_value, sys.exc_traceback exc, val, tb = sys.exc_type, sys.exc_value, sys.exc_traceback
root = self._root() root = self._root()
root.report_callback_exception(exc, val, tb) root.report_callback_exception(exc, val, tb)
def _wrap(self, func, subst=None):
return CallWrapper(func, subst, self).__call__
class CallWrapper: class CallWrapper:
def __init__(self, func, subst, widget): def __init__(self, func, subst, widget):
...@@ -1269,6 +1271,10 @@ class Image: ...@@ -1269,6 +1271,10 @@ class Image:
def __del__(self): def __del__(self):
if self.name: if self.name:
self.tk.call('image', 'delete', self.name) self.tk.call('image', 'delete', self.name)
def __setitem__(self, key, value):
self.tk.call(self.name, 'configure', '-'+key, value)
def __getitem__(self, key):
return self.tk.call(self.name, 'configure', '-'+key)
def height(self): def height(self):
return self.tk.getint( return self.tk.getint(
self.tk.call('image', 'height', self.name)) self.tk.call('image', 'height', self.name))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment