[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-accessibility
Subject:    Re: [Kde-accessibility] documentation of QAccessible and friends
From:       Bill Haneman <bill.haneman () sun ! com>
Date:       2003-03-05 23:38:07
[Download RAW message or body]

On Wed, 2003-03-05 at 22:55, Pupeno wrote:
...
> > MSAA supports as rich a text (AtkEditableText and AtkText) or table
> > (AtkTable) interface as ATK.
> 
> I think here we have a substancial diference here since there is not a single 
> Q object that represents one of those objects.
> - From what I think, Qt Accessibility works in a more generic way not having a 
> class for each type of object but being the parameters of the functions of 
> the generic class what let's you deal with diferent types of objects.

If I understand what you mean, ATK does this as well; ATK is a
collection of runtime-queryable interfaces; these interfaces are generic
in the sense that they present the same API wherever they are
implemented (i.e. they are true interfaces).   Even the core "AtkObject"
is primarily an interface, i.e. something that implements
"AtkObjectIface".

Now, the _implementation_ of ATK is different, in that we have a
hierarchy of classes that implement ATK interfaces on behalf of various
widget types, on an as-needed basis.  But this is inside 'gail',
accessibility clients don't see this, and in fact as long as you
implement ATK interfaces you are free to do it with one enormous class
that internally knows about many types of widgets, or a family of
classes, one for each widget class, or something in-between (as the
'GAIL' library does it).  

If it turns out to be most practical to implement ATK by extending and
bridging from QAccessible (which may or may not be true, I don't know
the conclusion of that question), then you will probably make your
decision about how to implement ATK (one big class with many behaviors,
or many small classes for different widget types) based on
considerations about how Qt and KDE work internally.  That's an
implementation decision for you, but it is not something that is forced
on you by the ATK architecture.

ATK does have the notion of 'factories' for AtkObject implementations;
this makes it easy to associate different implementation classes with
different object types.  However you are free to just implement one big
AtkObjectFactory for everything, and then you deal with the complexities
in your own way, if the Atk factory model doesn't suit you.  ATK is
designed to give you many choices about how to associate the ATK
interfaces with objects.  This makes it hard to do things be example
(since an example is only one way of doing things) but it gives you lots
of flexibility.  So if you look at the code, or ATK docs, or even GAIL
code, and you think it is forcing you to do something you don't like,
please ask.  There are very likely ways of doing what you want, even if
we don't have obvious examples in the current codebase.

best regards,

Bill

> Volker, can you please help me with this ?
> If you need the atk documentation to compera, it is here:
> http://developer.gnome.org/doc/API/2.0/atk/book1.html
> 
> 
> > Can you point me to QAccessible API documentation (other than the
> > document you are preparing)?  THen I can help answer these questions for
> > Qt directly.  For instance we need good documentation on the events that
> > QAccessible sends and can send, etc.
> The three classes involved are:
> http://doc.trolltech.com/3.1/qaccessible.html
> http://doc.trolltech.com/3.1/qaccessibleinterface.html
> http://doc.trolltech.com/3.1/qaccessibleobject.html
> 
> Thanks.
> - -- 
> Pupeno: pupeno@kde.org
> KDE Accessibility co-maintainer
> http://accessibility.kde.org
> - ---
> Help the hungry children of Argentina,
> please go to (and make it your homepage):
> http://www.porloschicos.com/servlet/PorLosChicos?comando=donar
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.1 (GNU/Linux)
> 
> iD8DBQE+ZoBgLr8z5XzmSDQRAsYpAJ9axmdOrpAS0G8/tVYaXSdJBnyOawCgz1PT
> PO0acwnuUhTwZyAgG/qlGxg=
> =Kq0h
> -----END PGP SIGNATURE-----
> 
> _______________________________________________
> kde-accessibility mailing list
> kde-accessibility@mail.kde.org
> http://mail.kde.org/mailman/listinfo/kde-accessibility
-- 
Bill Haneman <bill.haneman@sun.com>

_______________________________________________
kde-accessibility mailing list
kde-accessibility@mail.kde.org
http://mail.kde.org/mailman/listinfo/kde-accessibility
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic