1 """
2 Superclasses for application wrappers
3
4 Subclass these classes if you want to create application wrappers, e.g.:
5 http://svn.gnome.org/viewvc/dogtail-tests/trunk/appwrappers/dogtail/appwrappers/gedit.py?view=markup
6 """
7 __author__ = "Zack Cerza <zcerza@redhat.com>"
8 import tree
9 import Accessibility
10
12 class klass(object):
13 def __init__(self, obj):
14 self.obj = obj
15
16 def __getattr__(self, name):
17 if name == 'obj': return self.__dict__['obj']
18 return getattr(self.obj, name)
19
20 def __setattr__(self, name, value):
21 if name == 'obj':
22 self.__dict__['obj'] = value
23 else:
24 return setattr(self.obj, name, value)
25
26 klass.__name__ = name
27 return klass
28
29 Application = makeWrapperClass(Accessibility.Application, \
30 "WrappedApplication")
31 Node = makeWrapperClass(Accessibility.Accessible, "WrappedNode")
32