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
3e84cc9b17
GtkLabel: optimize away some ::notify emissions
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
a1cf2315a0
Fix up signal ordering issues in GtkEntry
...
Ensure that text and selection boundaries are in a
consistent state when we emit notifications, that ::insert-text
and ::delete-text are emitted before any changes, and that
::changed is emitted after property notifications when inserting
or deleting text.
2011-07-05 16:08:08 -04:00
Matthias Clasen
5398a160ad
Add a test for entry signals
...
These tests check that text and selection boundaries are in a
consistent state when we emit notifications, that ::insert-text
and ::delete-text are emitted before any changes, and that
::changed is emitted after property notifications when inserting
or deleting text.
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
c2d1e3eeb0
Avoid warnings in clipboard code
...
The a11y selection tests poke the selection on unrealized
labels. Don't spew warnings in this case.
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
Matthias Clasen
1164ceb4fc
GtkStyleContext: add some aux. a11y api
...
This function translates the fg/bg color into atk attributes.
2011-07-05 16:08:07 -04:00
Matthias Clasen
1f2b8a6545
Add some aux. pango api to help AtkText implementations
...
These functions are implementations of the AtkText api on top
of a PangoLayout, and are intended to replace GailTextUtil.
Since gtkpango.h is a private header, also remove the individual
inclusion prohibition.
2011-07-05 16:08:07 -04:00
Matthias Clasen
889b2714d5
GtkLabel: factor out two getters
...
Make the get_property switch look a little nicer.
We export these functions privately for use in the label
accessible implementation later on.
2011-07-05 16:08:07 -04:00
Benjamin Otte
504c0fdc27
messagedialog: Initialize style values in init()
...
Fixes underallocation warnings
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
1b8c38f6e1
GtkHSV: set a suitable role for the accessible
...
The consensus of the accessibility team was that 'color chooser'
fits best for this. Update tests to match.
2011-07-05 16:08:07 -04:00
Matthias Clasen
3edebfb81c
GtkSpinner: set a suitable role for the accessible
...
The consensus of the accessibility team was that this is
an animation. Update tests to match.
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
dddf587aec
GtkLabel: freeze property notification where appropriate
...
When setting properties that require recalculating the label
text, freeze notification until the label is properly updated.
This fixes bug 126797.
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
Matthias Clasen
0f8823b4a4
Fix dependencies between directories
...
This ensures that libgtk gets relinked when I touch sources
in gtk/a11y.
2011-07-05 16:08:02 -04:00
Benjamin Otte
4227a63f48
widget: Use g_type_add_class_private()
...
It turns out that that funciton does indeed exist and my rant was just
outdated. Shame on me.
2011-07-05 16:08:01 -04:00
Benjamin Otte
5449ec0a30
gail: Fix compile warning
2011-07-05 16:08:01 -04:00
Benjamin Otte
fd5ceee925
tests: undefine GTK_DISABLE_DEPRECATED as we include deprecated types
2011-07-05 16:08:01 -04:00
Matthias Clasen
17e219fbce
Remove debug spew
2011-07-05 16:08:01 -04:00
Matthias Clasen
054057a640
Fix GtkSwitchAccessible type definition
...
It turns out that ATK_DEFINE_TYPE_WITH_CODE() is broken; it
tells GType that the class and instance size for the accessible
type are the same as for its parent type. Which is not true
if your instance struct has members such as 'description' here.
This was causing hard-to-track-down memory corruption, since
description and the GtkAccessible private pointer were sharing
the same memory location.
2011-07-05 16:08:00 -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
ebf8bf0000
API: Add gtk_widget_class_set_accessible_type()
...
The function is supposed to bypass the ATK registry. For 2 reasons:
1) We get rid of a lot of boilerplate madness.
2) The registry allows creating multiple accessibles per widget and we
don't.
The old code for registries is still there.
2011-07-05 16:07:57 -04:00
Benjamin Otte
9ebcd66d43
widget: Add a GtkWidgetClassPrivate
...
As long as glib doesn't provide class privates, we'll have to ship our
own...
2011-07-05 16:07:57 -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
Matthias Clasen
8bbab02215
Add a first, trivial test for accessibles
2011-07-05 16:07:57 -04:00
Matthias Clasen
813b2c0aff
And remove it from the build too
2011-07-05 16:07:57 -04:00
Matthias Clasen
d3ab2fe19c
Remove the old gail tests
...
This is not what we are looking for in tests, and it hasn't been
touched in ages.
2011-07-05 16:07:56 -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
Benjamin Otte
246a7ecbc9
box: Remove cache for sibling paths
...
We can't cache this path as widgets might dynamically add or remove
style classes without telling us. At which point the stored path does
not work.
2011-07-02 01:40:16 +02:00
Cosimo Cecchi
668790ddee
toolbar: don't leak the sibling path
2011-07-01 12:33:26 -04:00
Cosimo Cecchi
34d85f04e5
toolbar: don't count invisible widgets when building the sibling path
...
Also, fix RTL nth-child handling for toolbars.
2011-07-01 12:31:22 -04:00
Cosimo Cecchi
9417017f5b
toolbar: invalidate order when an item visibility changes
2011-07-01 12:31:22 -04:00
Matthias Clasen
301c120b74
toolbar: nth-child support for GtkToolbar
...
This doesn't quite work right yet.
2011-07-01 12:31:22 -04:00
Cosimo Cecchi
ef153a5fff
box: follow children visibility when building the sibling path
...
This fixes nth-child not working for widgets which were not
visible before being added to the box, but it's also a better fix
for https://bugzilla.gnome.org/show_bug.cgi?id=652769
2011-07-01 11:48:22 -04:00
Cosimo Cecchi
e731caf8d0
Revert "gtkbox: Invalidate order on changes, even if the child is not visible"
...
This reverts commit 8cb0cc58e3
.
2011-07-01 11:47:41 -04:00
Matthias Clasen
c2449763ce
Fix up docs for predefined style classes.
...
The table was incomplete and out of date. Instead, just
put a list of links in that place, and move all the extra
documentation to the macros. Bug 653785
2011-06-30 19:18:26 -04:00
Vincent Untz
8cb0cc58e3
gtkbox: Invalidate order on changes, even if the child is not visible
...
When we build the sibling path for the order, we do not skip hidden
children (since, quoting the comment, "we cannot reliably detect changes
in widget visibility"). So we need to invalidate the order when hidden
children are reordered and removed.
https://bugzilla.gnome.org/show_bug.cgi?id=652769
2011-06-30 09:11:28 +02:00
John (J5) Palmieri
9c4892f291
[gi] add more annotations to force drag and drop api to be methods
2011-06-29 14:54:25 -04:00
John (J5) Palmieri
f46f038abd
[gi] make sure gtk_drag_dest_unset is annotated as a method
2011-06-29 12:11:36 -04:00
Juan Pablo Ugarte
ea81c710d0
Make GtkBuilder do not delay construct properties that can be resolved
...
(so construct is respected when possible) and skip construct only props that
can not.
2011-06-29 11:45:33 -03:00
Javier Jardon
445ac0e650
gtk/gtkmenuitem: Remove reference to deprecated and removed GtkItem
2011-06-29 15:01:19 +01:00
Claudio Saavedra
ca801abb4c
Use a PAGE_STEP macro instead of a magic number
...
Helps to understand the code.
https://bugzilla.gnome.org/show_bug.cgi?id=653512
2011-06-28 09:47:44 +03:00
Matthias Clasen
7bbe537915
Don't forget to initialize a variable
...
Pointed out by clang in bug 653333.
2011-06-27 16:47:59 -04:00
John (J5) Palmieri
f685ce37fc
[gi] correct annotation for GtkMenuPositionFunc callbacks
2011-06-27 13:45:17 -04:00
Mike Gorse
4fa3cef795
bgo#653191 - fix uninitialized variable in gtk_file_chooser_entry.c
2011-06-27 12:36:11 -05:00
Paolo Borelli
399de11116
Speed up page insertion
...
Make sure to call widget_set_child_visible(false) on all tabs except the
current before calling widget_set_parent.
2011-06-26 20:41:21 +02:00
Chun-wei Fan
f74585caea
Add headers required by gtk/gtkwin32embedwidget.c
...
Some functions from the added headers are needed by this file to compile
without C4013 (a.k.a implicit declaration of ...) warnings/errors
2011-06-24 13:19:58 +08:00
Murray Cumming
191afb88f9
GtkPaned docs: Remove sentence saying see GtkPaned.
2011-06-24 00:21:32 +02:00
Claudio Saavedra
c3b7590c77
Avoid GApplication being released twice on gtk_application_remove_window() calls
...
Removing the window from the window list before setting the
application to %NULL avoids gtk_application_remove_window() triggering
another call to gtk_application_window_removed(), which would release
the application a second time.
https://bugzilla.gnome.org/show_bug.cgi?id=653053
2011-06-21 00:38:33 +03:00
Matthias Clasen
e81426dbd6
Add sibling information to widget path string representations
2011-06-18 12:36:38 -04:00
Matthias Clasen
0725e417c5
Fix css syntax in example
2011-06-18 11:11:47 -04:00
Matthias Clasen
b71b560e56
Remove an unused variable
2011-06-17 22:57:35 -04:00
Matthias Clasen
8f357bb809
Update keybinding docs
...
These were still explaining gtkrc syntax.
2011-06-16 23:51:06 -04:00
Matthias Clasen
5eb8ca1882
Remove unnecessary includes
...
gtkstyle.h is similarly unused.
2011-06-16 23:35:24 -04:00
Matthias Clasen
f1a9c3efff
Remove unused includes
...
Nothing is using gtkrc.h functionality any more.
2011-06-16 23:33:43 -04:00
Matthias Clasen
04ce0467ab
Silence a warning
2011-06-16 23:18:03 -04:00
Matthias Clasen
9bb5077b90
GtkBox: don't reset styles too often
2011-06-16 22:15:50 -04:00
José Aliste
1da07caaed
info_bar: call style_updated at the end of info_bar_init
...
This fix a render bug where the infobar would not add borders
arount its content. Fix proposed by Benjamin Otte.
2011-06-16 14:34:14 -04:00
Benjamin Otte
e54ccaee53
toolbar: Better fix for animations
...
It turns out there's more places where the toolbar item size is used as
the margin box instead of the content box. Because of that, store the
margin box when allocating and use it whenever calls
toolbar_content_get_allocation() instead of calling
gtk_widget_get_allocation().
2011-06-15 22:50:59 +02:00
Benjamin Otte
ba869e0fe0
toolbar: Handle the fact that size_allocate() != get_allocation()
...
size_allocate() allocates the available space for the margin box,
get_allocation() returns the actual space of the content box and those
can be different. And then animations never stop.
If that makes you go "huh?", you might want to read
http://www.w3.org/TR/CSS21/box.html
and the docs for gtk_widget_compute_align().
2011-06-15 20:14:18 +02:00
Cosimo Cecchi
af77ba78bb
themingengine: shrink the background size to the padding-box
...
This fixes a regression introduced by this commit [1] that causes
background to draw beyond the padding-box, which breaks rounded corners,
(in addition to not being compliant with what CSS does by default).
[1] http://git.gnome.org/browse/gtk+/commit/?id=c56700ca3029a9ab1362009bff35f2a70e432c02
https://bugzilla.gnome.org/show_bug.cgi?id=652618
2011-06-15 11:03:56 -04:00
Xan Lopez
b47c7405f2
themingengine: plug a couple of leaks
2011-06-15 14:13:20 +02:00
Xan Lopez
8eb48a876b
border-image: Fix leakage
2011-06-15 13:46:16 +02:00
Benjamin Otte
0d253b67f4
css: Make font property a shorthand
...
... and implement the CSS font properties:
- font-size
- font-style
- font-family
- font-weight
- font-variant
This is the second try at this. The first was backed out previously due
to bugginess. Let's hope this one survives a bit longer.
Also makes the font-family CSS test work again.
2011-06-15 12:52:53 +02:00
Matthias Clasen
519b3ca861
Add a missing break statement
2011-06-14 21:58:51 -04:00
Matthias Clasen
f68c073e33
Remove a redundant NULL check
2011-06-14 21:53:53 -04:00