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 Accessibility
9
10
12 class klass(object):
13
14 def __init__(self, obj):
15 self.obj = obj
16
17 def __getattr__(self, name):
18 if name == 'obj':
19 return self.__dict__['obj']
20 return getattr(self.obj, name)
21
22 def __setattr__(self, name, value):
23 if name == 'obj':
24 self.__dict__['obj'] = value
25 else:
26 return setattr(self.obj, name, value)
27
28 klass.__name__ = name
29 return klass
30
31 Application = makeWrapperClass(Accessibility.Application,
32 "WrappedApplication")
33 Node = makeWrapperClass(Accessibility.Accessible, "WrappedNode")
34