Commit Graph

187 Commits

Author SHA1 Message Date
Benjamin Otte
05eb4113d9 a11y: Fix warnings when removing widgets that don't have accessibles
The remove handler would not check that removed widgets do indeed have
an accessible associated with them and would happily run all the removal
code with a NULL object. Not good.
2011-07-09 21:24:09 +02:00
Matthias Clasen
182b6f7a3c This is more horrible than I had realized
Due to tragic misunderstandings at the birth of ATK, AtkUtil
can't actually be properly derived. Instead, each implementation
has to poke its vfuncs directly into the AtkUtilClass struct.

So painful to have shipped this stuff for 10 years...
2011-07-08 23:20:06 -04:00
Matthias Clasen
d7ded58f51 Clean up gailutil.c a bit 2011-07-08 23:05:51 -04:00
Matthias Clasen
4c76d9fe31 Separate GailUtil and GailMisc
Not sure how these ended up as siamese twins in the same
source file. Of course, separating them doesn't make them
any more beautiful.
2011-07-08 22:52:03 -04:00
Matthias Clasen
56fb725a7e Convert GailToplevel to GtkToplevelAccessible 2011-07-08 22:39:00 -04:00
Matthias Clasen
9979e2a443 Drop remaining uses of gail_misc api
Fold them into their last remaining user, in gailtextcell.c
2011-07-08 22:03:13 -04:00
Matthias Clasen
64d3314a64 Drop now unused gail_misc API 2011-07-08 20:12:45 -04:00
Matthias Clasen
db1eeb0651 Drop gailtextutil from gtk/a11y
The last user was GailTextCell, and that can use gtk_pango
api instead.
2011-07-08 18:41:01 -04:00
Matthias Clasen
77db52ac9a We're no longer a module
And we don't support not loading the module anymore, either.
So take out the code that looks at environment variables for
that purpose, and don't print a misleading message about
module loading.
2011-07-08 16:37:07 -04:00
Matthias Clasen
fabc5a9117 gail_misc_add_attribute no longer used outside gailmisc.c
This reduces the number of unwanted exported gail symbols
from 90 to 89. Still some way to go...
2011-07-08 16:31:48 -04:00
Matthias Clasen
a38d119f16 Drop gail_misc_buffer_get_run_attributes
Instead fold the code into the sole caller and get rid
of gailmisc usage in the text view accessible altogether.
2011-07-06 23:19:40 -04:00
Matthias Clasen
d1b0ae62a5 Drop an unneeded include
One step close to dropping gailmisc.
2011-07-06 23:18:52 -04:00
Benjamin Otte
15ab20fdfb a11y: Make submenu code handle non-existing submenus
As we're going to merge the two accessibles for submenus, we need to
make sure the code that insisted on submenus can handle the case where
no submenu exists.
2011-07-06 20:55:11 +02:00
Benjamin Otte
d5dad3422b a11y: Fix leaking of state sets 2011-07-06 20:48:35 +02:00
Benjamin Otte
30930e643f a11y: Redo TextView cursor/selection signal handling
As part of the removal of idles, redo how we emit signals on the
accessible. Should work as good or better than before, but with a lot
less code.
2011-07-06 16:50:09 +02:00
Benjamin Otte
4abbe4cb52 a11y: Use the canonical way to connect to signals
No functional changes at all, the generated code should in fact be
identical.
2011-07-06 16:40:05 +02:00
Benjamin Otte
eeae39d359 a11y: Simplify code 2011-07-06 16:40:05 +02:00
Benjamin Otte
659d24c9ab a11y: Remove idle handler for switch action handling 2011-07-06 16:40:04 +02:00
Benjamin Otte
8efc350127 a11y: Remove set_description handling from GtkSwitch
The function is unused in AT-SPI.
2011-07-06 16:40:04 +02:00
Benjamin Otte
ccbe6c816b range: Do not use idles to trigger actions 2011-07-06 16:40:04 +02:00
Benjamin Otte
2870b58638 a11y: Don't use an idle handler for entry actions 2011-07-06 16:40:04 +02:00
Rico Tzschichholz
2c51d76c1f Fix two typos in Makefiles 2011-07-06 16:33:55 +02:00
Javier Jardon
8a84056d0a gtktreeviewaccessible: free the string in the correct position 2011-07-06 14:36:29 +01:00
Matthias Clasen
2980659ab1 Add api for setting the layer
Add api for setting the component layer, instead of open-coding
the object data key, and use it.
2011-07-05 16:10:26 -04:00
Matthias Clasen
e1463ab57c Silence compiler warnings 2011-07-05 16:10:26 -04:00
Matthias Clasen
5d90ca35c2 Set accessible parents of notebook children
Explicitly set the notebook page object as the accessible parent
of the page, otherwise, AtkObject follows the widget parents chain
and makes the notebook accessible the parent.
2011-07-05 16:10:26 -04:00
Matthias Clasen
b83122dc05 Drop use of factories for cell accessibles 2011-07-05 16:10:26 -04:00
Matthias Clasen
5559242ea9 Change the toolkit name in GailUtil to 'gtk', too 2011-07-05 16:10:25 -04:00
Matthias Clasen
b61043dcfa Change the toolkit attribute from gail to gtk
Update test results to match.
2011-07-05 16:10:25 -04:00
Matthias Clasen
eb81d45024 Move GtkSwitchAccessible to a11y/ 2011-07-05 16:10:25 -04:00
Matthias Clasen
e6251f0248 Move GtkSpinnerAccessible to a11y/ 2011-07-05 16:10:25 -04:00
Matthias Clasen
f839379d01 Drop the atk_component_add/remove_focus_handler implementation
Instead, just connect to focus-event directly.
2011-07-05 16:09:57 -04:00
Matthias Clasen
775ccf39e7 Initial conversion of GailWidget to GtkWidgetAccessible 2011-07-05 16:09:57 -04:00
Matthias Clasen
89e57c6978 Convert GailContainer to GtkContainerAccessible 2011-07-05 16:08:57 -04:00
Matthias Clasen
64eec8a97a Convert GailMenuShell to GtkMenuShellAccessible 2011-07-05 16:08:57 -04:00
Matthias Clasen
0e2f3271b9 Convert GailMenu to GtkMenuAccessible 2011-07-05 16:08:57 -04:00
Matthias Clasen
ed08baccd9 Convert GailWindow to GtkWindowAccessible
While doing this, drop the get_mdi_zorder implementation
that really should come from the window manager side. Dropping
this saves some 500 lines.
2011-07-05 16:08:57 -04:00
Matthias Clasen
8432ea3574 Convert GailButton to GtkButtonAccessible
This drops the AtkText implementation, and also strips handling
of children out. Instead of listening for enter/leave/press/released,
just listen for state changes on the widget.
2011-07-05 16:08:57 -04:00
Matthias Clasen
a3113386df Drop unneeded includes of gdkkeysyms.h
Just a minor cleanup; gtk.h includes this header in GTK+ 3.
2011-07-05 16:08:57 -04:00
Matthias Clasen
254538bf77 Drop unneeded includes gailtextutil.h
Almost done with getting rid of GailTextUtil.
2011-07-05 16:08:57 -04:00
Matthias Clasen
3459dc480a Convert Gail(Sub)MenuItem to GtkAccessible classes
This is along the same lines as the previous commit,
with the same caveat.
2011-07-05 16:08:57 -04:00
Matthias Clasen
209a2d1ba0 Convert GailCheck(Sub)MenuItem to GtkAccessible classes
This is along the same lines as the previous commit,
with the same caveat.
2011-07-05 16:08:57 -04:00
Matthias Clasen
64b9599866 Convert GailRadio(Sub)MenuItem to GtkAccessible classes
The way submenus are handled here isn't really right, since
they can come and go at runtime, but I've left it like this
for now. A side-effect is that we can't use
gtk_widget_class_set_accessible_type here, but have to
override get_accessible.
2011-07-05 16:08:57 -04:00
Matthias Clasen
896769df69 Convert GailExpander to GtkExpanderAccessible
At the same time, drop the AtkText implementation.
Also, reintroduce a GtkBoxAccessible, since the previous
way of setting the role in get_accessible was affecting
GtkBox subclasses negatively.

Adjust expected test output to match.
2011-07-05 16:08:57 -04:00
Matthias Clasen
ff5eb4adfe Convert GailStatusbar to GtkStatusbarAccessible
And drop the AtkText implementation at the same time.
Update test results to match.
2011-07-05 16:08:56 -04:00
Matthias Clasen
9a0fd43df2 Convert GailNotebookPage to GtkNotebookPageAccessible
At the same time, drop the AtkText implementation, and simplify
accordingly. Test output has been updated to match.
2011-07-05 16:08:56 -04:00
Matthias Clasen
0bbe09a28e Avoid excessive child_changed::added emissions
We are listening to page-added and emit child_changed::added
in response to that, so don't let the add_gtk handler add
extraneous extra signal emissions. This fixes the child-handling
test for GtkNotebook.
2011-07-05 16:08:56 -04:00
Matthias Clasen
318192b937 Convert GailNotebook to GtkNotebookAccessible 2011-07-05 16:08:56 -04:00
Matthias Clasen
6012f096c9 Convert GailTreeView to GtkTreeViewAccessible
Mostly code rearrangement and cleanup, but also a memory
leak fix in gtk_tree_view_accessible_get_column_description().
2011-07-05 16:08:56 -04:00
Matthias Clasen
7371e3f7cf Convert GailComboBox to GtkComboBoxAccessible 2011-07-05 16:08:56 -04:00
Benjamin Otte
5d57716ef8 a11y: Make notebookpage emit child-added signal sync
Don't use an idle handler
2011-07-05 16:08:55 -04:00
Benjamin Otte
f59cb0e05d a11y: Keep the gail notebook in the notebook page
We used to keep the GtkNotebook, but that causes issues at creation time
of the GailNotebook, when the GtkNotebook does not yet have an
accessible set and so it can't be queried.
2011-07-05 16:08:55 -04:00
Benjamin Otte
790d8e324b a11y: Redo notebook page management
Previously, the code tried to track the indexes of the pages and keep
them up to date in a list and tracking the index in the
GtkNotebookPage. Now, we store the widget we are tracking in the
GailNotebookPage and keep a hash table of widget=>GailNotebookPage in the
GailNotebook. This frees us from the burden of tracking page changes.
2011-07-05 16:08:55 -04:00
Benjamin Otte
9cf9abd5b0 a11y: Redo notebok page lifetime management
It is now done by the GailNotebook. Previously it tried to do it itself.
Also, we now use GtkNotebook::page-removed to track the removal, as
opposed to child::parent-set.
2011-07-05 16:08:55 -04:00
Benjamin Otte
fdc40111f8 a11y: Remove idle handler from menuitem action 2011-07-05 16:08:55 -04:00
Benjamin Otte
3e49e2387c a11y: Remove idle handler for expander actions 2011-07-05 16:08:55 -04:00
Benjamin Otte
55dec3a798 a11y: Remove idle handler for combo box action 2011-07-05 16:08:55 -04:00
Benjamin Otte
05d7260e19 a11y: Remove idle handler from GailButton 2011-07-05 16:08:55 -04:00
Benjamin Otte
7c00940470 a11y: Use gtk_button_clicked() to click a button.
Don't fiddle with events.
2011-07-05 16:08:55 -04:00
Benjamin Otte
6b02119bb1 a11y: Remove "press" and "release" actions from buttons
http://mail.gnome.org/archives/gnome-accessibility-devel/2011-June/msg00020.html
has some details about this.
The main problem is that the internal button states get fiddled with and
that is not a good idea to do from an AT.

Also update tests to reflect that.
2011-07-05 16:08:55 -04:00
Benjamin Otte
8e28e22bcf a11y: Do actions on cells immediately
No idle handlers, please.
2011-07-05 16:08:55 -04:00
Benjamin Otte
52c0933bc0 a11y: Use simple code for window name change tracking
Remove idle handler and omit checking if the name really was changed.
ATs will either have to live with the name not really changoing or we
should check in GtkWindow.
2011-07-05 16:08:55 -04:00
Matthias Clasen
0b952dcc85 Emit the same changed_children details as everybody else
...if any of this was documented...
2011-07-05 16:08:55 -04:00
Matthias Clasen
48c3d8e1cf Drop gail-private-macros.h
Nothing like obfuscating an early return behind a macro.
2011-07-05 16:08:55 -04:00
Matthias Clasen
53c90cebb2 Convert GailScrolledWindow to GtkScrolledWindowAccessible 2011-07-05 16:08:54 -04:00
Matthias Clasen
fecefc6cdf Drop use of gail_return_if_fail 2011-07-05 16:08:54 -04:00
Matthias Clasen
3ab623e391 Fix a test crash 2011-07-05 16:08:54 -04:00
Matthias Clasen
f052710b85 Remove old files 2011-07-05 16:08:54 -04:00
Matthias Clasen
13e8bace97 Convert GailScaleButton to GtkScaleButtonAccessible 2011-07-05 16:08:54 -04:00
Matthias Clasen
583a5e4ea4 Drop another unused include 2011-07-05 16:08:54 -04:00
Matthias Clasen
a8b67d2064 Convert GailToggleButton to GtkToggleButtonAccessible 2011-07-05 16:08:54 -04:00
Matthias Clasen
f54cc70238 Nuke GailAdjustment
This was a fairly trivial wrapper around GtkAdjustment with
no particularly important reason for existence.
2011-07-05 16:08:54 -04:00
Matthias Clasen
1ff2076cdd GtkAdjustment: add an auxiliary function
This is going to be used in AtkValue implementations.
2011-07-05 16:08:54 -04:00
Matthias Clasen
98918137a8 Drop an unneeded include 2011-07-05 16:08:54 -04:00
Matthias Clasen
e2847d9637 Convert GailRadioButton to GtkRadioButtonAccessible 2011-07-05 16:08:54 -04:00
Matthias Clasen
369b4a605e GtkLabelAccessible: drop an unneeded include
We eventually want to get rid of gailmisc, so this is progress.
2011-07-05 16:08:54 -04:00
Matthias Clasen
c750139c85 Convert GailPaned to GtkPanedAccessible 2011-07-05 16:08:54 -04:00
Matthias Clasen
7f58482d4e Convert GailRange to GtkRangeAccessible 2011-07-05 16:08:54 -04:00
Matthias Clasen
5f6ed88b7a GtkTextViewAccessible: get rid of GailTextUtil usage
Instead, use the newly added GtkTextBuffer functions.
2011-07-05 16:08:53 -04:00
Matthias Clasen
d15319b717 Convert GailLinkButton to GtkLinkButtonAccessible 2011-07-05 16:08:53 -04:00
Matthias Clasen
2152424541 Convert GailImage to GtkImageAccessible 2011-07-05 16:08:53 -04:00
Matthias Clasen
a166051b60 Convert GailProgressBar to GtkProgressBarAccessible 2011-07-05 16:08:53 -04:00
Matthias Clasen
87195bc3cd Convert GailScrollbar to GtkScrollbarAccessible 2011-07-05 16:08:53 -04:00
Matthias Clasen
a129392bb4 Convert GailFrame to GtkFrameAccessible 2011-07-05 16:08:53 -04:00
Matthias Clasen
1ef996ca3c Remove GailBox
It was only setting a role, and we can do that just as well
in get_accessible().
2011-07-05 16:08:53 -04:00
Matthias Clasen
6aedf8f066 Remove GailCalendar
This was just setting a role, which we can do just as well
in get_accessible().
2011-07-05 16:08:10 -04:00
Matthias Clasen
4a7a667f5f Drop GailSeparator
Instead, just set a suitable role on a GtkWidgetAccessible.
2011-07-05 16:08:10 -04:00
Matthias Clasen
ab8d94d195 Convert GailArrow to GtkArrowAccessible 2011-07-05 16:08:10 -04:00
Matthias Clasen
5fb86cf7da Convert GailScale to GtkScaleAccessible 2011-07-05 16:08:10 -04:00
Matthias Clasen
ce793bd3ee GtkTextviewAccessible: some initial cleanup and code rearrangement 2011-07-05 16:08:10 -04:00
Matthias Clasen
42cc6ad6c6 GtkEntryAccessible: Slight simplification of attribute handling
Make this use the same convenience function as is used elsewhwere.
2011-07-05 16:08:09 -04:00
Matthias Clasen
786ade734c GtkLabelAccessible: avoid some pointless variables 2011-07-05 16:08:09 -04:00
Matthias Clasen
3f9d39ffce Initial move GailTextView -> GtkTextViewAccessible
This just does the renaming, and drops the factory.
2011-07-05 16:08:09 -04:00
Benjamin Otte
a5b08ea931 gail: Remove AtkText implementation from GailScale
AtkText should only be implemented by text editing widgets. For just
giving out a small text string, AtkObject::name should be used.
2011-07-05 16:08:09 -04:00
Benjamin Otte
d0f0d4c77f a11y: Export the printed value of a scale as the description. 2011-07-05 16:08:09 -04:00
Benjamin Otte
bbda677728 a11y: Remove AtkText implementation from GailMenuitem
AtkText should only be implemented by text editing widgets. For just
giving out a small text string, AtkObject::name should be used.
2011-07-05 16:08:09 -04:00
Benjamin Otte
0ca420918b a11y: Remove AtkText implementation from GailExpander
AtkText should only be implemented by text editing widgets. For just
giving out a small text string, AtkObject::name should be used.
2011-07-05 16:08:09 -04:00
Matthias Clasen
2358be732d Minor optimization
No need to get the cursor position twice in a row.
2011-07-05 16:08:09 -04:00
Matthias Clasen
262e59869f GtkLabelAccessible: some selection handling fixes
Don't move the cursor to 0 when removing the selection,
and don't overlook growing selections.
2011-07-05 16:08:09 -04:00
Matthias Clasen
2f758b9b50 GtkEntryAccessible: shorten some function names
Just cosmetics
2011-07-05 16:08:09 -04:00