atk 2.2.4-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (252) hide show
  1. checksums.yaml +7 -0
  2. data/README +30 -0
  3. data/Rakefile +31 -0
  4. data/ext/atk/atk.def +2 -0
  5. data/ext/atk/depend +11 -0
  6. data/ext/atk/extconf.rb +81 -0
  7. data/ext/atk/rbatk.c +66 -0
  8. data/ext/atk/rbatk.h +47 -0
  9. data/ext/atk/rbatkaction.c +85 -0
  10. data/ext/atk/rbatkcomponent.c +175 -0
  11. data/ext/atk/rbatkconversions.h +70 -0
  12. data/ext/atk/rbatkdocument.c +96 -0
  13. data/ext/atk/rbatkeditabletext.c +177 -0
  14. data/ext/atk/rbatkgobjectaccessible.c +46 -0
  15. data/ext/atk/rbatkhyperlink.c +71 -0
  16. data/ext/atk/rbatkhypertext.c +53 -0
  17. data/ext/atk/rbatkimage.c +68 -0
  18. data/ext/atk/rbatkimplementor.c +38 -0
  19. data/ext/atk/rbatknoopobject.c +40 -0
  20. data/ext/atk/rbatknoopobjectfactory.c +40 -0
  21. data/ext/atk/rbatkobject.c +153 -0
  22. data/ext/atk/rbatkobjectfactory.c +53 -0
  23. data/ext/atk/rbatkobjectrole.c +50 -0
  24. data/ext/atk/rbatkprivate.h +48 -0
  25. data/ext/atk/rbatkregistry.c +63 -0
  26. data/ext/atk/rbatkrelation.c +98 -0
  27. data/ext/atk/rbatkrelationset.c +95 -0
  28. data/ext/atk/rbatkrelationtype.c +38 -0
  29. data/ext/atk/rbatkselection.c +87 -0
  30. data/ext/atk/rbatkstate.c +51 -0
  31. data/ext/atk/rbatkstateset.c +180 -0
  32. data/ext/atk/rbatkstreamablecontent.c +57 -0
  33. data/ext/atk/rbatktable.c +271 -0
  34. data/ext/atk/rbatktext.c +318 -0
  35. data/ext/atk/rbatktextattribute.c +54 -0
  36. data/ext/atk/rbatktextrange.c +92 -0
  37. data/ext/atk/rbatktextrectangle.c +149 -0
  38. data/ext/atk/rbatkutil.c +122 -0
  39. data/ext/atk/rbatkvalue.c +78 -0
  40. data/extconf.rb +49 -0
  41. data/lib/2.0/atk.so +0 -0
  42. data/lib/2.1/atk.so +0 -0
  43. data/lib/2.2/atk.so +0 -0
  44. data/lib/atk.rb +21 -0
  45. data/test/atk-test-utils.rb +21 -0
  46. data/test/run-test.rb +45 -0
  47. data/test/test-text-rectangle.rb +26 -0
  48. data/vendor/local/bin/libatk-1.0-0.dll +0 -0
  49. data/vendor/local/include/atk-1.0/atk/atk-enum-types.h +63 -0
  50. data/vendor/local/include/atk-1.0/atk/atk.h +61 -0
  51. data/vendor/local/include/atk-1.0/atk/atkaction.h +117 -0
  52. data/vendor/local/include/atk-1.0/atk/atkcomponent.h +225 -0
  53. data/vendor/local/include/atk-1.0/atk/atkdocument.h +113 -0
  54. data/vendor/local/include/atk-1.0/atk/atkeditabletext.h +109 -0
  55. data/vendor/local/include/atk-1.0/atk/atkgobjectaccessible.h +68 -0
  56. data/vendor/local/include/atk-1.0/atk/atkhyperlink.h +114 -0
  57. data/vendor/local/include/atk-1.0/atk/atkhyperlinkimpl.h +68 -0
  58. data/vendor/local/include/atk-1.0/atk/atkhypertext.h +78 -0
  59. data/vendor/local/include/atk-1.0/atk/atkimage.h +90 -0
  60. data/vendor/local/include/atk-1.0/atk/atkmisc.h +112 -0
  61. data/vendor/local/include/atk-1.0/atk/atknoopobject.h +59 -0
  62. data/vendor/local/include/atk-1.0/atk/atknoopobjectfactory.h +59 -0
  63. data/vendor/local/include/atk-1.0/atk/atkobject.h +751 -0
  64. data/vendor/local/include/atk-1.0/atk/atkobjectfactory.h +72 -0
  65. data/vendor/local/include/atk-1.0/atk/atkplug.h +66 -0
  66. data/vendor/local/include/atk-1.0/atk/atkrange.h +59 -0
  67. data/vendor/local/include/atk-1.0/atk/atkregistry.h +74 -0
  68. data/vendor/local/include/atk-1.0/atk/atkrelation.h +99 -0
  69. data/vendor/local/include/atk-1.0/atk/atkrelationset.h +91 -0
  70. data/vendor/local/include/atk-1.0/atk/atkrelationtype.h +83 -0
  71. data/vendor/local/include/atk-1.0/atk/atkselection.h +100 -0
  72. data/vendor/local/include/atk-1.0/atk/atksocket.h +71 -0
  73. data/vendor/local/include/atk-1.0/atk/atkstate.h +190 -0
  74. data/vendor/local/include/atk-1.0/atk/atkstateset.h +92 -0
  75. data/vendor/local/include/atk-1.0/atk/atkstreamablecontent.h +110 -0
  76. data/vendor/local/include/atk-1.0/atk/atktable.h +233 -0
  77. data/vendor/local/include/atk-1.0/atk/atktablecell.h +104 -0
  78. data/vendor/local/include/atk-1.0/atk/atktext.h +453 -0
  79. data/vendor/local/include/atk-1.0/atk/atkutil.h +357 -0
  80. data/vendor/local/include/atk-1.0/atk/atkvalue.h +163 -0
  81. data/vendor/local/include/atk-1.0/atk/atkversion.h +394 -0
  82. data/vendor/local/include/atk-1.0/atk/atkwindow.h +53 -0
  83. data/vendor/local/lib/girepository-1.0/Atk-1.0.typelib +0 -0
  84. data/vendor/local/lib/libatk-1.0.dll.a +0 -0
  85. data/vendor/local/lib/libatk-1.0.la +41 -0
  86. data/vendor/local/lib/pkgconfig/atk.pc +11 -0
  87. data/vendor/local/share/gir-1.0/Atk-1.0.gir +15525 -0
  88. data/vendor/local/share/gtk-doc/html/atk/AtkAction.html +477 -0
  89. data/vendor/local/share/gtk-doc/html/atk/AtkComponent.html +1146 -0
  90. data/vendor/local/share/gtk-doc/html/atk/AtkDocument.html +714 -0
  91. data/vendor/local/share/gtk-doc/html/atk/AtkEditableText.html +429 -0
  92. data/vendor/local/share/gtk-doc/html/atk/AtkGObjectAccessible.html +166 -0
  93. data/vendor/local/share/gtk-doc/html/atk/AtkHyperlink.html +570 -0
  94. data/vendor/local/share/gtk-doc/html/atk/AtkHypertext.html +286 -0
  95. data/vendor/local/share/gtk-doc/html/atk/AtkImage.html +319 -0
  96. data/vendor/local/share/gtk-doc/html/atk/AtkMisc.html +191 -0
  97. data/vendor/local/share/gtk-doc/html/atk/AtkNoOpObject.html +130 -0
  98. data/vendor/local/share/gtk-doc/html/atk/AtkNoOpObjectFactory.html +107 -0
  99. data/vendor/local/share/gtk-doc/html/atk/AtkObject.html +3056 -0
  100. data/vendor/local/share/gtk-doc/html/atk/AtkObjectFactory.html +214 -0
  101. data/vendor/local/share/gtk-doc/html/atk/AtkRegistry.html +265 -0
  102. data/vendor/local/share/gtk-doc/html/atk/AtkRelation.html +659 -0
  103. data/vendor/local/share/gtk-doc/html/atk/AtkRelationSet.html +413 -0
  104. data/vendor/local/share/gtk-doc/html/atk/AtkSelection.html +453 -0
  105. data/vendor/local/share/gtk-doc/html/atk/AtkStateSet.html +539 -0
  106. data/vendor/local/share/gtk-doc/html/atk/AtkStreamableContent.html +274 -0
  107. data/vendor/local/share/gtk-doc/html/atk/AtkTable.html +1790 -0
  108. data/vendor/local/share/gtk-doc/html/atk/AtkTableCell.html +497 -0
  109. data/vendor/local/share/gtk-doc/html/atk/AtkText.html +2547 -0
  110. data/vendor/local/share/gtk-doc/html/atk/AtkUtil.html +1111 -0
  111. data/vendor/local/share/gtk-doc/html/atk/AtkValue.html +743 -0
  112. data/vendor/local/share/gtk-doc/html/atk/AtkWindow.html +452 -0
  113. data/vendor/local/share/gtk-doc/html/atk/accessibles.html +49 -0
  114. data/vendor/local/share/gtk-doc/html/atk/api-index-1-12.html +51 -0
  115. data/vendor/local/share/gtk-doc/html/atk/api-index-1-13.html +41 -0
  116. data/vendor/local/share/gtk-doc/html/atk/api-index-1-20.html +35 -0
  117. data/vendor/local/share/gtk-doc/html/atk/api-index-1-22.html +45 -0
  118. data/vendor/local/share/gtk-doc/html/atk/api-index-1-3.html +41 -0
  119. data/vendor/local/share/gtk-doc/html/atk/api-index-1-30.html +41 -0
  120. data/vendor/local/share/gtk-doc/html/atk/api-index-1-4.html +35 -0
  121. data/vendor/local/share/gtk-doc/html/atk/api-index-1-6.html +35 -0
  122. data/vendor/local/share/gtk-doc/html/atk/api-index-1-9.html +39 -0
  123. data/vendor/local/share/gtk-doc/html/atk/api-index-2-10.html +35 -0
  124. data/vendor/local/share/gtk-doc/html/atk/api-index-2-12.html +78 -0
  125. data/vendor/local/share/gtk-doc/html/atk/api-index-2-2.html +53 -0
  126. data/vendor/local/share/gtk-doc/html/atk/api-index-2-8.html +47 -0
  127. data/vendor/local/share/gtk-doc/html/atk/api-index-deprecated.html +119 -0
  128. data/vendor/local/share/gtk-doc/html/atk/api-index-full.html +775 -0
  129. data/vendor/local/share/gtk-doc/html/atk/atk-AtkHyperlinkImpl.html +142 -0
  130. data/vendor/local/share/gtk-doc/html/atk/atk-AtkPlug.html +147 -0
  131. data/vendor/local/share/gtk-doc/html/atk/atk-AtkRange.html +328 -0
  132. data/vendor/local/share/gtk-doc/html/atk/atk-AtkSocket.html +207 -0
  133. data/vendor/local/share/gtk-doc/html/atk/atk-AtkState.html +556 -0
  134. data/vendor/local/share/gtk-doc/html/atk/atk-Versioning-Utilities.html +293 -0
  135. data/vendor/local/share/gtk-doc/html/atk/atk.devhelp2 +441 -0
  136. data/vendor/local/share/gtk-doc/html/atk/atkobject.html +33 -0
  137. data/vendor/local/share/gtk-doc/html/atk/data.html +49 -0
  138. data/vendor/local/share/gtk-doc/html/atk/deprecated.html +33 -0
  139. data/vendor/local/share/gtk-doc/html/atk/home.png +0 -0
  140. data/vendor/local/share/gtk-doc/html/atk/index.html +175 -0
  141. data/vendor/local/share/gtk-doc/html/atk/index.sgml +632 -0
  142. data/vendor/local/share/gtk-doc/html/atk/interfaces.html +89 -0
  143. data/vendor/local/share/gtk-doc/html/atk/left-insensitive.png +0 -0
  144. data/vendor/local/share/gtk-doc/html/atk/left.png +0 -0
  145. data/vendor/local/share/gtk-doc/html/atk/overview.html +47 -0
  146. data/vendor/local/share/gtk-doc/html/atk/right-insensitive.png +0 -0
  147. data/vendor/local/share/gtk-doc/html/atk/right.png +0 -0
  148. data/vendor/local/share/gtk-doc/html/atk/style.css +476 -0
  149. data/vendor/local/share/gtk-doc/html/atk/toolkit.html +33 -0
  150. data/vendor/local/share/gtk-doc/html/atk/up-insensitive.png +0 -0
  151. data/vendor/local/share/gtk-doc/html/atk/up.png +0 -0
  152. data/vendor/local/share/gtk-doc/html/atk/utilities.html +47 -0
  153. data/vendor/local/share/license/atk/AUTHORS +18 -0
  154. data/vendor/local/share/license/atk/COPYING +482 -0
  155. data/vendor/local/share/locale/af/LC_MESSAGES/atk10.mo +0 -0
  156. data/vendor/local/share/locale/am/LC_MESSAGES/atk10.mo +0 -0
  157. data/vendor/local/share/locale/an/LC_MESSAGES/atk10.mo +0 -0
  158. data/vendor/local/share/locale/ar/LC_MESSAGES/atk10.mo +0 -0
  159. data/vendor/local/share/locale/as/LC_MESSAGES/atk10.mo +0 -0
  160. data/vendor/local/share/locale/ast/LC_MESSAGES/atk10.mo +0 -0
  161. data/vendor/local/share/locale/az/LC_MESSAGES/atk10.mo +0 -0
  162. data/vendor/local/share/locale/be/LC_MESSAGES/atk10.mo +0 -0
  163. data/vendor/local/share/locale/be@latin/LC_MESSAGES/atk10.mo +0 -0
  164. data/vendor/local/share/locale/bg/LC_MESSAGES/atk10.mo +0 -0
  165. data/vendor/local/share/locale/bn/LC_MESSAGES/atk10.mo +0 -0
  166. data/vendor/local/share/locale/bn_IN/LC_MESSAGES/atk10.mo +0 -0
  167. data/vendor/local/share/locale/bs/LC_MESSAGES/atk10.mo +0 -0
  168. data/vendor/local/share/locale/ca/LC_MESSAGES/atk10.mo +0 -0
  169. data/vendor/local/share/locale/ca@valencia/LC_MESSAGES/atk10.mo +0 -0
  170. data/vendor/local/share/locale/cs/LC_MESSAGES/atk10.mo +0 -0
  171. data/vendor/local/share/locale/cy/LC_MESSAGES/atk10.mo +0 -0
  172. data/vendor/local/share/locale/da/LC_MESSAGES/atk10.mo +0 -0
  173. data/vendor/local/share/locale/de/LC_MESSAGES/atk10.mo +0 -0
  174. data/vendor/local/share/locale/dz/LC_MESSAGES/atk10.mo +0 -0
  175. data/vendor/local/share/locale/el/LC_MESSAGES/atk10.mo +0 -0
  176. data/vendor/local/share/locale/en@shaw/LC_MESSAGES/atk10.mo +0 -0
  177. data/vendor/local/share/locale/en_CA/LC_MESSAGES/atk10.mo +0 -0
  178. data/vendor/local/share/locale/en_GB/LC_MESSAGES/atk10.mo +0 -0
  179. data/vendor/local/share/locale/eo/LC_MESSAGES/atk10.mo +0 -0
  180. data/vendor/local/share/locale/es/LC_MESSAGES/atk10.mo +0 -0
  181. data/vendor/local/share/locale/et/LC_MESSAGES/atk10.mo +0 -0
  182. data/vendor/local/share/locale/eu/LC_MESSAGES/atk10.mo +0 -0
  183. data/vendor/local/share/locale/fa/LC_MESSAGES/atk10.mo +0 -0
  184. data/vendor/local/share/locale/fi/LC_MESSAGES/atk10.mo +0 -0
  185. data/vendor/local/share/locale/fr/LC_MESSAGES/atk10.mo +0 -0
  186. data/vendor/local/share/locale/ga/LC_MESSAGES/atk10.mo +0 -0
  187. data/vendor/local/share/locale/gl/LC_MESSAGES/atk10.mo +0 -0
  188. data/vendor/local/share/locale/gu/LC_MESSAGES/atk10.mo +0 -0
  189. data/vendor/local/share/locale/he/LC_MESSAGES/atk10.mo +0 -0
  190. data/vendor/local/share/locale/hi/LC_MESSAGES/atk10.mo +0 -0
  191. data/vendor/local/share/locale/hr/LC_MESSAGES/atk10.mo +0 -0
  192. data/vendor/local/share/locale/hu/LC_MESSAGES/atk10.mo +0 -0
  193. data/vendor/local/share/locale/hy/LC_MESSAGES/atk10.mo +0 -0
  194. data/vendor/local/share/locale/id/LC_MESSAGES/atk10.mo +0 -0
  195. data/vendor/local/share/locale/is/LC_MESSAGES/atk10.mo +0 -0
  196. data/vendor/local/share/locale/it/LC_MESSAGES/atk10.mo +0 -0
  197. data/vendor/local/share/locale/ja/LC_MESSAGES/atk10.mo +0 -0
  198. data/vendor/local/share/locale/ka/LC_MESSAGES/atk10.mo +0 -0
  199. data/vendor/local/share/locale/kk/LC_MESSAGES/atk10.mo +0 -0
  200. data/vendor/local/share/locale/km/LC_MESSAGES/atk10.mo +0 -0
  201. data/vendor/local/share/locale/kn/LC_MESSAGES/atk10.mo +0 -0
  202. data/vendor/local/share/locale/ko/LC_MESSAGES/atk10.mo +0 -0
  203. data/vendor/local/share/locale/ku/LC_MESSAGES/atk10.mo +0 -0
  204. data/vendor/local/share/locale/li/LC_MESSAGES/atk10.mo +0 -0
  205. data/vendor/local/share/locale/lt/LC_MESSAGES/atk10.mo +0 -0
  206. data/vendor/local/share/locale/lv/LC_MESSAGES/atk10.mo +0 -0
  207. data/vendor/local/share/locale/mai/LC_MESSAGES/atk10.mo +0 -0
  208. data/vendor/local/share/locale/mk/LC_MESSAGES/atk10.mo +0 -0
  209. data/vendor/local/share/locale/ml/LC_MESSAGES/atk10.mo +0 -0
  210. data/vendor/local/share/locale/mn/LC_MESSAGES/atk10.mo +0 -0
  211. data/vendor/local/share/locale/mr/LC_MESSAGES/atk10.mo +0 -0
  212. data/vendor/local/share/locale/ms/LC_MESSAGES/atk10.mo +0 -0
  213. data/vendor/local/share/locale/nb/LC_MESSAGES/atk10.mo +0 -0
  214. data/vendor/local/share/locale/ne/LC_MESSAGES/atk10.mo +0 -0
  215. data/vendor/local/share/locale/nl/LC_MESSAGES/atk10.mo +0 -0
  216. data/vendor/local/share/locale/nn/LC_MESSAGES/atk10.mo +0 -0
  217. data/vendor/local/share/locale/oc/LC_MESSAGES/atk10.mo +0 -0
  218. data/vendor/local/share/locale/or/LC_MESSAGES/atk10.mo +0 -0
  219. data/vendor/local/share/locale/pa/LC_MESSAGES/atk10.mo +0 -0
  220. data/vendor/local/share/locale/pl/LC_MESSAGES/atk10.mo +0 -0
  221. data/vendor/local/share/locale/ps/LC_MESSAGES/atk10.mo +0 -0
  222. data/vendor/local/share/locale/pt/LC_MESSAGES/atk10.mo +0 -0
  223. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/atk10.mo +0 -0
  224. data/vendor/local/share/locale/ro/LC_MESSAGES/atk10.mo +0 -0
  225. data/vendor/local/share/locale/ru/LC_MESSAGES/atk10.mo +0 -0
  226. data/vendor/local/share/locale/rw/LC_MESSAGES/atk10.mo +0 -0
  227. data/vendor/local/share/locale/si/LC_MESSAGES/atk10.mo +0 -0
  228. data/vendor/local/share/locale/sk/LC_MESSAGES/atk10.mo +0 -0
  229. data/vendor/local/share/locale/sl/LC_MESSAGES/atk10.mo +0 -0
  230. data/vendor/local/share/locale/sq/LC_MESSAGES/atk10.mo +0 -0
  231. data/vendor/local/share/locale/sr/LC_MESSAGES/atk10.mo +0 -0
  232. data/vendor/local/share/locale/sr@ije/LC_MESSAGES/atk10.mo +0 -0
  233. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/atk10.mo +0 -0
  234. data/vendor/local/share/locale/sv/LC_MESSAGES/atk10.mo +0 -0
  235. data/vendor/local/share/locale/ta/LC_MESSAGES/atk10.mo +0 -0
  236. data/vendor/local/share/locale/te/LC_MESSAGES/atk10.mo +0 -0
  237. data/vendor/local/share/locale/tg/LC_MESSAGES/atk10.mo +0 -0
  238. data/vendor/local/share/locale/th/LC_MESSAGES/atk10.mo +0 -0
  239. data/vendor/local/share/locale/tk/LC_MESSAGES/atk10.mo +0 -0
  240. data/vendor/local/share/locale/tr/LC_MESSAGES/atk10.mo +0 -0
  241. data/vendor/local/share/locale/tt/LC_MESSAGES/atk10.mo +0 -0
  242. data/vendor/local/share/locale/ug/LC_MESSAGES/atk10.mo +0 -0
  243. data/vendor/local/share/locale/uk/LC_MESSAGES/atk10.mo +0 -0
  244. data/vendor/local/share/locale/vi/LC_MESSAGES/atk10.mo +0 -0
  245. data/vendor/local/share/locale/wa/LC_MESSAGES/atk10.mo +0 -0
  246. data/vendor/local/share/locale/xh/LC_MESSAGES/atk10.mo +0 -0
  247. data/vendor/local/share/locale/yi/LC_MESSAGES/atk10.mo +0 -0
  248. data/vendor/local/share/locale/zh_CN/LC_MESSAGES/atk10.mo +0 -0
  249. data/vendor/local/share/locale/zh_HK/LC_MESSAGES/atk10.mo +0 -0
  250. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/atk10.mo +0 -0
  251. data/vendor/local/share/locale/zu/LC_MESSAGES/atk10.mo +0 -0
  252. metadata +307 -0
@@ -0,0 +1,1111 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
+ <title>ATK - Accessibility Toolkit: AtkUtil</title>
6
+ <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
7
+ <link rel="home" href="index.html" title="ATK - Accessibility Toolkit">
8
+ <link rel="up" href="toolkit.html" title="Event and toolkit support">
9
+ <link rel="prev" href="toolkit.html" title="Event and toolkit support">
10
+ <link rel="next" href="interfaces.html" title="ATK Interfaces">
11
+ <meta name="generator" content="GTK-Doc V1.21.1 (XML mode)">
12
+ <link rel="stylesheet" href="style.css" type="text/css">
13
+ </head>
14
+ <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15
+ <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
16
+ <td width="100%" align="left" class="shortcuts">
17
+ <a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
18
+ <a href="#AtkUtil.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
19
+ <a href="#AtkUtil.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
20
+ </td>
21
+ <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
22
+ <td><a accesskey="u" href="toolkit.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
23
+ <td><a accesskey="p" href="toolkit.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
24
+ <td><a accesskey="n" href="interfaces.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
25
+ </tr></table>
26
+ <div class="refentry">
27
+ <a name="AtkUtil"></a><div class="titlepage"></div>
28
+ <div class="refnamediv"><table width="100%"><tr>
29
+ <td valign="top">
30
+ <h2><span class="refentrytitle"><a name="AtkUtil.top_of_page"></a>AtkUtil</span></h2>
31
+ <p>AtkUtil — A set of ATK utility functions for event and toolkit support.</p>
32
+ </td>
33
+ <td class="gallery_image" valign="top" align="right"></td>
34
+ </tr></table></div>
35
+ <div class="refsect1">
36
+ <a name="AtkUtil.functions"></a><h2>Functions</h2>
37
+ <div class="informaltable"><table width="100%" border="0">
38
+ <colgroup>
39
+ <col width="150px" class="functions_return">
40
+ <col class="functions_name">
41
+ </colgroup>
42
+ <tbody>
43
+ <tr>
44
+ <td class="function_type">
45
+ <span class="returnvalue">guint</span>
46
+ </td>
47
+ <td class="function_name">
48
+ <a class="link" href="AtkUtil.html#atk-add-focus-tracker" title="atk_add_focus_tracker ()">atk_add_focus_tracker</a> <span class="c_punctuation">()</span>
49
+ </td>
50
+ </tr>
51
+ <tr>
52
+ <td class="function_type">
53
+ <span class="returnvalue">void</span>
54
+ </td>
55
+ <td class="function_name">
56
+ <a class="link" href="AtkUtil.html#atk-remove-focus-tracker" title="atk_remove_focus_tracker ()">atk_remove_focus_tracker</a> <span class="c_punctuation">()</span>
57
+ </td>
58
+ </tr>
59
+ <tr>
60
+ <td class="function_type">
61
+ <span class="returnvalue">void</span>
62
+ </td>
63
+ <td class="function_name">
64
+ <a class="link" href="AtkUtil.html#atk-focus-tracker-init" title="atk_focus_tracker_init ()">atk_focus_tracker_init</a> <span class="c_punctuation">()</span>
65
+ </td>
66
+ </tr>
67
+ <tr>
68
+ <td class="function_type">
69
+ <span class="returnvalue">void</span>
70
+ </td>
71
+ <td class="function_name">
72
+ <a class="link" href="AtkUtil.html#atk-focus-tracker-notify" title="atk_focus_tracker_notify ()">atk_focus_tracker_notify</a> <span class="c_punctuation">()</span>
73
+ </td>
74
+ </tr>
75
+ <tr>
76
+ <td class="function_type">
77
+ <span class="returnvalue">void</span>
78
+ </td>
79
+ <td class="function_name">
80
+ <span class="c_punctuation">(</span><a class="link" href="AtkUtil.html#AtkEventListener" title="AtkEventListener ()">*AtkEventListener</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
81
+ </td>
82
+ </tr>
83
+ <tr>
84
+ <td class="function_type">
85
+ <span class="returnvalue">void</span>
86
+ </td>
87
+ <td class="function_name">
88
+ <span class="c_punctuation">(</span><a class="link" href="AtkUtil.html#AtkEventListenerInit" title="AtkEventListenerInit ()">*AtkEventListenerInit</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
89
+ </td>
90
+ </tr>
91
+ <tr>
92
+ <td class="function_type">
93
+ <span class="returnvalue">guint</span>
94
+ </td>
95
+ <td class="function_name">
96
+ <a class="link" href="AtkUtil.html#atk-add-global-event-listener" title="atk_add_global_event_listener ()">atk_add_global_event_listener</a> <span class="c_punctuation">()</span>
97
+ </td>
98
+ </tr>
99
+ <tr>
100
+ <td class="function_type">
101
+ <span class="returnvalue">void</span>
102
+ </td>
103
+ <td class="function_name">
104
+ <a class="link" href="AtkUtil.html#atk-remove-global-event-listener" title="atk_remove_global_event_listener ()">atk_remove_global_event_listener</a> <span class="c_punctuation">()</span>
105
+ </td>
106
+ </tr>
107
+ <tr>
108
+ <td class="function_type">
109
+ <span class="returnvalue">gint</span>
110
+ </td>
111
+ <td class="function_name">
112
+ <span class="c_punctuation">(</span><a class="link" href="AtkUtil.html#AtkKeySnoopFunc" title="AtkKeySnoopFunc ()">*AtkKeySnoopFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
113
+ </td>
114
+ </tr>
115
+ <tr>
116
+ <td class="function_type">
117
+ <span class="returnvalue">guint</span>
118
+ </td>
119
+ <td class="function_name">
120
+ <a class="link" href="AtkUtil.html#atk-add-key-event-listener" title="atk_add_key_event_listener ()">atk_add_key_event_listener</a> <span class="c_punctuation">()</span>
121
+ </td>
122
+ </tr>
123
+ <tr>
124
+ <td class="function_type">
125
+ <span class="returnvalue">void</span>
126
+ </td>
127
+ <td class="function_name">
128
+ <a class="link" href="AtkUtil.html#atk-remove-key-event-listener" title="atk_remove_key_event_listener ()">atk_remove_key_event_listener</a> <span class="c_punctuation">()</span>
129
+ </td>
130
+ </tr>
131
+ <tr>
132
+ <td class="function_type">
133
+ <a class="link" href="AtkObject.html" title="AtkObject"><span class="returnvalue">AtkObject</span></a> *
134
+ </td>
135
+ <td class="function_name">
136
+ <a class="link" href="AtkUtil.html#atk-get-root" title="atk_get_root ()">atk_get_root</a> <span class="c_punctuation">()</span>
137
+ </td>
138
+ </tr>
139
+ <tr>
140
+ <td class="function_type">
141
+ <a class="link" href="AtkObject.html" title="AtkObject"><span class="returnvalue">AtkObject</span></a> *
142
+ </td>
143
+ <td class="function_name">
144
+ <a class="link" href="AtkUtil.html#atk-get-focus-object" title="atk_get_focus_object ()">atk_get_focus_object</a> <span class="c_punctuation">()</span>
145
+ </td>
146
+ </tr>
147
+ <tr>
148
+ <td class="function_type">const <span class="returnvalue">gchar</span> *
149
+ </td>
150
+ <td class="function_name">
151
+ <a class="link" href="AtkUtil.html#atk-get-toolkit-name" title="atk_get_toolkit_name ()">atk_get_toolkit_name</a> <span class="c_punctuation">()</span>
152
+ </td>
153
+ </tr>
154
+ <tr>
155
+ <td class="function_type">const <span class="returnvalue">gchar</span> *
156
+ </td>
157
+ <td class="function_name">
158
+ <a class="link" href="AtkUtil.html#atk-get-toolkit-version" title="atk_get_toolkit_version ()">atk_get_toolkit_version</a> <span class="c_punctuation">()</span>
159
+ </td>
160
+ </tr>
161
+ <tr>
162
+ <td class="function_type">const <span class="returnvalue">gchar</span> *
163
+ </td>
164
+ <td class="function_name">
165
+ <a class="link" href="AtkUtil.html#atk-get-version" title="atk_get_version ()">atk_get_version</a> <span class="c_punctuation">()</span>
166
+ </td>
167
+ </tr>
168
+ <tr>
169
+ <td class="define_keyword">#define</td>
170
+ <td class="function_name">
171
+ <a class="link" href="AtkUtil.html#ATK-DEFINE-TYPE:CAPS" title="ATK_DEFINE_TYPE()">ATK_DEFINE_TYPE</a><span class="c_punctuation">()</span>
172
+ </td>
173
+ </tr>
174
+ <tr>
175
+ <td class="define_keyword">#define</td>
176
+ <td class="function_name">
177
+ <a class="link" href="AtkUtil.html#ATK-DEFINE-TYPE-EXTENDED:CAPS" title="ATK_DEFINE_TYPE_EXTENDED()">ATK_DEFINE_TYPE_EXTENDED</a><span class="c_punctuation">()</span>
178
+ </td>
179
+ </tr>
180
+ <tr>
181
+ <td class="define_keyword">#define</td>
182
+ <td class="function_name">
183
+ <a class="link" href="AtkUtil.html#ATK-DEFINE-TYPE-WITH-CODE:CAPS" title="ATK_DEFINE_TYPE_WITH_CODE()">ATK_DEFINE_TYPE_WITH_CODE</a><span class="c_punctuation">()</span>
184
+ </td>
185
+ </tr>
186
+ <tr>
187
+ <td class="define_keyword">#define</td>
188
+ <td class="function_name">
189
+ <a class="link" href="AtkUtil.html#ATK-DEFINE-ABSTRACT-TYPE:CAPS" title="ATK_DEFINE_ABSTRACT_TYPE()">ATK_DEFINE_ABSTRACT_TYPE</a><span class="c_punctuation">()</span>
190
+ </td>
191
+ </tr>
192
+ <tr>
193
+ <td class="define_keyword">#define</td>
194
+ <td class="function_name">
195
+ <a class="link" href="AtkUtil.html#ATK-DEFINE-ABSTRACT-TYPE-WITH-CODE:CAPS" title="ATK_DEFINE_ABSTRACT_TYPE_WITH_CODE()">ATK_DEFINE_ABSTRACT_TYPE_WITH_CODE</a><span class="c_punctuation">()</span>
196
+ </td>
197
+ </tr>
198
+ </tbody>
199
+ </table></div>
200
+ </div>
201
+ <div class="refsect1">
202
+ <a name="AtkUtil.other"></a><h2>Types and Values</h2>
203
+ <div class="informaltable"><table width="100%" border="0">
204
+ <colgroup>
205
+ <col width="150px" class="name">
206
+ <col class="description">
207
+ </colgroup>
208
+ <tbody>
209
+ <tr>
210
+ <td class="datatype_keyword">struct</td>
211
+ <td class="function_name"><a class="link" href="AtkUtil.html#AtkUtil-struct" title="struct AtkUtil">AtkUtil</a></td>
212
+ </tr>
213
+ <tr>
214
+ <td class="datatype_keyword">struct</td>
215
+ <td class="function_name"><a class="link" href="AtkUtil.html#AtkUtilClass" title="struct AtkUtilClass">AtkUtilClass</a></td>
216
+ </tr>
217
+ <tr>
218
+ <td class="datatype_keyword">enum</td>
219
+ <td class="function_name"><a class="link" href="AtkUtil.html#AtkCoordType" title="enum AtkCoordType">AtkCoordType</a></td>
220
+ </tr>
221
+ <tr>
222
+ <td class="datatype_keyword">struct</td>
223
+ <td class="function_name"><a class="link" href="AtkUtil.html#AtkKeyEventStruct" title="struct AtkKeyEventStruct">AtkKeyEventStruct</a></td>
224
+ </tr>
225
+ <tr>
226
+ <td class="datatype_keyword">enum</td>
227
+ <td class="function_name"><a class="link" href="AtkUtil.html#AtkKeyEventType" title="enum AtkKeyEventType">AtkKeyEventType</a></td>
228
+ </tr>
229
+ </tbody>
230
+ </table></div>
231
+ </div>
232
+ <div class="refsect1">
233
+ <a name="AtkUtil.object-hierarchy"></a><h2>Object Hierarchy</h2>
234
+ <pre class="screen"> GObject
235
+ <span class="lineart">╰──</span> AtkUtil
236
+ </pre>
237
+ </div>
238
+ <div class="refsect1">
239
+ <a name="AtkUtil.description"></a><h2>Description</h2>
240
+ <p>A set of ATK utility functions which are used to support event
241
+ registration of various types, and obtaining the 'root' accessible
242
+ of a process and information about the current ATK implementation
243
+ and toolkit version.</p>
244
+ </div>
245
+ <div class="refsect1">
246
+ <a name="AtkUtil.functions_details"></a><h2>Functions</h2>
247
+ <div class="refsect2">
248
+ <a name="atk-add-focus-tracker"></a><h3>atk_add_focus_tracker ()</h3>
249
+ <pre class="programlisting"><span class="returnvalue">guint</span>
250
+ atk_add_focus_tracker (<em class="parameter"><code><a class="link" href="AtkUtil.html#AtkEventListener" title="AtkEventListener ()"><span class="type">AtkEventListener</span></a> focus_tracker</code></em>);</pre>
251
+ <div class="warning">
252
+ <p><code class="literal">atk_add_focus_tracker</code> is deprecated and should not be used in newly-written code.</p>
253
+ <p>This method is deprecated since ATK version
254
+ 2.9.4. Focus tracking has been dropped as a feature to be
255
+ implemented by ATK itself. If you need focus tracking on your
256
+ implementation, subscribe to the state-changed:focused signal.</p>
257
+ </div>
258
+ <p>Adds the specified function to the list of functions to be called
259
+ when an object receives focus.</p>
260
+ <div class="refsect3">
261
+ <a name="id-1.4.2.7.2.6"></a><h4>Parameters</h4>
262
+ <div class="informaltable"><table width="100%" border="0">
263
+ <colgroup>
264
+ <col width="150px" class="parameters_name">
265
+ <col class="parameters_description">
266
+ <col width="200px" class="parameters_annotations">
267
+ </colgroup>
268
+ <tbody><tr>
269
+ <td class="parameter_name"><p>focus_tracker</p></td>
270
+ <td class="parameter_description"><p>Function to be added to the list of functions to be called
271
+ when an object receives focus.</p></td>
272
+ <td class="parameter_annotations"> </td>
273
+ </tr></tbody>
274
+ </table></div>
275
+ </div>
276
+ <div class="refsect3">
277
+ <a name="id-1.4.2.7.2.7"></a><h4>Returns</h4>
278
+ <p> added focus tracker id, or 0 on failure.</p>
279
+ <p></p>
280
+ </div>
281
+ </div>
282
+ <hr>
283
+ <div class="refsect2">
284
+ <a name="atk-remove-focus-tracker"></a><h3>atk_remove_focus_tracker ()</h3>
285
+ <pre class="programlisting"><span class="returnvalue">void</span>
286
+ atk_remove_focus_tracker (<em class="parameter"><code><span class="type">guint</span> tracker_id</code></em>);</pre>
287
+ <div class="warning">
288
+ <p><code class="literal">atk_remove_focus_tracker</code> is deprecated and should not be used in newly-written code.</p>
289
+ <p>This method is deprecated since ATK version
290
+ 2.9.4. Focus tracking has been dropped as a feature to be
291
+ implemented by ATK itself. If you need focus tracking on your
292
+ implementation, subscribe to the state-changed:focused signal.</p>
293
+ <p>Removes the specified focus tracker from the list of functions
294
+ to be called when any object receives focus.</p>
295
+ </div>
296
+ <div class="refsect3">
297
+ <a name="id-1.4.2.7.3.5"></a><h4>Parameters</h4>
298
+ <div class="informaltable"><table width="100%" border="0">
299
+ <colgroup>
300
+ <col width="150px" class="parameters_name">
301
+ <col class="parameters_description">
302
+ <col width="200px" class="parameters_annotations">
303
+ </colgroup>
304
+ <tbody><tr>
305
+ <td class="parameter_name"><p>tracker_id</p></td>
306
+ <td class="parameter_description"><p>the id of the focus tracker to remove</p></td>
307
+ <td class="parameter_annotations"> </td>
308
+ </tr></tbody>
309
+ </table></div>
310
+ </div>
311
+ </div>
312
+ <hr>
313
+ <div class="refsect2">
314
+ <a name="atk-focus-tracker-init"></a><h3>atk_focus_tracker_init ()</h3>
315
+ <pre class="programlisting"><span class="returnvalue">void</span>
316
+ atk_focus_tracker_init (<em class="parameter"><code><a class="link" href="AtkUtil.html#AtkEventListenerInit" title="AtkEventListenerInit ()"><span class="type">AtkEventListenerInit</span></a> init</code></em>);</pre>
317
+ <div class="warning">
318
+ <p><code class="literal">atk_focus_tracker_init</code> is deprecated and should not be used in newly-written code.</p>
319
+ <p>This method is deprecated since ATK version
320
+ 2.9.4. Focus tracking has been dropped as a feature to be
321
+ implemented by ATK itself.</p>
322
+ </div>
323
+ <p>Specifies the function to be called for focus tracker initialization.
324
+ This function should be called by an implementation of the
325
+ ATK interface if any specific work needs to be done to enable
326
+ focus tracking.</p>
327
+ <div class="refsect3">
328
+ <a name="id-1.4.2.7.4.6"></a><h4>Parameters</h4>
329
+ <div class="informaltable"><table width="100%" border="0">
330
+ <colgroup>
331
+ <col width="150px" class="parameters_name">
332
+ <col class="parameters_description">
333
+ <col width="200px" class="parameters_annotations">
334
+ </colgroup>
335
+ <tbody><tr>
336
+ <td class="parameter_name"><p>init</p></td>
337
+ <td class="parameter_description"><p>Function to be called for focus tracker initialization</p></td>
338
+ <td class="parameter_annotations"> </td>
339
+ </tr></tbody>
340
+ </table></div>
341
+ </div>
342
+ </div>
343
+ <hr>
344
+ <div class="refsect2">
345
+ <a name="atk-focus-tracker-notify"></a><h3>atk_focus_tracker_notify ()</h3>
346
+ <pre class="programlisting"><span class="returnvalue">void</span>
347
+ atk_focus_tracker_notify (<em class="parameter"><code><a class="link" href="AtkObject.html" title="AtkObject"><span class="type">AtkObject</span></a> *object</code></em>);</pre>
348
+ <div class="warning">
349
+ <p><code class="literal">atk_focus_tracker_notify</code> is deprecated and should not be used in newly-written code.</p>
350
+ <p>This method is deprecated since ATK version
351
+ 2.9.4. Focus tracking has been dropped as a feature to be
352
+ implemented by ATK itself.</p>
353
+ </div>
354
+ <p>Cause the focus tracker functions which have been specified to be
355
+ executed for the object.</p>
356
+ <div class="refsect3">
357
+ <a name="id-1.4.2.7.5.6"></a><h4>Parameters</h4>
358
+ <div class="informaltable"><table width="100%" border="0">
359
+ <colgroup>
360
+ <col width="150px" class="parameters_name">
361
+ <col class="parameters_description">
362
+ <col width="200px" class="parameters_annotations">
363
+ </colgroup>
364
+ <tbody><tr>
365
+ <td class="parameter_name"><p>object</p></td>
366
+ <td class="parameter_description"><p>an <a class="link" href="AtkObject.html" title="AtkObject"><span class="type">AtkObject</span></a></p></td>
367
+ <td class="parameter_annotations"> </td>
368
+ </tr></tbody>
369
+ </table></div>
370
+ </div>
371
+ </div>
372
+ <hr>
373
+ <div class="refsect2">
374
+ <a name="AtkEventListener"></a><h3>AtkEventListener ()</h3>
375
+ <pre class="programlisting"><span class="returnvalue">void</span>
376
+ <span class="c_punctuation">(</span>*AtkEventListener<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="AtkObject.html" title="AtkObject"><span class="type">AtkObject</span></a> *obj</code></em>);</pre>
377
+ <p>A function which is called when an object emits a matching event,
378
+ as used in <a class="link" href="AtkUtil.html#atk-add-focus-tracker" title="atk_add_focus_tracker ()"><span class="type">atk_add_focus_tracker</span></a>.
379
+ Currently the only events for which object-specific handlers are
380
+ supported are events of type "focus:". Most clients of ATK will prefer to
381
+ attach signal handlers for the various ATK signals instead.</p>
382
+ <p>see atk_add_focus_tracker.</p>
383
+ <div class="refsect3">
384
+ <a name="id-1.4.2.7.6.6"></a><h4>Parameters</h4>
385
+ <div class="informaltable"><table width="100%" border="0">
386
+ <colgroup>
387
+ <col width="150px" class="parameters_name">
388
+ <col class="parameters_description">
389
+ <col width="200px" class="parameters_annotations">
390
+ </colgroup>
391
+ <tbody><tr>
392
+ <td class="parameter_name"><p>obj</p></td>
393
+ <td class="parameter_description"><p>An <a class="link" href="AtkObject.html" title="AtkObject"><span class="type">AtkObject</span></a> instance for whom the callback will be called when
394
+ the specified event (e.g. 'focus:') takes place.</p></td>
395
+ <td class="parameter_annotations"> </td>
396
+ </tr></tbody>
397
+ </table></div>
398
+ </div>
399
+ </div>
400
+ <hr>
401
+ <div class="refsect2">
402
+ <a name="AtkEventListenerInit"></a><h3>AtkEventListenerInit ()</h3>
403
+ <pre class="programlisting"><span class="returnvalue">void</span>
404
+ <span class="c_punctuation">(</span>*AtkEventListenerInit<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
405
+ <p>An <a class="link" href="AtkUtil.html#AtkEventListenerInit" title="AtkEventListenerInit ()"><span class="type">AtkEventListenerInit</span></a> function is a special function that is
406
+ called in order to initialize the per-object event registration system
407
+ used by <a class="link" href="AtkUtil.html#AtkEventListener" title="AtkEventListener ()"><span class="type">AtkEventListener</span></a>, if any preparation is required. </p>
408
+ <p>see atk_focus_tracker_init.</p>
409
+ </div>
410
+ <hr>
411
+ <div class="refsect2">
412
+ <a name="atk-add-global-event-listener"></a><h3>atk_add_global_event_listener ()</h3>
413
+ <pre class="programlisting"><span class="returnvalue">guint</span>
414
+ atk_add_global_event_listener (<em class="parameter"><code><span class="type">GSignalEmissionHook</span> listener</code></em>,
415
+ <em class="parameter"><code>const <span class="type">gchar</span> *event_type</code></em>);</pre>
416
+ <p>Adds the specified function to the list of functions to be called
417
+ when an ATK event of type event_type occurs.</p>
418
+ <p>The format of event_type is the following:
419
+ "ATK:&lt;atk_type&gt;:&lt;atk_event&gt;:&lt;atk_event_detail&gt;</p>
420
+ <p>Where "ATK" works as the namespace, &lt;atk_interface&gt; is the name of
421
+ the ATK type (interface or object), &lt;atk_event&gt; is the name of the
422
+ signal defined on that interface and &lt;atk_event_detail&gt; is the
423
+ gsignal detail of that signal. You can find more info about gsignal
424
+ details here:
425
+ http://developer.gnome.org/gobject/stable/gobject-Signals.html</p>
426
+ <p>The first three parameters are mandatory. The last one is optional.</p>
427
+ <p>For example:
428
+ ATK:AtkObject:state-change
429
+ ATK:AtkText:text-selection-changed
430
+ ATK:AtkText:text-insert:system</p>
431
+ <p>Toolkit implementor note: ATK provides a default implementation for
432
+ this virtual method. ATK implementors are discouraged from
433
+ reimplementing this method.</p>
434
+ <p>Toolkit implementor note: this method is not intended to be used by
435
+ ATK implementors but by ATK consumers.</p>
436
+ <p>ATK consumers note: as this method adds a listener for a given ATK
437
+ type, that type should be already registered on the GType system
438
+ before calling this method. A simple way to do that is creating an
439
+ instance of <a class="link" href="AtkNoOpObject.html" title="AtkNoOpObject"><span class="type">AtkNoOpObject</span></a>. This class implements all ATK
440
+ interfaces, so creating the instance will register all ATK types as
441
+ a collateral effect.</p>
442
+ <div class="refsect3">
443
+ <a name="id-1.4.2.7.8.12"></a><h4>Parameters</h4>
444
+ <div class="informaltable"><table width="100%" border="0">
445
+ <colgroup>
446
+ <col width="150px" class="parameters_name">
447
+ <col class="parameters_description">
448
+ <col width="200px" class="parameters_annotations">
449
+ </colgroup>
450
+ <tbody>
451
+ <tr>
452
+ <td class="parameter_name"><p>listener</p></td>
453
+ <td class="parameter_description"><p>the listener to notify</p></td>
454
+ <td class="parameter_annotations"> </td>
455
+ </tr>
456
+ <tr>
457
+ <td class="parameter_name"><p>event_type</p></td>
458
+ <td class="parameter_description"><p>the type of event for which notification is requested</p></td>
459
+ <td class="parameter_annotations"> </td>
460
+ </tr>
461
+ </tbody>
462
+ </table></div>
463
+ </div>
464
+ <div class="refsect3">
465
+ <a name="id-1.4.2.7.8.13"></a><h4>Returns</h4>
466
+ <p> added event listener id, or 0 on failure.</p>
467
+ <p></p>
468
+ </div>
469
+ </div>
470
+ <hr>
471
+ <div class="refsect2">
472
+ <a name="atk-remove-global-event-listener"></a><h3>atk_remove_global_event_listener ()</h3>
473
+ <pre class="programlisting"><span class="returnvalue">void</span>
474
+ atk_remove_global_event_listener (<em class="parameter"><code><span class="type">guint</span> listener_id</code></em>);</pre>
475
+ <p><em class="parameter"><code>listener_id</code></em>
476
+ is the value returned by <a class="link" href="AtkUtil.html#atk-add-global-event-listener" title="atk_add_global_event_listener ()"><span class="type">atk_add_global_event_listener</span></a>
477
+ when you registered that event listener.</p>
478
+ <p>Toolkit implementor note: ATK provides a default implementation for
479
+ this virtual method. ATK implementors are discouraged from
480
+ reimplementing this method.</p>
481
+ <p>Toolkit implementor note: this method is not intended to be used by
482
+ ATK implementors but by ATK consumers.</p>
483
+ <p>Removes the specified event listener</p>
484
+ <div class="refsect3">
485
+ <a name="id-1.4.2.7.9.8"></a><h4>Parameters</h4>
486
+ <div class="informaltable"><table width="100%" border="0">
487
+ <colgroup>
488
+ <col width="150px" class="parameters_name">
489
+ <col class="parameters_description">
490
+ <col width="200px" class="parameters_annotations">
491
+ </colgroup>
492
+ <tbody><tr>
493
+ <td class="parameter_name"><p>listener_id</p></td>
494
+ <td class="parameter_description"><p>the id of the event listener to remove</p></td>
495
+ <td class="parameter_annotations"> </td>
496
+ </tr></tbody>
497
+ </table></div>
498
+ </div>
499
+ </div>
500
+ <hr>
501
+ <div class="refsect2">
502
+ <a name="AtkKeySnoopFunc"></a><h3>AtkKeySnoopFunc ()</h3>
503
+ <pre class="programlisting"><span class="returnvalue">gint</span>
504
+ <span class="c_punctuation">(</span>*AtkKeySnoopFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="AtkUtil.html#AtkKeyEventStruct" title="struct AtkKeyEventStruct"><span class="type">AtkKeyEventStruct</span></a> *event</code></em>,
505
+ <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
506
+ <p>An <a class="link" href="AtkUtil.html#AtkKeySnoopFunc" title="AtkKeySnoopFunc ()"><span class="type">AtkKeySnoopFunc</span></a> is a type of callback which is called whenever a key event occurs,
507
+ if registered via atk_add_key_event_listener. It allows for pre-emptive
508
+ interception of key events via the return code as described below.</p>
509
+ <div class="refsect3">
510
+ <a name="id-1.4.2.7.10.5"></a><h4>Parameters</h4>
511
+ <div class="informaltable"><table width="100%" border="0">
512
+ <colgroup>
513
+ <col width="150px" class="parameters_name">
514
+ <col class="parameters_description">
515
+ <col width="200px" class="parameters_annotations">
516
+ </colgroup>
517
+ <tbody>
518
+ <tr>
519
+ <td class="parameter_name"><p>event</p></td>
520
+ <td class="parameter_description"><p>an AtkKeyEventStruct containing information about the key event for which
521
+ notification is being given.</p></td>
522
+ <td class="parameter_annotations"> </td>
523
+ </tr>
524
+ <tr>
525
+ <td class="parameter_name"><p>user_data</p></td>
526
+ <td class="parameter_description"><p>a block of data which will be passed to the event listener, on notification.</p></td>
527
+ <td class="parameter_annotations"> </td>
528
+ </tr>
529
+ </tbody>
530
+ </table></div>
531
+ </div>
532
+ <div class="refsect3">
533
+ <a name="id-1.4.2.7.10.6"></a><h4>Returns</h4>
534
+ <p> TRUE (nonzero) if the event emission should be stopped and the event
535
+ discarded without being passed to the normal GUI recipient; FALSE (zero) if the
536
+ event dispatch to the client application should proceed as normal.</p>
537
+ <p>see atk_add_key_event_listener.</p>
538
+ <p></p>
539
+ </div>
540
+ </div>
541
+ <hr>
542
+ <div class="refsect2">
543
+ <a name="atk-add-key-event-listener"></a><h3>atk_add_key_event_listener ()</h3>
544
+ <pre class="programlisting"><span class="returnvalue">guint</span>
545
+ atk_add_key_event_listener (<em class="parameter"><code><a class="link" href="AtkUtil.html#AtkKeySnoopFunc" title="AtkKeySnoopFunc ()"><span class="type">AtkKeySnoopFunc</span></a> listener</code></em>,
546
+ <em class="parameter"><code><span class="type">gpointer</span> data</code></em>);</pre>
547
+ <p>Adds the specified function to the list of functions to be called
548
+ when a key event occurs. The <em class="parameter"><code>data</code></em>
549
+ element will be passed to the
550
+ <a class="link" href="AtkUtil.html#AtkKeySnoopFunc" title="AtkKeySnoopFunc ()"><span class="type">AtkKeySnoopFunc</span></a> (<em class="parameter"><code>listener</code></em>
551
+ ) as the <em class="parameter"><code>func_data</code></em>
552
+ param, on notification.</p>
553
+ <div class="refsect3">
554
+ <a name="id-1.4.2.7.11.5"></a><h4>Parameters</h4>
555
+ <div class="informaltable"><table width="100%" border="0">
556
+ <colgroup>
557
+ <col width="150px" class="parameters_name">
558
+ <col class="parameters_description">
559
+ <col width="200px" class="parameters_annotations">
560
+ </colgroup>
561
+ <tbody>
562
+ <tr>
563
+ <td class="parameter_name"><p>listener</p></td>
564
+ <td class="parameter_description"><p>the listener to notify</p></td>
565
+ <td class="parameter_annotations"> </td>
566
+ </tr>
567
+ <tr>
568
+ <td class="parameter_name"><p>data</p></td>
569
+ <td class="parameter_description"><p>a <span class="type">gpointer</span> that points to a block of data that should be sent to the registered listeners,
570
+ along with the event notification, when it occurs. </p></td>
571
+ <td class="parameter_annotations"> </td>
572
+ </tr>
573
+ </tbody>
574
+ </table></div>
575
+ </div>
576
+ <div class="refsect3">
577
+ <a name="id-1.4.2.7.11.6"></a><h4>Returns</h4>
578
+ <p> added event listener id, or 0 on failure.</p>
579
+ <p></p>
580
+ </div>
581
+ </div>
582
+ <hr>
583
+ <div class="refsect2">
584
+ <a name="atk-remove-key-event-listener"></a><h3>atk_remove_key_event_listener ()</h3>
585
+ <pre class="programlisting"><span class="returnvalue">void</span>
586
+ atk_remove_key_event_listener (<em class="parameter"><code><span class="type">guint</span> listener_id</code></em>);</pre>
587
+ <p><em class="parameter"><code>listener_id</code></em>
588
+ is the value returned by <a class="link" href="AtkUtil.html#atk-add-key-event-listener" title="atk_add_key_event_listener ()"><span class="type">atk_add_key_event_listener</span></a>
589
+ when you registered that event listener.</p>
590
+ <p>Removes the specified event listener.</p>
591
+ <div class="refsect3">
592
+ <a name="id-1.4.2.7.12.6"></a><h4>Parameters</h4>
593
+ <div class="informaltable"><table width="100%" border="0">
594
+ <colgroup>
595
+ <col width="150px" class="parameters_name">
596
+ <col class="parameters_description">
597
+ <col width="200px" class="parameters_annotations">
598
+ </colgroup>
599
+ <tbody><tr>
600
+ <td class="parameter_name"><p>listener_id</p></td>
601
+ <td class="parameter_description"><p>the id of the event listener to remove</p></td>
602
+ <td class="parameter_annotations"> </td>
603
+ </tr></tbody>
604
+ </table></div>
605
+ </div>
606
+ </div>
607
+ <hr>
608
+ <div class="refsect2">
609
+ <a name="atk-get-root"></a><h3>atk_get_root ()</h3>
610
+ <pre class="programlisting"><a class="link" href="AtkObject.html" title="AtkObject"><span class="returnvalue">AtkObject</span></a> *
611
+ atk_get_root (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
612
+ <p>Gets the root accessible container for the current application.</p>
613
+ <div class="refsect3">
614
+ <a name="id-1.4.2.7.13.5"></a><h4>Returns</h4>
615
+ <p> the root accessible container for the current
616
+ application. </p>
617
+ <p><span class="annotation">[<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></p>
618
+ </div>
619
+ </div>
620
+ <hr>
621
+ <div class="refsect2">
622
+ <a name="atk-get-focus-object"></a><h3>atk_get_focus_object ()</h3>
623
+ <pre class="programlisting"><a class="link" href="AtkObject.html" title="AtkObject"><span class="returnvalue">AtkObject</span></a> *
624
+ atk_get_focus_object (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
625
+ <p>Gets the currently focused object.</p>
626
+ <div class="refsect3">
627
+ <a name="id-1.4.2.7.14.5"></a><h4>Returns</h4>
628
+ <p> the currently focused object for the current
629
+ application. </p>
630
+ <p><span class="annotation">[<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span></p>
631
+ </div>
632
+ <p class="since">Since 1.6</p>
633
+ </div>
634
+ <hr>
635
+ <div class="refsect2">
636
+ <a name="atk-get-toolkit-name"></a><h3>atk_get_toolkit_name ()</h3>
637
+ <pre class="programlisting">const <span class="returnvalue">gchar</span> *
638
+ atk_get_toolkit_name (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
639
+ <p>Gets name string for the GUI toolkit implementing ATK for this application.</p>
640
+ <div class="refsect3">
641
+ <a name="id-1.4.2.7.15.5"></a><h4>Returns</h4>
642
+ <p> name string for the GUI toolkit implementing ATK for this application</p>
643
+ <p></p>
644
+ </div>
645
+ </div>
646
+ <hr>
647
+ <div class="refsect2">
648
+ <a name="atk-get-toolkit-version"></a><h3>atk_get_toolkit_version ()</h3>
649
+ <pre class="programlisting">const <span class="returnvalue">gchar</span> *
650
+ atk_get_toolkit_version (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
651
+ <p>Gets version string for the GUI toolkit implementing ATK for this application.</p>
652
+ <div class="refsect3">
653
+ <a name="id-1.4.2.7.16.5"></a><h4>Returns</h4>
654
+ <p> version string for the GUI toolkit implementing ATK for this application</p>
655
+ <p></p>
656
+ </div>
657
+ </div>
658
+ <hr>
659
+ <div class="refsect2">
660
+ <a name="atk-get-version"></a><h3>atk_get_version ()</h3>
661
+ <pre class="programlisting">const <span class="returnvalue">gchar</span> *
662
+ atk_get_version (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
663
+ <p>Gets the current version for ATK.</p>
664
+ <div class="refsect3">
665
+ <a name="id-1.4.2.7.17.5"></a><h4>Returns</h4>
666
+ <p> version string for ATK</p>
667
+ <p></p>
668
+ </div>
669
+ <p class="since">Since 1.20</p>
670
+ </div>
671
+ <hr>
672
+ <div class="refsect2">
673
+ <a name="ATK-DEFINE-TYPE:CAPS"></a><h3>ATK_DEFINE_TYPE()</h3>
674
+ <pre class="programlisting">#define ATK_DEFINE_TYPE(TN, t_n, T_P) ATK_DEFINE_TYPE_EXTENDED (TN, t_n, T_P, 0, {})
675
+ </pre>
676
+ <p>A convenience macro for type ATK implementations, which declares a class
677
+ initialization function, an instance initialization function (see <span class="type">GTypeInfo</span>
678
+ for information about these) and a static variable named
679
+ <em class="parameter"><code>t_n</code></em>
680
+ _parent_class pointing to the parent class. Furthermore, it
681
+ defines a <code class="function">_get_type()</code> function.</p>
682
+ <div class="refsect3">
683
+ <a name="id-1.4.2.7.18.5"></a><h4>Parameters</h4>
684
+ <div class="informaltable"><table width="100%" border="0">
685
+ <colgroup>
686
+ <col width="150px" class="parameters_name">
687
+ <col class="parameters_description">
688
+ <col width="200px" class="parameters_annotations">
689
+ </colgroup>
690
+ <tbody>
691
+ <tr>
692
+ <td class="parameter_name"><p>TN</p></td>
693
+ <td class="parameter_description"><p>The name of the new type, in Camel case.</p></td>
694
+ <td class="parameter_annotations"> </td>
695
+ </tr>
696
+ <tr>
697
+ <td class="parameter_name"><p>t_n</p></td>
698
+ <td class="parameter_description"><p>The name of the new type, in lowercase, with words separated by '_'.</p></td>
699
+ <td class="parameter_annotations"> </td>
700
+ </tr>
701
+ <tr>
702
+ <td class="parameter_name"><p>T_P</p></td>
703
+ <td class="parameter_description"><p>The <span class="type">GType</span> of the parent type.</p></td>
704
+ <td class="parameter_annotations"> </td>
705
+ </tr>
706
+ </tbody>
707
+ </table></div>
708
+ </div>
709
+ <p class="since">Since 1.22</p>
710
+ </div>
711
+ <hr>
712
+ <div class="refsect2">
713
+ <a name="ATK-DEFINE-TYPE-EXTENDED:CAPS"></a><h3>ATK_DEFINE_TYPE_EXTENDED()</h3>
714
+ <pre class="programlisting">#define ATK_DEFINE_TYPE_EXTENDED(TN, t_n, T_P, _f_, _C_) _ATK_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, _f_) {_C_;} _ATK_DEFINE_TYPE_EXTENDED_END()
715
+ </pre>
716
+ <p>The most general convenience macro for ATK type implementations, on which
717
+ <a class="link" href="AtkUtil.html#ATK-DEFINE-TYPE:CAPS" title="ATK_DEFINE_TYPE()"><code class="function">ATK_DEFINE_TYPE()</code></a>, etc are based.</p>
718
+ <div class="refsect3">
719
+ <a name="id-1.4.2.7.19.5"></a><h4>Parameters</h4>
720
+ <div class="informaltable"><table width="100%" border="0">
721
+ <colgroup>
722
+ <col width="150px" class="parameters_name">
723
+ <col class="parameters_description">
724
+ <col width="200px" class="parameters_annotations">
725
+ </colgroup>
726
+ <tbody>
727
+ <tr>
728
+ <td class="parameter_name"><p>TN</p></td>
729
+ <td class="parameter_description"><p>The name of the new type, in Camel case.</p></td>
730
+ <td class="parameter_annotations"> </td>
731
+ </tr>
732
+ <tr>
733
+ <td class="parameter_name"><p>t_n</p></td>
734
+ <td class="parameter_description"><p>The name of the new type, in lowercase, with words separated by '_'.</p></td>
735
+ <td class="parameter_annotations"> </td>
736
+ </tr>
737
+ <tr>
738
+ <td class="parameter_name"><p>T_P</p></td>
739
+ <td class="parameter_description"><p>The <span class="type">GType</span> of the parent type.</p></td>
740
+ <td class="parameter_annotations"> </td>
741
+ </tr>
742
+ <tr>
743
+ <td class="parameter_name"><p>_f_</p></td>
744
+ <td class="parameter_description"><p><span class="type">GTypeFlags</span> to pass to <code class="function">g_type_register_static()</code></p></td>
745
+ <td class="parameter_annotations"> </td>
746
+ </tr>
747
+ <tr>
748
+ <td class="parameter_name"><p>_C_</p></td>
749
+ <td class="parameter_description"><p>Custom code that gets inserted in the <code class="function">_get_type()</code> function.</p></td>
750
+ <td class="parameter_annotations"> </td>
751
+ </tr>
752
+ </tbody>
753
+ </table></div>
754
+ </div>
755
+ <p class="since">Since 1.22</p>
756
+ </div>
757
+ <hr>
758
+ <div class="refsect2">
759
+ <a name="ATK-DEFINE-TYPE-WITH-CODE:CAPS"></a><h3>ATK_DEFINE_TYPE_WITH_CODE()</h3>
760
+ <pre class="programlisting">#define ATK_DEFINE_TYPE_WITH_CODE(TN, t_n, T_P, _C_) _ATK_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, 0) {_C_;} _ATK_DEFINE_TYPE_EXTENDED_END()
761
+ </pre>
762
+ <p>A convenience macro for ATK type implementations.
763
+ Similar to <a class="link" href="AtkUtil.html#ATK-DEFINE-TYPE:CAPS" title="ATK_DEFINE_TYPE()"><code class="function">ATK_DEFINE_TYPE()</code></a>, but allows you to insert custom code into the
764
+ <code class="function">_get_type()</code> function, e.g. interface implementations via <code class="function">G_IMPLEMENT_INTERFACE()</code>.</p>
765
+ <div class="refsect3">
766
+ <a name="id-1.4.2.7.20.5"></a><h4>Parameters</h4>
767
+ <div class="informaltable"><table width="100%" border="0">
768
+ <colgroup>
769
+ <col width="150px" class="parameters_name">
770
+ <col class="parameters_description">
771
+ <col width="200px" class="parameters_annotations">
772
+ </colgroup>
773
+ <tbody>
774
+ <tr>
775
+ <td class="parameter_name"><p>TN</p></td>
776
+ <td class="parameter_description"><p>The name of the new type, in Camel case.</p></td>
777
+ <td class="parameter_annotations"> </td>
778
+ </tr>
779
+ <tr>
780
+ <td class="parameter_name"><p>t_n</p></td>
781
+ <td class="parameter_description"><p>The name of the new type in lowercase, with words separated by '_'.</p></td>
782
+ <td class="parameter_annotations"> </td>
783
+ </tr>
784
+ <tr>
785
+ <td class="parameter_name"><p>T_P</p></td>
786
+ <td class="parameter_description"><p>The <span class="type">GType</span> of the parent type.</p></td>
787
+ <td class="parameter_annotations"> </td>
788
+ </tr>
789
+ <tr>
790
+ <td class="parameter_name"><p>_C_</p></td>
791
+ <td class="parameter_description"><p>Custom code that gets inserted in the <code class="function">_get_type()</code> function.</p></td>
792
+ <td class="parameter_annotations"> </td>
793
+ </tr>
794
+ </tbody>
795
+ </table></div>
796
+ </div>
797
+ <p class="since">Since 1.22</p>
798
+ </div>
799
+ <hr>
800
+ <div class="refsect2">
801
+ <a name="ATK-DEFINE-ABSTRACT-TYPE:CAPS"></a><h3>ATK_DEFINE_ABSTRACT_TYPE()</h3>
802
+ <pre class="programlisting">#define ATK_DEFINE_ABSTRACT_TYPE(TN, t_n, T_P) ATK_DEFINE_TYPE_EXTENDED (TN, t_n, T_P, G_TYPE_FLAG_ABSTRACT, {})
803
+ </pre>
804
+ <p>A convenience macro for ATK type implementations.
805
+ Similar to <a class="link" href="AtkUtil.html#ATK-DEFINE-TYPE:CAPS" title="ATK_DEFINE_TYPE()"><code class="function">ATK_DEFINE_TYPE()</code></a>, but defines an abstract type.</p>
806
+ <div class="refsect3">
807
+ <a name="id-1.4.2.7.21.5"></a><h4>Parameters</h4>
808
+ <div class="informaltable"><table width="100%" border="0">
809
+ <colgroup>
810
+ <col width="150px" class="parameters_name">
811
+ <col class="parameters_description">
812
+ <col width="200px" class="parameters_annotations">
813
+ </colgroup>
814
+ <tbody>
815
+ <tr>
816
+ <td class="parameter_name"><p>TN</p></td>
817
+ <td class="parameter_description"><p>The name of the new type, in Camel case.</p></td>
818
+ <td class="parameter_annotations"> </td>
819
+ </tr>
820
+ <tr>
821
+ <td class="parameter_name"><p>t_n</p></td>
822
+ <td class="parameter_description"><p>The name of the new type, in lowercase, with words separated by '_'.</p></td>
823
+ <td class="parameter_annotations"> </td>
824
+ </tr>
825
+ <tr>
826
+ <td class="parameter_name"><p>T_P</p></td>
827
+ <td class="parameter_description"><p>The <span class="type">GType</span> of the parent type.</p></td>
828
+ <td class="parameter_annotations"> </td>
829
+ </tr>
830
+ </tbody>
831
+ </table></div>
832
+ </div>
833
+ <p class="since">Since 1.22</p>
834
+ </div>
835
+ <hr>
836
+ <div class="refsect2">
837
+ <a name="ATK-DEFINE-ABSTRACT-TYPE-WITH-CODE:CAPS"></a><h3>ATK_DEFINE_ABSTRACT_TYPE_WITH_CODE()</h3>
838
+ <pre class="programlisting">#define ATK_DEFINE_ABSTRACT_TYPE_WITH_CODE(TN, t_n, T_P, _C_) _ATK_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, G_TYPE_FLAG_ABSTRACT) {_C_;} _ATK_DEFINE_TYPE_EXTENDED_END()
839
+ </pre>
840
+ <p>A convenience macro for ATK type implementations.
841
+ Similar to <a class="link" href="AtkUtil.html#ATK-DEFINE-TYPE-WITH-CODE:CAPS" title="ATK_DEFINE_TYPE_WITH_CODE()"><code class="function">ATK_DEFINE_TYPE_WITH_CODE()</code></a>, but defines an abstract type.</p>
842
+ <div class="refsect3">
843
+ <a name="id-1.4.2.7.22.5"></a><h4>Parameters</h4>
844
+ <div class="informaltable"><table width="100%" border="0">
845
+ <colgroup>
846
+ <col width="150px" class="parameters_name">
847
+ <col class="parameters_description">
848
+ <col width="200px" class="parameters_annotations">
849
+ </colgroup>
850
+ <tbody>
851
+ <tr>
852
+ <td class="parameter_name"><p>TN</p></td>
853
+ <td class="parameter_description"><p>The name of the new type, in Camel case.</p></td>
854
+ <td class="parameter_annotations"> </td>
855
+ </tr>
856
+ <tr>
857
+ <td class="parameter_name"><p>t_n</p></td>
858
+ <td class="parameter_description"><p>The name of the new type, in lowercase, with words separated by '_'.</p></td>
859
+ <td class="parameter_annotations"> </td>
860
+ </tr>
861
+ <tr>
862
+ <td class="parameter_name"><p>T_P</p></td>
863
+ <td class="parameter_description"><p>The <span class="type">GType</span> of the parent type.</p></td>
864
+ <td class="parameter_annotations"> </td>
865
+ </tr>
866
+ <tr>
867
+ <td class="parameter_name"><p>_C_</p></td>
868
+ <td class="parameter_description"><p>Custom code that gets inserted in the <code class="function">_get_type()</code> function.</p></td>
869
+ <td class="parameter_annotations"> </td>
870
+ </tr>
871
+ </tbody>
872
+ </table></div>
873
+ </div>
874
+ <p class="since">Since 1.22</p>
875
+ </div>
876
+ </div>
877
+ <div class="refsect1">
878
+ <a name="AtkUtil.other_details"></a><h2>Types and Values</h2>
879
+ <div class="refsect2">
880
+ <a name="AtkUtil-struct"></a><h3>struct AtkUtil</h3>
881
+ <pre class="programlisting">struct AtkUtil;</pre>
882
+ <p>
883
+ </p>
884
+ </div>
885
+ <hr>
886
+ <div class="refsect2">
887
+ <a name="AtkUtilClass"></a><h3>struct AtkUtilClass</h3>
888
+ <pre class="programlisting">struct AtkUtilClass {
889
+ GObjectClass parent;
890
+ guint (* add_global_event_listener) (GSignalEmissionHook listener,
891
+ const gchar *event_type);
892
+ void (* remove_global_event_listener) (guint listener_id);
893
+ guint (* add_key_event_listener) (AtkKeySnoopFunc listener,
894
+ gpointer data);
895
+ void (* remove_key_event_listener) (guint listener_id);
896
+ AtkObject* (* get_root) (void);
897
+ const gchar* (* get_toolkit_name) (void);
898
+ const gchar* (* get_toolkit_version) (void);
899
+ };
900
+ </pre>
901
+ <div class="refsect3">
902
+ <a name="id-1.4.2.8.3.4"></a><h4>Members</h4>
903
+ <div class="informaltable"><table width="100%" border="0">
904
+ <colgroup>
905
+ <col width="300px" class="struct_members_name">
906
+ <col class="struct_members_description">
907
+ <col width="200px" class="struct_members_annotations">
908
+ </colgroup>
909
+ <tbody>
910
+ <tr>
911
+ <td class="struct_member_name"><p><span class="type">GObjectClass</span> <em class="structfield"><code><a name="AtkUtilClass.parent"></a>parent</code></em>;</p></td>
912
+ <td class="struct_member_description"> </td>
913
+ <td class="struct_member_annotations"> </td>
914
+ </tr>
915
+ <tr>
916
+ <td class="struct_member_name"><p><em class="structfield"><code><a name="AtkUtilClass.add-global-event-listener"></a>add_global_event_listener</code></em> ()</p></td>
917
+ <td class="struct_member_description"><p>adds the specified function to the list
918
+ of functions to be called when an ATK event occurs. ATK
919
+ implementors are discouraged from reimplementing this method.</p></td>
920
+ <td class="struct_member_annotations"> </td>
921
+ </tr>
922
+ <tr>
923
+ <td class="struct_member_name"><p><em class="structfield"><code><a name="AtkUtilClass.remove-global-event-listener"></a>remove_global_event_listener</code></em> ()</p></td>
924
+ <td class="struct_member_description"><p>removes the specified function to
925
+ the list of functions to be called when an ATK event occurs. ATK
926
+ implementors are discouraged from reimplementing this method.</p></td>
927
+ <td class="struct_member_annotations"> </td>
928
+ </tr>
929
+ <tr>
930
+ <td class="struct_member_name"><p><em class="structfield"><code><a name="AtkUtilClass.add-key-event-listener"></a>add_key_event_listener</code></em> ()</p></td>
931
+ <td class="struct_member_description"><p>adds the specified function to the list of
932
+ functions to be called when a key event occurs.</p></td>
933
+ <td class="struct_member_annotations"> </td>
934
+ </tr>
935
+ <tr>
936
+ <td class="struct_member_name"><p><em class="structfield"><code><a name="AtkUtilClass.remove-key-event-listener"></a>remove_key_event_listener</code></em> ()</p></td>
937
+ <td class="struct_member_description"><p>remove the specified function to the
938
+ list of functions to be called when a key event occurs.</p></td>
939
+ <td class="struct_member_annotations"> </td>
940
+ </tr>
941
+ <tr>
942
+ <td class="struct_member_name"><p><em class="structfield"><code><a name="AtkUtilClass.get-root"></a>get_root</code></em> ()</p></td>
943
+ <td class="struct_member_description"><p>gets the root accessible container for the current
944
+ application.</p></td>
945
+ <td class="struct_member_annotations"> </td>
946
+ </tr>
947
+ <tr>
948
+ <td class="struct_member_name"><p><em class="structfield"><code><a name="AtkUtilClass.get-toolkit-name"></a>get_toolkit_name</code></em> ()</p></td>
949
+ <td class="struct_member_description"><p>gets name string for the GUI toolkit
950
+ implementing ATK for this application.</p></td>
951
+ <td class="struct_member_annotations"> </td>
952
+ </tr>
953
+ <tr>
954
+ <td class="struct_member_name"><p><em class="structfield"><code><a name="AtkUtilClass.get-toolkit-version"></a>get_toolkit_version</code></em> ()</p></td>
955
+ <td class="struct_member_description"><p>gets version string for the GUI toolkit
956
+ implementing ATK for this application.</p></td>
957
+ <td class="struct_member_annotations"> </td>
958
+ </tr>
959
+ </tbody>
960
+ </table></div>
961
+ </div>
962
+ </div>
963
+ <hr>
964
+ <div class="refsect2">
965
+ <a name="AtkCoordType"></a><h3>enum AtkCoordType</h3>
966
+ <p>Specifies how xy coordinates are to be interpreted. Used by functions such
967
+ as <a class="link" href="AtkComponent.html#atk-component-get-position" title="atk_component_get_position ()"><code class="function">atk_component_get_position()</code></a> and <a class="link" href="AtkText.html#atk-text-get-character-extents" title="atk_text_get_character_extents ()"><code class="function">atk_text_get_character_extents()</code></a></p>
968
+ <div class="refsect3">
969
+ <a name="id-1.4.2.8.4.4"></a><h4>Members</h4>
970
+ <div class="informaltable"><table width="100%" border="0">
971
+ <colgroup>
972
+ <col width="300px" class="enum_members_name">
973
+ <col class="enum_members_description">
974
+ <col width="200px" class="enum_members_annotations">
975
+ </colgroup>
976
+ <tbody>
977
+ <tr>
978
+ <td class="enum_member_name"><p><a name="ATK-XY-SCREEN:CAPS"></a>ATK_XY_SCREEN</p></td>
979
+ <td class="enum_member_description">
980
+ <p>specifies xy coordinates relative to the screen</p>
981
+ </td>
982
+ <td class="enum_member_annotations"> </td>
983
+ </tr>
984
+ <tr>
985
+ <td class="enum_member_name"><p><a name="ATK-XY-WINDOW:CAPS"></a>ATK_XY_WINDOW</p></td>
986
+ <td class="enum_member_description">
987
+ <p>specifies xy coordinates relative to the widget's
988
+ top-level window</p>
989
+ </td>
990
+ <td class="enum_member_annotations"> </td>
991
+ </tr>
992
+ </tbody>
993
+ </table></div>
994
+ </div>
995
+ </div>
996
+ <hr>
997
+ <div class="refsect2">
998
+ <a name="AtkKeyEventStruct"></a><h3>struct AtkKeyEventStruct</h3>
999
+ <pre class="programlisting">struct AtkKeyEventStruct {
1000
+ gint type;
1001
+ guint state;
1002
+ guint keyval;
1003
+ gint length;
1004
+ gchar *string;
1005
+ guint16 keycode;
1006
+ guint32 timestamp;
1007
+ };
1008
+ </pre>
1009
+ <p>Encapsulates information about a key event.</p>
1010
+ <div class="refsect3">
1011
+ <a name="id-1.4.2.8.5.5"></a><h4>Members</h4>
1012
+ <div class="informaltable"><table width="100%" border="0">
1013
+ <colgroup>
1014
+ <col width="300px" class="struct_members_name">
1015
+ <col class="struct_members_description">
1016
+ <col width="200px" class="struct_members_annotations">
1017
+ </colgroup>
1018
+ <tbody>
1019
+ <tr>
1020
+ <td class="struct_member_name"><p><span class="type">gint</span> <em class="structfield"><code><a name="AtkKeyEventStruct.type"></a>type</code></em>;</p></td>
1021
+ <td class="struct_member_description"><p>An AtkKeyEventType, generally one of ATK_KEY_EVENT_PRESS or ATK_KEY_EVENT_RELEASE</p></td>
1022
+ <td class="struct_member_annotations"> </td>
1023
+ </tr>
1024
+ <tr>
1025
+ <td class="struct_member_name"><p><span class="type">guint</span> <em class="structfield"><code><a name="AtkKeyEventStruct.state"></a>state</code></em>;</p></td>
1026
+ <td class="struct_member_description"><p>A bitmask representing the state of the modifier keys immediately after the event takes place.
1027
+ The meaning of the bits is currently defined to match the bitmask used by GDK in
1028
+ GdkEventType.state, see
1029
+ http://developer.gnome.org/doc/API/2.0/gdk/gdk-Event-Structures.html<span class="type">GdkEventKey</span></p></td>
1030
+ <td class="struct_member_annotations"> </td>
1031
+ </tr>
1032
+ <tr>
1033
+ <td class="struct_member_name"><p><span class="type">guint</span> <em class="structfield"><code><a name="AtkKeyEventStruct.keyval"></a>keyval</code></em>;</p></td>
1034
+ <td class="struct_member_description"><p>A guint representing a keysym value corresponding to those used by GDK and X11: see
1035
+ /usr/X11/include/keysymdef.h.</p></td>
1036
+ <td class="struct_member_annotations"> </td>
1037
+ </tr>
1038
+ <tr>
1039
+ <td class="struct_member_name"><p><span class="type">gint</span> <em class="structfield"><code><a name="AtkKeyEventStruct.length"></a>length</code></em>;</p></td>
1040
+ <td class="struct_member_description"><p>The length of member <span class="type">string</span>.</p></td>
1041
+ <td class="struct_member_annotations"> </td>
1042
+ </tr>
1043
+ <tr>
1044
+ <td class="struct_member_name"><p><span class="type">gchar</span> *<em class="structfield"><code><a name="AtkKeyEventStruct.string"></a>string</code></em>;</p></td>
1045
+ <td class="struct_member_description"><p>A string containing one of the following: either a string approximating the text that would
1046
+ result from this keypress, if the key is a control or graphic character, or a symbolic name for this keypress.
1047
+ Alphanumeric and printable keys will have the symbolic key name in this string member, for instance "A". "0",
1048
+ "semicolon", "aacute". Keypad keys have the prefix "KP".</p></td>
1049
+ <td class="struct_member_annotations"> </td>
1050
+ </tr>
1051
+ <tr>
1052
+ <td class="struct_member_name"><p><span class="type">guint16</span> <em class="structfield"><code><a name="AtkKeyEventStruct.keycode"></a>keycode</code></em>;</p></td>
1053
+ <td class="struct_member_description"><p>The raw hardware code that generated the key event. This field is raraly useful.</p></td>
1054
+ <td class="struct_member_annotations"> </td>
1055
+ </tr>
1056
+ <tr>
1057
+ <td class="struct_member_name"><p><span class="type">guint32</span> <em class="structfield"><code><a name="AtkKeyEventStruct.timestamp"></a>timestamp</code></em>;</p></td>
1058
+ <td class="struct_member_description"><p>A timestamp in milliseconds indicating when the event occurred.
1059
+ These timestamps are relative to a starting point which should be considered arbitrary,
1060
+ and only used to compare the dispatch times of events to one another.</p></td>
1061
+ <td class="struct_member_annotations"> </td>
1062
+ </tr>
1063
+ </tbody>
1064
+ </table></div>
1065
+ </div>
1066
+ </div>
1067
+ <hr>
1068
+ <div class="refsect2">
1069
+ <a name="AtkKeyEventType"></a><h3>enum AtkKeyEventType</h3>
1070
+ <p>Specifies the type of a keyboard evemt.</p>
1071
+ <div class="refsect3">
1072
+ <a name="id-1.4.2.8.6.4"></a><h4>Members</h4>
1073
+ <div class="informaltable"><table width="100%" border="0">
1074
+ <colgroup>
1075
+ <col width="300px" class="enum_members_name">
1076
+ <col class="enum_members_description">
1077
+ <col width="200px" class="enum_members_annotations">
1078
+ </colgroup>
1079
+ <tbody>
1080
+ <tr>
1081
+ <td class="enum_member_name"><p><a name="ATK-KEY-EVENT-PRESS:CAPS"></a>ATK_KEY_EVENT_PRESS</p></td>
1082
+ <td class="enum_member_description">
1083
+ <p>specifies a key press event</p>
1084
+ </td>
1085
+ <td class="enum_member_annotations"> </td>
1086
+ </tr>
1087
+ <tr>
1088
+ <td class="enum_member_name"><p><a name="ATK-KEY-EVENT-RELEASE:CAPS"></a>ATK_KEY_EVENT_RELEASE</p></td>
1089
+ <td class="enum_member_description">
1090
+ <p>specifies a key release event</p>
1091
+ </td>
1092
+ <td class="enum_member_annotations"> </td>
1093
+ </tr>
1094
+ <tr>
1095
+ <td class="enum_member_name"><p><a name="ATK-KEY-EVENT-LAST-DEFINED:CAPS"></a>ATK_KEY_EVENT_LAST_DEFINED</p></td>
1096
+ <td class="enum_member_description">
1097
+ <p>Not a valid value; specifies end of enumeration</p>
1098
+ </td>
1099
+ <td class="enum_member_annotations"> </td>
1100
+ </tr>
1101
+ </tbody>
1102
+ </table></div>
1103
+ </div>
1104
+ </div>
1105
+ </div>
1106
+ </div>
1107
+ <div class="footer">
1108
+ <hr>
1109
+ Generated by GTK-Doc V1.21.1</div>
1110
+ </body>
1111
+ </html>