Re: [orca-list] Geany, SciTE and other Scintilla based applications



Mike,

Thanks for a few pointers and places to look.

Looking at the Scintilla source and some of the gtk stuff it looks like
it's a matter of sub-classing the scintilla class, or making the
scintilla class itself a sub-class of some atk object.

And then doing something positive with the different signals which
scintilla emits to interface to atk.

I am familiar with how MSAA works on Windows and of course the gtk
signals are somewhat different to Windows messages but it can't be that
hard if I can find some examples.

There seems to be a lot of talk now about vala but I don't know if
that's at all relevant.  I suspect it will just hide some of the
lower-level gtk stuff from view.

Mike

On 15/07/2014 19:50, Mike Gorse wrote:
Hi Mike,

Unfortunately, we don't really have a good tutorial for building
custom atk classes (I thought there was one around somewhere, but now
I can't find it, and it would be outdated anyhow). My suggestion would
be to look through gtk's accessibility code (in gtk/a11y for gtk 3)
and look at the atk documentation as a reference:

https://developer.gnome.org/atk/unstable/

For the stable gtk+ sources:
ftp://ftp.gnome.org/pub/gnome/sources/gtk+/3.12

If you only need to support gtk 3.8 or later, then you can derive your
classes from the relevant Gtk*Accessible classes and call
gtk_widget_class_set_accessible_type in the custom widget's class init
function. If you also need to support earlier versions of gtk, then it
is a bit of a mess, and your best bet is probably to override
get_accessible in the class init function and create a base class
adapted from, say, GtkWidgetAccessible. For an example of how to do
this, you could look at my patch on
https://bugzilla.gnome.org/show_bug.cgi?id=669441 (the patch in
comment 7, not the much cleaner patch in comment 4, but the latter is
a good example if you only need to support gtk+ 3.8 and later). One
option might be to encapsulate the accessibility code with #if
GTK_CHECK_VERSION(3.8.0), depending on whether it's important to make
it work for gtk 2 as well.

Feel free to write if you have other questions. Sorry for not being
able to suggest anything more straight-forward in terms of
documentation, but, anyway, it would be good for more people to
understand how all of this works.

Thanks,
-Mike

On Tue, 15 Jul 2014, Mike Ray wrote:

He also said that if I add atk accessibility to it he will incorporate
the changes.

But as I don't currently know how to do this, it is likely to take me a
while.

If anybody can point me at atk tutorials and tips I'd like to have a go
as I am a big fan of SciTE on Windows.

Mike
_______________________________________________
orca-list mailing list
orca-list gnome org
https://mail.gnome.org/mailman/listinfo/orca-list
Visit http://live.gnome.org/Orca for more information on Orca.
The manual is at
http://library.gnome.org/users/gnome-access-guide/nightly/ats-2.html
The FAQ is at http://live.gnome.org/Orca/FrequentlyAskedQuestions
Log bugs and feature requests at http://bugzilla.gnome.org
Find out how to help at http://live.gnome.org/Orca/HowCanIHelp


-- 
Michael A. Ray
Analyst/Programmer
Witley, Surrey, South-east UK

The box said: 'install Windows XP, 7 or better'. So I installed Linux

Interested in accessibility on the Raspberry Pi?
Visit: http://www.raspberryvi.org/

From where you can join our mailing list for visually-impaired Pi hackers



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]