Benjamin Otte
ee91e272a8
iconview: Remove needless requirement
...
If we use
&item->cell_area
instead of
(GdkRectangle *) item
there is no need anymore to keep the cell_area as the first member of
the the item. And we cget compile-time checks for changes to the item
struct.
2012-05-07 00:12:26 +02:00
Benjamin Otte
47e44028e1
a11y: Add back the 'toggle' actions
...
This is a hack.
But as long as Orca cannot figure out if a cell is heckable, the best we
can do is support the old way of providing a "toggle" action.
https://bugzilla.gnome.org/show_bug.cgi?id=672367
https://bugzilla.gnome.org/show_bug.cgi?id=672368
https://bugzilla.gnome.org/show_bug.cgi?id=672369
2012-03-19 02:26:16 +01:00
Benjamin Otte
50e3f532b9
a11y: Only care about GtkOrientable::orientation
...
There are other widgets (like PanelToplevel) that aren't a GtkOrientable
but still have that property.
2012-03-09 13:23:05 +01:00
Benjamin Otte
2353d60b8a
types: Move GtkAdustment declaration to gtktypes.h
...
... and make all the headers to not include gtkadjustment.h anymore. Of
course, also include it in the source files instead.
2012-03-03 19:45:03 +01:00
Javier Jardón
9d0febc9a6
Change FSF Address
2012-02-27 17:06:11 +00:00
Matthias Clasen
140e884868
Symbol exporting fixes
2012-02-21 01:50:19 +01:00
Matthias Clasen
e1a625aa78
GtkColorSwatch: Add accessible actions
2012-02-14 21:16:52 -05:00
Benjamin Otte
90e65f30ab
a11y: Mark cells as defunct when deleting them
...
Just unreffing isn't enough, atk-bridge might have a reference to the
object still.
2012-02-12 16:45:14 +01:00
Benjamin Otte
194a48bd4a
a11y: Redo ref_accessible_at_point()
...
use direct access to the RBTree instead of fiddling with the path.
Removes the lat caller of get_index() and with it count_rows(), so those
are gone now.
2012-02-11 05:11:00 +01:00
Benjamin Otte
3827d75f64
a11y: create focus cell accessibles when they get focused
2012-02-11 04:44:27 +01:00
Benjamin Otte
bf8d9ceb2f
a11y: Split out cell creation function
2012-02-11 04:41:45 +01:00
Benjamin Otte
315ac9413b
a11y: Set relations without tree path
...
We can directly use at the rbtree's parent.
2012-02-11 04:13:04 +01:00
Benjamin Otte
6130c65470
a11y: Remove unused variable
2012-02-11 03:42:14 +01:00
Benjamin Otte
da30c8253b
a11y: Keep treeview accessibles around
...
Refcounting behavior kinda requires that we track of accessibles until
the row goes away. This is necessary for reference handling and for some
assumptions that atk-bridge does.
2012-02-11 03:37:25 +01:00
Benjamin Otte
5e587229c8
a11y: Remove old treeview focus tracking code
2012-02-11 03:14:22 +01:00
Benjamin Otte
24db6d7a6f
a11y: Emit focus change events when focus cell changes
2012-02-11 03:02:20 +01:00
Benjamin Otte
07f8336dbd
a11y: Update treeview focused status
...
... when the cursor row changes. Also emit active-descendant-changed.
2012-02-11 02:50:26 +01:00
Benjamin Otte
f90ff5d50b
treeview: Notify accessible about focus changes
2012-02-11 02:38:48 +01:00
Benjamin Otte
a4559f1e19
treeview: Tell accessible about focus column changes
2012-02-11 01:59:19 +01:00
Benjamin Otte
dbabff0846
a11y: Invoke key snooper directly
...
Gets around the deprecated function warnings.
2012-01-19 10:32:21 +01:00
Benjamin Otte
ed8e7d1793
Revert "a11y: Remove keysnooping support"
...
This reverts commit 0c8ecba7dc
.
The change broke Orca completely, and we need a proper fix first.
So we have to live with the bugs intorduced by this until then.
2012-01-18 18:33:11 +01:00
Matthias Clasen
3e6b37726a
Remove a check that broke the color chooser a11y dump
...
With the visible check, the opacity slider ended up without
a labeled-by, which is sad.
2012-01-16 21:05:01 -05:00
Benjamin Otte
ff1e1e1f91
a11y: Disconnect from buffer signals
...
This way, we don't get crashes when the buffer is still in use after a
TextView gets finalized.
https://bugzilla.gnome.org/show_bug.cgi?id=667632
2012-01-12 04:45:34 +01:00
Benjamin Otte
0c8ecba7dc
a11y: Remove keysnooping support
...
As previously announced, key snooping is something that we should not
support in GTK. In particular because AT-SPI made every key press a
synchronous DBUS call / spawned a nested main loop with the key
snoopers. This breaks responsiveness, order of key presses and internal
consistency when the AT decides to remove key events.
2012-01-06 05:23:42 +01:00
Matthias Clasen
2637240abe
Remove an unnecessary warning
...
Don't warn if there's more than one mnemonic label for a widget,
and skip invisible labels.
Bug 665015
2011-12-30 02:01:15 -05:00
Benjamin Otte
902c5c6979
a11y: emit entry signals immediately
...
We want to emit signals when stuff happens, not sometime later. That way
we can also catch the correct text that was deleted.
https://bugzilla.gnome.org/show_bug.cgi?id=659445
2011-12-19 16:17:14 +01:00
Benjamin Otte
3d4a8dabb2
a11y: implement widget_(un)set in ContainerCell
2011-12-19 16:17:13 +01:00
Benjamin Otte
d2a58446ea
a11y: Make GtkCellAccessible a GtkAccessible
2011-12-19 16:17:13 +01:00
Benjamin Otte
0c1f2f2fc1
widget: Set widget in accessible's constructor
...
No need to add t manually later.
2011-12-19 16:17:13 +01:00
Benjamin Otte
d801b28365
a11y: Don't connect_destroyed anymore
...
It's not used now that set_widget() does the right thing.
2011-12-19 16:17:13 +01:00
Benjamin Otte
1961be9ee9
iconview: Simplify adjustment monitoring for accessible
2011-12-19 16:17:13 +01:00
Benjamin Otte
4652d4c399
a11y: Remove widget_destroyed call
...
GtkAccessible does all of that for us now.
2011-12-19 16:17:13 +01:00
Benjamin Otte
80a0413d40
a11y: Use widget_unset vfunc in treeview
2011-12-19 16:17:13 +01:00
Benjamin Otte
7b5b678e2e
a11y: Fix crash in notebook
...
When the accessible was disposed before the notebook it referenced, the
weak ref could still trigger. This works around it.
2011-12-19 16:17:13 +01:00
Benjamin Otte
1305815bde
iconview: Split out iconview accessible
2011-12-19 16:17:12 +01:00
Benjamin Otte
e4f6a7124b
a11y: Simplify code
...
Use peek_cell() instead of a custom find_cell() function that duplicates
loads of functionality.
2011-12-19 16:17:12 +01:00
Benjamin Otte
113aff673f
a11y: Don't emit children-changed when nothing changed
...
When we have 0 columns, no children ever get added or removed.
2011-12-16 13:39:43 +01:00
Benjamin Otte
c0fdcbf513
a11y: Remove unused gtk_cell_accessible_set_cell_data()
2011-12-16 04:53:17 +01:00
Benjamin Otte
b8b8ba8ed9
a11y: Make boolean cell render report its states the new way
2011-12-16 04:53:17 +01:00
Benjamin Otte
64aa203773
a11y: Refactor treeview code even more
...
- Split out set_cell_data()
- Use it
- Get rid of update_cell_value() function, it's now just 2 calls
2011-12-16 04:53:16 +01:00
Benjamin Otte
eb6465167e
a11y: Redo function signature
...
With the recent changes to gtk_cell_accessible_update_cache(), the
update_cell_value() function now needs less code, too.
2011-12-16 04:53:16 +01:00
Benjamin Otte
4ac501736e
a11y: Implement GtkContainerCellAccessible.update_cache
2011-12-16 04:53:16 +01:00
Benjamin Otte
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
Benjamin Otte
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
Benjamin Otte
5cca6b2dc2
a11y: Remove unused function
2011-12-16 04:53:16 +01:00
Benjamin Otte
d2a9220006
a11y: remove now unused property lists
2011-12-16 04:53:16 +01:00
Benjamin Otte
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
Benjamin Otte
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
Benjamin Otte
e5d5863a3f
a11y: Use the accessible type
2011-12-16 04:53:16 +01:00
Benjamin Otte
c28f641921
a11y: Add GtkRendererCellAcessible::renderer
2011-12-16 04:53:15 +01:00
Benjamin Otte
dfb82333a3
a11y: Remove unused variable
2011-12-16 04:53:15 +01:00
Benjamin Otte
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
Benjamin Otte
c9c7e91db9
a11y: Improve treeview's add/remove_selection()
2011-12-16 04:53:15 +01:00
Benjamin Otte
dc8f5effd4
a11y: Improve get_selected_rows()
2011-12-16 04:53:15 +01:00
Benjamin Otte
20b56689c5
a11y: Improve table_is_row_selected()
2011-12-16 04:53:15 +01:00
Benjamin Otte
3112679a5e
treeview: Signal selection changes to the accessible
...
And another signal gone.
2011-12-16 04:53:15 +01:00
Benjamin Otte
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
Benjamin Otte
0005d820c7
treeview: Remove unnecessary accessible_expanded()
...
Instead, just call remove_state().
2011-12-16 04:53:15 +01:00
Benjamin Otte
c7b82c2cea
treeview: Add add() function to accessible
...
... and use that to emit the insertion signals.
2011-12-16 04:53:14 +01:00
Benjamin Otte
82a9f6faa0
treeview: Set expandable flag from treeview
...
... instead of trying to update it manually.
2011-12-16 04:53:14 +01:00
Benjamin Otte
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
Benjamin Otte
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
Benjamin Otte
adf183b71f
treeview: Set EXPANDED state directly on a11y elements
2011-12-16 04:53:14 +01:00
Benjamin Otte
ab9c2c2de2
a11y: Remove destroy_count_func usage
...
It's not needed anymore.
2011-12-16 04:53:14 +01:00
Benjamin Otte
8ca5192d6d
a11y: Emit row-deleted signal when rows get deleted
...
Instead of in the old callbacks.
2011-12-16 04:53:14 +01:00
Benjamin Otte
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
Benjamin Otte
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
Benjamin Otte
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
Benjamin Otte
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
Benjamin Otte
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
Benjamin Otte
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
Benjamin Otte
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
Benjamin Otte
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
Benjamin Otte
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
Benjamin Otte
bb029420fd
a11y: Set new treeview flags
2011-12-16 04:53:13 +01:00
Benjamin Otte
78aad2d35c
treeview: Use _gtk_rbtree_contains() in a11y code
2011-12-10 08:00:25 +01:00
Benjamin Otte
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
Benjamin Otte
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
Benjamin Otte
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
Benjamin Otte
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
Benjamin Otte
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
Benjamin Otte
fbfbaa3d50
a11y: Don't create fake cell renderers
2011-11-24 18:29:44 +01:00
Matthias Clasen
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
Matthias Clasen
f2569ba92b
Add a missing static
2011-11-19 18:08:18 -05:00
Benjamin Otte
acbf37bae7
a11y: Merge function into only caller
...
Also cleann up comments that are misleading now.
2011-11-16 04:39:26 +01:00
Benjamin Otte
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
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