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
Matthias Clasen
ca166c9a1e
Remove a bit of dead code
2011-07-05 16:08:08 -04:00
Matthias Clasen
442ec1b624
GtkEntryAccessible: Clean up the AtkAction implementation a bit
...
No functional changes.
2011-07-05 16:08:08 -04:00
Matthias Clasen
99a54565a3
Purge traces of insert idle handler
2011-07-05 16:08:08 -04:00
Matthias Clasen
212241ffda
GtkEntryAccessible: Rework text_changed handling
...
No more signal emission from an idle.
2011-07-05 16:08:08 -04:00
Matthias Clasen
7872c2c19e
GtkEntryAccessible: port from GailTextUtil to GtkPango
...
Also clean up and rearrange the code.
As a side-effect, the no-longer-existing stipple attributes
are dropped. Update test results to match.
2011-07-05 16:08:08 -04:00
Matthias Clasen
b83ee1e5f9
Allow use of private api in a11y/
2011-07-05 16:08:08 -04:00
Matthias Clasen
52a2e1e628
Trivial whitespace fix
2011-07-05 16:08:08 -04:00
Matthias Clasen
6c7e858286
GtkSpinButtonAccessible: Coding style cleanups
...
And some code rearrangement.
2011-07-05 16:08:08 -04:00
Matthias Clasen
918514d51d
First cut at GailEntry -> GtkEntryAccessible
...
Replace the factory for entry and spin button with
gtk_widget_class_set_accessible_type() calls, and move then
to the GtkAccessible namespace.
2011-07-05 16:08:08 -04:00
Matthias Clasen
c74ccbb86e
Port GtkLabelAccessible from GailTextUtil to GtkPango api
...
Unfortunately, we still keep a copy of the text around, for
::insert/::delete signals; those emissions need to be moved to
GtkLabel itself.
2011-07-05 16:08:07 -04:00
Benjamin Otte
5ec01aac61
a11y: Remove setters for column description/header
2011-07-05 16:08:07 -04:00
Benjamin Otte
44e4b94acb
a11y: Make treeview header and caption no longer settable
...
It's not exposed in AT-SPI so we don't need it.
2011-07-05 16:08:07 -04:00
Benjamin Otte
56ebb3dd0e
a11y: Remove setters for row description/header
...
AT-SPI doesn't expose them, so there's no need to keep them.
2011-07-05 16:08:07 -04:00
Matthias Clasen
828d70c6d7
GtkLabelAccessible: remove redundant check
...
We always have the textutil now, so remove some NULL checks.
Also, never say 'State is defunct' again...
2011-07-05 16:08:06 -04:00
Matthias Clasen
441bf26a2e
GtkLabelAccessible: remove broken workarounds
...
This removes a horrible workaround for bug 126797. To prevent
picking up accidental markup in label texts, the label accessible
is listening for window creation and mapping and defers initializing
its text until then.
2011-07-05 16:08:06 -04:00
Matthias Clasen
a381fd288c
GailLabel -> GtkLabelAccessible
...
A first experimental conversion from the gail namespace to gtkaccessible.
At the same time, use gtk_widget_class_set_accessible_type() to register
the accessible type for GtkLabel.
2011-07-05 16:08:06 -04:00
Matthias Clasen
a0790f1000
Remove gail_widget_new()
...
The function was unused and unnecessary.
2011-07-05 16:08:06 -04:00
Matthias Clasen
e80e585639
Forgotten file
2011-07-05 16:08:06 -04:00
Matthias Clasen
2deeab4c4f
GailTreeView: optimize a bit
...
Avoid many unnecessary list iterations by using a hash table
to store cell infos, and caching row and column counts. Based
on patches by William Jon McCann, bug 554171.
tree-performance results:
before: (MINPERF:large tree test with a11y: 9.18531sec)
after: (MINPERF:large tree test with a11y: 0.923463sec)
for comparison, without accessibility:
(MINPERF:large tree test: 0.016179sec)
2011-07-05 16:08:05 -04:00
Matthias Clasen
4573659deb
Don't pass NULL to functions expecing a real string
...
...and when you do pass them a real string, don't leak it.
2011-07-05 16:08:04 -04:00
Benjamin Otte
521f9e2f15
gail: Add support for action_set_description
...
As set_description is never called and unsupported by the at-spi, we can
omit implementing it.
This means we can also omit get_description calls in various places, as
they'd just return the default value: NULL.
2011-07-05 16:08:04 -04:00
Benjamin Otte
9ddea3f4e1
a11y: Remove hack for old code
...
This code was supposed to work around a bad interaction between GOK and
Nautilus from 7 years ago.
If it still exists, the GOK developers may complain to the Nautilus
developers.
https://bugzilla.gnome.org/show_bug.cgi?id=137401
2011-07-05 16:08:04 -04:00
Benjamin Otte
a65cb51d49
gail: Remove useless code
...
The ATK default code does the same thing as these two functions.
2011-07-05 16:08:04 -04:00
Matthias Clasen
ffb6df5f42
GailTreeView: deal with absence of model
2011-07-05 16:08:02 -04:00
Matthias Clasen
7f44184f61
GailImageCell: Deal with absence of pixbufs
...
...and when there are pixbufs, don't leak them.
2011-07-05 16:08:02 -04:00
Benjamin Otte
5449ec0a30
gail: Fix compile warning
2011-07-05 16:08:01 -04:00
Matthias Clasen
0311ffe023
Fix some problems with the GailLinkButton implementation
2011-07-05 16:07:59 -04:00
Matthias Clasen
9860acfcbe
Remove remnants of GnomeCanvas
...
There were some random places where gail was poking at types
to see if they were a GnomeCanvas. Just remove this.
2011-07-05 16:07:58 -04:00
Benjamin Otte
dfe5459437
a11y: Remove unused HTML objects
...
Seems they were for GtkHTML and never used since GAIL got imported into
GTK.
2011-07-05 16:07:57 -04:00
Matthias Clasen
d4a1a03614
No need for gail.h
2011-07-05 16:07:57 -04:00
Matthias Clasen
9453332cce
NO_GAIL not used anymore
2011-07-05 16:07:57 -04:00
Matthias Clasen
f1bf642c98
We're not a module anymore
...
So no need to implement module entry points; and libgnome is
dead too, so no need to export functions for it either.
2011-07-05 16:07:57 -04:00
Benjamin Otte
773df067e8
gtk: Include gail by default, don't build it as a module
...
It is now no longer possible to disable it.
This doesn't matter though because GTK will not instantiate a11y
objects until you actually use it. So nothing changes in practice.
2011-07-05 16:07:56 -04:00
Benjamin Otte
8c32d2d516
gtk: Move a11y tests fro a11y/tests to tests/a11y
2011-07-05 16:07:56 -04:00
Benjamin Otte
48b9521cbb
gail-util: Move into toplevel directory
2011-07-05 16:07:56 -04:00
Benjamin Otte
b6025e44a9
gail: Copy gail-util functions into gail
...
Otherwise we get a circular dependency if we move libgail into GTK:
GTK depends on gail-util depends on gail (is part of GTK)
2011-07-05 16:07:56 -04:00
Benjamin Otte
df2e122b5c
gail: Move from modules/other/gail to gtk/a11y
2011-07-05 16:07:56 -04:00