118bc610f6
a11y: Move update_cache to GtkCellAccesible
...
This way, we can call it for container renderers, too.
2011-12-16 04:53:16 +01:00
2e7fcc24ac
a11y: Redo cell update function
...
1) always emit signals
Previously, newly constructed cells would be told to not emit events.
However, we can ensure that nothing is connected to the signals, so
they will not actually emit anything.
2) don't return anything
The return value is unused anyway.
2011-12-16 04:53:16 +01:00
a3f60349ed
a11y: Don't copy data between renderers
...
Now that we don't use custom renderers anymore, we don't need to copy
data between them anymore.
2011-12-16 04:53:16 +01:00
8ac579602c
a11y: Use cell renderer creation funcs unconditionally
...
Also delete the previous "new" functions and actually set the real cell
renderer here.
2011-12-16 04:53:16 +01:00
e5d5863a3f
a11y: Use the accessible type
2011-12-16 04:53:16 +01:00
dfb82333a3
a11y: Remove unused variable
2011-12-16 04:53:15 +01:00
ccabccc42f
treeview: Send changed signal directly to a11y code
...
No more signal handler is needed, therefore the code can also get rid of
tracking the treemodel. And we use a faster approach for iterating the
changed cellrenderers: We just iterate all columns instead of over all
cell accessibles, as that number is likely quite a bit smaller.
2011-12-16 04:53:15 +01:00
c9c7e91db9
a11y: Improve treeview's add/remove_selection()
2011-12-16 04:53:15 +01:00
dc8f5effd4
a11y: Improve get_selected_rows()
2011-12-16 04:53:15 +01:00
20b56689c5
a11y: Improve table_is_row_selected()
2011-12-16 04:53:15 +01:00
3112679a5e
treeview: Signal selection changes to the accessible
...
And another signal gone.
2011-12-16 04:53:15 +01:00
1a3226e2f7
a11y: Emit children-changed properly for treeviews
...
Fixes the patch reverted in b7e74ef95f1d9cd851fb81a124beca0ca11dad00
properly.
https://bugzilla.gnome.org/show_bug.cgi?id=548782
2011-12-16 04:53:15 +01:00
0005d820c7
treeview: Remove unnecessary accessible_expanded()
...
Instead, just call remove_state().
2011-12-16 04:53:15 +01:00
c7b82c2cea
treeview: Add add() function to accessible
...
... and use that to emit the insertion signals.
2011-12-16 04:53:14 +01:00
82a9f6faa0
treeview: Set expandable flag from treeview
...
... instead of trying to update it manually.
2011-12-16 04:53:14 +01:00
9e9533fc88
a11y: Redo cell accessible action handling
...
Multiple changes:
- actions are now available unconditionally, but only work in the right
state. This mirrors other actions.
- instead of adding actions manually, they invoke the action on the
GtkCellAccessibleParent interface.
Tests have been updated to reflect the changes
2011-12-16 04:53:14 +01:00
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
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
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
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
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