Příklady, které používají API zpřístupnění
Jak bylo uvedeno již dříve, měli byste mít jen málo práce, nebo vůbec žádnou, s tím, abyste měli svoji aplikaci zpřístupněnou, když budete používat sadu widgetů GTK nebo jinou knihovnu widgetů, které implementují rozhraní ATK. Dvě hlavní obvyklé věci, kterým byste měli věnovat v takovém případě věnovat pozornost, jsou:
-
Poskytnout popisy některým ovládacím prvkům a obrázkům pomocí atk_object_set_description() nebo atk_image_set_description():
Příklad 1-3 Nastavení popisu zpřístupnění pro tlačítko{ AtkObject *obj; obj = gtk_widget_get_accessible(button); atk_object_set_description(obj,_("Opens Preferences dialog")); }
-
Určit vztahy mezi některými neobvyklými seskupeními widgetů pomocí atk_relation_new() a atk_relation_set_add():
Příklad 1-4 Definice zpřístupňujícího vztahu mezi dvěma ovládacími prvky{ GtkWidget *widget; GtkLabel *label; AtkObject *atk_widget, *atk_label; AtkRelationSet *relation_set; AtkRelation *relation; AtkObject *targets[1]; atk_widget = gtk_widget_get_accessible (widget); atk_label = gtk_widget_get_accessible (GTK_WIDGET(label)); relation_set = atk_object_ref_relation_set (atk_label); targets[0] = atk_widget; relation = atk_relation_new(targets,1, ATK_RELATION_LABEL_FOR); atk_relation_set_add(relation_set,relation); g_object_unref(G_OBJECT(relation)); }
Příklady ve zbytku této části se většinou věnují nuancím v celém ATK. Pokrývá techniky, které možná nebudete nikdy potřebovat jako vývojář aplikací, ale mohou vás zajímat při psaní vlastních widgetů (viz Zpřístupnění vlastních komponent) nebo když chcete napsat aplikaci pro asistenční technologii. Ať už bude účel jakýkoliv, je vynikajícím zdrojem informací pro pokročilé využití ATK přímo zdrojový kód GAIL. Upozorňujeme, že od GTK 3.1.10 byla knihovna Gail začleněna přímo do GTK+, a není již samostatným modulem.
- 1.7.1. Moduly Gtk
- 1.7.2. Sbírání informací o zpřístupnění z aplikace
- 1.7.3. Dotazování se rozhraní objektu AtkObject
- 1.7.4. Nastavení zpracování signálu ATK
- 1.7.5. Implementace objektu ATK