Benjamin Otte
5041286166
a11y: Unify column-by-index getting
...
We are only ever interested in visible columns. Invisible columns do not
exist for all a11y cares.
2011-11-16 04:39:25 +01:00
Benjamin Otte
bbf59c75d7
a11y: Use gtk_tree_view_get_n_columns()
...
In fact, invent our own function get_n_columns() which actually only
counts the visible functions, because that's the only ones we care
about.
The places where it's not used yet will be changed in the coming
patches.
2011-11-16 04:39:25 +01:00
Benjamin Otte
f7df354c5a
a11y: Fix get_column_index()
2011-11-16 04:39:25 +01:00
Benjamin Otte
f7fed686fd
a11y: remove argument from get_column_number()
...
The argument was always FALSE.
2011-11-16 04:39:25 +01:00
Benjamin Otte
b1fe9b6b8b
a11y: remove useless argument
...
The argument is unused these days, so don't confuse people with it.
2011-11-16 04:39:24 +01:00
Benjamin Otte
5af4ce6a66
a11y: Remove clean_rows function
...
It doesn't do anything anymore.
2011-11-16 04:39:24 +01:00
Benjamin Otte
c2410d0d04
a11y: Don't crete cell infos for non-children
...
When we use a container inbetween, this ensures that the cell infos
don't replace each other in the hash table.
2011-11-16 04:39:24 +01:00
Benjamin Otte
0b26a15b62
a11y: Make find by index lookup use the hash table again
...
This should give back the performance that was lost with the commit
"a11y: Make the cache lookup function inefficient".
2011-11-16 04:39:24 +01:00
Benjamin Otte
85fee33092
a11y: Add a hash function for cell infos
...
Note that comparing the tree is not necessary as the nodes are already
unique per row.
2011-11-16 04:39:24 +01:00
Benjamin Otte
104ddf8a6d
a11y: Compute the cell index quicker
...
We have the node available, so we can compute it from there.
2011-11-16 04:39:24 +01:00
Benjamin Otte
b8dec90f3a
a11y: Compute index the easy way
...
index is row_index * n_columns + column_index
We use it everywhere, why not here?
2011-11-16 04:39:24 +01:00
Benjamin Otte
acc5627e39
a11y: Redo indexing
...
We now index rows by actual expanded row number and don't count them
ourselves no more.
2011-11-16 04:39:24 +01:00
Benjamin Otte
e927a5b2c7
treeview: Redo row tracking
...
Track the RBNode/RBTree instead of keeping a TreeRowReference. This is a
whole lot faster and less error-prone.
Also, notify the accessible of removal of rows before actually removing
them, so we have a chance to clean up.
2011-11-16 04:39:23 +01:00
Benjamin Otte
24e4a03af2
a11y: Remove needless checks
...
The cell_row_ref and cell_col_ref variables are always non-NULL, so
there's no need to check it.
2011-11-16 04:39:23 +01:00
Benjamin Otte
918a9d0e3a
a11y: Add a cell_info_get_path() function
...
Reads better and we only need to change it in one place.
2011-11-16 04:39:23 +01:00
Benjamin Otte
9f91405d6c
a11y: Mark object as defunct in destroy notify
...
Instead of requiring a special functio to be called before just removing
from the hash table. This simplifies code a lot that used to remove from
the hash table.
2011-11-16 04:39:23 +01:00
Benjamin Otte
bd1bc88ed2
a11y: Remove in_use member
...
After the latest changes, it is now always TRUE, so adjust the code
accordingly.
2011-11-16 04:39:23 +01:00
Benjamin Otte
40b7e3044e
a11y: Don't garbage collect anymore
...
Instead, remove cell infos immediately from the hash table.
2011-11-16 04:39:23 +01:00
Benjamin Otte
64b825b87b
a11y: Improve cell_infos table
...
- Name it properly
- Make it just a set of cell_infos
Currently it's using direct hash, but as long as we don't actually
lookup stuff from it, who cares...
2011-11-16 04:39:23 +01:00
Benjamin Otte
71011f3e1e
a11y: Implement find_cell_info() using qdata lookup
...
That should be orders of magnitude faster then iterating over a hash
table.
2011-11-16 04:39:23 +01:00
Benjamin Otte
331a4c92b0
a11y: Store the cellinfo in the cell's qdata
2011-11-16 04:39:22 +01:00
Benjamin Otte
d265636526
a11y: Remove index from cellaccessible
...
That way we also get rid of the refresh_index function.
2011-11-16 04:39:22 +01:00
Benjamin Otte
f05d3f66b1
a11y: Don't use the cell's index anymore
...
We implement get_cell_index() now, so it's no longer necessary.
As a side effect, we need a different index for our hash table (which
now has a wrong name, but that will soon change).
2011-11-16 04:39:22 +01:00
Benjamin Otte
35b667a409
a11y: Implement get_child_index in treeview
2011-11-16 04:39:22 +01:00
Benjamin Otte
d5b52ae3b1
a11y: Implement get_child_index in treeviewaccessible
2011-11-16 04:39:22 +01:00
Benjamin Otte
a9dd3e559a
a11y: Make the cache lookup function inefficient
...
Ahem.
This is in preparation for future changes and is not meant to stay this
way. But I want to change the hash table's keys and this is way easier
when nobody is using them.
2011-11-16 04:31:06 +01:00
Benjamin Otte
ac29108586
a11y: Change function declaration
...
Returning an int seems way easier than having an int out argument to a
void function. Also, it doesn't lead to uninitialized memory, what a
concept!
2011-11-16 04:31:06 +01:00
Benjamin Otte
533ee181de
a11y: Add a special-case for cell index querying
...
I could have tried to make GtkContainerCellAccessible implement
GtkCellAccessibleParent, but the current implementation of that
interface doesn't make sense for it.
2011-11-16 04:31:06 +01:00
Benjamin Otte
02fd1e5a62
a11y: Add _gtk_cell_accessible_parent_get_child_index()
...
This will soon replace the shenanigans we do to keep the index of cells
current.
2011-11-16 04:31:06 +01:00
Benjamin Otte
2bd69cbf8c
a11y: Remove idle handler for focus notifications
2011-11-16 04:31:06 +01:00
Benjamin Otte
0c2f454b41
a11y: Re-implement gtk_tree_view_accessible_get_n_rows()
...
... using the new _gtk_rbtree_find_index().
2011-11-16 04:31:06 +01:00
Matthias Clasen
4904a2f45b
GtkTextViewAccessible: Respect display lines
...
This special tweak was lost when porting from GailTextUtil.
https://bugzilla.gnome.org/show_bug.cgi?id=663994
2011-11-15 00:25:18 -05:00
Matthias Clasen
005451e3f3
GtkComboBoxAccessible: Make keybindings work
...
https://bugzilla.gnome.org/show_bug.cgi?id=659151
2011-11-14 09:26:15 -05:00
Benjamin Otte
24b9599af7
a11y: Get rid of gtk.h includes in headers
...
This way, we can include them without accidentally including deprecated
code. Which means we can still use the recently added turning-off tricks
for deprecation warnings.
2011-11-10 17:10:04 +01:00
Benjamin Otte
2d3c36a021
a11y: Fix gcc warning
2011-11-10 17:10:04 +01:00
Benjamin Otte
1c96b0b838
a11y: It's not a bug if there's no row at some point
...
In that case, there's just nothing there.
2011-11-10 17:10:04 +01:00
Guillaume Desmottes
fb97c28bca
gtktreeviewaccessible: use a value_destroy_func with the cell_info_by_index hash
...
This ensures that we don't leak any GtkTreeViewAccessibleCellInfo when
re-inserting a new one with the same key.
https://bugzilla.gnome.org/show_bug.cgi?id=663694
2011-11-10 14:49:30 +01:00
Guillaume Desmottes
22807d8469
gtktreeviewaccessible: factor out cell_info_free()
...
https://bugzilla.gnome.org/show_bug.cgi?id=663694
2011-11-10 14:49:30 +01:00
Matthias Clasen
feece3c0bb
Move gtkstyle and gtkrc to deprecated/
...
This required a somewhat more substantial include reshuffling.
Some typedefs have been moved to gtkiconfactory.h and to
gtksettings.h.
2011-11-02 01:15:21 -04:00
Javier Jardón
0853ce3077
Use G_VALUE_INIT
...
Instead of an explicit { 0, } when declaring the variable.
2011-10-15 16:45:16 +01:00
Matthias Clasen
8f078992fd
Include gdk.h in gail.c
...
This is needed so that we pick up deprecation macros here in the
future.
2011-10-11 15:01:41 -04:00
Benjamin Otte
a36b05fed7
a11y: Don't include gtkx when not needed
2011-09-30 23:23:36 +02:00
Benjamin Otte
4a43034761
a11y: Remove useless check
2011-09-30 23:23:36 +02:00
Alban Crequy
6ab7b87a02
gtktreeviewaccessible: do not trigger an assertion
...
The following assertion was triggered in model_row_inserted() because
iterate_thru_children() modifies the parameter tree_model before passing it to
traverse_cells().
Gtk-CRITICAL **: gtk_tree_path_compare: assertion `b->depth > 0' failed
The stack with the bug was:
#0 gtk_tree_path_compare at gtktreemodel.c
#1 traverse_cells at gtktreeviewaccessible.c
#2 model_row_inserted at gtktreeviewaccessible.c
This patch calls iterate_thru_children() with a copy of the path so that the
original is not modified.
2011-09-23 12:04:39 -04:00
Matthias Clasen
f1476f31fe
a11y: Fix up listener registration minimally
...
For god-knows-what reason, at-spi is trying various formats
of strings when registering listeners, triggering g_warnings()
from gailutil code. Stop doing that.
Also, don't leak temporary string arrays that are a side-effect
of passing parameters around as formatted strings.
https://bugzilla.gnome.org/show_bug.cgi?id=658168
2011-09-05 11:56:54 -04:00
Alejandro Piñeiro
4244349600
a11y: Don't manage window events as a exception
...
https://bugzilla.gnome.org/show_bug.cgi?id=657260
2011-08-29 10:57:21 -04:00
Alejandro Piñeiro
08bf2e0463
a11y: Use AtkWindow on GtkWindowAccessible
...
GtkWindowAccessible doesn't require to define window related
signals. They are included on AtkWindow
2011-08-29 10:57:14 -04:00
Matthias Clasen
1090eba9a8
a11y: don't return random numbers
...
Return 0 for the image size if we don't have a pixbuf to measure.
2011-08-29 10:50:01 -04:00
Dan Winship
c4a5c99074
Fix cut-and-paste error in GtkEntryAccessible/GtkLabelAccessible
...
The y position of the character depends on the window's y coordinate,
not its x coordinate.
2011-08-10 15:19:56 -04:00
Benjamin Otte
b0e836e231
a11y: Merge gtksubmenuitem into gtkmenuitem
...
The reason why they were separate is historic, it's not useful to keep
the distinction.
2011-07-18 19:41:07 +02:00