Commit Graph

560 Commits

Author SHA1 Message Date
f840efae96 a11y: Remove "toggle" action from cell renderers
This is identical to "edit" (even though that name is kinda confusing).
2011-12-16 04:53:14 +01:00
adf183b71f treeview: Set EXPANDED state directly on a11y elements 2011-12-16 04:53:14 +01:00
ab9c2c2de2 a11y: Remove destroy_count_func usage
It's not needed anymore.
2011-12-16 04:53:14 +01:00
8ca5192d6d a11y: Emit row-deleted signal when rows get deleted
Instead of in the old callbacks.
2011-12-16 04:53:14 +01:00
25445837ca a11y: Revert 22a47c3dbd
The fix is wrong on multiple levels. I'll add a proper fix soon.

https://bugzilla.gnome.org/show_bug.cgi?id=548782
2011-12-16 04:53:14 +01:00
95dc248790 treeview: Don't use signals in a11y row expansion
Instead, add a function and call it directly.
2011-12-16 04:53:14 +01:00
d9b71702dc a11y: Add _gtk_tree_view_accessible_add_state()
... and _gtk_tree_view_accessible_remove_state(). They should be called
by gtktreeview.c to notify about changes of state for a row.
2011-12-16 04:53:13 +01:00
3badf48d2e a11y: Split out function
I want to use that function when sending notifications. See next
commits.
2011-12-16 04:53:13 +01:00
ff80ae16d9 a11y: Readd FOCUSABLE state
The state was lost in commit 08d86fabc4.

Also order the states that are always set alphabetically.
2011-12-16 04:53:13 +01:00
0ef6771bcc a11y: Remove old notify about showing/visible
As cells are always visible and showing, there is no need to do complex
notification mechanisms anymore.
2011-12-16 04:53:13 +01:00
7f42a9465a a11y: Add _gtk_cell_accessible_state_changed()
It's supposed to replace the old state_set calls.
2011-12-16 04:53:13 +01:00
90f04b56a7 a11y: Split out renderer<->atk state matching
We now keep a state map. This makes adding new states easier, and
doesn't introduce bugs with state change emissions.
2011-12-16 04:53:13 +01:00
acfb3b3d88 a11y: Don't duplicate information anymore
We do provide the expandable and expanded information via
GtkCellRendererState now so there is no need to use extra flags.
2011-12-16 04:53:13 +01:00
bb029420fd a11y: Set new treeview flags 2011-12-16 04:53:13 +01:00
78aad2d35c treeview: Use _gtk_rbtree_contains() in a11y code 2011-12-10 08:00:25 +01:00
806dca0677 treeview: Rename function
_gtk_tree_view_find_path() was not a name that not really described what
the function does. And I kept forgetting it. Also, it took the tree view
as an argument and that was completely unnecessary.
2011-11-29 20:44:57 +01:00
08d86fabc4 a11y: Implement ref_state_set using the new APIs
Various tiny semantic changes in here.

The big fix is that we consider every cell as visible and as showing if
the treeview is mapped.
This was also fixed in the tree dump test.
2011-11-24 18:29:45 +01:00
178686ba11 a11y: Add get_renderer_state() to cell accessibles
Accessibles can use this function to query the state that their row
would be rendered with.
2011-11-24 18:29:45 +01:00
bcafd9ba3c a11y: Add _gtk_cell_accessible_set_cell_data()
See the function documentation for details.

Also included is the implementation for the treeview, but no users yet.
2011-11-24 18:29:45 +01:00
416b3ed204 treeview: Notify a11y about reordered rows
That way, no more signal handler is needed in the a11y code. Plus, we
avoid needless signal emissions for rows we don't care about.
2011-11-24 18:29:44 +01:00
fbfbaa3d50 a11y: Don't create fake cell renderers 2011-11-24 18:29:44 +01:00
c3d96ff2c0 Improve AtkText implementations
There was some regressions from the recent display line fix;
while fixing it improve the test coverage and make GtkEntry
and GtkTextView return identical results.
2011-11-19 19:28:48 -05:00
f2569ba92b Add a missing static 2011-11-19 18:08:18 -05:00
acbf37bae7 a11y: Merge function into only caller
Also cleann up comments that are misleading now.
2011-11-16 04:39:26 +01:00
a4b88c47cd treeview: Call a11y functions for culmn changes directly
This way, the a11y code knows if a column was reordered, added or
removed and can do the right things instead of trying to guess and
getting it wrong.

Also, this patch finalizes the changes so that only visible columns
exist to the accessibility interface.
2011-11-16 04:39:25 +01:00
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
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
f7df354c5a a11y: Fix get_column_index() 2011-11-16 04:39:25 +01:00
f7fed686fd a11y: remove argument from get_column_number()
The argument was always FALSE.
2011-11-16 04:39:25 +01:00
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
5af4ce6a66 a11y: Remove clean_rows function
It doesn't do anything anymore.
2011-11-16 04:39:24 +01:00
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
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
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
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
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
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
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
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
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
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
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
40b7e3044e a11y: Don't garbage collect anymore
Instead, remove cell infos immediately from the hash table.
2011-11-16 04:39:23 +01:00
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
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
331a4c92b0 a11y: Store the cellinfo in the cell's qdata 2011-11-16 04:39:22 +01:00
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
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
35b667a409 a11y: Implement get_child_index in treeview 2011-11-16 04:39:22 +01:00
d5b52ae3b1 a11y: Implement get_child_index in treeviewaccessible 2011-11-16 04:39:22 +01:00