gdk3 2.2.5-x86-mingw32 → 3.0.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (796) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +18 -3
  3. data/lib/gdk3.rb +3 -0
  4. data/lib/gdk3/cursor.rb +31 -0
  5. data/lib/gdk3/deprecated.rb +41 -11
  6. data/lib/gdk3/loader.rb +39 -9
  7. data/lib/gdk3/rectangle.rb +17 -1
  8. data/lib/gdk3/rgba.rb +26 -5
  9. data/lib/gdk3/screen.rb +40 -0
  10. data/test/fixture/ruby-gnome2-logo.png +0 -0
  11. data/test/gdk-test-utils.rb +13 -0
  12. data/test/test-gdk-atom.rb +24 -0
  13. data/test/test-gdk-cursor.rb +44 -0
  14. data/test/test-gdk-event-mask.rb +21 -0
  15. data/test/test-gdk-keyval.rb +8 -4
  16. data/test/test-gdk-rectangle.rb +20 -1
  17. data/test/test-gdk-rgba.rb +65 -0
  18. data/test/test-gdk-selection.rb +29 -0
  19. data/vendor/local/bin/gtk-encode-symbolic-svg.exe +0 -0
  20. data/vendor/local/bin/gtk-launch.exe +0 -0
  21. data/vendor/local/bin/gtk-query-immodules-3.0.exe +0 -0
  22. data/vendor/local/bin/gtk-update-icon-cache.exe +0 -0
  23. data/vendor/local/bin/gtk3-demo-application.exe +0 -0
  24. data/vendor/local/bin/gtk3-demo.exe +0 -0
  25. data/vendor/local/bin/gtk3-icon-browser.exe +0 -0
  26. data/vendor/local/bin/gtk3-widget-factory.exe +0 -0
  27. data/vendor/local/bin/libepoxy-0.dll +0 -0
  28. data/vendor/local/bin/libgailutil-3-0.dll +0 -0
  29. data/vendor/local/bin/libgdk-3-0.dll +0 -0
  30. data/vendor/local/bin/libgtk-3-0.dll +0 -0
  31. data/vendor/local/bin/libgtkreftestprivate-0.dll +0 -0
  32. data/vendor/local/include/epoxy/gl.h +104 -0
  33. data/vendor/local/include/epoxy/gl_generated.h +18690 -0
  34. data/vendor/local/include/epoxy/wgl.h +64 -0
  35. data/vendor/local/include/epoxy/wgl_generated.h +896 -0
  36. data/vendor/local/include/gtk-3.0/gdk/deprecated/gdkcolor.h +7 -7
  37. data/vendor/local/include/gtk-3.0/gdk/gdk-autocleanup.h +42 -0
  38. data/vendor/local/include/gtk-3.0/gdk/gdk.h +3 -0
  39. data/vendor/local/include/gtk-3.0/gdk/gdkcairo.h +11 -0
  40. data/vendor/local/include/gtk-3.0/gdk/gdkcursor.h +1 -1
  41. data/vendor/local/include/gtk-3.0/gdk/gdkdevice.h +6 -1
  42. data/vendor/local/include/gtk-3.0/gdk/gdkdisplay.h +2 -2
  43. data/vendor/local/include/gtk-3.0/gdk/gdkenumtypes.h +2 -0
  44. data/vendor/local/include/gtk-3.0/gdk/gdkglcontext.h +87 -0
  45. data/vendor/local/include/gtk-3.0/gdk/gdkmain.h +2 -2
  46. data/vendor/local/include/gtk-3.0/gdk/gdktypes.h +27 -2
  47. data/vendor/local/include/gtk-3.0/gdk/gdkversionmacros.h +25 -1
  48. data/vendor/local/include/gtk-3.0/gdk/gdkwin32.h +1 -0
  49. data/vendor/local/include/gtk-3.0/gdk/gdkwindow.h +12 -5
  50. data/vendor/local/include/gtk-3.0/gdk/win32/gdkwin32glcontext.h +49 -0
  51. data/vendor/local/include/gtk-3.0/gtk/a11y/gtk-a11y-autocleanups.h +75 -0
  52. data/vendor/local/include/gtk-3.0/gtk/a11y/gtkcellaccessible.h +2 -1
  53. data/vendor/local/include/gtk-3.0/gtk/deprecated/gtkgradient.h +1 -1
  54. data/vendor/local/include/gtk-3.0/gtk/deprecated/gtkstock.h +4 -4
  55. data/vendor/local/include/gtk-3.0/gtk/{gtkstyleproperties.h → deprecated/gtkstyleproperties.h} +11 -11
  56. data/vendor/local/include/gtk-3.0/gtk/deprecated/gtksymboliccolor.h +1 -1
  57. data/vendor/local/include/gtk-3.0/gtk/deprecated/gtkthemingengine.h +1 -1
  58. data/vendor/local/include/gtk-3.0/gtk/gtk-a11y.h +2 -0
  59. data/vendor/local/include/gtk-3.0/gtk/gtk-autocleanups.h +222 -0
  60. data/vendor/local/include/gtk-3.0/gtk/gtk.h +8 -1
  61. data/vendor/local/include/gtk-3.0/gtk/gtkapplicationwindow.h +4 -0
  62. data/vendor/local/include/gtk-3.0/gtk/gtkclipboard.h +3 -0
  63. data/vendor/local/include/gtk-3.0/gtk/gtkcssprovider.h +4 -0
  64. data/vendor/local/include/gtk-3.0/gtk/gtkdnd.h +3 -0
  65. data/vendor/local/include/gtk-3.0/gtk/gtkentry.h +47 -0
  66. data/vendor/local/include/gtk-3.0/gtk/gtkenums.h +1 -1
  67. data/vendor/local/include/gtk-3.0/gtk/gtkgesturezoom.h +1 -1
  68. data/vendor/local/include/gtk-3.0/gtk/gtkglarea.h +136 -0
  69. data/vendor/local/include/gtk-3.0/gtk/gtklabel.h +13 -0
  70. data/vendor/local/include/gtk-3.0/gtk/gtklistbox.h +21 -0
  71. data/vendor/local/include/gtk-3.0/gtk/gtkmenu.h +2 -2
  72. data/vendor/local/include/gtk-3.0/gtk/gtkmodelbutton.h +61 -0
  73. data/vendor/local/include/gtk-3.0/gtk/gtknotebook.h +3 -0
  74. data/vendor/local/include/gtk-3.0/gtk/gtkpaned.h +6 -0
  75. data/vendor/local/include/gtk-3.0/gtk/gtkpapersize.h +6 -0
  76. data/vendor/local/include/gtk-3.0/gtk/gtkpopover.h +7 -1
  77. data/vendor/local/include/gtk-3.0/gtk/gtkpopovermenu.h +62 -0
  78. data/vendor/local/include/gtk-3.0/gtk/gtkrange.h +2 -2
  79. data/vendor/local/include/gtk-3.0/gtk/gtkrender.h +155 -0
  80. data/vendor/local/include/gtk-3.0/gtk/gtkscrollable.h +8 -0
  81. data/vendor/local/include/gtk-3.0/gtk/gtkscrolledwindow.h +16 -8
  82. data/vendor/local/include/gtk-3.0/gtk/gtksearchentry.h +7 -5
  83. data/vendor/local/include/gtk-3.0/gtk/gtksettings.h +6 -6
  84. data/vendor/local/include/gtk-3.0/gtk/gtkstack.h +14 -0
  85. data/vendor/local/include/gtk-3.0/gtk/gtkstacksidebar.h +73 -0
  86. data/vendor/local/include/gtk-3.0/gtk/gtkstackswitcher.h +4 -0
  87. data/vendor/local/include/gtk-3.0/gtk/gtkstylecontext.h +75 -121
  88. data/vendor/local/include/gtk-3.0/gtk/gtkstyleprovider.h +1 -1
  89. data/vendor/local/include/gtk-3.0/gtk/gtkswitch.h +1 -0
  90. data/vendor/local/include/gtk-3.0/gtk/gtktextattributes.h +12 -18
  91. data/vendor/local/include/gtk-3.0/gtk/gtktextbuffer.h +62 -38
  92. data/vendor/local/include/gtk-3.0/gtk/gtktextview.h +28 -1
  93. data/vendor/local/include/gtk-3.0/gtk/gtktogglebutton.h +0 -3
  94. data/vendor/local/include/gtk-3.0/gtk/gtktooltip.h +0 -12
  95. data/vendor/local/include/gtk-3.0/gtk/gtktypebuiltins.h +6 -0
  96. data/vendor/local/include/gtk-3.0/gtk/gtkversion.h +2 -2
  97. data/vendor/local/include/gtk-3.0/gtk/gtkwidget.h +12 -5
  98. data/vendor/local/include/gtk-3.0/gtk/gtkwindow.h +2 -0
  99. data/vendor/local/include/gtk-3.0/gtk/gtkx-autocleanups.h +31 -0
  100. data/vendor/local/include/gtk-3.0/gtk/gtkx.h +2 -0
  101. data/vendor/local/lib/gdk-win32-3.0.def +25 -0
  102. data/vendor/local/lib/girepository-1.0/Gdk-3.0.typelib +0 -0
  103. data/vendor/local/lib/girepository-1.0/Gtk-3.0.typelib +0 -0
  104. data/vendor/local/lib/gtk-3.0/3.0.0/immodules.cache +1 -1
  105. data/vendor/local/lib/gtk-win32-3.0.def +7 -7
  106. data/vendor/local/lib/libepoxy.dll.a +0 -0
  107. data/vendor/local/lib/libepoxy.la +41 -0
  108. data/vendor/local/lib/libgailutil-3.dll.a +0 -0
  109. data/vendor/local/lib/libgailutil-3.la +3 -3
  110. data/vendor/local/lib/libgdk-3.dll.a +0 -0
  111. data/vendor/local/lib/libgdk-3.la +5 -5
  112. data/vendor/local/lib/libgtk-3.dll.a +0 -0
  113. data/vendor/local/lib/libgtk-3.la +5 -5
  114. data/vendor/local/lib/libgtkreftestprivate.dll.a +0 -0
  115. data/vendor/local/lib/libgtkreftestprivate.la +6 -6
  116. data/vendor/local/lib/pkgconfig/epoxy.pc +11 -0
  117. data/vendor/local/lib/pkgconfig/gail-3.0.pc +1 -1
  118. data/vendor/local/lib/pkgconfig/gdk-3.0.pc +3 -3
  119. data/vendor/local/lib/pkgconfig/gdk-win32-3.0.pc +3 -3
  120. data/vendor/local/lib/pkgconfig/gtk+-3.0.pc +3 -3
  121. data/vendor/local/lib/pkgconfig/gtk+-win32-3.0.pc +3 -3
  122. data/vendor/local/share/gir-1.0/Gdk-3.0.gir +693 -43
  123. data/vendor/local/share/gir-1.0/Gtk-3.0.gir +2826 -338
  124. data/vendor/local/share/gtk-doc/html/gail-libgail-util3/gail-libgail-util3-GailMisc.html +17 -23
  125. data/vendor/local/share/gtk-doc/html/gail-libgail-util3/gail-libgail-util3-GailTextUtil.html +3 -7
  126. data/vendor/local/share/gtk-doc/html/gail-libgail-util3/gail-libgail-util3.devhelp2 +3 -1
  127. data/vendor/local/share/gtk-doc/html/gail-libgail-util3/index.html +4 -5
  128. data/vendor/local/share/gtk-doc/html/gail-libgail-util3/index.sgml +3 -0
  129. data/vendor/local/share/gtk-doc/html/gail-libgail-util3/libgail-util-main.html +4 -5
  130. data/vendor/local/share/gtk-doc/html/gail-libgail-util3/style.css +9 -6
  131. data/vendor/local/share/gtk-doc/html/gdk3/GdkDevice.html +243 -99
  132. data/vendor/local/share/gtk-doc/html/gdk3/GdkDeviceManager.html +13 -14
  133. data/vendor/local/share/gtk-doc/html/gdk3/GdkDisplay.html +54 -65
  134. data/vendor/local/share/gtk-doc/html/gdk3/GdkDisplayManager.html +11 -12
  135. data/vendor/local/share/gtk-doc/html/gdk3/GdkFrameClock.html +27 -31
  136. data/vendor/local/share/gtk-doc/html/gdk3/GdkGLContext.html +768 -0
  137. data/vendor/local/share/gtk-doc/html/gdk3/GdkScreen.html +45 -62
  138. data/vendor/local/share/gtk-doc/html/gdk3/annotation-glossary.html +14 -6
  139. data/vendor/local/share/gtk-doc/html/gdk3/api-index-3-0.html +3 -4
  140. data/vendor/local/share/gtk-doc/html/gdk3/api-index-3-10.html +3 -4
  141. data/vendor/local/share/gtk-doc/html/gdk3/api-index-3-12.html +3 -4
  142. data/vendor/local/share/gtk-doc/html/gdk3/api-index-3-14.html +5 -6
  143. data/vendor/local/share/gtk-doc/html/gdk3/api-index-3-16.html +146 -0
  144. data/vendor/local/share/gtk-doc/html/gdk3/api-index-3-2.html +3 -4
  145. data/vendor/local/share/gtk-doc/html/gdk3/api-index-3-4.html +3 -4
  146. data/vendor/local/share/gtk-doc/html/gdk3/api-index-3-6.html +3 -4
  147. data/vendor/local/share/gtk-doc/html/gdk3/api-index-3-8.html +3 -4
  148. data/vendor/local/share/gtk-doc/html/gdk3/api-index-deprecated.html +25 -6
  149. data/vendor/local/share/gtk-doc/html/gdk3/api-index-full.html +113 -6
  150. data/vendor/local/share/gtk-doc/html/gdk3/gdk3-Application-launching.html +18 -20
  151. data/vendor/local/share/gtk-doc/html/gdk3/gdk3-Cairo-Interaction.html +143 -44
  152. data/vendor/local/share/gtk-doc/html/gdk3/gdk3-Colors.html +4 -10
  153. data/vendor/local/share/gtk-doc/html/gdk3/gdk3-Cursors.html +23 -25
  154. data/vendor/local/share/gtk-doc/html/gdk3/gdk3-Drag-and-Drop.html +49 -60
  155. data/vendor/local/share/gtk-doc/html/gdk3/gdk3-Event-Structures.html +34 -34
  156. data/vendor/local/share/gtk-doc/html/gdk3/gdk3-Events.html +96 -116
  157. data/vendor/local/share/gtk-doc/html/gdk3/gdk3-GdkFrameTimings.html +12 -20
  158. data/vendor/local/share/gtk-doc/html/gdk3/gdk3-General.html +29 -32
  159. data/vendor/local/share/gtk-doc/html/gdk3/gdk3-Keyboard-Handling.html +72 -91
  160. data/vendor/local/share/gtk-doc/html/gdk3/gdk3-Pango-Interaction.html +43 -44
  161. data/vendor/local/share/gtk-doc/html/gdk3/gdk3-Pixbufs.html +10 -11
  162. data/vendor/local/share/gtk-doc/html/gdk3/gdk3-Points-Rectangles-and-Regions.html +3 -5
  163. data/vendor/local/share/gtk-doc/html/gdk3/gdk3-Properties-and-Atoms.html +23 -26
  164. data/vendor/local/share/gtk-doc/html/gdk3/gdk3-RGBA-Colors.html +9 -15
  165. data/vendor/local/share/gtk-doc/html/gdk3/gdk3-Selections.html +20 -23
  166. data/vendor/local/share/gtk-doc/html/gdk3/gdk3-Testing.html +11 -14
  167. data/vendor/local/share/gtk-doc/html/gdk3/gdk3-Threads.html +30 -30
  168. data/vendor/local/share/gtk-doc/html/gdk3/gdk3-Visuals.html +12 -20
  169. data/vendor/local/share/gtk-doc/html/gdk3/gdk3-Wayland-Interaction.html +33 -34
  170. data/vendor/local/share/gtk-doc/html/gdk3/gdk3-Windows.html +387 -291
  171. data/vendor/local/share/gtk-doc/html/gdk3/gdk3-X-Window-System-Interaction.html +208 -193
  172. data/vendor/local/share/gtk-doc/html/gdk3/gdk3.devhelp2 +402 -10
  173. data/vendor/local/share/gtk-doc/html/gdk3/index.html +7 -4
  174. data/vendor/local/share/gtk-doc/html/gdk3/index.sgml +408 -0
  175. data/vendor/local/share/gtk-doc/html/gdk3/reference.html +6 -4
  176. data/vendor/local/share/gtk-doc/html/gdk3/rn02.html +3 -4
  177. data/vendor/local/share/gtk-doc/html/gdk3/style.css +9 -6
  178. data/vendor/local/share/gtk-doc/html/gtk3/AbstractObjects.html +3 -4
  179. data/vendor/local/share/gtk-doc/html/gtk3/Application.html +3 -4
  180. data/vendor/local/share/gtk-doc/html/gtk3/ApplicationChoosing.html +3 -4
  181. data/vendor/local/share/gtk-doc/html/gtk3/Builder.html +3 -4
  182. data/vendor/local/share/gtk-doc/html/gtk3/ButtonWidgets.html +6 -4
  183. data/vendor/local/share/gtk-doc/html/gtk3/DeprecatedObjects.html +3 -4
  184. data/vendor/local/share/gtk-doc/html/gtk3/DisplayWidgets.html +3 -4
  185. data/vendor/local/share/gtk-doc/html/gtk3/Gestures.html +3 -4
  186. data/vendor/local/share/gtk-doc/html/gtk3/GtkAboutDialog.html +61 -75
  187. data/vendor/local/share/gtk-doc/html/gtk3/GtkAccelLabel.html +6 -10
  188. data/vendor/local/share/gtk-doc/html/gtk3/GtkAccessible.html +9 -10
  189. data/vendor/local/share/gtk-doc/html/gtk3/GtkAction.html +52 -69
  190. data/vendor/local/share/gtk-doc/html/gtk3/GtkActionBar.html +18 -20
  191. data/vendor/local/share/gtk-doc/html/gtk3/GtkActionGroup.html +41 -42
  192. data/vendor/local/share/gtk-doc/html/gtk3/GtkActionable.html +17 -19
  193. data/vendor/local/share/gtk-doc/html/gtk3/GtkActivatable.html +14 -16
  194. data/vendor/local/share/gtk-doc/html/gtk3/GtkAdjustment.html +25 -34
  195. data/vendor/local/share/gtk-doc/html/gtk3/GtkAlignment.html +49 -15
  196. data/vendor/local/share/gtk-doc/html/gtk3/GtkAppChooser.html +7 -9
  197. data/vendor/local/share/gtk-doc/html/gtk3/GtkAppChooserButton.html +14 -19
  198. data/vendor/local/share/gtk-doc/html/gtk3/GtkAppChooserDialog.html +6 -10
  199. data/vendor/local/share/gtk-doc/html/gtk3/GtkAppChooserWidget.html +21 -29
  200. data/vendor/local/share/gtk-doc/html/gtk3/GtkApplication.html +47 -47
  201. data/vendor/local/share/gtk-doc/html/gtk3/GtkApplicationWindow.html +13 -19
  202. data/vendor/local/share/gtk-doc/html/gtk3/GtkArrow.html +4 -7
  203. data/vendor/local/share/gtk-doc/html/gtk3/GtkAspectFrame.html +7 -9
  204. data/vendor/local/share/gtk-doc/html/gtk3/GtkAssistant.html +59 -70
  205. data/vendor/local/share/gtk-doc/html/gtk3/GtkBin.html +4 -4
  206. data/vendor/local/share/gtk-doc/html/gtk3/GtkBox.html +8 -13
  207. data/vendor/local/share/gtk-doc/html/gtk3/GtkBuildable.html +15 -18
  208. data/vendor/local/share/gtk-doc/html/gtk3/GtkBuilder.html +62 -78
  209. data/vendor/local/share/gtk-doc/html/gtk3/GtkButton.html +35 -47
  210. data/vendor/local/share/gtk-doc/html/gtk3/GtkButtonBox.html +21 -26
  211. data/vendor/local/share/gtk-doc/html/gtk3/GtkCalendar.html +33 -40
  212. data/vendor/local/share/gtk-doc/html/gtk3/GtkCellArea.html +156 -118
  213. data/vendor/local/share/gtk-doc/html/gtk3/GtkCellAreaBox.html +13 -16
  214. data/vendor/local/share/gtk-doc/html/gtk3/GtkCellAreaContext.html +16 -17
  215. data/vendor/local/share/gtk-doc/html/gtk3/GtkCellEditable.html +9 -10
  216. data/vendor/local/share/gtk-doc/html/gtk3/GtkCellLayout.html +14 -15
  217. data/vendor/local/share/gtk-doc/html/gtk3/GtkCellRenderer.html +28 -35
  218. data/vendor/local/share/gtk-doc/html/gtk3/GtkCellRendererAccel.html +14 -16
  219. data/vendor/local/share/gtk-doc/html/gtk3/GtkCellRendererCombo.html +10 -12
  220. data/vendor/local/share/gtk-doc/html/gtk3/GtkCellRendererPixbuf.html +19 -16
  221. data/vendor/local/share/gtk-doc/html/gtk3/GtkCellRendererProgress.html +9 -11
  222. data/vendor/local/share/gtk-doc/html/gtk3/GtkCellRendererSpin.html +7 -9
  223. data/vendor/local/share/gtk-doc/html/gtk3/GtkCellRendererSpinner.html +6 -8
  224. data/vendor/local/share/gtk-doc/html/gtk3/GtkCellRendererText.html +31 -33
  225. data/vendor/local/share/gtk-doc/html/gtk3/GtkCellRendererToggle.html +7 -12
  226. data/vendor/local/share/gtk-doc/html/gtk3/GtkCellView.html +22 -32
  227. data/vendor/local/share/gtk-doc/html/gtk3/GtkCheckButton.html +3 -7
  228. data/vendor/local/share/gtk-doc/html/gtk3/GtkCheckMenuItem.html +7 -14
  229. data/vendor/local/share/gtk-doc/html/gtk3/GtkColorButton.html +29 -34
  230. data/vendor/local/share/gtk-doc/html/gtk3/GtkColorChooser.html +14 -16
  231. data/vendor/local/share/gtk-doc/html/gtk3/GtkColorChooserDialog.html +4 -6
  232. data/vendor/local/share/gtk-doc/html/gtk3/GtkColorChooserWidget.html +6 -8
  233. data/vendor/local/share/gtk-doc/html/gtk3/GtkColorSelection.html +15 -24
  234. data/vendor/local/share/gtk-doc/html/gtk3/GtkColorSelectionDialog.html +4 -6
  235. data/vendor/local/share/gtk-doc/html/gtk3/GtkComboBox.html +78 -99
  236. data/vendor/local/share/gtk-doc/html/gtk3/GtkComboBoxText.html +14 -17
  237. data/vendor/local/share/gtk-doc/html/gtk3/GtkContainer.html +40 -28
  238. data/vendor/local/share/gtk-doc/html/gtk3/GtkCssProvider.html +87 -56
  239. data/vendor/local/share/gtk-doc/html/gtk3/GtkDialog.html +35 -37
  240. data/vendor/local/share/gtk-doc/html/gtk3/GtkDrawingArea.html +5 -7
  241. data/vendor/local/share/gtk-doc/html/gtk3/GtkEditable.html +16 -18
  242. data/vendor/local/share/gtk-doc/html/gtk3/GtkEntry.html +361 -200
  243. data/vendor/local/share/gtk-doc/html/gtk3/GtkEntryBuffer.html +23 -31
  244. data/vendor/local/share/gtk-doc/html/gtk3/GtkEntryCompletion.html +52 -67
  245. data/vendor/local/share/gtk-doc/html/gtk3/GtkEventBox.html +19 -23
  246. data/vendor/local/share/gtk-doc/html/gtk3/GtkEventController.html +11 -14
  247. data/vendor/local/share/gtk-doc/html/gtk3/GtkExpander.html +57 -67
  248. data/vendor/local/share/gtk-doc/html/gtk3/GtkFileChooser.html +81 -108
  249. data/vendor/local/share/gtk-doc/html/gtk3/GtkFileChooserButton.html +19 -25
  250. data/vendor/local/share/gtk-doc/html/gtk3/GtkFileChooserDialog.html +15 -17
  251. data/vendor/local/share/gtk-doc/html/gtk3/GtkFileChooserWidget.html +68 -44
  252. data/vendor/local/share/gtk-doc/html/gtk3/GtkFileFilter.html +12 -18
  253. data/vendor/local/share/gtk-doc/html/gtk3/GtkFixed.html +6 -8
  254. data/vendor/local/share/gtk-doc/html/gtk3/GtkFlowBox.html +55 -69
  255. data/vendor/local/share/gtk-doc/html/gtk3/GtkFontButton.html +28 -38
  256. data/vendor/local/share/gtk-doc/html/gtk3/GtkFontChooser.html +40 -44
  257. data/vendor/local/share/gtk-doc/html/gtk3/GtkFontChooserDialog.html +4 -6
  258. data/vendor/local/share/gtk-doc/html/gtk3/GtkFontChooserWidget.html +4 -6
  259. data/vendor/local/share/gtk-doc/html/gtk3/GtkFontSelection.html +20 -26
  260. data/vendor/local/share/gtk-doc/html/gtk3/GtkFontSelectionDialog.html +7 -12
  261. data/vendor/local/share/gtk-doc/html/gtk3/GtkFrame.html +3 -7
  262. data/vendor/local/share/gtk-doc/html/gtk3/GtkGLArea.html +1259 -0
  263. data/vendor/local/share/gtk-doc/html/gtk3/GtkGesture.html +42 -54
  264. data/vendor/local/share/gtk-doc/html/gtk3/GtkGestureDrag.html +15 -19
  265. data/vendor/local/share/gtk-doc/html/gtk3/GtkGestureLongPress.html +42 -17
  266. data/vendor/local/share/gtk-doc/html/gtk3/GtkGestureMultiPress.html +15 -18
  267. data/vendor/local/share/gtk-doc/html/gtk3/GtkGesturePan.html +11 -14
  268. data/vendor/local/share/gtk-doc/html/gtk3/GtkGestureRotate.html +8 -11
  269. data/vendor/local/share/gtk-doc/html/gtk3/GtkGestureSingle.html +15 -21
  270. data/vendor/local/share/gtk-doc/html/gtk3/GtkGestureSwipe.html +8 -11
  271. data/vendor/local/share/gtk-doc/html/gtk3/GtkGestureZoom.html +8 -11
  272. data/vendor/local/share/gtk-doc/html/gtk3/GtkGrid.html +13 -22
  273. data/vendor/local/share/gtk-doc/html/gtk3/GtkHBox.html +3 -5
  274. data/vendor/local/share/gtk-doc/html/gtk3/GtkHButtonBox.html +3 -5
  275. data/vendor/local/share/gtk-doc/html/gtk3/GtkHPaned.html +3 -5
  276. data/vendor/local/share/gtk-doc/html/gtk3/GtkHSV.html +15 -18
  277. data/vendor/local/share/gtk-doc/html/gtk3/GtkHScale.html +3 -6
  278. data/vendor/local/share/gtk-doc/html/gtk3/GtkHScrollbar.html +3 -5
  279. data/vendor/local/share/gtk-doc/html/gtk3/GtkHSeparator.html +3 -5
  280. data/vendor/local/share/gtk-doc/html/gtk3/GtkHandleBox.html +23 -29
  281. data/vendor/local/share/gtk-doc/html/gtk3/GtkHeaderBar.html +44 -51
  282. data/vendor/local/share/gtk-doc/html/gtk3/GtkIMContext.html +17 -23
  283. data/vendor/local/share/gtk-doc/html/gtk3/GtkIMContextSimple.html +6 -7
  284. data/vendor/local/share/gtk-doc/html/gtk3/GtkIMMulticontext.html +10 -13
  285. data/vendor/local/share/gtk-doc/html/gtk3/GtkIconTheme.html +89 -97
  286. data/vendor/local/share/gtk-doc/html/gtk3/GtkIconView.html +98 -127
  287. data/vendor/local/share/gtk-doc/html/gtk3/GtkImage.html +49 -62
  288. data/vendor/local/share/gtk-doc/html/gtk3/GtkImageMenuItem.html +131 -25
  289. data/vendor/local/share/gtk-doc/html/gtk3/GtkInfoBar.html +30 -35
  290. data/vendor/local/share/gtk-doc/html/gtk3/GtkInvisible.html +6 -9
  291. data/vendor/local/share/gtk-doc/html/gtk3/GtkLabel.html +334 -167
  292. data/vendor/local/share/gtk-doc/html/gtk3/GtkLayout.html +18 -20
  293. data/vendor/local/share/gtk-doc/html/gtk3/GtkLevelBar.html +31 -40
  294. data/vendor/local/share/gtk-doc/html/gtk3/GtkLinkButton.html +13 -17
  295. data/vendor/local/share/gtk-doc/html/gtk3/GtkListBox.html +209 -110
  296. data/vendor/local/share/gtk-doc/html/gtk3/GtkListStore.html +18 -20
  297. data/vendor/local/share/gtk-doc/html/gtk3/GtkLockButton.html +8 -10
  298. data/vendor/local/share/gtk-doc/html/gtk3/GtkMenu.html +27 -35
  299. data/vendor/local/share/gtk-doc/html/gtk3/GtkMenuBar.html +10 -15
  300. data/vendor/local/share/gtk-doc/html/gtk3/GtkMenuButton.html +22 -26
  301. data/vendor/local/share/gtk-doc/html/gtk3/GtkMenuItem.html +28 -37
  302. data/vendor/local/share/gtk-doc/html/gtk3/GtkMenuShell.html +29 -32
  303. data/vendor/local/share/gtk-doc/html/gtk3/GtkMenuToolButton.html +11 -14
  304. data/vendor/local/share/gtk-doc/html/gtk3/GtkMessageDialog.html +36 -40
  305. data/vendor/local/share/gtk-doc/html/gtk3/GtkMisc.html +33 -9
  306. data/vendor/local/share/gtk-doc/html/gtk3/GtkModelButton.html +393 -0
  307. data/vendor/local/share/gtk-doc/html/gtk3/GtkNotebook.html +174 -150
  308. data/vendor/local/share/gtk-doc/html/gtk3/GtkNumerableIcon.html +15 -19
  309. data/vendor/local/share/gtk-doc/html/gtk3/GtkOffscreenWindow.html +11 -13
  310. data/vendor/local/share/gtk-doc/html/gtk3/GtkOverlay.html +13 -16
  311. data/vendor/local/share/gtk-doc/html/gtk3/GtkPageSetup.html +28 -44
  312. data/vendor/local/share/gtk-doc/html/gtk3/GtkPageSetupUnixDialog.html +8 -10
  313. data/vendor/local/share/gtk-doc/html/gtk3/GtkPaned.html +144 -57
  314. data/vendor/local/share/gtk-doc/html/gtk3/GtkPaperSize.html +161 -76
  315. data/vendor/local/share/gtk-doc/html/gtk3/GtkPlacesSidebar.html +47 -56
  316. data/vendor/local/share/gtk-doc/html/gtk3/GtkPlug.html +11 -16
  317. data/vendor/local/share/gtk-doc/html/gtk3/GtkPopover.html +110 -26
  318. data/vendor/local/share/gtk-doc/html/gtk3/GtkPopoverMenu.html +359 -0
  319. data/vendor/local/share/gtk-doc/html/gtk3/GtkPrintContext.html +29 -35
  320. data/vendor/local/share/gtk-doc/html/gtk3/GtkPrintJob.html +36 -51
  321. data/vendor/local/share/gtk-doc/html/gtk3/GtkPrintSettings.html +79 -119
  322. data/vendor/local/share/gtk-doc/html/gtk3/GtkPrintUnixDialog.html +21 -30
  323. data/vendor/local/share/gtk-doc/html/gtk3/GtkPrinter.html +32 -53
  324. data/vendor/local/share/gtk-doc/html/gtk3/GtkProgressBar.html +23 -31
  325. data/vendor/local/share/gtk-doc/html/gtk3/GtkRadioAction.html +15 -18
  326. data/vendor/local/share/gtk-doc/html/gtk3/GtkRadioButton.html +18 -19
  327. data/vendor/local/share/gtk-doc/html/gtk3/GtkRadioMenuItem.html +29 -29
  328. data/vendor/local/share/gtk-doc/html/gtk3/GtkRadioToolButton.html +16 -17
  329. data/vendor/local/share/gtk-doc/html/gtk3/GtkRange.html +38 -51
  330. data/vendor/local/share/gtk-doc/html/gtk3/GtkRecentAction.html +7 -11
  331. data/vendor/local/share/gtk-doc/html/gtk3/GtkRecentChooser.html +53 -66
  332. data/vendor/local/share/gtk-doc/html/gtk3/GtkRecentChooserDialog.html +8 -11
  333. data/vendor/local/share/gtk-doc/html/gtk3/GtkRecentChooserMenu.html +8 -12
  334. data/vendor/local/share/gtk-doc/html/gtk3/GtkRecentChooserWidget.html +5 -8
  335. data/vendor/local/share/gtk-doc/html/gtk3/GtkRecentFilter.html +15 -21
  336. data/vendor/local/share/gtk-doc/html/gtk3/GtkRecentManager.html +113 -137
  337. data/vendor/local/share/gtk-doc/html/gtk3/GtkRevealer.html +11 -17
  338. data/vendor/local/share/gtk-doc/html/gtk3/GtkScale.html +21 -29
  339. data/vendor/local/share/gtk-doc/html/gtk3/GtkScaleButton.html +22 -25
  340. data/vendor/local/share/gtk-doc/html/gtk3/GtkScrollable.html +64 -19
  341. data/vendor/local/share/gtk-doc/html/gtk3/GtkScrollbar.html +4 -6
  342. data/vendor/local/share/gtk-doc/html/gtk3/GtkScrolledWindow.html +257 -48
  343. data/vendor/local/share/gtk-doc/html/gtk3/GtkSearchBar.html +10 -15
  344. data/vendor/local/share/gtk-doc/html/gtk3/GtkSearchEntry.html +206 -20
  345. data/vendor/local/share/gtk-doc/html/gtk3/GtkSeparator.html +4 -6
  346. data/vendor/local/share/gtk-doc/html/gtk3/GtkSeparatorMenuItem.html +3 -5
  347. data/vendor/local/share/gtk-doc/html/gtk3/GtkSeparatorToolItem.html +6 -9
  348. data/vendor/local/share/gtk-doc/html/gtk3/GtkSettings.html +70 -52
  349. data/vendor/local/share/gtk-doc/html/gtk3/GtkSizeGroup.html +22 -26
  350. data/vendor/local/share/gtk-doc/html/gtk3/GtkSocket.html +8 -12
  351. data/vendor/local/share/gtk-doc/html/gtk3/GtkSpinButton.html +16 -28
  352. data/vendor/local/share/gtk-doc/html/gtk3/GtkSpinner.html +6 -8
  353. data/vendor/local/share/gtk-doc/html/gtk3/GtkStack.html +224 -37
  354. data/vendor/local/share/gtk-doc/html/gtk3/GtkStackSidebar.html +248 -0
  355. data/vendor/local/share/gtk-doc/html/gtk3/GtkStackSwitcher.html +8 -10
  356. data/vendor/local/share/gtk-doc/html/gtk3/GtkStatusIcon.html +81 -103
  357. data/vendor/local/share/gtk-doc/html/gtk3/GtkStatusbar.html +9 -13
  358. data/vendor/local/share/gtk-doc/html/gtk3/GtkStyle.html +24 -29
  359. data/vendor/local/share/gtk-doc/html/gtk3/GtkStyleContext.html +250 -125
  360. data/vendor/local/share/gtk-doc/html/gtk3/GtkStyleProvider.html +7 -9
  361. data/vendor/local/share/gtk-doc/html/gtk3/GtkSwitch.html +16 -21
  362. data/vendor/local/share/gtk-doc/html/gtk3/GtkTable.html +4 -11
  363. data/vendor/local/share/gtk-doc/html/gtk3/GtkTearoffMenuItem.html +3 -5
  364. data/vendor/local/share/gtk-doc/html/gtk3/GtkTextBuffer.html +353 -168
  365. data/vendor/local/share/gtk-doc/html/gtk3/GtkTextIter.html +25 -96
  366. data/vendor/local/share/gtk-doc/html/gtk3/GtkTextMark.html +4 -10
  367. data/vendor/local/share/gtk-doc/html/gtk3/GtkTextTag.html +166 -54
  368. data/vendor/local/share/gtk-doc/html/gtk3/GtkTextTagTable.html +9 -13
  369. data/vendor/local/share/gtk-doc/html/gtk3/GtkTextView.html +409 -184
  370. data/vendor/local/share/gtk-doc/html/gtk3/GtkThemingEngine.html +34 -41
  371. data/vendor/local/share/gtk-doc/html/gtk3/GtkToggleAction.html +12 -16
  372. data/vendor/local/share/gtk-doc/html/gtk3/GtkToggleButton.html +5 -12
  373. data/vendor/local/share/gtk-doc/html/gtk3/GtkToggleToolButton.html +10 -14
  374. data/vendor/local/share/gtk-doc/html/gtk3/GtkToolButton.html +20 -27
  375. data/vendor/local/share/gtk-doc/html/gtk3/GtkToolItem.html +38 -53
  376. data/vendor/local/share/gtk-doc/html/gtk3/GtkToolItemGroup.html +27 -35
  377. data/vendor/local/share/gtk-doc/html/gtk3/GtkToolPalette.html +33 -39
  378. data/vendor/local/share/gtk-doc/html/gtk3/GtkToolShell.html +15 -22
  379. data/vendor/local/share/gtk-doc/html/gtk3/GtkToolbar.html +22 -33
  380. data/vendor/local/share/gtk-doc/html/gtk3/GtkTooltip.html +25 -26
  381. data/vendor/local/share/gtk-doc/html/gtk3/GtkTreeModel.html +110 -68
  382. data/vendor/local/share/gtk-doc/html/gtk3/GtkTreeModelFilter.html +14 -19
  383. data/vendor/local/share/gtk-doc/html/gtk3/GtkTreeModelSort.html +6 -11
  384. data/vendor/local/share/gtk-doc/html/gtk3/GtkTreeSelection.html +16 -23
  385. data/vendor/local/share/gtk-doc/html/gtk3/GtkTreeSortable.html +6 -10
  386. data/vendor/local/share/gtk-doc/html/gtk3/GtkTreeStore.html +21 -23
  387. data/vendor/local/share/gtk-doc/html/gtk3/GtkTreeView.html +95 -131
  388. data/vendor/local/share/gtk-doc/html/gtk3/GtkTreeViewColumn.html +15 -38
  389. data/vendor/local/share/gtk-doc/html/gtk3/GtkUIManager.html +40 -48
  390. data/vendor/local/share/gtk-doc/html/gtk3/GtkVBox.html +4 -6
  391. data/vendor/local/share/gtk-doc/html/gtk3/GtkVButtonBox.html +3 -5
  392. data/vendor/local/share/gtk-doc/html/gtk3/GtkVPaned.html +3 -5
  393. data/vendor/local/share/gtk-doc/html/gtk3/GtkVScale.html +3 -6
  394. data/vendor/local/share/gtk-doc/html/gtk3/GtkVScrollbar.html +3 -5
  395. data/vendor/local/share/gtk-doc/html/gtk3/GtkVSeparator.html +3 -5
  396. data/vendor/local/share/gtk-doc/html/gtk3/GtkViewport.html +21 -24
  397. data/vendor/local/share/gtk-doc/html/gtk3/GtkVolumeButton.html +5 -7
  398. data/vendor/local/share/gtk-doc/html/gtk3/GtkWidget.html +622 -611
  399. data/vendor/local/share/gtk-doc/html/gtk3/GtkWindow.html +145 -146
  400. data/vendor/local/share/gtk-doc/html/gtk3/GtkWindowGroup.html +6 -8
  401. data/vendor/local/share/gtk-doc/html/gtk3/LayoutContainers.html +6 -4
  402. data/vendor/local/share/gtk-doc/html/gtk3/MenusAndCombos.html +6 -4
  403. data/vendor/local/share/gtk-doc/html/gtk3/MiscObjects.html +6 -4
  404. data/vendor/local/share/gtk-doc/html/gtk3/NumericEntry.html +5 -6
  405. data/vendor/local/share/gtk-doc/html/gtk3/Ornaments.html +3 -4
  406. data/vendor/local/share/gtk-doc/html/gtk3/PlugSocket.html +3 -4
  407. data/vendor/local/share/gtk-doc/html/gtk3/Printing.html +3 -4
  408. data/vendor/local/share/gtk-doc/html/gtk3/RecentDocuments.html +3 -4
  409. data/vendor/local/share/gtk-doc/html/gtk3/ScrollingWidgets.html +3 -4
  410. data/vendor/local/share/gtk-doc/html/gtk3/SelectorWidgets.html +5 -6
  411. data/vendor/local/share/gtk-doc/html/gtk3/TextWidget.html +6 -7
  412. data/vendor/local/share/gtk-doc/html/gtk3/TextWidgetObjects.html +3 -4
  413. data/vendor/local/share/gtk-doc/html/gtk3/TreeWidget.html +4 -5
  414. data/vendor/local/share/gtk-doc/html/gtk3/TreeWidgetObjects.html +3 -4
  415. data/vendor/local/share/gtk-doc/html/gtk3/WindowWidgets.html +3 -4
  416. data/vendor/local/share/gtk-doc/html/gtk3/annotation-glossary.html +25 -7
  417. data/vendor/local/share/gtk-doc/html/gtk3/api-index-3-0.html +3 -4
  418. data/vendor/local/share/gtk-doc/html/gtk3/api-index-3-10.html +14 -4
  419. data/vendor/local/share/gtk-doc/html/gtk3/api-index-3-12.html +3 -4
  420. data/vendor/local/share/gtk-doc/html/gtk3/api-index-3-14.html +16 -6
  421. data/vendor/local/share/gtk-doc/html/gtk3/api-index-3-16.html +448 -0
  422. data/vendor/local/share/gtk-doc/html/gtk3/api-index-3-2.html +3 -4
  423. data/vendor/local/share/gtk-doc/html/gtk3/api-index-3-4.html +3 -4
  424. data/vendor/local/share/gtk-doc/html/gtk3/api-index-3-6.html +3 -4
  425. data/vendor/local/share/gtk-doc/html/gtk3/api-index-3-8.html +3 -4
  426. data/vendor/local/share/gtk-doc/html/gtk3/api-index-deprecated.html +143 -4
  427. data/vendor/local/share/gtk-doc/html/gtk3/api-index-full.html +515 -12
  428. data/vendor/local/share/gtk-doc/html/gtk3/broadwayd.html +5 -6
  429. data/vendor/local/share/gtk-doc/html/gtk3/ch01s02.html +27 -27
  430. data/vendor/local/share/gtk-doc/html/gtk3/ch01s03.html +98 -190
  431. data/vendor/local/share/gtk-doc/html/gtk3/ch01s04.html +1975 -118
  432. data/vendor/local/share/gtk-doc/html/gtk3/ch01s05.html +171 -1923
  433. data/vendor/local/share/gtk-doc/html/gtk3/ch02.html +9 -6
  434. data/vendor/local/share/gtk-doc/html/gtk3/ch03.html +9 -4
  435. data/vendor/local/share/gtk-doc/html/gtk3/ch25s02.html +9 -10
  436. data/vendor/local/share/gtk-doc/html/gtk3/ch27s02.html +3 -4
  437. data/vendor/local/share/gtk-doc/html/gtk3/ch29s02.html +3 -4
  438. data/vendor/local/share/gtk-doc/html/gtk3/ch29s03.html +3 -4
  439. data/vendor/local/share/gtk-doc/html/gtk3/chap-drawing-model.html +4 -5
  440. data/vendor/local/share/gtk-doc/html/gtk3/chap-input-handling.html +139 -63
  441. data/vendor/local/share/gtk-doc/html/gtk3/checklist-gdkeventexpose-region.html +3 -4
  442. data/vendor/local/share/gtk-doc/html/gtk3/checklist-modifiers.html +3 -4
  443. data/vendor/local/share/gtk-doc/html/gtk3/checklist-named-icons.html +3 -4
  444. data/vendor/local/share/gtk-doc/html/gtk3/glarea.png +0 -0
  445. data/vendor/local/share/gtk-doc/html/gtk3/glossary.html +5 -6
  446. data/vendor/local/share/gtk-doc/html/gtk3/gtk-broadway.html +3 -4
  447. data/vendor/local/share/gtk-doc/html/gtk3/gtk-building.html +18 -16
  448. data/vendor/local/share/gtk-doc/html/gtk3/gtk-compiling.html +3 -4
  449. data/vendor/local/share/gtk-doc/html/gtk3/gtk-encode-symbolic-svg.html +5 -6
  450. data/vendor/local/share/gtk-doc/html/gtk3/gtk-getting-started.html +162 -143
  451. data/vendor/local/share/gtk-doc/html/gtk3/gtk-launch.html +5 -6
  452. data/vendor/local/share/gtk-doc/html/gtk3/gtk-migrating-2-to-3.html +12 -13
  453. data/vendor/local/share/gtk-doc/html/gtk3/gtk-migrating-GtkGrid.html +3 -4
  454. data/vendor/local/share/gtk-doc/html/gtk3/gtk-migrating-GtkStyleContext-bonus-points.html +3 -4
  455. data/vendor/local/share/gtk-doc/html/gtk3/gtk-migrating-GtkStyleContext-checklist.html +4 -5
  456. data/vendor/local/share/gtk-doc/html/gtk3/gtk-migrating-GtkStyleContext-css.html +5 -6
  457. data/vendor/local/share/gtk-doc/html/gtk3/gtk-migrating-GtkStyleContext-parser-extensions.html +3 -4
  458. data/vendor/local/share/gtk-doc/html/gtk3/gtk-migrating-GtkStyleContext-parsing.html +3 -4
  459. data/vendor/local/share/gtk-doc/html/gtk3/gtk-migrating-GtkStyleContext.html +3 -4
  460. data/vendor/local/share/gtk-doc/html/gtk3/gtk-migrating-checklist.html +3 -4
  461. data/vendor/local/share/gtk-doc/html/gtk3/gtk-migrating-smclient-GtkApplication.html +3 -4
  462. data/vendor/local/share/gtk-doc/html/gtk3/gtk-migrating-theme-GtkStyleContext-engines.html +5 -6
  463. data/vendor/local/share/gtk-doc/html/gtk3/gtk-migrating-unique-GtkApplication.html +10 -11
  464. data/vendor/local/share/gtk-doc/html/gtk3/gtk-mir.html +49 -0
  465. data/vendor/local/share/gtk-doc/html/gtk3/gtk-osx.html +4 -5
  466. data/vendor/local/share/gtk-doc/html/gtk3/gtk-query-immodules-3.0.html +7 -8
  467. data/vendor/local/share/gtk-doc/html/gtk3/gtk-question-index.html +25 -26
  468. data/vendor/local/share/gtk-doc/html/gtk3/gtk-resources.html +4 -5
  469. data/vendor/local/share/gtk-doc/html/gtk3/gtk-running.html +18 -6
  470. data/vendor/local/share/gtk-doc/html/gtk3/gtk-update-icon-cache.html +5 -6
  471. data/vendor/local/share/gtk-doc/html/gtk3/gtk-wayland.html +5 -6
  472. data/vendor/local/share/gtk-doc/html/gtk3/gtk-windows.html +4 -5
  473. data/vendor/local/share/gtk-doc/html/gtk3/gtk-x11.html +3 -4
  474. data/vendor/local/share/gtk-doc/html/gtk3/gtk.html +18 -19
  475. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-Accelerator-Maps.html +9 -12
  476. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-Bindings.html +13 -16
  477. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-Clipboards.html +115 -85
  478. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-Drag-and-Drop.html +141 -136
  479. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-Feature-Test-Macros.html +79 -27
  480. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-Filesystem-utilities.html +10 -14
  481. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-General.html +23 -35
  482. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-GtkGradient.html +9 -15
  483. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-GtkStyleProperties.html +74 -33
  484. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-GtkSymbolicColor.html +24 -30
  485. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-GtkTreeView-drag-and-drop.html +6 -14
  486. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-GtkWidgetPath.html +37 -58
  487. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-High-level-Printing-API.html +110 -123
  488. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-Keyboard-Accelerators.html +20 -35
  489. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-Orientable.html +10 -12
  490. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-Resource-Files.html +13 -21
  491. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-Selections.html +46 -69
  492. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-Standard-Enumerations.html +5 -5
  493. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-Stock-Items.html +46 -48
  494. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-Testing.html +24 -28
  495. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-Themeable-Stock-Images.html +21 -38
  496. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-demo-application.html +47 -0
  497. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-demo.html +5 -6
  498. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-icon-browser.html +5 -6
  499. data/vendor/local/share/gtk-doc/html/gtk3/gtk3-widget-factory.html +7 -8
  500. data/vendor/local/share/gtk-doc/html/gtk3/gtk3.devhelp2 +789 -155
  501. data/vendor/local/share/gtk-doc/html/gtk3/gtkbase.html +3 -4
  502. data/vendor/local/share/gtk-doc/html/gtk3/gtkobjects.html +16 -5
  503. data/vendor/local/share/gtk-doc/html/gtk3/index.html +39 -19
  504. data/vendor/local/share/gtk-doc/html/gtk3/index.sgml +803 -1
  505. data/vendor/local/share/gtk-doc/html/gtk3/migrating.html +3 -4
  506. data/vendor/local/share/gtk-doc/html/gtk3/platform-support.html +8 -4
  507. data/vendor/local/share/gtk-doc/html/gtk3/pt06.html +6 -4
  508. data/vendor/local/share/gtk-doc/html/gtk3/sidebar.png +0 -0
  509. data/vendor/local/share/gtk-doc/html/gtk3/style.css +9 -6
  510. data/vendor/local/share/gtk-doc/html/gtk3/theming.html +3 -4
  511. data/vendor/local/share/icons/Adwaita/16x16/actions/document-open.png +0 -0
  512. data/vendor/local/share/icons/Adwaita/16x16/actions/folder-new.png +0 -0
  513. data/vendor/local/share/icons/Adwaita/16x16/actions/mark-location.png +0 -0
  514. data/vendor/local/share/icons/Adwaita/16x16/emotes/emote-love.png +0 -0
  515. data/vendor/local/share/icons/Adwaita/16x16/mimetypes/x-firmware.png +0 -0
  516. data/vendor/local/share/icons/Adwaita/16x16/places/folder-documents.png +0 -0
  517. data/vendor/local/share/icons/Adwaita/16x16/places/folder-download.png +0 -0
  518. data/vendor/local/share/icons/Adwaita/16x16/places/folder-music.png +0 -0
  519. data/vendor/local/share/icons/Adwaita/16x16/places/folder-pictures.png +0 -0
  520. data/vendor/local/share/icons/Adwaita/16x16/places/folder-publicshare.png +0 -0
  521. data/vendor/local/share/icons/Adwaita/16x16/places/folder-remote.png +0 -0
  522. data/vendor/local/share/icons/Adwaita/16x16/places/folder-saved-search.png +0 -0
  523. data/vendor/local/share/icons/Adwaita/16x16/places/folder-templates.png +0 -0
  524. data/vendor/local/share/icons/Adwaita/16x16/places/folder-videos.png +0 -0
  525. data/vendor/local/share/icons/Adwaita/16x16/places/folder.png +0 -0
  526. data/vendor/local/share/icons/Adwaita/16x16/places/user-bookmarks.png +0 -0
  527. data/vendor/local/share/icons/Adwaita/16x16/places/user-desktop.png +0 -0
  528. data/vendor/local/share/icons/Adwaita/16x16/places/user-home.png +0 -0
  529. data/vendor/local/share/icons/Adwaita/16x16/status/folder-drag-accept.png +0 -0
  530. data/vendor/local/share/icons/Adwaita/16x16/status/folder-open.png +0 -0
  531. data/vendor/local/share/icons/Adwaita/16x16/status/folder-visiting.png +0 -0
  532. data/vendor/local/share/icons/Adwaita/22x22/actions/document-open.png +0 -0
  533. data/vendor/local/share/icons/Adwaita/22x22/actions/folder-new.png +0 -0
  534. data/vendor/local/share/icons/Adwaita/22x22/actions/mark-location.png +0 -0
  535. data/vendor/local/share/icons/Adwaita/22x22/emotes/emote-love.png +0 -0
  536. data/vendor/local/share/icons/Adwaita/22x22/mimetypes/x-firmware.png +0 -0
  537. data/vendor/local/share/icons/Adwaita/22x22/places/folder-documents.png +0 -0
  538. data/vendor/local/share/icons/Adwaita/22x22/places/folder-download.png +0 -0
  539. data/vendor/local/share/icons/Adwaita/22x22/places/folder-music.png +0 -0
  540. data/vendor/local/share/icons/Adwaita/22x22/places/folder-pictures.png +0 -0
  541. data/vendor/local/share/icons/Adwaita/22x22/places/folder-publicshare.png +0 -0
  542. data/vendor/local/share/icons/Adwaita/22x22/places/folder-remote.png +0 -0
  543. data/vendor/local/share/icons/Adwaita/22x22/places/folder-saved-search.png +0 -0
  544. data/vendor/local/share/icons/Adwaita/22x22/places/folder-templates.png +0 -0
  545. data/vendor/local/share/icons/Adwaita/22x22/places/folder-videos.png +0 -0
  546. data/vendor/local/share/icons/Adwaita/22x22/places/folder.png +0 -0
  547. data/vendor/local/share/icons/Adwaita/22x22/places/user-bookmarks.png +0 -0
  548. data/vendor/local/share/icons/Adwaita/22x22/places/user-desktop.png +0 -0
  549. data/vendor/local/share/icons/Adwaita/22x22/places/user-home.png +0 -0
  550. data/vendor/local/share/icons/Adwaita/22x22/status/folder-drag-accept.png +0 -0
  551. data/vendor/local/share/icons/Adwaita/22x22/status/folder-open.png +0 -0
  552. data/vendor/local/share/icons/Adwaita/22x22/status/folder-visiting.png +0 -0
  553. data/vendor/local/share/icons/Adwaita/24x24/actions/document-open.png +0 -0
  554. data/vendor/local/share/icons/Adwaita/24x24/actions/folder-new.png +0 -0
  555. data/vendor/local/share/icons/Adwaita/24x24/mimetypes/x-firmware.png +0 -0
  556. data/vendor/local/share/icons/Adwaita/24x24/places/folder-documents.png +0 -0
  557. data/vendor/local/share/icons/Adwaita/24x24/places/folder-download.png +0 -0
  558. data/vendor/local/share/icons/Adwaita/24x24/places/folder-music.png +0 -0
  559. data/vendor/local/share/icons/Adwaita/24x24/places/folder-pictures.png +0 -0
  560. data/vendor/local/share/icons/Adwaita/24x24/places/folder-publicshare.png +0 -0
  561. data/vendor/local/share/icons/Adwaita/24x24/places/folder-remote.png +0 -0
  562. data/vendor/local/share/icons/Adwaita/24x24/places/folder-saved-search.png +0 -0
  563. data/vendor/local/share/icons/Adwaita/24x24/places/folder-templates.png +0 -0
  564. data/vendor/local/share/icons/Adwaita/24x24/places/folder-videos.png +0 -0
  565. data/vendor/local/share/icons/Adwaita/24x24/places/folder.png +0 -0
  566. data/vendor/local/share/icons/Adwaita/24x24/places/user-bookmarks.png +0 -0
  567. data/vendor/local/share/icons/Adwaita/24x24/places/user-desktop.png +0 -0
  568. data/vendor/local/share/icons/Adwaita/24x24/places/user-home.png +0 -0
  569. data/vendor/local/share/icons/Adwaita/24x24/status/folder-drag-accept.png +0 -0
  570. data/vendor/local/share/icons/Adwaita/24x24/status/folder-open.png +0 -0
  571. data/vendor/local/share/icons/Adwaita/24x24/status/folder-visiting.png +0 -0
  572. data/vendor/local/share/icons/Adwaita/256x256/actions/document-open.png +0 -0
  573. data/vendor/local/share/icons/Adwaita/256x256/actions/folder-new.png +0 -0
  574. data/vendor/local/share/icons/Adwaita/256x256/emotes/emote-love.png +0 -0
  575. data/vendor/local/share/icons/Adwaita/256x256/mimetypes/x-firmware.png +0 -0
  576. data/vendor/local/share/icons/Adwaita/256x256/places/folder-documents.png +0 -0
  577. data/vendor/local/share/icons/Adwaita/256x256/places/folder-download.png +0 -0
  578. data/vendor/local/share/icons/Adwaita/256x256/places/folder-music.png +0 -0
  579. data/vendor/local/share/icons/Adwaita/256x256/places/folder-pictures.png +0 -0
  580. data/vendor/local/share/icons/Adwaita/256x256/places/folder-publicshare.png +0 -0
  581. data/vendor/local/share/icons/Adwaita/256x256/places/folder-remote.png +0 -0
  582. data/vendor/local/share/icons/Adwaita/256x256/places/folder-saved-search.png +0 -0
  583. data/vendor/local/share/icons/Adwaita/256x256/places/folder-templates.png +0 -0
  584. data/vendor/local/share/icons/Adwaita/256x256/places/folder-videos.png +0 -0
  585. data/vendor/local/share/icons/Adwaita/256x256/places/folder.png +0 -0
  586. data/vendor/local/share/icons/Adwaita/256x256/places/user-bookmarks.png +0 -0
  587. data/vendor/local/share/icons/Adwaita/256x256/places/user-desktop.png +0 -0
  588. data/vendor/local/share/icons/Adwaita/256x256/places/user-home.png +0 -0
  589. data/vendor/local/share/icons/Adwaita/256x256/status/folder-drag-accept.png +0 -0
  590. data/vendor/local/share/icons/Adwaita/256x256/status/folder-open.png +0 -0
  591. data/vendor/local/share/icons/Adwaita/256x256/status/folder-visiting.png +0 -0
  592. data/vendor/local/share/icons/Adwaita/32x32/actions/document-open.png +0 -0
  593. data/vendor/local/share/icons/Adwaita/32x32/actions/folder-new.png +0 -0
  594. data/vendor/local/share/icons/Adwaita/32x32/actions/mark-location.png +0 -0
  595. data/vendor/local/share/icons/Adwaita/32x32/emotes/emote-love.png +0 -0
  596. data/vendor/local/share/icons/Adwaita/32x32/mimetypes/x-firmware.png +0 -0
  597. data/vendor/local/share/icons/Adwaita/32x32/places/folder-documents.png +0 -0
  598. data/vendor/local/share/icons/Adwaita/32x32/places/folder-download.png +0 -0
  599. data/vendor/local/share/icons/Adwaita/32x32/places/folder-music.png +0 -0
  600. data/vendor/local/share/icons/Adwaita/32x32/places/folder-pictures.png +0 -0
  601. data/vendor/local/share/icons/Adwaita/32x32/places/folder-publicshare.png +0 -0
  602. data/vendor/local/share/icons/Adwaita/32x32/places/folder-remote.png +0 -0
  603. data/vendor/local/share/icons/Adwaita/32x32/places/folder-saved-search.png +0 -0
  604. data/vendor/local/share/icons/Adwaita/32x32/places/folder-templates.png +0 -0
  605. data/vendor/local/share/icons/Adwaita/32x32/places/folder-videos.png +0 -0
  606. data/vendor/local/share/icons/Adwaita/32x32/places/folder.png +0 -0
  607. data/vendor/local/share/icons/Adwaita/32x32/places/user-bookmarks.png +0 -0
  608. data/vendor/local/share/icons/Adwaita/32x32/places/user-desktop.png +0 -0
  609. data/vendor/local/share/icons/Adwaita/32x32/places/user-home.png +0 -0
  610. data/vendor/local/share/icons/Adwaita/32x32/status/folder-drag-accept.png +0 -0
  611. data/vendor/local/share/icons/Adwaita/32x32/status/folder-open.png +0 -0
  612. data/vendor/local/share/icons/Adwaita/32x32/status/folder-visiting.png +0 -0
  613. data/vendor/local/share/icons/Adwaita/48x48/actions/document-open.png +0 -0
  614. data/vendor/local/share/icons/Adwaita/48x48/actions/folder-new.png +0 -0
  615. data/vendor/local/share/icons/Adwaita/48x48/actions/mark-location.png +0 -0
  616. data/vendor/local/share/icons/Adwaita/48x48/emotes/emote-love.png +0 -0
  617. data/vendor/local/share/icons/Adwaita/48x48/mimetypes/x-firmware.png +0 -0
  618. data/vendor/local/share/icons/Adwaita/48x48/places/folder-documents.png +0 -0
  619. data/vendor/local/share/icons/Adwaita/48x48/places/folder-download.png +0 -0
  620. data/vendor/local/share/icons/Adwaita/48x48/places/folder-music.png +0 -0
  621. data/vendor/local/share/icons/Adwaita/48x48/places/folder-pictures.png +0 -0
  622. data/vendor/local/share/icons/Adwaita/48x48/places/folder-publicshare.png +0 -0
  623. data/vendor/local/share/icons/Adwaita/48x48/places/folder-remote.png +0 -0
  624. data/vendor/local/share/icons/Adwaita/48x48/places/folder-saved-search.png +0 -0
  625. data/vendor/local/share/icons/Adwaita/48x48/places/folder-templates.png +0 -0
  626. data/vendor/local/share/icons/Adwaita/48x48/places/folder-videos.png +0 -0
  627. data/vendor/local/share/icons/Adwaita/48x48/places/folder.png +0 -0
  628. data/vendor/local/share/icons/Adwaita/48x48/places/user-bookmarks.png +0 -0
  629. data/vendor/local/share/icons/Adwaita/48x48/places/user-desktop.png +0 -0
  630. data/vendor/local/share/icons/Adwaita/48x48/places/user-home.png +0 -0
  631. data/vendor/local/share/icons/Adwaita/48x48/status/folder-drag-accept.png +0 -0
  632. data/vendor/local/share/icons/Adwaita/48x48/status/folder-open.png +0 -0
  633. data/vendor/local/share/icons/Adwaita/48x48/status/folder-visiting.png +0 -0
  634. data/vendor/local/share/icons/Adwaita/icon-theme.cache +0 -0
  635. data/vendor/local/share/icons/Adwaita/index.theme +13 -1
  636. data/vendor/local/share/icons/Adwaita/scalable/actions/address-book-new-symbolic.svg +16197 -0
  637. data/vendor/local/share/icons/Adwaita/scalable/actions/application-exit-symbolic.svg +32 -0
  638. data/vendor/local/share/icons/Adwaita/scalable/actions/appointment-new-symbolic.svg +33 -0
  639. data/vendor/local/share/icons/Adwaita/scalable/actions/color-select-symbolic.svg +34 -0
  640. data/vendor/local/share/icons/Adwaita/scalable/actions/contact-new-symbolic.svg +33 -0
  641. data/vendor/local/share/icons/Adwaita/scalable/actions/document-print-preview-symbolic.svg +32 -0
  642. data/vendor/local/share/icons/Adwaita/scalable/actions/document-revert-symbolic-rtl.svg +31 -0
  643. data/vendor/local/share/icons/Adwaita/scalable/actions/document-revert-symbolic.svg +31 -0
  644. data/vendor/local/share/icons/Adwaita/scalable/actions/edit-find-replace-symbolic.svg +33 -0
  645. data/vendor/local/share/icons/Adwaita/scalable/actions/find-location-symbolic.svg +13 -14
  646. data/vendor/local/share/icons/Adwaita/scalable/actions/focus-legacy-systray-symbolic.svg +33 -0
  647. data/vendor/local/share/icons/Adwaita/scalable/actions/focus-top-bar-symbolic.svg +31 -0
  648. data/vendor/local/share/icons/Adwaita/scalable/actions/focus-windows-symbolic.svg +32 -0
  649. data/vendor/local/share/icons/Adwaita/scalable/actions/folder-new-symbolic.svg +33 -0
  650. data/vendor/local/share/icons/Adwaita/scalable/actions/font-select-symbolic.svg +33 -0
  651. data/vendor/local/share/icons/Adwaita/scalable/actions/go-bottom-symbolic.svg +6 -9
  652. data/vendor/local/share/icons/Adwaita/scalable/actions/go-first-symbolic-rtl.svg +6 -9
  653. data/vendor/local/share/icons/Adwaita/scalable/actions/go-first-symbolic.svg +6 -9
  654. data/vendor/local/share/icons/Adwaita/scalable/actions/go-last-symbolic-rtl.svg +6 -9
  655. data/vendor/local/share/icons/Adwaita/scalable/actions/go-last-symbolic.svg +6 -9
  656. data/vendor/local/share/icons/Adwaita/scalable/actions/go-next-symbolic-rtl.svg +6 -9
  657. data/vendor/local/share/icons/Adwaita/scalable/actions/go-next-symbolic.svg +6 -9
  658. data/vendor/local/share/icons/Adwaita/scalable/actions/go-previous-symbolic-rtl.svg +6 -9
  659. data/vendor/local/share/icons/Adwaita/scalable/actions/go-previous-symbolic.svg +6 -9
  660. data/vendor/local/share/icons/Adwaita/scalable/actions/go-top-symbolic.svg +6 -9
  661. data/vendor/local/share/icons/Adwaita/scalable/actions/go-up-symbolic.svg +6 -9
  662. data/vendor/local/share/icons/Adwaita/scalable/actions/help-about-symbolic.svg +31 -0
  663. data/vendor/local/share/icons/Adwaita/scalable/actions/image-crop-symbolic.svg +32 -0
  664. data/vendor/local/share/icons/Adwaita/scalable/actions/image-denoise-symbolic.svg +49 -0
  665. data/vendor/local/share/icons/Adwaita/scalable/actions/image-filter-symbolic.svg +34 -0
  666. data/vendor/local/share/icons/Adwaita/scalable/actions/image-sharpen-symbolic.svg +31 -0
  667. data/vendor/local/share/icons/Adwaita/scalable/actions/pan-down-symbolic.svg +3 -3
  668. data/vendor/local/share/icons/Adwaita/scalable/actions/pan-end-symbolic-rtl.svg +3 -3
  669. data/vendor/local/share/icons/Adwaita/scalable/actions/pan-end-symbolic.svg +3 -3
  670. data/vendor/local/share/icons/Adwaita/scalable/actions/pan-start-symbolic-rtl.svg +3 -3
  671. data/vendor/local/share/icons/Adwaita/scalable/actions/pan-start-symbolic.svg +3 -3
  672. data/vendor/local/share/icons/Adwaita/scalable/actions/pan-up-symbolic.svg +3 -3
  673. data/vendor/local/share/icons/Adwaita/scalable/actions/system-search-symbolic.svg +32 -0
  674. data/vendor/local/share/icons/Adwaita/scalable/actions/tools-check-spelling-symbolic.svg +33 -0
  675. data/vendor/local/share/icons/Adwaita/scalable/actions/view-refresh-symbolic.svg +14 -14
  676. data/vendor/local/share/icons/Adwaita/scalable/actions/view-sort-ascending-symbolic.svg +34 -0
  677. data/vendor/local/share/icons/Adwaita/scalable/actions/view-sort-descending-symbolic.svg +34 -0
  678. data/vendor/local/share/icons/Adwaita/scalable/apps/help-contents-symbolic.svg +34 -0
  679. data/vendor/local/share/icons/Adwaita/scalable/apps/help-faq-symbolic.svg +32 -0
  680. data/vendor/local/share/icons/Adwaita/scalable/apps/preferences-desktop-font-symbolic.svg +32 -0
  681. data/vendor/local/share/icons/Adwaita/scalable/categories/applications-system-symbolic.svg +31 -0
  682. data/vendor/local/share/icons/Adwaita/scalable/devices/battery-symbolic.svg +34 -0
  683. data/vendor/local/share/icons/Adwaita/scalable/devices/drive-harddisk-solidstate-symbolic.svg +38 -0
  684. data/vendor/local/share/icons/Adwaita/scalable/devices/media-tape-symbolic.svg +31 -0
  685. data/vendor/local/share/icons/Adwaita/scalable/devices/modem-symbolic.svg +32 -0
  686. data/vendor/local/share/icons/Adwaita/scalable/devices/pda-symbolic.svg +32 -0
  687. data/vendor/local/share/icons/Adwaita/scalable/devices/tv-symbolic.svg +34 -0
  688. data/vendor/local/share/icons/Adwaita/scalable/devices/uninterruptible-power-supply-symbolic.svg +32 -0
  689. data/vendor/local/share/icons/Adwaita/scalable/emotes/emote-love-symbolic.svg +31 -0
  690. data/vendor/local/share/icons/Adwaita/scalable/mimetypes/application-x-executable-symbolic.svg +31 -0
  691. data/vendor/local/share/icons/Adwaita/scalable/status/folder-drag-accept-symbolic.svg +31 -0
  692. data/vendor/local/share/icons/Adwaita/scalable/status/folder-open-symbolic.svg +31 -0
  693. data/vendor/local/share/icons/Adwaita/scalable/status/folder-visiting-symbolic.svg +31 -0
  694. data/vendor/local/share/icons/Adwaita/scalable/status/image-loading-symbolic.svg +33 -0
  695. data/vendor/local/share/icons/Adwaita/scalable/status/rotation-allowed-symbolic.svg +15 -13
  696. data/vendor/local/share/icons/Adwaita/scalable/status/rotation-locked-symbolic.svg +14 -15
  697. data/vendor/local/share/icons/Adwaita/scalable/status/system-lock-screen-symbolic.svg +31 -0
  698. data/vendor/local/share/icons/hicolor/16x16/apps/gtk3-demo-symbolic.symbolic.png +0 -0
  699. data/vendor/local/share/icons/hicolor/16x16/apps/gtk3-widget-factory-symbolic.symbolic.png +0 -0
  700. data/vendor/local/share/icons/hicolor/22x22/apps/gtk3-demo-symbolic.symbolic.png +0 -0
  701. data/vendor/local/share/icons/hicolor/22x22/apps/gtk3-widget-factory-symbolic.symbolic.png +0 -0
  702. data/vendor/local/share/icons/hicolor/24x24/apps/gtk3-demo-symbolic.symbolic.png +0 -0
  703. data/vendor/local/share/icons/hicolor/24x24/apps/gtk3-widget-factory-symbolic.symbolic.png +0 -0
  704. data/vendor/local/share/icons/hicolor/256x256/apps/gtk3-demo-symbolic.symbolic.png +0 -0
  705. data/vendor/local/share/icons/hicolor/256x256/apps/gtk3-widget-factory-symbolic.symbolic.png +0 -0
  706. data/vendor/local/share/icons/hicolor/32x32/apps/gtk3-demo-symbolic.symbolic.png +0 -0
  707. data/vendor/local/share/icons/hicolor/32x32/apps/gtk3-widget-factory-symbolic.symbolic.png +0 -0
  708. data/vendor/local/share/icons/hicolor/48x48/apps/gtk3-demo-symbolic.symbolic.png +0 -0
  709. data/vendor/local/share/icons/hicolor/48x48/apps/gtk3-widget-factory-symbolic.symbolic.png +0 -0
  710. data/vendor/local/share/icons/hicolor/icon-theme.cache +0 -0
  711. data/vendor/local/share/license/libepoxy/COPYING +50 -0
  712. data/vendor/local/share/locale/af/LC_MESSAGES/gtk30.mo +0 -0
  713. data/vendor/local/share/locale/ar/LC_MESSAGES/gtk30.mo +0 -0
  714. data/vendor/local/share/locale/as/LC_MESSAGES/gtk30-properties.mo +0 -0
  715. data/vendor/local/share/locale/as/LC_MESSAGES/gtk30.mo +0 -0
  716. data/vendor/local/share/locale/bg/LC_MESSAGES/gtk30.mo +0 -0
  717. data/vendor/local/share/locale/bs/LC_MESSAGES/gtk30-properties.mo +0 -0
  718. data/vendor/local/share/locale/bs/LC_MESSAGES/gtk30.mo +0 -0
  719. data/vendor/local/share/locale/ca/LC_MESSAGES/gtk30-properties.mo +0 -0
  720. data/vendor/local/share/locale/ca/LC_MESSAGES/gtk30.mo +0 -0
  721. data/vendor/local/share/locale/cs/LC_MESSAGES/gtk30-properties.mo +0 -0
  722. data/vendor/local/share/locale/cs/LC_MESSAGES/gtk30.mo +0 -0
  723. data/vendor/local/share/locale/da/LC_MESSAGES/gtk30-properties.mo +0 -0
  724. data/vendor/local/share/locale/da/LC_MESSAGES/gtk30.mo +0 -0
  725. data/vendor/local/share/locale/de/LC_MESSAGES/gtk30-properties.mo +0 -0
  726. data/vendor/local/share/locale/de/LC_MESSAGES/gtk30.mo +0 -0
  727. data/vendor/local/share/locale/el/LC_MESSAGES/gtk30-properties.mo +0 -0
  728. data/vendor/local/share/locale/el/LC_MESSAGES/gtk30.mo +0 -0
  729. data/vendor/local/share/locale/en_GB/LC_MESSAGES/gtk30-properties.mo +0 -0
  730. data/vendor/local/share/locale/en_GB/LC_MESSAGES/gtk30.mo +0 -0
  731. data/vendor/local/share/locale/es/LC_MESSAGES/gtk30-properties.mo +0 -0
  732. data/vendor/local/share/locale/es/LC_MESSAGES/gtk30.mo +0 -0
  733. data/vendor/local/share/locale/eu/LC_MESSAGES/gtk30-properties.mo +0 -0
  734. data/vendor/local/share/locale/eu/LC_MESSAGES/gtk30.mo +0 -0
  735. data/vendor/local/share/locale/fr/LC_MESSAGES/gtk30-properties.mo +0 -0
  736. data/vendor/local/share/locale/fr/LC_MESSAGES/gtk30.mo +0 -0
  737. data/vendor/local/share/locale/gd/LC_MESSAGES/gtk30.mo +0 -0
  738. data/vendor/local/share/locale/gl/LC_MESSAGES/gtk30-properties.mo +0 -0
  739. data/vendor/local/share/locale/gl/LC_MESSAGES/gtk30.mo +0 -0
  740. data/vendor/local/share/locale/he/LC_MESSAGES/gtk30-properties.mo +0 -0
  741. data/vendor/local/share/locale/he/LC_MESSAGES/gtk30.mo +0 -0
  742. data/vendor/local/share/locale/hu/LC_MESSAGES/gtk30-properties.mo +0 -0
  743. data/vendor/local/share/locale/hu/LC_MESSAGES/gtk30.mo +0 -0
  744. data/vendor/local/share/locale/id/LC_MESSAGES/gtk30-properties.mo +0 -0
  745. data/vendor/local/share/locale/id/LC_MESSAGES/gtk30.mo +0 -0
  746. data/vendor/local/share/locale/is/LC_MESSAGES/gtk30-properties.mo +0 -0
  747. data/vendor/local/share/locale/is/LC_MESSAGES/gtk30.mo +0 -0
  748. data/vendor/local/share/locale/it/LC_MESSAGES/gtk30-properties.mo +0 -0
  749. data/vendor/local/share/locale/it/LC_MESSAGES/gtk30.mo +0 -0
  750. data/vendor/local/share/locale/ja/LC_MESSAGES/gtk30.mo +0 -0
  751. data/vendor/local/share/locale/kk/LC_MESSAGES/gtk30-properties.mo +0 -0
  752. data/vendor/local/share/locale/kk/LC_MESSAGES/gtk30.mo +0 -0
  753. data/vendor/local/share/locale/ko/LC_MESSAGES/gtk30-properties.mo +0 -0
  754. data/vendor/local/share/locale/ko/LC_MESSAGES/gtk30.mo +0 -0
  755. data/vendor/local/share/locale/lt/LC_MESSAGES/gtk30-properties.mo +0 -0
  756. data/vendor/local/share/locale/lt/LC_MESSAGES/gtk30.mo +0 -0
  757. data/vendor/local/share/locale/nb/LC_MESSAGES/gtk30-properties.mo +0 -0
  758. data/vendor/local/share/locale/nb/LC_MESSAGES/gtk30.mo +0 -0
  759. data/vendor/local/share/locale/oc/LC_MESSAGES/gtk30-properties.mo +0 -0
  760. data/vendor/local/share/locale/oc/LC_MESSAGES/gtk30.mo +0 -0
  761. data/vendor/local/share/locale/pa/LC_MESSAGES/gtk30-properties.mo +0 -0
  762. data/vendor/local/share/locale/pa/LC_MESSAGES/gtk30.mo +0 -0
  763. data/vendor/local/share/locale/pl/LC_MESSAGES/gtk30-properties.mo +0 -0
  764. data/vendor/local/share/locale/pl/LC_MESSAGES/gtk30.mo +0 -0
  765. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/gtk30-properties.mo +0 -0
  766. data/vendor/local/share/locale/pt_BR/LC_MESSAGES/gtk30.mo +0 -0
  767. data/vendor/local/share/locale/ru/LC_MESSAGES/gtk30-properties.mo +0 -0
  768. data/vendor/local/share/locale/ru/LC_MESSAGES/gtk30.mo +0 -0
  769. data/vendor/local/share/locale/sk/LC_MESSAGES/gtk30-properties.mo +0 -0
  770. data/vendor/local/share/locale/sk/LC_MESSAGES/gtk30.mo +0 -0
  771. data/vendor/local/share/locale/sl/LC_MESSAGES/gtk30-properties.mo +0 -0
  772. data/vendor/local/share/locale/sl/LC_MESSAGES/gtk30.mo +0 -0
  773. data/vendor/local/share/locale/sr/LC_MESSAGES/gtk30.mo +0 -0
  774. data/vendor/local/share/locale/sr@latin/LC_MESSAGES/gtk30.mo +0 -0
  775. data/vendor/local/share/locale/sv/LC_MESSAGES/gtk30-properties.mo +0 -0
  776. data/vendor/local/share/locale/sv/LC_MESSAGES/gtk30.mo +0 -0
  777. data/vendor/local/share/locale/tg/LC_MESSAGES/gtk30-properties.mo +0 -0
  778. data/vendor/local/share/locale/tr/LC_MESSAGES/gtk30-properties.mo +0 -0
  779. data/vendor/local/share/locale/tr/LC_MESSAGES/gtk30.mo +0 -0
  780. data/vendor/local/share/locale/uk/LC_MESSAGES/gtk30.mo +0 -0
  781. data/vendor/local/share/locale/vi/LC_MESSAGES/gtk30-properties.mo +0 -0
  782. data/vendor/local/share/locale/vi/LC_MESSAGES/gtk30.mo +0 -0
  783. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/gtk30-properties.mo +0 -0
  784. data/vendor/local/share/locale/zh_TW/LC_MESSAGES/gtk30.mo +0 -0
  785. data/vendor/local/share/man/man1/broadwayd.1 +1 -1
  786. data/vendor/local/share/man/man1/gtk-encode-symbolic-svg.1 +1 -1
  787. data/vendor/local/share/man/man1/gtk-launch.1 +1 -1
  788. data/vendor/local/share/man/man1/gtk-query-immodules-3.0.1 +1 -1
  789. data/vendor/local/share/man/man1/gtk-update-icon-cache.1 +1 -1
  790. data/vendor/local/share/man/man1/gtk3-demo-application.1 +39 -0
  791. data/vendor/local/share/man/man1/gtk3-demo.1 +1 -1
  792. data/vendor/local/share/man/man1/gtk3-icon-browser.1 +1 -1
  793. data/vendor/local/share/man/man1/gtk3-widget-factory.1 +1 -1
  794. data/vendor/local/share/pkgconfig/adwaita-icon-theme.pc +1 -1
  795. metadata +120 -12
  796. data/vendor/local/lib/libgtkreftestprivate.a +0 -0
@@ -2,13 +2,13 @@
2
2
  <html>
3
3
  <head>
4
4
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
- <title>GTK+ 3 Reference Manual: Building applications</title>
5
+ <title>Custom Drawing: GTK+ 3 Reference Manual</title>
6
6
  <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
7
7
  <link rel="home" href="index.html" title="GTK+ 3 Reference Manual">
8
8
  <link rel="up" href="gtk-getting-started.html" title="Getting Started with GTK+">
9
- <link rel="prev" href="ch01s04.html" title="Building user interfaces">
9
+ <link rel="prev" href="ch01s04.html" title="Building applications">
10
10
  <link rel="next" href="gtk-resources.html" title="Mailing lists and bug reports">
11
- <meta name="generator" content="GTK-Doc V1.21.1 (XML mode)">
11
+ <meta name="generator" content="GTK-Doc V1.24.1 (XML mode)">
12
12
  <link rel="stylesheet" href="style.css" type="text/css">
13
13
  </head>
14
14
  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -21,1988 +21,236 @@
21
21
  </tr></table>
22
22
  <div class="section">
23
23
  <div class="titlepage"><div><div><h2 class="title" style="clear: both">
24
- <a name="id-1.2.3.7"></a>Building applications</h2></div></div></div>
25
- <p>An application consists of a number of files:
24
+ <a name="id-1.2.3.13"></a>Custom Drawing</h2></div></div></div>
25
+ <p>Many widgets, like buttons, do all their drawing themselves. You
26
+ just tell them the label you want to see, and they figure out what font
27
+ to use, draw the button outline and focus rectangle, etc. Sometimes, it
28
+ is necessary to do some custom drawing. In that case, a <a class="link" href="GtkDrawingArea.html" title="GtkDrawingArea"><span class="type">GtkDrawingArea</span></a>
29
+ might be the right widget to use. It offers a canvas on which you can
30
+ draw by connecting to the <a class="link" href="GtkWidget.html#GtkWidget-draw" title="The “draw” signal"><span class="type">“draw”</span></a> signal.
26
31
  </p>
27
- <div class="variablelist"><table border="0" class="variablelist">
28
- <colgroup>
29
- <col align="left" valign="top">
30
- <col>
31
- </colgroup>
32
- <tbody>
33
- <tr>
34
- <td><p><span class="term">The binary</span></p></td>
35
- <td>This gets installed in <code class="filename">/usr/bin</code>.</td>
36
- </tr>
37
- <tr>
38
- <td><p><span class="term">A desktop file</span></p></td>
39
- <td>The desktop file provides important information about the application to the desktop shell, such as its name, icon, D-Bus name, commandline to launch it, etc. It is installed in <code class="filename">/usr/share/applications</code>.</td>
40
- </tr>
41
- <tr>
42
- <td><p><span class="term">An icon</span></p></td>
43
- <td>The icon gets installed in <code class="filename">/usr/share/icons/hicolor/48x48/apps</code>, where it will be found regardless of the current theme.</td>
44
- </tr>
45
- <tr>
46
- <td><p><span class="term">A settings schema</span></p></td>
47
- <td>If the application uses GSettings, it will install its schema
48
- in <code class="filename">/usr/share/glib-2.0/schemas</code>, so that tools
49
- like dconf-editor can find it.</td>
50
- </tr>
51
- <tr>
52
- <td><p><span class="term">Other resources</span></p></td>
53
- <td>Other files, such as GtkBuilder ui files, are best loaded from
54
- resources stored in the application binary itself. This eliminates the
55
- need for most of the files that would traditionally be installed in
56
- an application-specific location in <code class="filename">/usr/share</code>.</td>
57
- </tr>
58
- </tbody>
59
- </table></div>
60
- <p>
61
- </p>
62
- <p>GTK+ includes application support that is built on top of
63
- <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gio/GApplication.html"><span class="type">GApplication</span></a>. In this tutorial we'll build a simple application by
64
- starting from scratch, adding more and more pieces over time. Along
65
- the way, we'll learn about <a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a>, templates, resources,
66
- application menus, settings, <a class="link" href="GtkHeaderBar.html" title="GtkHeaderBar"><span class="type">GtkHeaderBar</span></a>, <a class="link" href="GtkStack.html" title="GtkStack"><span class="type">GtkStack</span></a>, <a class="link" href="GtkSearchBar.html" title="GtkSearchBar"><span class="type">GtkSearchBar</span></a>,
67
- <a class="link" href="GtkListBox.html" title="GtkListBox"><span class="type">GtkListBox</span></a>, and more.</p>
68
- <p>The full, buildable sources for these examples can be found
69
- in the examples/ directory of the GTK+ source distribution, or
70
- <a class="ulink" href="https://git.gnome.org/browse/gtk+/tree/examples" target="_top">online</a> in the GTK+ git repository.</p>
71
- <div class="section">
72
- <div class="titlepage"><div><div><h3 class="title">
73
- <a name="id-1.2.3.7.5"></a>A trivial application</h3></div></div></div>
74
- <p>When using <a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a>, the <code class="function">main()</code> function can be very
75
- simple. We just call <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gio/GApplication.html#g-application-run"><code class="function">g_application_run()</code></a> and give it an instance
76
- of our application class.</p>
77
- <div class="informalexample">
78
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
79
- <tbody>
80
- <tr>
81
- <td class="listing_lines" align="right"><pre>1
82
- 2
83
- 3
84
- 4
85
- 5
86
- 6
87
- 7
88
- 8</pre></td>
89
- <td class="listing_code"><pre class="programlisting"><span class="preproc">#include</span><span class="normal"> </span><span class="string">&lt;gtk/gtk.h&gt;</span>
90
- <span class="preproc">#include</span><span class="normal"> </span><span class="string">&lt;exampleapp.h&gt;</span>
91
-
92
- <span class="type">int</span>
93
- <span class="function">main</span><span class="normal"> </span><span class="symbol">(</span><span class="type">int</span><span class="normal"> argc</span><span class="symbol">,</span><span class="normal"> </span><span class="type">char</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">argv</span><span class="symbol">[])</span>
94
- <span class="cbracket">{</span>
95
- <span class="normal"> </span><span class="keyword">return</span><span class="normal"> </span><span class="function"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gio/GApplication.html#g-application-run">g_application_run</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">G_APPLICATION</span><span class="normal"> </span><span class="symbol">(</span><span class="function">example_app_new</span><span class="normal"> </span><span class="symbol">()),</span><span class="normal"> argc</span><span class="symbol">,</span><span class="normal"> argv</span><span class="symbol">);</span>
96
- <span class="cbracket">}</span></pre></td>
97
- </tr>
98
- </tbody>
99
- </table>
100
- </div>
101
-
102
- <p>All the application logic is in the application class, which
103
- is a subclass of <a class="link" href="GtkApplication.html" title="GtkApplication"><span class="type">GtkApplication</span></a>. Our example does not yet have any
104
- interesting functionality. All it does is open a window when it is
105
- activated without arguments, and open the files it is given, if it
106
- is started with arguments.</p>
107
- <p>To handle these two cases, we override the <code class="function">activate()</code> vfunc,
108
- which gets called when the application is launched without commandline
109
- arguments, and the <code class="function">open()</code> vfunc, which gets called when the application
110
- is launched with commandline arguments.</p>
111
- <p>To learn more about GApplication entry points, consult the
112
- GIO <a class="ulink" href="https://developer.gnome.org/gio/2.36/GApplication.html#GApplication.description" target="_top">documentation</a>.</p>
113
- <div class="informalexample">
114
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
115
- <tbody>
116
- <tr>
117
- <td class="listing_lines" align="right"><pre>1
118
- 2
119
- 3
120
- 4
121
- 5
122
- 6
123
- 7
124
- 8
125
- 9
126
- 10
127
- 11
128
- 12
129
- 13
130
- 14
131
- 15
132
- 16
133
- 17
134
- 18
135
- 19
136
- 20
137
- 21
138
- 22
139
- 23
140
- 24
141
- 25
142
- 26
143
- 27
144
- 28
145
- 29
146
- 30
147
- 31
148
- 32
149
- 33
150
- 34
151
- 35
152
- 36
153
- 37
154
- 38
155
- 39
156
- 40
157
- 41
158
- 42
159
- 43
160
- 44
161
- 45
162
- 46
163
- 47
164
- 48
165
- 49
166
- 50
167
- 51
168
- 52
169
- 53
170
- 54
171
- 55
172
- 56
173
- 57
174
- 58
175
- 59
176
- 60
177
- 61
178
- 62
179
- 63
180
- 64
181
- 65
182
- 66
183
- 67
184
- 68</pre></td>
185
- <td class="listing_code"><pre class="programlisting"><span class="preproc">#include</span><span class="normal"> </span><span class="string">&lt;gtk/gtk.h&gt;</span>
186
-
187
- <span class="preproc">#include</span><span class="normal"> </span><span class="string">"exampleapp.h"</span>
188
- <span class="preproc">#include</span><span class="normal"> </span><span class="string">"exampleappwin.h"</span>
189
-
190
- <span class="keyword">struct</span><span class="normal"> </span><span class="classname">_ExampleApp</span>
191
- <span class="cbracket">{</span>
192
- <span class="normal"> </span><span class="usertype">GtkApplication</span><span class="normal"> parent</span><span class="symbol">;</span>
193
- <span class="cbracket">}</span><span class="symbol">;</span>
194
-
195
- <span class="keyword">struct</span><span class="normal"> </span><span class="classname">_ExampleAppClass</span>
196
- <span class="cbracket">{</span>
197
- <span class="normal"> </span><span class="usertype">GtkApplicationClass</span><span class="normal"> parent_class</span><span class="symbol">;</span>
198
- <span class="cbracket">}</span><span class="symbol">;</span>
199
-
200
- <span class="function"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html#G-DEFINE-TYPE:CAPS">G_DEFINE_TYPE</a></span><span class="symbol">(</span><span class="normal">ExampleApp</span><span class="symbol">,</span><span class="normal"> example_app</span><span class="symbol">,</span><span class="normal"> GTK_TYPE_APPLICATION</span><span class="symbol">);</span>
201
-
202
- <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
203
- <span class="function">example_app_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">ExampleApp</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">app</span><span class="symbol">)</span>
204
- <span class="cbracket">{</span>
205
- <span class="cbracket">}</span>
206
-
207
- <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
208
- <span class="function">example_app_activate</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GApplication</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">app</span><span class="symbol">)</span>
209
- <span class="cbracket">{</span>
210
- <span class="normal"> </span><span class="usertype">ExampleAppWindow</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">win</span><span class="symbol">;</span>
211
-
212
- <span class="normal"> win </span><span class="symbol">=</span><span class="normal"> </span><span class="function">example_app_window_new</span><span class="normal"> </span><span class="symbol">(</span><span class="function">EXAMPLE_APP</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">app</span><span class="symbol">));</span>
213
- <span class="normal"> </span><span class="function"><a href="GtkWindow.html#gtk-window-present">gtk_window_present</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_WINDOW</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">win</span><span class="symbol">));</span>
214
- <span class="cbracket">}</span>
215
-
216
- <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
217
- <span class="function">example_app_open</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GApplication</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">app</span><span class="symbol">,</span>
218
- <span class="normal"> </span><span class="usertype">GFile</span><span class="normal"> </span><span class="symbol">**</span><span class="normal">files</span><span class="symbol">,</span>
219
- <span class="normal"> </span><span class="usertype">gint</span><span class="normal"> n_files</span><span class="symbol">,</span>
220
- <span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">hint</span><span class="symbol">)</span>
221
- <span class="cbracket">{</span>
222
- <span class="normal"> </span><span class="usertype">GList</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">windows</span><span class="symbol">;</span>
223
- <span class="normal"> </span><span class="usertype">ExampleAppWindow</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">win</span><span class="symbol">;</span>
224
- <span class="normal"> </span><span class="type">int</span><span class="normal"> i</span><span class="symbol">;</span>
225
-
226
- <span class="normal"> windows </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkApplication.html#gtk-application-get-windows">gtk_application_get_windows</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_APPLICATION</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">app</span><span class="symbol">));</span>
227
- <span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">windows</span><span class="symbol">)</span>
228
- <span class="normal"> win </span><span class="symbol">=</span><span class="normal"> </span><span class="function">EXAMPLE_APP_WINDOW</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">windows</span><span class="symbol">-&gt;</span><span class="normal">data</span><span class="symbol">);</span>
229
- <span class="normal"> </span><span class="keyword">else</span>
230
- <span class="normal"> win </span><span class="symbol">=</span><span class="normal"> </span><span class="function">example_app_window_new</span><span class="normal"> </span><span class="symbol">(</span><span class="function">EXAMPLE_APP</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">app</span><span class="symbol">));</span>
231
-
232
- <span class="normal"> </span><span class="keyword">for</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">i </span><span class="symbol">=</span><span class="normal"> </span><span class="number">0</span><span class="symbol">;</span><span class="normal"> i </span><span class="symbol">&lt;</span><span class="normal"> n_files</span><span class="symbol">;</span><span class="normal"> i</span><span class="symbol">++)</span>
233
- <span class="normal"> </span><span class="function">example_app_window_open</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">win</span><span class="symbol">,</span><span class="normal"> files</span><span class="symbol">[</span><span class="normal">i</span><span class="symbol">]);</span>
234
-
235
- <span class="normal"> </span><span class="function"><a href="GtkWindow.html#gtk-window-present">gtk_window_present</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_WINDOW</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">win</span><span class="symbol">));</span>
236
- <span class="cbracket">}</span>
237
-
238
- <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
239
- <span class="function">example_app_class_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">ExampleAppClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">class</span><span class="symbol">)</span>
240
- <span class="cbracket">{</span>
241
- <span class="normal"> </span><span class="function">G_APPLICATION_CLASS</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">class</span><span class="symbol">)-&gt;</span><span class="normal">activate </span><span class="symbol">=</span><span class="normal"> example_app_activate</span><span class="symbol">;</span>
242
- <span class="normal"> </span><span class="function">G_APPLICATION_CLASS</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">class</span><span class="symbol">)-&gt;</span><span class="normal">open </span><span class="symbol">=</span><span class="normal"> example_app_open</span><span class="symbol">;</span>
243
- <span class="cbracket">}</span>
244
-
245
- <span class="normal">ExampleApp </span><span class="symbol">*</span>
246
- <span class="function">example_app_new</span><span class="normal"> </span><span class="symbol">(</span><span class="type">void</span><span class="symbol">)</span>
247
- <span class="cbracket">{</span>
248
- <span class="normal"> </span><span class="keyword">return</span><span class="normal"> </span><span class="function"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-new">g_object_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">EXAMPLE_APP_TYPE</span><span class="symbol">,</span>
249
- <span class="normal"> </span><span class="string">"application-id"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"org.gtk.exampleapp"</span><span class="symbol">,</span>
250
- <span class="normal"> </span><span class="string">"flags"</span><span class="symbol">,</span><span class="normal"> G_APPLICATION_HANDLES_OPEN</span><span class="symbol">,</span>
251
- <span class="normal"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
252
- <span class="cbracket">}</span></pre></td>
253
- </tr>
254
- </tbody>
255
- </table>
256
- </div>
257
-
258
- <p>Another important class that is part of the application support
259
- in GTK+ is <a class="link" href="GtkApplicationWindow.html" title="GtkApplicationWindow"><span class="type">GtkApplicationWindow</span></a>. It is typically subclassed as well.
260
- Our subclass does not do anything yet, so we will just get an empty
261
- window.</p>
262
- <div class="informalexample">
263
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
264
- <tbody>
265
- <tr>
266
- <td class="listing_lines" align="right"><pre>1
267
- 2
268
- 3
269
- 4
270
- 5
271
- 6
272
- 7
273
- 8
274
- 9
275
- 10
276
- 11
277
- 12
278
- 13
279
- 14
280
- 15
281
- 16
282
- 17
283
- 18
284
- 19
285
- 20
286
- 21
287
- 22
288
- 23
289
- 24
290
- 25
291
- 26
292
- 27
293
- 28
294
- 29
295
- 30
296
- 31
297
- 32
298
- 33
299
- 34
300
- 35
301
- 36
302
- 37</pre></td>
303
- <td class="listing_code"><pre class="programlisting"><span class="preproc">#include</span><span class="normal"> </span><span class="string">"exampleapp.h"</span>
304
- <span class="preproc">#include</span><span class="normal"> </span><span class="string">"exampleappwin.h"</span>
305
- <span class="preproc">#include</span><span class="normal"> </span><span class="string">&lt;gtk/gtk.h&gt;</span>
306
-
307
- <span class="keyword">struct</span><span class="normal"> </span><span class="classname">_ExampleAppWindow</span>
308
- <span class="cbracket">{</span>
309
- <span class="normal"> </span><span class="usertype">GtkApplicationWindow</span><span class="normal"> parent</span><span class="symbol">;</span>
310
- <span class="cbracket">}</span><span class="symbol">;</span>
311
-
312
- <span class="keyword">struct</span><span class="normal"> </span><span class="classname">_ExampleAppWindowClass</span>
313
- <span class="cbracket">{</span>
314
- <span class="normal"> </span><span class="usertype">GtkApplicationWindowClass</span><span class="normal"> parent_class</span><span class="symbol">;</span>
315
- <span class="cbracket">}</span><span class="symbol">;</span>
316
-
317
- <span class="function"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html#G-DEFINE-TYPE:CAPS">G_DEFINE_TYPE</a></span><span class="symbol">(</span><span class="normal">ExampleAppWindow</span><span class="symbol">,</span><span class="normal"> example_app_window</span><span class="symbol">,</span><span class="normal"> GTK_TYPE_APPLICATION_WINDOW</span><span class="symbol">);</span>
318
-
319
- <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
320
- <span class="function">example_app_window_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">ExampleAppWindow</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">app</span><span class="symbol">)</span>
321
- <span class="cbracket">{</span>
322
- <span class="cbracket">}</span>
323
-
324
- <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
325
- <span class="function">example_app_window_class_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">ExampleAppWindowClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">class</span><span class="symbol">)</span>
326
- <span class="cbracket">{</span>
327
- <span class="cbracket">}</span>
328
-
329
- <span class="normal">ExampleAppWindow </span><span class="symbol">*</span>
330
- <span class="function">example_app_window_new</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">ExampleApp</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">app</span><span class="symbol">)</span>
331
- <span class="cbracket">{</span>
332
- <span class="normal"> </span><span class="keyword">return</span><span class="normal"> </span><span class="function"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-new">g_object_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">EXAMPLE_APP_WINDOW_TYPE</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"application"</span><span class="symbol">,</span><span class="normal"> app</span><span class="symbol">,</span><span class="normal"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
333
- <span class="cbracket">}</span>
334
-
335
- <span class="type">void</span>
336
- <span class="function">example_app_window_open</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">ExampleAppWindow</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">win</span><span class="symbol">,</span>
337
- <span class="normal"> </span><span class="usertype">GFile</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">file</span><span class="symbol">)</span>
338
- <span class="cbracket">{</span>
339
- <span class="cbracket">}</span></pre></td>
340
- </tr>
341
- </tbody>
342
- </table>
343
- </div>
344
-
345
- <p>As part of the initial setup of our application, we also
346
- create an icon and a desktop file.</p>
347
- <div class="informalfigure"><div class="mediaobject"><img src="exampleapp.png"></div></div>
348
- <div class="informalexample">
349
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
350
- <tbody>
351
- <tr>
352
- <td class="listing_lines" align="right"><pre>1
353
- 2
354
- 3
355
- 4
356
- 5
357
- 6</pre></td>
358
- <td class="listing_code"><pre class="programlisting"><span class="symbol">[</span><span class="usertype">Desktop</span><span class="normal"> Entry</span><span class="symbol">]</span>
359
- <span class="normal">Type</span><span class="symbol">=</span><span class="normal">Application</span>
360
- <span class="normal">Name</span><span class="symbol">=</span><span class="normal">Example</span>
361
- <span class="normal">Icon</span><span class="symbol">=</span><span class="normal">exampleapp</span>
362
- <span class="normal">StartupNotify</span><span class="symbol">=</span><span class="normal">true</span>
363
- <span class="normal">Exec</span><span class="symbol">=</span><span class="normal">@bindir@</span><span class="symbol">/</span><span class="normal">exampleapp</span></pre></td>
364
- </tr>
365
- </tbody>
366
- </table>
367
- </div>
368
-
369
- <p>Note that <em class="replaceable"><code>@bindir@</code></em> needs to be replaced
370
- with the actual path to the binary before this desktop file can be used.</p>
371
- <p>Here is what we've achieved so far:</p>
372
- <div class="informalfigure"><div class="mediaobject"><img src="getting-started-app1.png"></div></div>
373
- <p>This does not look very impressive yet, but our application
374
- is already presenting itself on the session bus, it has single-instance
375
- semantics, and it accepts files as commandline arguments.</p>
376
- </div>
377
- <div class="section">
378
- <div class="titlepage"><div><div><h3 class="title">
379
- <a name="id-1.2.3.7.6"></a>Populating the window</h3></div></div></div>
380
- <p>In this step, we use a <a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a> template to associate a
381
- <a class="link" href="GtkBuilder.html" title="GtkBuilder"><span class="type">GtkBuilder</span></a> ui file with our application window class.</p>
382
- <p>Our simple ui file puts a <a class="link" href="GtkHeaderBar.html" title="GtkHeaderBar"><span class="type">GtkHeaderBar</span></a> on top of a <a class="link" href="GtkStack.html" title="GtkStack"><span class="type">GtkStack</span></a>
383
- widget. The header bar contains a <a class="link" href="GtkStackSwitcher.html" title="GtkStackSwitcher"><span class="type">GtkStackSwitcher</span></a>, which is a
384
- standalone widget to show a row of 'tabs' for the pages of a <a class="link" href="GtkStack.html" title="GtkStack"><span class="type">GtkStack</span></a>.
385
- </p>
386
- <div class="informalexample">
387
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
388
- <tbody>
389
- <tr>
390
- <td class="listing_lines" align="right"><pre>1
391
- 2
392
- 3
393
- 4
394
- 5
395
- 6
396
- 7
397
- 8
398
- 9
399
- 10
400
- 11
401
- 12
402
- 13
403
- 14
404
- 15
405
- 16
406
- 17
407
- 18
408
- 19
409
- 20
410
- 21
411
- 22
412
- 23
413
- 24
414
- 25
415
- 26
416
- 27
417
- 28
418
- 29
419
- 30
420
- 31
421
- 32</pre></td>
422
- <td class="listing_code"><pre class="programlisting"><span class="symbol">&lt;?</span><span class="usertype">xml</span><span class="normal"> version</span><span class="symbol">=</span><span class="string">"1.0"</span><span class="normal"> encoding</span><span class="symbol">=</span><span class="string">"UTF-8"</span><span class="symbol">?&gt;</span>
423
- <span class="symbol">&lt;</span><span class="normal">interface</span><span class="symbol">&gt;</span>
424
- <span class="normal"> </span><span class="symbol">&lt;!--</span><span class="normal"> interface</span><span class="symbol">-</span><span class="usertype">requires</span><span class="normal"> gtk</span><span class="symbol">+</span><span class="normal"> </span><span class="number">3.8</span><span class="normal"> </span><span class="symbol">--&gt;</span>
425
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">template</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"ExampleAppWindow"</span><span class="normal"> parent</span><span class="symbol">=</span><span class="string">"GtkApplicationWindow"</span><span class="symbol">&gt;</span>
426
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"title"</span><span class="normal"> translatable</span><span class="symbol">=</span><span class="string">"yes"</span><span class="symbol">&gt;</span><span class="usertype">Example</span><span class="normal"> Application</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
427
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"default-width"</span><span class="symbol">&gt;</span><span class="number">600</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
428
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"default-height"</span><span class="symbol">&gt;</span><span class="number">400</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
429
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
430
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkBox"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"content_box"</span><span class="symbol">&gt;</span>
431
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
432
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"orientation"</span><span class="symbol">&gt;</span><span class="normal">vertical</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
433
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
434
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkHeaderBar"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"header"</span><span class="symbol">&gt;</span>
435
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
436
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">child</span><span class="normal"> type</span><span class="symbol">=</span><span class="string">"title"</span><span class="symbol">&gt;</span>
437
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkStackSwitcher"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"tabs"</span><span class="symbol">&gt;</span>
438
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
439
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"margin"</span><span class="symbol">&gt;</span><span class="number">6</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
440
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"stack"</span><span class="symbol">&gt;</span><span class="normal">stack</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
441
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
442
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
443
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
444
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
445
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
446
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkStack"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"stack"</span><span class="symbol">&gt;</span>
447
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
448
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
449
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
450
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
451
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
452
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">template</span><span class="symbol">&gt;</span>
453
- <span class="symbol">&lt;/</span><span class="normal">interface</span><span class="symbol">&gt;</span></pre></td>
454
- </tr>
455
- </tbody>
456
- </table>
457
- </div>
458
-
459
- <p>To make use of this file in our application, we revisit
460
- our <a class="link" href="GtkApplicationWindow.html" title="GtkApplicationWindow"><span class="type">GtkApplicationWindow</span></a> subclass, and call
461
- <a class="link" href="GtkWidget.html#gtk-widget-class-set-template-from-resource" title="gtk_widget_class_set_template_from_resource ()"><code class="function">gtk_widget_class_set_template_from_resource()</code></a> from the class init
462
- function to set the ui file as template for this class. We also
463
- add a call to <a class="link" href="GtkWidget.html#gtk-widget-init-template" title="gtk_widget_init_template ()"><code class="function">gtk_widget_init_template()</code></a> in the instance init
464
- function to instantiate the template for each instance of our
465
- class.</p>
466
- <div class="informalexample">
467
- <pre class="programlisting">
468
- ...
32
+ <p>The contents of a widget often need to be partially or fully redrawn,
33
+ e.g. when another window is moved and uncovers part of the widget, or
34
+ when tie window containing it is resized. It is also possible to explicitly
35
+ cause part or all of the widget to be redrawn, by calling
36
+ <a class="link" href="GtkWidget.html#gtk-widget-queue-draw" title="gtk_widget_queue_draw ()"><code class="function">gtk_widget_queue_draw()</code></a> or its variants. GTK+ takes care of most of the
37
+ details by providing a ready-to-use cairo context to the ::draw signal
38
+ handler.</p>
39
+ <p>The following example shows a ::draw signal handler. It is a bit
40
+ more complicated than the previous examples, since it also demonstrates
41
+ input event handling by means of ::button-press and ::motion-notify
42
+ handlers.</p>
43
+ <div class="informalfigure"><div class="mediaobject"><img src="drawing.png"></div></div>
44
+ <div class="example">
45
+ <a name="gtk-getting-started-drawing"></a><p class="title"><b>Example 4. Drawing in response to input</b></p>
46
+ <div class="example-contents">
47
+ <p>Create a new file with the following content named example-3.c.</p>
48
+ <pre class="programlisting">#include &lt;gtk/gtk.h&gt;
49
+
50
+ /* Surface to store current scribbles */
51
+ static cairo_surface_t *surface = NULL;
469
52
 
470
53
  static void
471
- example_app_window_init (ExampleAppWindow *win)
54
+ clear_surface (void)
472
55
  {
473
- gtk_widget_init_template (GTK_WIDGET (win));
474
- }
475
-
476
- static void
477
- example_app_window_class_init (ExampleAppWindowClass *class)
478
- {
479
- gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (class),
480
- "/org/gtk/exampleapp/window.ui");
481
- }
482
-
483
- ...
484
- </pre>
485
- <p>(<a class="ulink" href="https://git.gnome.org/browse/gtk+/tree/examples/application2/exampleappwin.c" target="_top">full source</a>)</p>
486
- </div>
487
- <p>You may have noticed that we used the <code class="literal">_from_resource()</code> variant
488
- of the function that sets a template. Now we need to use GLib's resource
489
- functionality to include the ui file in the binary. This is commonly
490
- done by listing all resources in a .gresource.xml file, such as this:
491
- </p>
492
- <div class="informalexample">
493
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
494
- <tbody>
495
- <tr>
496
- <td class="listing_lines" align="right"><pre>1
497
- 2
498
- 3
499
- 4
500
- 5
501
- 6</pre></td>
502
- <td class="listing_code"><pre class="programlisting"><span class="symbol">&lt;?</span><span class="usertype">xml</span><span class="normal"> version</span><span class="symbol">=</span><span class="string">"1.0"</span><span class="normal"> encoding</span><span class="symbol">=</span><span class="string">"UTF-8"</span><span class="symbol">?&gt;</span>
503
- <span class="symbol">&lt;</span><span class="normal">gresources</span><span class="symbol">&gt;</span>
504
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">gresource</span><span class="normal"> prefix</span><span class="symbol">=</span><span class="string">"/org/gtk/exampleapp"</span><span class="symbol">&gt;</span>
505
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">file</span><span class="normal"> preprocess</span><span class="symbol">=</span><span class="string">"xml-stripblanks"</span><span class="symbol">&gt;</span><span class="normal">window</span><span class="symbol">.</span><span class="normal">ui</span><span class="symbol">&lt;/</span><span class="normal">file</span><span class="symbol">&gt;</span>
506
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">gresource</span><span class="symbol">&gt;</span>
507
- <span class="symbol">&lt;/</span><span class="normal">gresources</span><span class="symbol">&gt;</span></pre></td>
508
- </tr>
509
- </tbody>
510
- </table>
511
- </div>
56
+ cairo_t *cr;
512
57
 
513
- <p>This file has to be converted into a C source file that will be
514
- compiled and linked into the application together with the other source
515
- files. To do so, we use the glib-compile-resources utility:</p>
516
- <pre class="screen">
517
- glib-compile-resources exampleapp.gresource.xml --target=resources.c --generate-source
518
- </pre>
519
- <p>Our application now looks like this:</p>
520
- <div class="informalfigure"><div class="mediaobject"><img src="getting-started-app2.png"></div></div>
521
- </div>
522
- <div class="section">
523
- <div class="titlepage"><div><div><h3 class="title">
524
- <a name="id-1.2.3.7.7"></a>Opening files</h3></div></div></div>
525
- <p>In this step, we make our application show the content of
526
- all the files that it is given on the commandline.</p>
527
- <p>To this end, we add a private struct to our application
528
- window subclass and keep a reference to the <a class="link" href="GtkStack.html" title="GtkStack"><span class="type">GtkStack</span></a> there.
529
- The <a class="link" href="GtkWidget.html#gtk-widget-class-bind-template-child-private" title="gtk_widget_class_bind_template_child_private()"><code class="function">gtk_widget_class_bind_template_child_private()</code></a> function
530
- arranges things so that after instantiating the template, the
531
- <em class="parameter"><code>stack</code></em> member of the private struct will point to the widget of
532
- the same name from the template.</p>
533
- <div class="informalexample">
534
- <pre class="programlisting">
535
- ...
536
-
537
- struct _ExampleAppWindowPrivate
538
- {
539
- GtkWidget *stack;
540
- };
541
-
542
- G_DEFINE_TYPE_WITH_PRIVATE(ExampleAppWindow, example_app_window, GTK_TYPE_APPLICATION_WINDOW);
58
+ cr = cairo_create (surface);
543
59
 
544
- ...
60
+ cairo_set_source_rgb (cr, 1, 1, 1);
61
+ cairo_paint (cr);
545
62
 
546
- static void
547
- example_app_window_class_init (ExampleAppWindowClass *class)
548
- {
549
- gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (class),
550
- "/org/gtk/exampleapp/window.ui");
551
- gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), ExampleAppWindow, stack);
63
+ cairo_destroy (cr);
552
64
  }
553
65
 
554
- ...
555
- </pre>
556
- <p>(<a class="ulink" href="https://git.gnome.org/browse/gtk+/tree/examples/application3/exampleappwin.c" target="_top">full source</a>)</p>
557
- </div>
558
- <p>Now we revisit the <code class="function">example_app_window_open()</code> function that
559
- is called for each commandline argument, and construct a GtkTextView
560
- that we then add as a page to the stack:</p>
561
- <div class="informalexample">
562
- <pre class="programlisting">
563
- ...
564
-
565
- void
566
- example_app_window_open (ExampleAppWindow *win,
567
- GFile *file)
66
+ /* Create a new surface of the appropriate size to store our scribbles */
67
+ static gboolean
68
+ configure_event_cb (GtkWidget *widget,
69
+ GdkEventConfigure *event,
70
+ gpointer data)
568
71
  {
569
- ExampleAppWindowPrivate *priv;
570
- gchar *basename;
571
- GtkWidget *scrolled, *view;
572
- gchar *contents;
573
- gsize length;
72
+ if (surface)
73
+ cairo_surface_destroy (surface);
574
74
 
575
- priv = example_app_window_get_instance_private (win);
576
- basename = g_file_get_basename (file);
75
+ surface = gdk_window_create_similar_surface (gtk_widget_get_window (widget),
76
+ CAIRO_CONTENT_COLOR,
77
+ gtk_widget_get_allocated_width (widget),
78
+ gtk_widget_get_allocated_height (widget));
577
79
 
578
- scrolled = gtk_scrolled_window_new (NULL, NULL);
579
- gtk_widget_show (scrolled);
580
- gtk_widget_set_hexpand (scrolled, TRUE);
581
- gtk_widget_set_vexpand (scrolled, TRUE);
582
- view = gtk_text_view_new ();
583
- gtk_text_view_set_editable (GTK_TEXT_VIEW (view), FALSE);
584
- gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (view), FALSE);
585
- gtk_widget_show (view);
586
- gtk_container_add (GTK_CONTAINER (scrolled), view);
587
- gtk_stack_add_titled (GTK_STACK (priv-&gt;stack), scrolled, basename, basename);
80
+ /* Initialize the surface to white */
81
+ clear_surface ();
588
82
 
589
- if (g_file_load_contents (file, NULL, &amp;contents, &amp;length, NULL, NULL))
590
- {
591
- GtkTextBuffer *buffer;
592
-
593
- buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
594
- gtk_text_buffer_set_text (buffer, contents, length);
595
- g_free (contents);
596
- }
597
-
598
- g_free (basename);
83
+ /* We've handled the configure event, no need for further processing. */
84
+ return TRUE;
599
85
  }
600
86
 
601
- ...
602
- </pre>
603
- <p>(<a class="ulink" href="https://git.gnome.org/browse/gtk+/tree/examples/application3/exampleappwin.c" target="_top">full source</a>)</p>
604
- </div>
605
- <p>Note that we did not have to touch the stack switcher
606
- at all. It gets all its information from the stack that it
607
- belongs to. Here, we are passing the label to show for each
608
- file as the last argument to the <a class="link" href="GtkStack.html#gtk-stack-add-titled" title="gtk_stack_add_titled ()"><code class="function">gtk_stack_add_titled()</code></a>
609
- function.</p>
610
- <p>Our application is beginning to take shape:</p>
611
- <div class="informalfigure"><div class="mediaobject"><img src="getting-started-app3.png"></div></div>
612
- </div>
613
- <div class="section">
614
- <div class="titlepage"><div><div><h3 class="title">
615
- <a name="id-1.2.3.7.8"></a>An application menu</h3></div></div></div>
616
- <p>An application menu is shown by GNOME shell at the top of the
617
- screen. It is meant to collect infrequently used actions that affect
618
- the whole application.</p>
619
- <p>Just like the window template, we specify our application menu
620
- in a ui file, and add it as a resource to our binary.</p>
621
- <div class="informalexample">
622
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
623
- <tbody>
624
- <tr>
625
- <td class="listing_lines" align="right"><pre>1
626
- 2
627
- 3
628
- 4
629
- 5
630
- 6
631
- 7
632
- 8
633
- 9
634
- 10
635
- 11
636
- 12
637
- 13
638
- 14
639
- 15
640
- 16
641
- 17
642
- 18</pre></td>
643
- <td class="listing_code"><pre class="programlisting"><span class="symbol">&lt;?</span><span class="usertype">xml</span><span class="normal"> version</span><span class="symbol">=</span><span class="string">"1.0"</span><span class="symbol">?&gt;</span>
644
- <span class="symbol">&lt;</span><span class="normal">interface</span><span class="symbol">&gt;</span>
645
- <span class="normal"> </span><span class="symbol">&lt;!--</span><span class="normal"> interface</span><span class="symbol">-</span><span class="usertype">requires</span><span class="normal"> gtk</span><span class="symbol">+</span><span class="normal"> </span><span class="number">3.0</span><span class="normal"> </span><span class="symbol">--&gt;</span>
646
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">menu</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"appmenu"</span><span class="symbol">&gt;</span>
647
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">section</span><span class="symbol">&gt;</span>
648
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">item</span><span class="symbol">&gt;</span>
649
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">attribute</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"label"</span><span class="normal"> translatable</span><span class="symbol">=</span><span class="string">"yes"</span><span class="symbol">&gt;</span><span class="normal">_Preferences</span><span class="symbol">&lt;/</span><span class="normal">attribute</span><span class="symbol">&gt;</span>
650
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">attribute</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"action"</span><span class="symbol">&gt;</span><span class="normal">app</span><span class="symbol">.</span><span class="normal">preferences</span><span class="symbol">&lt;/</span><span class="normal">attribute</span><span class="symbol">&gt;</span>
651
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">item</span><span class="symbol">&gt;</span>
652
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">section</span><span class="symbol">&gt;</span>
653
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">section</span><span class="symbol">&gt;</span>
654
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">item</span><span class="symbol">&gt;</span>
655
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">attribute</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"label"</span><span class="normal"> translatable</span><span class="symbol">=</span><span class="string">"yes"</span><span class="symbol">&gt;</span><span class="normal">_Quit</span><span class="symbol">&lt;/</span><span class="normal">attribute</span><span class="symbol">&gt;</span>
656
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">attribute</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"action"</span><span class="symbol">&gt;</span><span class="normal">app</span><span class="symbol">.</span><span class="normal">quit</span><span class="symbol">&lt;/</span><span class="normal">attribute</span><span class="symbol">&gt;</span>
657
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">item</span><span class="symbol">&gt;</span>
658
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">section</span><span class="symbol">&gt;</span>
659
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">menu</span><span class="symbol">&gt;</span>
660
- <span class="symbol">&lt;/</span><span class="normal">interface</span><span class="symbol">&gt;</span></pre></td>
661
- </tr>
662
- </tbody>
663
- </table>
664
- </div>
665
-
666
- <p>To associate the app menu with the application, we have to call
667
- <a class="link" href="GtkApplication.html#gtk-application-set-app-menu" title="gtk_application_set_app_menu ()"><code class="function">gtk_application_set_app_menu()</code></a>. Since app menus work by activating
668
- <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gio/GAction.html"><span class="type">GActions</span></a>, we also have to add a suitable set of actions to our
669
- application.</p>
670
- <p>Both of these tasks are best done in the <code class="function">startup()</code> vfunc,
671
- which is guaranteed to be called once for each primary application
672
- instance:</p>
673
- <div class="informalexample">
674
- <pre class="programlisting">
675
- ...
676
-
677
- static void
678
- preferences_activated (GSimpleAction *action,
679
- GVariant *parameter,
680
- gpointer app)
87
+ /* Redraw the screen from the surface. Note that the ::draw
88
+ * signal receives a ready-to-be-used cairo_t that is already
89
+ * clipped to only draw the exposed areas of the widget
90
+ */
91
+ static gboolean
92
+ draw_cb (GtkWidget *widget,
93
+ cairo_t *cr,
94
+ gpointer data)
681
95
  {
682
- }
96
+ cairo_set_source_surface (cr, surface, 0, 0);
97
+ cairo_paint (cr);
683
98
 
684
- static void
685
- quit_activated (GSimpleAction *action,
686
- GVariant *parameter,
687
- gpointer app)
688
- {
689
- g_application_quit (G_APPLICATION (app));
99
+ return FALSE;
690
100
  }
691
101
 
692
- static GActionEntry app_entries[] =
693
- {
694
- { "preferences", preferences_activated, NULL, NULL, NULL },
695
- { "quit", quit_activated, NULL, NULL, NULL }
696
- };
697
-
102
+ /* Draw a rectangle on the surface at the given position */
698
103
  static void
699
- example_app_startup (GApplication *app)
104
+ draw_brush (GtkWidget *widget,
105
+ gdouble x,
106
+ gdouble y)
700
107
  {
701
- GtkBuilder *builder;
702
- GMenuModel *app_menu;
703
- const gchar *quit_accels[2] = { "&lt;Ctrl&gt;Q", NULL };
108
+ cairo_t *cr;
704
109
 
705
- G_APPLICATION_CLASS (example_app_parent_class)-&gt;startup (app);
110
+ /* Paint to the surface, where we store our state */
111
+ cr = cairo_create (surface);
706
112
 
707
- g_action_map_add_action_entries (G_ACTION_MAP (app),
708
- app_entries, G_N_ELEMENTS (app_entries),
709
- app);
710
- gtk_application_set_accels_for_action (GTK_APPLICATION (app),
711
- "app.quit",
712
- quit_accels);
113
+ cairo_rectangle (cr, x - 3, y - 3, 6, 6);
114
+ cairo_fill (cr);
713
115
 
714
- builder = gtk_builder_new_from_resource ("/org/gtk/exampleapp/app-menu.ui");
715
- app_menu = G_MENU_MODEL (gtk_builder_get_object (builder, "appmenu"));
716
- gtk_application_set_app_menu (GTK_APPLICATION (app), app_menu);
717
- g_object_unref (builder);
718
- }
116
+ cairo_destroy (cr);
719
117
 
720
- static void
721
- example_app_class_init (ExampleAppClass *class)
722
- {
723
- G_APPLICATION_CLASS (class)-&gt;startup = example_app_startup;
724
- ...
118
+ /* Now invalidate the affected region of the drawing area. */
119
+ gtk_widget_queue_draw_area (widget, x - 3, y - 3, 6, 6);
725
120
  }
726
121
 
727
- ...
728
- </pre>
729
- <p>(<a class="ulink" href="https://git.gnome.org/browse/gtk+/tree/examples/application4/exampleapp.c" target="_top">full source</a>)</p>
730
- </div>
731
- <p>Our preferences menu item does not do anything yet,
732
- but the Quit menu item is fully functional. Note that it
733
- can also be activated by the usual Ctrl-Q shortcut. The
734
- shortcut was added with <a class="link" href="GtkApplication.html#gtk-application-set-accels-for-action" title="gtk_application_set_accels_for_action ()"><code class="function">gtk_application_set_accels_for_action()</code></a>.
735
- </p>
736
- <p>The application menu looks like this:</p>
737
- <div class="informalfigure"><div class="mediaobject"><img src="getting-started-app4.png"></div></div>
738
- </div>
739
- <div class="section">
740
- <div class="titlepage"><div><div><h3 class="title">
741
- <a name="id-1.2.3.7.9"></a>A preference dialog</h3></div></div></div>
742
- <p>A typical application will have a some preferences that
743
- should be remembered from one run to the next. Even for our
744
- simple example application, we may want to change the font
745
- that is used for the content.</p>
746
- <p>We are going to use GSettings to store our preferences.
747
- GSettings requires a schema that describes our settings:</p>
748
- <div class="informalexample">
749
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
750
- <tbody>
751
- <tr>
752
- <td class="listing_lines" align="right"><pre>1
753
- 2
754
- 3
755
- 4
756
- 5
757
- 6
758
- 7
759
- 8
760
- 9
761
- 10
762
- 11
763
- 12
764
- 13
765
- 14
766
- 15
767
- 16
768
- 17
769
- 18
770
- 19
771
- 20</pre></td>
772
- <td class="listing_code"><pre class="programlisting"><span class="symbol">&lt;?</span><span class="usertype">xml</span><span class="normal"> version</span><span class="symbol">=</span><span class="string">"1.0"</span><span class="normal"> encoding</span><span class="symbol">=</span><span class="string">"UTF-8"</span><span class="symbol">?&gt;</span>
773
- <span class="symbol">&lt;</span><span class="normal">schemalist</span><span class="symbol">&gt;</span>
774
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">schema</span><span class="normal"> path</span><span class="symbol">=</span><span class="string">"/org/gtk/exampleapp/"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"org.gtk.exampleapp"</span><span class="symbol">&gt;</span>
775
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">key</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"font"</span><span class="normal"> type</span><span class="symbol">=</span><span class="string">"s"</span><span class="symbol">&gt;</span>
776
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="keyword">default</span><span class="symbol">&gt;</span><span class="string">'Monospace 12'</span><span class="symbol">&lt;/</span><span class="keyword">default</span><span class="symbol">&gt;</span>
777
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">summary</span><span class="symbol">&gt;</span><span class="normal">Font</span><span class="symbol">&lt;/</span><span class="normal">summary</span><span class="symbol">&gt;</span>
778
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">description</span><span class="symbol">&gt;</span><span class="normal">The font to be used </span><span class="usertype">for</span><span class="normal"> content</span><span class="symbol">.&lt;/</span><span class="normal">description</span><span class="symbol">&gt;</span>
779
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">key</span><span class="symbol">&gt;</span>
780
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">key</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"transition"</span><span class="normal"> type</span><span class="symbol">=</span><span class="string">"s"</span><span class="symbol">&gt;</span>
781
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">choices</span><span class="symbol">&gt;</span>
782
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">choice</span><span class="normal"> value</span><span class="symbol">=</span><span class="string">'none'</span><span class="symbol">/&gt;</span>
783
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">choice</span><span class="normal"> value</span><span class="symbol">=</span><span class="string">'crossfade'</span><span class="symbol">/&gt;</span>
784
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">choice</span><span class="normal"> value</span><span class="symbol">=</span><span class="string">'slide-left-right'</span><span class="symbol">/&gt;</span>
785
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">choices</span><span class="symbol">&gt;</span>
786
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="keyword">default</span><span class="symbol">&gt;</span><span class="string">'none'</span><span class="symbol">&lt;/</span><span class="keyword">default</span><span class="symbol">&gt;</span>
787
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">summary</span><span class="symbol">&gt;</span><span class="normal">Transition</span><span class="symbol">&lt;/</span><span class="normal">summary</span><span class="symbol">&gt;</span>
788
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">description</span><span class="symbol">&gt;</span><span class="normal">The transition to use when </span><span class="usertype">switching</span><span class="normal"> tabs</span><span class="symbol">.&lt;/</span><span class="normal">description</span><span class="symbol">&gt;</span>
789
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">key</span><span class="symbol">&gt;</span>
790
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">schema</span><span class="symbol">&gt;</span>
791
- <span class="symbol">&lt;/</span><span class="normal">schemalist</span><span class="symbol">&gt;</span></pre></td>
792
- </tr>
793
- </tbody>
794
- </table>
795
- </div>
796
-
797
- <p>Before we can make use of this schema in our application,
798
- we need to compile it into the binary form that GSettings
799
- expects. GIO provides <a class="ulink" href="https://developer.gnome.org/gio/2.36/ch31s06.html" target="_top">macros</a>
800
- to do this in autotools-based projects.</p>
801
- <p>Next, we need to connect our settings to the widgets
802
- that they are supposed to control. One convenient way to do
803
- this is to use GSettings bind functionality to bind settings
804
- keys to object properties, as we do here for the transition
805
- setting.</p>
806
- <div class="informalexample">
807
- <pre class="programlisting">
808
- ...
809
-
810
- static void
811
- example_app_window_init (ExampleAppWindow *win)
122
+ /* Handle button press events by either drawing a rectangle
123
+ * or clearing the surface, depending on which button was pressed.
124
+ * The ::button-press signal handler receives a GdkEventButton
125
+ * struct which contains this information.
126
+ */
127
+ static gboolean
128
+ button_press_event_cb (GtkWidget *widget,
129
+ GdkEventButton *event,
130
+ gpointer data)
812
131
  {
813
- ExampleAppWindowPrivate *priv;
132
+ /* paranoia check, in case we haven't gotten a configure event */
133
+ if (surface == NULL)
134
+ return FALSE;
814
135
 
815
- priv = example_app_window_get_instance_private (win);
816
- gtk_widget_init_template (GTK_WIDGET (win));
817
- priv-&gt;settings = g_settings_new ("org.gtk.exampleapp");
136
+ if (event-&gt;button == GDK_BUTTON_PRIMARY)
137
+ {
138
+ draw_brush (widget, event-&gt;x, event-&gt;y);
139
+ }
140
+ else if (event-&gt;button == GDK_BUTTON_SECONDARY)
141
+ {
142
+ clear_surface ();
143
+ gtk_widget_queue_draw (widget);
144
+ }
818
145
 
819
- g_settings_bind (priv-&gt;settings, "transition",
820
- priv-&gt;stack, "transition-type",
821
- G_SETTINGS_BIND_DEFAULT);
146
+ /* We've handled the event, stop processing */
147
+ return TRUE;
822
148
  }
823
149
 
824
- ...
825
- </pre>
826
- <p>(<a class="ulink" href="https://git.gnome.org/browse/gtk+/tree/examples/application5/exampleappwin.c" target="_top">full source</a>)</p>
827
- </div>
828
- <p>The code to connect the font setting is a little more involved,
829
- since there is no simple object property that it corresponds to, so
830
- we are not going to go into that here.</p>
831
- <p>At this point, the application will already react if you
832
- change one of the settings, e.g. using the gsettings commandline
833
- tool. Of course, we expect the application to provide a preference
834
- dialog for these. So lets do that now. Our preference dialog will
835
- be a subclass of GtkDialog, and we'll use the same techniques that
836
- we've already seen: templates, private structs, settings
837
- bindings.</p>
838
- <p>Lets start with the template.</p>
839
- <div class="informalexample">
840
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
841
- <tbody>
842
- <tr>
843
- <td class="listing_lines" align="right"><pre>1
844
- 2
845
- 3
846
- 4
847
- 5
848
- 6
849
- 7
850
- 8
851
- 9
852
- 10
853
- 11
854
- 12
855
- 13
856
- 14
857
- 15
858
- 16
859
- 17
860
- 18
861
- 19
862
- 20
863
- 21
864
- 22
865
- 23
866
- 24
867
- 25
868
- 26
869
- 27
870
- 28
871
- 29
872
- 30
873
- 31
874
- 32
875
- 33
876
- 34
877
- 35
878
- 36
879
- 37
880
- 38
881
- 39
882
- 40
883
- 41
884
- 42
885
- 43
886
- 44
887
- 45
888
- 46
889
- 47
890
- 48
891
- 49
892
- 50
893
- 51
894
- 52
895
- 53
896
- 54
897
- 55
898
- 56
899
- 57
900
- 58
901
- 59
902
- 60
903
- 61
904
- 62
905
- 63
906
- 64
907
- 65
908
- 66
909
- 67
910
- 68
911
- 69
912
- 70</pre></td>
913
- <td class="listing_code"><pre class="programlisting"><span class="symbol">&lt;?</span><span class="usertype">xml</span><span class="normal"> version</span><span class="symbol">=</span><span class="string">"1.0"</span><span class="normal"> encoding</span><span class="symbol">=</span><span class="string">"UTF-8"</span><span class="symbol">?&gt;</span>
914
- <span class="symbol">&lt;</span><span class="normal">interface</span><span class="symbol">&gt;</span>
915
- <span class="normal"> </span><span class="symbol">&lt;!--</span><span class="normal"> interface</span><span class="symbol">-</span><span class="usertype">requires</span><span class="normal"> gtk</span><span class="symbol">+</span><span class="normal"> </span><span class="number">3.8</span><span class="normal"> </span><span class="symbol">--&gt;</span>
916
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">template</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"ExampleAppPrefs"</span><span class="normal"> parent</span><span class="symbol">=</span><span class="string">"GtkDialog"</span><span class="symbol">&gt;</span>
917
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"title"</span><span class="normal"> translatable</span><span class="symbol">=</span><span class="string">"yes"</span><span class="symbol">&gt;</span><span class="normal">Preferences</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
918
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"resizable"</span><span class="symbol">&gt;</span><span class="normal">False</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
919
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"modal"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
920
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">child</span><span class="normal"> internal</span><span class="symbol">-</span><span class="normal">child</span><span class="symbol">=</span><span class="string">"vbox"</span><span class="symbol">&gt;</span>
921
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkBox"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"vbox"</span><span class="symbol">&gt;</span>
922
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
923
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkGrid"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"grid"</span><span class="symbol">&gt;</span>
924
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
925
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"margin"</span><span class="symbol">&gt;</span><span class="number">6</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
926
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"row-spacing"</span><span class="symbol">&gt;</span><span class="number">12</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
927
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"column-spacing"</span><span class="symbol">&gt;</span><span class="number">6</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
928
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
929
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkLabel"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"fontlabel"</span><span class="symbol">&gt;</span>
930
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
931
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"label"</span><span class="symbol">&gt;</span><span class="normal">_Font</span><span class="symbol">:&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
932
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"use-underline"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
933
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"mnemonic-widget"</span><span class="symbol">&gt;</span><span class="normal">font</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
934
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"xalign"</span><span class="symbol">&gt;</span><span class="number">1</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
935
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
936
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">packing</span><span class="symbol">&gt;</span>
937
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"left-attach"</span><span class="symbol">&gt;</span><span class="number">0</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
938
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"top-attach"</span><span class="symbol">&gt;</span><span class="number">0</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
939
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">packing</span><span class="symbol">&gt;</span>
940
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
941
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
942
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkFontButton"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"font"</span><span class="symbol">&gt;</span>
943
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
944
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
945
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">packing</span><span class="symbol">&gt;</span>
946
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"left-attach"</span><span class="symbol">&gt;</span><span class="number">1</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
947
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"top-attach"</span><span class="symbol">&gt;</span><span class="number">0</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
948
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">packing</span><span class="symbol">&gt;</span>
949
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
950
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
951
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkLabel"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"transitionlabel"</span><span class="symbol">&gt;</span>
952
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
953
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"label"</span><span class="symbol">&gt;</span><span class="normal">_Transition</span><span class="symbol">:&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
954
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"use-underline"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
955
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"mnemonic-widget"</span><span class="symbol">&gt;</span><span class="normal">transition</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
956
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"xalign"</span><span class="symbol">&gt;</span><span class="number">1</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
957
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
958
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">packing</span><span class="symbol">&gt;</span>
959
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"left-attach"</span><span class="symbol">&gt;</span><span class="number">0</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
960
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"top-attach"</span><span class="symbol">&gt;</span><span class="number">1</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
961
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">packing</span><span class="symbol">&gt;</span>
962
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
963
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
964
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkComboBoxText"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"transition"</span><span class="symbol">&gt;</span>
965
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
966
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">items</span><span class="symbol">&gt;</span>
967
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">item</span><span class="normal"> translatable</span><span class="symbol">=</span><span class="string">"yes"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"none"</span><span class="symbol">&gt;</span><span class="normal">None</span><span class="symbol">&lt;/</span><span class="normal">item</span><span class="symbol">&gt;</span>
968
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">item</span><span class="normal"> translatable</span><span class="symbol">=</span><span class="string">"yes"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"crossfade"</span><span class="symbol">&gt;</span><span class="normal">Fade</span><span class="symbol">&lt;/</span><span class="normal">item</span><span class="symbol">&gt;</span>
969
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">item</span><span class="normal"> translatable</span><span class="symbol">=</span><span class="string">"yes"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"slide-left-right"</span><span class="symbol">&gt;</span><span class="normal">Slide</span><span class="symbol">&lt;/</span><span class="normal">item</span><span class="symbol">&gt;</span>
970
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">items</span><span class="symbol">&gt;</span>
971
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
972
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">packing</span><span class="symbol">&gt;</span>
973
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"left-attach"</span><span class="symbol">&gt;</span><span class="number">1</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
974
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"top-attach"</span><span class="symbol">&gt;</span><span class="number">1</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
975
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">packing</span><span class="symbol">&gt;</span>
976
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
977
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
978
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
979
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
980
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
981
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">template</span><span class="symbol">&gt;</span>
982
- <span class="symbol">&lt;/</span><span class="normal">interface</span><span class="symbol">&gt;</span></pre></td>
983
- </tr>
984
- </tbody>
985
- </table>
986
- </div>
987
-
988
- <p>Next comes the dialog subclass.</p>
989
- <div class="informalexample">
990
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
991
- <tbody>
992
- <tr>
993
- <td class="listing_lines" align="right"><pre>1
994
- 2
995
- 3
996
- 4
997
- 5
998
- 6
999
- 7
1000
- 8
1001
- 9
1002
- 10
1003
- 11
1004
- 12
1005
- 13
1006
- 14
1007
- 15
1008
- 16
1009
- 17
1010
- 18
1011
- 19
1012
- 20
1013
- 21
1014
- 22
1015
- 23
1016
- 24
1017
- 25
1018
- 26
1019
- 27
1020
- 28
1021
- 29
1022
- 30
1023
- 31
1024
- 32
1025
- 33
1026
- 34
1027
- 35
1028
- 36
1029
- 37
1030
- 38
1031
- 39
1032
- 40
1033
- 41
1034
- 42
1035
- 43
1036
- 44
1037
- 45
1038
- 46
1039
- 47
1040
- 48
1041
- 49
1042
- 50
1043
- 51
1044
- 52
1045
- 53
1046
- 54
1047
- 55
1048
- 56
1049
- 57
1050
- 58
1051
- 59
1052
- 60
1053
- 61
1054
- 62
1055
- 63
1056
- 64
1057
- 65
1058
- 66
1059
- 67
1060
- 68
1061
- 69
1062
- 70
1063
- 71</pre></td>
1064
- <td class="listing_code"><pre class="programlisting"><span class="preproc">#include</span><span class="normal"> </span><span class="string">&lt;gtk/gtk.h&gt;</span>
1065
-
1066
- <span class="preproc">#include</span><span class="normal"> </span><span class="string">"exampleapp.h"</span>
1067
- <span class="preproc">#include</span><span class="normal"> </span><span class="string">"exampleappwin.h"</span>
1068
- <span class="preproc">#include</span><span class="normal"> </span><span class="string">"exampleappprefs.h"</span>
1069
-
1070
- <span class="keyword">struct</span><span class="normal"> </span><span class="classname">_ExampleAppPrefs</span>
1071
- <span class="cbracket">{</span>
1072
- <span class="normal"> </span><span class="usertype">GtkDialog</span><span class="normal"> parent</span><span class="symbol">;</span>
1073
- <span class="cbracket">}</span><span class="symbol">;</span>
1074
-
1075
- <span class="keyword">struct</span><span class="normal"> </span><span class="classname">_ExampleAppPrefsClass</span>
1076
- <span class="cbracket">{</span>
1077
- <span class="normal"> </span><span class="usertype">GtkDialogClass</span><span class="normal"> parent_class</span><span class="symbol">;</span>
1078
- <span class="cbracket">}</span><span class="symbol">;</span>
1079
-
1080
- <span class="keyword">typedef</span><span class="normal"> </span><span class="keyword">struct</span><span class="normal"> </span><span class="classname">_ExampleAppPrefsPrivate</span><span class="normal"> ExampleAppPrefsPrivate</span><span class="symbol">;</span>
1081
-
1082
- <span class="keyword">struct</span><span class="normal"> </span><span class="classname">_ExampleAppPrefsPrivate</span>
1083
- <span class="cbracket">{</span>
1084
- <span class="normal"> </span><span class="usertype">GSettings</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">settings</span><span class="symbol">;</span>
1085
- <span class="normal"> </span><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">font</span><span class="symbol">;</span>
1086
- <span class="normal"> </span><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">transition</span><span class="symbol">;</span>
1087
- <span class="cbracket">}</span><span class="symbol">;</span>
1088
-
1089
- <span class="function"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-Type-Information.html#G-DEFINE-TYPE-WITH-PRIVATE:CAPS">G_DEFINE_TYPE_WITH_PRIVATE</a></span><span class="symbol">(</span><span class="normal">ExampleAppPrefs</span><span class="symbol">,</span><span class="normal"> example_app_prefs</span><span class="symbol">,</span><span class="normal"> GTK_TYPE_DIALOG</span><span class="symbol">)</span>
1090
-
1091
- <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
1092
- <span class="function">example_app_prefs_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">ExampleAppPrefs</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">prefs</span><span class="symbol">)</span>
1093
- <span class="cbracket">{</span>
1094
- <span class="normal"> </span><span class="usertype">ExampleAppPrefsPrivate</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">priv</span><span class="symbol">;</span>
1095
-
1096
- <span class="normal"> priv </span><span class="symbol">=</span><span class="normal"> </span><span class="function">example_app_prefs_get_instance_private</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">prefs</span><span class="symbol">);</span>
1097
- <span class="normal"> </span><span class="function"><a href="GtkWidget.html#gtk-widget-init-template">gtk_widget_init_template</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_WIDGET</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">prefs</span><span class="symbol">));</span>
1098
- <span class="normal"> priv</span><span class="symbol">-&gt;</span><span class="normal">settings </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gio/GSettings.html#g-settings-new">g_settings_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"org.gtk.exampleapp"</span><span class="symbol">);</span>
1099
-
1100
- <span class="normal"> </span><span class="function"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gio/GSettings.html#g-settings-bind">g_settings_bind</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">priv</span><span class="symbol">-&gt;</span><span class="normal">settings</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"font"</span><span class="symbol">,</span>
1101
- <span class="normal"> priv</span><span class="symbol">-&gt;</span><span class="normal">font</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"font"</span><span class="symbol">,</span>
1102
- <span class="normal"> G_SETTINGS_BIND_DEFAULT</span><span class="symbol">);</span>
1103
- <span class="normal"> </span><span class="function"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gio/GSettings.html#g-settings-bind">g_settings_bind</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">priv</span><span class="symbol">-&gt;</span><span class="normal">settings</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"transition"</span><span class="symbol">,</span>
1104
- <span class="normal"> priv</span><span class="symbol">-&gt;</span><span class="normal">transition</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"active-id"</span><span class="symbol">,</span>
1105
- <span class="normal"> G_SETTINGS_BIND_DEFAULT</span><span class="symbol">);</span>
1106
- <span class="cbracket">}</span>
1107
-
1108
- <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
1109
- <span class="function">example_app_prefs_dispose</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GObject</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">object</span><span class="symbol">)</span>
1110
- <span class="cbracket">{</span>
1111
- <span class="normal"> </span><span class="usertype">ExampleAppPrefsPrivate</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">priv</span><span class="symbol">;</span>
1112
-
1113
- <span class="normal"> priv </span><span class="symbol">=</span><span class="normal"> </span><span class="function">example_app_prefs_get_instance_private</span><span class="normal"> </span><span class="symbol">(</span><span class="function">EXAMPLE_APP_PREFS</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">));</span>
1114
- <span class="normal"> </span><span class="function"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-clear-object">g_clear_object</a></span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">priv</span><span class="symbol">-&gt;</span><span class="normal">settings</span><span class="symbol">);</span>
1115
-
1116
- <span class="normal"> </span><span class="function"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#G-OBJECT-CLASS:CAPS">G_OBJECT_CLASS</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">example_app_prefs_parent_class</span><span class="symbol">)-&gt;</span><span class="function">dispose</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">object</span><span class="symbol">);</span>
1117
- <span class="cbracket">}</span>
1118
-
1119
- <span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
1120
- <span class="function">example_app_prefs_class_init</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">ExampleAppPrefsClass</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">class</span><span class="symbol">)</span>
1121
- <span class="cbracket">{</span>
1122
- <span class="normal"> </span><span class="function"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#G-OBJECT-CLASS:CAPS">G_OBJECT_CLASS</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">class</span><span class="symbol">)-&gt;</span><span class="normal">dispose </span><span class="symbol">=</span><span class="normal"> example_app_prefs_dispose</span><span class="symbol">;</span>
1123
-
1124
- <span class="normal"> </span><span class="function"><a href="GtkWidget.html#gtk-widget-class-set-template-from-resource">gtk_widget_class_set_template_from_resource</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_WIDGET_CLASS</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">class</span><span class="symbol">),</span>
1125
- <span class="normal"> </span><span class="string">"/org/gtk/exampleapp/prefs.ui"</span><span class="symbol">);</span>
1126
- <span class="normal"> </span><span class="function"><a href="GtkWidget.html#gtk-widget-class-bind-template-child-private">gtk_widget_class_bind_template_child_private</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_WIDGET_CLASS</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">class</span><span class="symbol">),</span><span class="normal"> ExampleAppPrefs</span><span class="symbol">,</span><span class="normal"> font</span><span class="symbol">);</span>
1127
- <span class="normal"> </span><span class="function"><a href="GtkWidget.html#gtk-widget-class-bind-template-child-private">gtk_widget_class_bind_template_child_private</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_WIDGET_CLASS</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">class</span><span class="symbol">),</span><span class="normal"> ExampleAppPrefs</span><span class="symbol">,</span><span class="normal"> transition</span><span class="symbol">);</span>
1128
- <span class="cbracket">}</span>
1129
-
1130
- <span class="normal">ExampleAppPrefs </span><span class="symbol">*</span>
1131
- <span class="function">example_app_prefs_new</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">ExampleAppWindow</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">win</span><span class="symbol">)</span>
1132
- <span class="cbracket">{</span>
1133
- <span class="normal"> </span><span class="keyword">return</span><span class="normal"> </span><span class="function"><a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-new">g_object_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">EXAMPLE_APP_PREFS_TYPE</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"transient-for"</span><span class="symbol">,</span><span class="normal"> win</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"use-header-bar"</span><span class="symbol">,</span><span class="normal"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS">TRUE</a></span><span class="symbol">,</span><span class="normal"> <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
1134
- <span class="cbracket">}</span></pre></td>
1135
- </tr>
1136
- </tbody>
1137
- </table>
1138
- </div>
1139
-
1140
- <p>Now we revisit the <code class="literal">preferences_activated()</code> function in our
1141
- application class, and make it open a new preference dialog.</p>
1142
- <div class="informalexample">
1143
- <pre class="programlisting">
1144
- ...
1145
-
1146
- static void
1147
- preferences_activated (GSimpleAction *action,
1148
- GVariant *parameter,
1149
- gpointer app)
150
+ /* Handle motion events by continuing to draw if button 1 is
151
+ * still held down. The ::motion-notify signal handler receives
152
+ * a GdkEventMotion struct which contains this information.
153
+ */
154
+ static gboolean
155
+ motion_notify_event_cb (GtkWidget *widget,
156
+ GdkEventMotion *event,
157
+ gpointer data)
1150
158
  {
1151
- ExampleAppPrefs *prefs;
1152
- GtkWindow *win;
1153
-
1154
- win = gtk_application_get_active_window (GTK_APPLICATION (app));
1155
- prefs = example_app_prefs_new (EXAMPLE_APP_WINDOW (win));
1156
- gtk_window_present (GTK_WINDOW (prefs));
1157
- }
159
+ /* paranoia check, in case we haven't gotten a configure event */
160
+ if (surface == NULL)
161
+ return FALSE;
1158
162
 
1159
- ...
1160
- </pre>
1161
- <p>(<a class="ulink" href="https://git.gnome.org/browse/gtk+/tree/examples/application6/exampleapp.c" target="_top">full source</a>)</p>
1162
- </div>
1163
- <p>After all this work, our application can now show
1164
- a preference dialog like this:</p>
1165
- <div class="informalfigure"><div class="mediaobject"><img src="getting-started-app6.png"></div></div>
1166
- </div>
1167
- <div class="section">
1168
- <div class="titlepage"><div><div><h3 class="title">
1169
- <a name="id-1.2.3.7.10"></a>Adding a search bar</h3></div></div></div>
1170
- <p>We continue to flesh out the functionality of our application.
1171
- For now, we add search. GTK+ supports this with <a class="link" href="GtkSearchEntry.html" title="GtkSearchEntry"><span class="type">GtkSearchEntry</span></a> and
1172
- <a class="link" href="GtkSearchBar.html" title="GtkSearchBar"><span class="type">GtkSearchBar</span></a>. The search bar is a widget that can slide in from the
1173
- top to present a search entry.</p>
1174
- <p>We add a toggle button to the header bar, which can be used
1175
- to slide out the search bar below the header bar.</p>
1176
- <div class="informalexample">
1177
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
1178
- <tbody>
1179
- <tr>
1180
- <td class="listing_lines" align="right"><pre>1
1181
- 2
1182
- 3
1183
- 4
1184
- 5
1185
- 6
1186
- 7
1187
- 8
1188
- 9
1189
- 10
1190
- 11
1191
- 12
1192
- 13
1193
- 14
1194
- 15
1195
- 16
1196
- 17
1197
- 18
1198
- 19
1199
- 20
1200
- 21
1201
- 22
1202
- 23
1203
- 24
1204
- 25
1205
- 26
1206
- 27
1207
- 28
1208
- 29
1209
- 30
1210
- 31
1211
- 32
1212
- 33
1213
- 34
1214
- 35
1215
- 36
1216
- 37
1217
- 38
1218
- 39
1219
- 40
1220
- 41
1221
- 42
1222
- 43
1223
- 44
1224
- 45
1225
- 46
1226
- 47
1227
- 48
1228
- 49
1229
- 50
1230
- 51
1231
- 52
1232
- 53
1233
- 54
1234
- 55
1235
- 56
1236
- 57
1237
- 58
1238
- 59
1239
- 60
1240
- 61
1241
- 62
1242
- 63</pre></td>
1243
- <td class="listing_code"><pre class="programlisting"><span class="symbol">&lt;?</span><span class="usertype">xml</span><span class="normal"> version</span><span class="symbol">=</span><span class="string">"1.0"</span><span class="normal"> encoding</span><span class="symbol">=</span><span class="string">"UTF-8"</span><span class="symbol">?&gt;</span>
1244
- <span class="symbol">&lt;</span><span class="normal">interface</span><span class="symbol">&gt;</span>
1245
- <span class="normal"> </span><span class="symbol">&lt;!--</span><span class="normal"> interface</span><span class="symbol">-</span><span class="usertype">requires</span><span class="normal"> gtk</span><span class="symbol">+</span><span class="normal"> </span><span class="number">3.8</span><span class="normal"> </span><span class="symbol">--&gt;</span>
1246
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">template</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"ExampleAppWindow"</span><span class="normal"> parent</span><span class="symbol">=</span><span class="string">"GtkApplicationWindow"</span><span class="symbol">&gt;</span>
1247
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"title"</span><span class="normal"> translatable</span><span class="symbol">=</span><span class="string">"yes"</span><span class="symbol">&gt;</span><span class="usertype">Example</span><span class="normal"> Application</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1248
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"default-width"</span><span class="symbol">&gt;</span><span class="number">600</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1249
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"default-height"</span><span class="symbol">&gt;</span><span class="number">400</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1250
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1251
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkBox"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"content_box"</span><span class="symbol">&gt;</span>
1252
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1253
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"orientation"</span><span class="symbol">&gt;</span><span class="normal">vertical</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1254
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1255
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkHeaderBar"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"header"</span><span class="symbol">&gt;</span>
1256
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1257
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">child</span><span class="normal"> type</span><span class="symbol">=</span><span class="string">"title"</span><span class="symbol">&gt;</span>
1258
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkStackSwitcher"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"tabs"</span><span class="symbol">&gt;</span>
1259
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1260
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"margin"</span><span class="symbol">&gt;</span><span class="number">6</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1261
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"stack"</span><span class="symbol">&gt;</span><span class="normal">stack</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1262
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1263
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1264
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1265
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkToggleButton"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"search"</span><span class="symbol">&gt;</span>
1266
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1267
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"sensitive"</span><span class="symbol">&gt;</span><span class="normal">False</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1268
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">style</span><span class="symbol">&gt;</span>
1269
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">class</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"image-button"</span><span class="symbol">/&gt;</span>
1270
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">style</span><span class="symbol">&gt;</span>
1271
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1272
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkImage"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"search-icon"</span><span class="symbol">&gt;</span>
1273
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1274
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"icon-name"</span><span class="symbol">&gt;</span><span class="normal">edit</span><span class="symbol">-</span><span class="normal">find</span><span class="symbol">-</span><span class="normal">symbolic</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1275
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"icon-size"</span><span class="symbol">&gt;</span><span class="number">1</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1276
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1277
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1278
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1279
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">packing</span><span class="symbol">&gt;</span>
1280
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"pack-type"</span><span class="symbol">&gt;</span><span class="normal">end</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1281
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">packing</span><span class="symbol">&gt;</span>
1282
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1283
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1284
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1285
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1286
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkSearchBar"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"searchbar"</span><span class="symbol">&gt;</span>
1287
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1288
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1289
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkSearchEntry"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"searchentry"</span><span class="symbol">&gt;</span>
1290
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">signal</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"search-changed"</span><span class="normal"> handler</span><span class="symbol">=</span><span class="string">"search_text_changed"</span><span class="symbol">/&gt;</span>
1291
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1292
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1293
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1294
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1295
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1296
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1297
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkStack"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"stack"</span><span class="symbol">&gt;</span>
1298
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">signal</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"notify::visible-child"</span><span class="normal"> handler</span><span class="symbol">=</span><span class="string">"visible_child_changed"</span><span class="symbol">/&gt;</span>
1299
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1300
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1301
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1302
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1303
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1304
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">template</span><span class="symbol">&gt;</span>
1305
- <span class="symbol">&lt;/</span><span class="normal">interface</span><span class="symbol">&gt;</span></pre></td>
1306
- </tr>
1307
- </tbody>
1308
- </table>
1309
- </div>
163
+ if (event-&gt;state &amp; GDK_BUTTON1_MASK)
164
+ draw_brush (widget, event-&gt;x, event-&gt;y);
1310
165
 
1311
- <p>Implementing the search needs quite a few code changes that
1312
- we are not going to completely go over here. The central piece of
1313
- the search implementation is a signal handler that listens for
1314
- text changes in the search entry.</p>
1315
- <div class="informalexample">
1316
- <pre class="programlisting">
1317
- ...
166
+ /* We've handled it, stop processing */
167
+ return TRUE;
168
+ }
1318
169
 
1319
170
  static void
1320
- search_text_changed (GtkEntry *entry,
1321
- ExampleAppWindow *win)
171
+ close_window (void)
1322
172
  {
1323
- ExampleAppWindowPrivate *priv;
1324
- const gchar *text;
1325
- GtkWidget *tab;
1326
- GtkWidget *view;
1327
- GtkTextBuffer *buffer;
1328
- GtkTextIter start, match_start, match_end;
1329
-
1330
- text = gtk_entry_get_text (entry);
1331
-
1332
- if (text[0] == '\0')
1333
- return;
1334
-
1335
- priv = example_app_window_get_instance_private (win);
173
+ if (surface)
174
+ cairo_surface_destroy (surface);
1336
175
 
1337
- tab = gtk_stack_get_visible_child (GTK_STACK (priv-&gt;stack));
1338
- view = gtk_bin_get_child (GTK_BIN (tab));
1339
- buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
1340
-
1341
- /* Very simple-minded search implementation */
1342
- gtk_text_buffer_get_start_iter (buffer, &amp;start);
1343
- if (gtk_text_iter_forward_search (&amp;start, text, GTK_TEXT_SEARCH_CASE_INSENSITIVE,
1344
- &amp;match_start, &amp;match_end, NULL))
1345
- {
1346
- gtk_text_buffer_select_range (buffer, &amp;match_start, &amp;match_end);
1347
- gtk_text_view_scroll_to_iter (GTK_TEXT_VIEW (view), &amp;match_start,
1348
- 0.0, FALSE, 0.0, 0.0);
1349
- }
176
+ gtk_main_quit ();
1350
177
  }
1351
178
 
1352
179
  static void
1353
- example_app_window_init (ExampleAppWindow *win)
180
+ activate (GtkApplication *app,
181
+ gpointer user_data)
1354
182
  {
183
+ GtkWidget *window;
184
+ GtkWidget *frame;
185
+ GtkWidget *drawing_area;
1355
186
 
1356
- ...
187
+ window = gtk_application_window_new (app);
188
+ gtk_window_set_title (GTK_WINDOW (window), "Drawing Area");
1357
189
 
1358
- gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (class), search_text_changed);
190
+ g_signal_connect (window, "destroy", G_CALLBACK (close_window), NULL);
1359
191
 
1360
- ...
1361
-
1362
- }
192
+ gtk_container_set_border_width (GTK_CONTAINER (window), 8);
1363
193
 
1364
- ...
1365
- </pre>
1366
- <p>(<a class="ulink" href="https://git.gnome.org/browse/gtk+/tree/examples/application7/exampleappwin.c" target="_top">full source</a>)</p>
1367
- </div>
1368
- <p>With the search bar, our application now looks like this:</p>
1369
- <div class="informalfigure"><div class="mediaobject"><img src="getting-started-app7.png"></div></div>
1370
- </div>
1371
- <div class="section">
1372
- <div class="titlepage"><div><div><h3 class="title">
1373
- <a name="id-1.2.3.7.11"></a>Adding a side bar</h3></div></div></div>
1374
- <p>As another piece of functionality, we are adding a sidebar,
1375
- which demonstrates <a class="link" href="GtkMenuButton.html" title="GtkMenuButton"><span class="type">GtkMenuButton</span></a>, <a class="link" href="GtkRevealer.html" title="GtkRevealer"><span class="type">GtkRevealer</span></a> and <a class="link" href="GtkListBox.html" title="GtkListBox"><span class="type">GtkListBox</span></a>.</p>
1376
- <div class="informalexample">
1377
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
1378
- <tbody>
1379
- <tr>
1380
- <td class="listing_lines" align="right"><pre>1
1381
- 2
1382
- 3
1383
- 4
1384
- 5
1385
- 6
1386
- 7
1387
- 8
1388
- 9
1389
- 10
1390
- 11
1391
- 12
1392
- 13
1393
- 14
1394
- 15
1395
- 16
1396
- 17
1397
- 18
1398
- 19
1399
- 20
1400
- 21
1401
- 22
1402
- 23
1403
- 24
1404
- 25
1405
- 26
1406
- 27
1407
- 28
1408
- 29
1409
- 30
1410
- 31
1411
- 32
1412
- 33
1413
- 34
1414
- 35
1415
- 36
1416
- 37
1417
- 38
1418
- 39
1419
- 40
1420
- 41
1421
- 42
1422
- 43
1423
- 44
1424
- 45
1425
- 46
1426
- 47
1427
- 48
1428
- 49
1429
- 50
1430
- 51
1431
- 52
1432
- 53
1433
- 54
1434
- 55
1435
- 56
1436
- 57
1437
- 58
1438
- 59
1439
- 60
1440
- 61
1441
- 62
1442
- 63
1443
- 64
1444
- 65
1445
- 66
1446
- 67
1447
- 68
1448
- 69
1449
- 70
1450
- 71
1451
- 72
1452
- 73
1453
- 74
1454
- 75
1455
- 76
1456
- 77
1457
- 78
1458
- 79
1459
- 80
1460
- 81
1461
- 82
1462
- 83
1463
- 84
1464
- 85
1465
- 86
1466
- 87
1467
- 88
1468
- 89
1469
- 90
1470
- 91
1471
- 92
1472
- 93
1473
- 94
1474
- 95
1475
- 96
1476
- 97
1477
- 98
1478
- 99
1479
- 100</pre></td>
1480
- <td class="listing_code"><pre class="programlisting"><span class="symbol">&lt;?</span><span class="usertype">xml</span><span class="normal"> version</span><span class="symbol">=</span><span class="string">"1.0"</span><span class="normal"> encoding</span><span class="symbol">=</span><span class="string">"UTF-8"</span><span class="symbol">?&gt;</span>
1481
- <span class="symbol">&lt;</span><span class="normal">interface</span><span class="symbol">&gt;</span>
1482
- <span class="normal"> </span><span class="symbol">&lt;!--</span><span class="normal"> interface</span><span class="symbol">-</span><span class="usertype">requires</span><span class="normal"> gtk</span><span class="symbol">+</span><span class="normal"> </span><span class="number">3.8</span><span class="normal"> </span><span class="symbol">--&gt;</span>
1483
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">template</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"ExampleAppWindow"</span><span class="normal"> parent</span><span class="symbol">=</span><span class="string">"GtkApplicationWindow"</span><span class="symbol">&gt;</span>
1484
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"title"</span><span class="normal"> translatable</span><span class="symbol">=</span><span class="string">"yes"</span><span class="symbol">&gt;</span><span class="usertype">Example</span><span class="normal"> Application</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1485
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"default-width"</span><span class="symbol">&gt;</span><span class="number">600</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1486
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"default-height"</span><span class="symbol">&gt;</span><span class="number">400</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1487
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1488
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkBox"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"content_box"</span><span class="symbol">&gt;</span>
1489
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1490
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"orientation"</span><span class="symbol">&gt;</span><span class="normal">vertical</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1491
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1492
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkHeaderBar"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"header"</span><span class="symbol">&gt;</span>
1493
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1494
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">child</span><span class="normal"> type</span><span class="symbol">=</span><span class="string">"title"</span><span class="symbol">&gt;</span>
1495
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkStackSwitcher"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"tabs"</span><span class="symbol">&gt;</span>
1496
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1497
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"margin"</span><span class="symbol">&gt;</span><span class="number">6</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1498
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"stack"</span><span class="symbol">&gt;</span><span class="normal">stack</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1499
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1500
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1501
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1502
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkToggleButton"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"search"</span><span class="symbol">&gt;</span>
1503
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1504
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"sensitive"</span><span class="symbol">&gt;</span><span class="normal">False</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1505
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">style</span><span class="symbol">&gt;</span>
1506
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">class</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"image-button"</span><span class="symbol">/&gt;</span>
1507
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">style</span><span class="symbol">&gt;</span>
1508
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1509
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkImage"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"search-icon"</span><span class="symbol">&gt;</span>
1510
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1511
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"icon-name"</span><span class="symbol">&gt;</span><span class="normal">edit</span><span class="symbol">-</span><span class="normal">find</span><span class="symbol">-</span><span class="normal">symbolic</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1512
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"icon-size"</span><span class="symbol">&gt;</span><span class="number">1</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1513
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1514
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1515
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1516
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">packing</span><span class="symbol">&gt;</span>
1517
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"pack-type"</span><span class="symbol">&gt;</span><span class="normal">end</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1518
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">packing</span><span class="symbol">&gt;</span>
1519
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1520
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1521
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkMenuButton"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"gears"</span><span class="symbol">&gt;</span>
1522
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1523
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"direction"</span><span class="symbol">&gt;</span><span class="normal">none</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1524
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"use-popover"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1525
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">style</span><span class="symbol">&gt;</span>
1526
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">class</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"image-button"</span><span class="symbol">/&gt;</span>
1527
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">style</span><span class="symbol">&gt;</span>
1528
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1529
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">packing</span><span class="symbol">&gt;</span>
1530
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"pack-type"</span><span class="symbol">&gt;</span><span class="normal">end</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1531
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">packing</span><span class="symbol">&gt;</span>
1532
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1533
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1534
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1535
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1536
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkSearchBar"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"searchbar"</span><span class="symbol">&gt;</span>
1537
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1538
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1539
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkSearchEntry"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"searchentry"</span><span class="symbol">&gt;</span>
1540
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">signal</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"search-changed"</span><span class="normal"> handler</span><span class="symbol">=</span><span class="string">"search_text_changed"</span><span class="symbol">/&gt;</span>
1541
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1542
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1543
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1544
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1545
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1546
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1547
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkBox"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"hbox"</span><span class="symbol">&gt;</span>
1548
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1549
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1550
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkRevealer"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"sidebar"</span><span class="symbol">&gt;</span>
1551
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1552
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"transition-type"</span><span class="symbol">&gt;</span><span class="normal">slide</span><span class="symbol">-</span><span class="normal">right</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1553
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1554
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkScrolledWindow"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"sidebar-sw"</span><span class="symbol">&gt;</span>
1555
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1556
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"hscrollbar-policy"</span><span class="symbol">&gt;</span><span class="normal">never</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1557
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"vscrollbar-policy"</span><span class="symbol">&gt;</span><span class="normal">automatic</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1558
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1559
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkListBox"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"words"</span><span class="symbol">&gt;</span>
1560
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1561
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"selection-mode"</span><span class="symbol">&gt;</span><span class="normal">none</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1562
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1563
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1564
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1565
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1566
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1567
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1568
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1569
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkStack"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"stack"</span><span class="symbol">&gt;</span>
1570
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">signal</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"notify::visible-child"</span><span class="normal"> handler</span><span class="symbol">=</span><span class="string">"visible_child_changed"</span><span class="symbol">/&gt;</span>
1571
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1572
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1573
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1574
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1575
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1576
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1577
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1578
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">template</span><span class="symbol">&gt;</span>
1579
- <span class="symbol">&lt;/</span><span class="normal">interface</span><span class="symbol">&gt;</span></pre></td>
1580
- </tr>
1581
- </tbody>
1582
- </table>
1583
- </div>
194
+ frame = gtk_frame_new (NULL);
195
+ gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
196
+ gtk_container_add (GTK_CONTAINER (window), frame);
1584
197
 
1585
- <p>The code to populate the sidebar with buttons for the words
1586
- found in each file is a little too involved to go into here. But we'll
1587
- look at the code to add the gears menu.</p>
1588
- <p>As expected by now, the gears menu is specified in a GtkBuilder
1589
- ui file.</p>
1590
- <div class="informalexample">
1591
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
1592
- <tbody>
1593
- <tr>
1594
- <td class="listing_lines" align="right"><pre>1
1595
- 2
1596
- 3
1597
- 4
1598
- 5
1599
- 6
1600
- 7
1601
- 8
1602
- 9
1603
- 10
1604
- 11
1605
- 12</pre></td>
1606
- <td class="listing_code"><pre class="programlisting"><span class="symbol">&lt;?</span><span class="usertype">xml</span><span class="normal"> version</span><span class="symbol">=</span><span class="string">"1.0"</span><span class="symbol">?&gt;</span>
1607
- <span class="symbol">&lt;</span><span class="normal">interface</span><span class="symbol">&gt;</span>
1608
- <span class="normal"> </span><span class="symbol">&lt;!--</span><span class="normal"> interface</span><span class="symbol">-</span><span class="usertype">requires</span><span class="normal"> gtk</span><span class="symbol">+</span><span class="normal"> </span><span class="number">3.0</span><span class="normal"> </span><span class="symbol">--&gt;</span>
1609
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">menu</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"menu"</span><span class="symbol">&gt;</span>
1610
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">section</span><span class="symbol">&gt;</span>
1611
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">item</span><span class="symbol">&gt;</span>
1612
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">attribute</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"label"</span><span class="normal"> translatable</span><span class="symbol">=</span><span class="string">"yes"</span><span class="symbol">&gt;</span><span class="normal">_Words</span><span class="symbol">&lt;/</span><span class="normal">attribute</span><span class="symbol">&gt;</span>
1613
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">attribute</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"action"</span><span class="symbol">&gt;</span><span class="normal">win</span><span class="symbol">.</span><span class="normal">show</span><span class="symbol">-</span><span class="normal">words</span><span class="symbol">&lt;/</span><span class="normal">attribute</span><span class="symbol">&gt;</span>
1614
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">item</span><span class="symbol">&gt;</span>
1615
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">section</span><span class="symbol">&gt;</span>
1616
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">menu</span><span class="symbol">&gt;</span>
1617
- <span class="symbol">&lt;/</span><span class="normal">interface</span><span class="symbol">&gt;</span></pre></td>
1618
- </tr>
1619
- </tbody>
1620
- </table>
1621
- </div>
198
+ drawing_area = gtk_drawing_area_new ();
199
+ /* set a minimum size */
200
+ gtk_widget_set_size_request (drawing_area, 100, 100);
1622
201
 
1623
- <p>To connect the menuitem to the show-words setting, we use
1624
- a <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gio/GAction.html"><span class="type">GAction</span></a> corresponding to the given <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gio/GSettings.html"><span class="type">GSettings</span></a> key.</p>
1625
- <div class="informalexample">
1626
- <pre class="programlisting">
1627
- ...
202
+ gtk_container_add (GTK_CONTAINER (frame), drawing_area);
1628
203
 
1629
- static void
1630
- example_app_window_init (ExampleAppWindow *win)
1631
- {
204
+ /* Signals used to handle the backing surface */
205
+ g_signal_connect (drawing_area, "draw",
206
+ G_CALLBACK (draw_cb), NULL);
207
+ g_signal_connect (drawing_area,"configure-event",
208
+ G_CALLBACK (configure_event_cb), NULL);
1632
209
 
1633
- ...
210
+ /* Event signals */
211
+ g_signal_connect (drawing_area, "motion-notify-event",
212
+ G_CALLBACK (motion_notify_event_cb), NULL);
213
+ g_signal_connect (drawing_area, "button-press-event",
214
+ G_CALLBACK (button_press_event_cb), NULL);
1634
215
 
1635
- builder = gtk_builder_new_from_resource ("/org/gtk/exampleapp/gears-menu.ui");
1636
- menu = G_MENU_MODEL (gtk_builder_get_object (builder, "menu"));
1637
- gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (priv-&gt;gears), menu);
1638
- g_object_unref (builder);
216
+ /* Ask to receive events the drawing area doesn't normally
217
+ * subscribe to. In particular, we need to ask for the
218
+ * button press and motion notify events that want to handle.
219
+ */
220
+ gtk_widget_set_events (drawing_area, gtk_widget_get_events (drawing_area)
221
+ | GDK_BUTTON_PRESS_MASK
222
+ | GDK_POINTER_MOTION_MASK);
1639
223
 
1640
- action = g_settings_create_action (priv-&gt;settings, "show-words");
1641
- g_action_map_add_action (G_ACTION_MAP (win), action);
1642
- g_object_unref (action);
224
+ gtk_widget_show_all (window);
1643
225
  }
1644
226
 
1645
- ...
1646
- </pre>
1647
- <p>(<a class="ulink" href="https://git.gnome.org/browse/gtk+/tree/examples/application8/exampleappwin.c" target="_top">full source</a>)</p>
1648
- </div>
1649
- <p>What our application looks like now:</p>
1650
- <div class="informalfigure"><div class="mediaobject"><img src="getting-started-app8.png"></div></div>
1651
- </div>
1652
- <div class="section">
1653
- <div class="titlepage"><div><div><h3 class="title">
1654
- <a name="id-1.2.3.7.12"></a>Properties</h3></div></div></div>
1655
- <p>Widgets and other objects have many useful properties.</p>
1656
- <p>Here we show some ways to use them in new and flexible ways,
1657
- by wrapping them in actions with <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gio/gio-GPropertyAction.html#GPropertyAction"><span class="type">GPropertyAction</span></a> or by binding them
1658
- with <a href="/home/vagrant/ruby-gnome2.win32/glib2/vendor/local/share/gtk-doc/html/gobject/GBinding.html"><span class="type">GBinding</span></a>.</p>
1659
- <p>To set this up, we add two labels to the header bar in our
1660
- window template, named <em class="parameter"><code>lines_label</code></em> and <em class="parameter"><code>lines</code></em>, and bind them to
1661
- struct members in the private struct, as we've seen a couple of times
1662
- by now.</p>
1663
- <p>We add a new "Lines" menu item to the gears menu, which
1664
- triggers the show-lines action:</p>
1665
- <div class="informalexample">
1666
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
1667
- <tbody>
1668
- <tr>
1669
- <td class="listing_lines" align="right"><pre>1
1670
- 2
1671
- 3
1672
- 4
1673
- 5
1674
- 6
1675
- 7
1676
- 8
1677
- 9
1678
- 10
1679
- 11
1680
- 12
1681
- 13
1682
- 14
1683
- 15
1684
- 16</pre></td>
1685
- <td class="listing_code"><pre class="programlisting"><span class="symbol">&lt;?</span><span class="usertype">xml</span><span class="normal"> version</span><span class="symbol">=</span><span class="string">"1.0"</span><span class="symbol">?&gt;</span>
1686
- <span class="symbol">&lt;</span><span class="normal">interface</span><span class="symbol">&gt;</span>
1687
- <span class="normal"> </span><span class="symbol">&lt;!--</span><span class="normal"> interface</span><span class="symbol">-</span><span class="usertype">requires</span><span class="normal"> gtk</span><span class="symbol">+</span><span class="normal"> </span><span class="number">3.0</span><span class="normal"> </span><span class="symbol">--&gt;</span>
1688
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">menu</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"menu"</span><span class="symbol">&gt;</span>
1689
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">section</span><span class="symbol">&gt;</span>
1690
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">item</span><span class="symbol">&gt;</span>
1691
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">attribute</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"label"</span><span class="normal"> translatable</span><span class="symbol">=</span><span class="string">"yes"</span><span class="symbol">&gt;</span><span class="normal">_Words</span><span class="symbol">&lt;/</span><span class="normal">attribute</span><span class="symbol">&gt;</span>
1692
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">attribute</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"action"</span><span class="symbol">&gt;</span><span class="normal">win</span><span class="symbol">.</span><span class="normal">show</span><span class="symbol">-</span><span class="normal">words</span><span class="symbol">&lt;/</span><span class="normal">attribute</span><span class="symbol">&gt;</span>
1693
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">item</span><span class="symbol">&gt;</span>
1694
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">item</span><span class="symbol">&gt;</span>
1695
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">attribute</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"label"</span><span class="normal"> translatable</span><span class="symbol">=</span><span class="string">"yes"</span><span class="symbol">&gt;</span><span class="normal">_Lines</span><span class="symbol">&lt;/</span><span class="normal">attribute</span><span class="symbol">&gt;</span>
1696
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">attribute</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"action"</span><span class="symbol">&gt;</span><span class="normal">win</span><span class="symbol">.</span><span class="normal">show</span><span class="symbol">-</span><span class="normal">lines</span><span class="symbol">&lt;/</span><span class="normal">attribute</span><span class="symbol">&gt;</span>
1697
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">item</span><span class="symbol">&gt;</span>
1698
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">section</span><span class="symbol">&gt;</span>
1699
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">menu</span><span class="symbol">&gt;</span>
1700
- <span class="symbol">&lt;/</span><span class="normal">interface</span><span class="symbol">&gt;</span></pre></td>
1701
- </tr>
1702
- </tbody>
1703
- </table>
1704
- </div>
1705
-
1706
- <p>To make this menu item do something, we create a property
1707
- action for the visible property of the <em class="parameter"><code>lines</code></em> label, and add it to the
1708
- actions of the window. The effect of this is that the visibility
1709
- of the label gets toggled every time the action is activated.</p>
1710
- <p>Since we want both labels to appear and disappear together,
1711
- we bind the visible property of the <em class="parameter"><code>lines_label</code></em> widget to the
1712
- same property of the <em class="parameter"><code>lines</code></em> widget.</p>
1713
- <div class="informalexample">
1714
- <pre class="programlisting">
1715
- ...
1716
-
1717
- static void
1718
- example_app_window_init (ExampleAppWindow *win)
227
+ int
228
+ main (int argc,
229
+ char **argv)
1719
230
  {
1720
- ...
231
+ GtkApplication *app;
232
+ int status;
1721
233
 
1722
- action = (GAction*) g_property_action_new ("show-lines", priv-&gt;lines, "visible");
1723
- g_action_map_add_action (G_ACTION_MAP (win), action);
1724
- g_object_unref (action);
234
+ app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE);
235
+ g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
236
+ status = g_application_run (G_APPLICATION (app), argc, argv);
237
+ g_object_unref (app);
1725
238
 
1726
- g_object_bind_property (priv-&gt;lines, "visible",
1727
- priv-&gt;lines_label, "visible",
1728
- G_BINDING_DEFAULT);
239
+ return status;
1729
240
  }
1730
-
1731
- ...
1732
- </pre>
1733
- <p>(<a class="ulink" href="https://git.gnome.org/browse/gtk+/tree/examples/application9/exampleappwin.c" target="_top">full source</a>)</p>
241
+ </pre>
1734
242
  </div>
1735
- <p>We also need a function that counts the lines of the currently
1736
- active tab, and updates the <em class="parameter"><code>lines</code></em> label. See the
1737
- <a class="ulink" href="https://git.gnome.org/browse/gtk+/tree/examples/application9/exampleappwin.c" target="_top">full source</a>
1738
- if you are interested in the details.</p>
1739
- <p>This brings our example application to this appearance:</p>
1740
- <div class="informalfigure"><div class="mediaobject"><img src="getting-started-app9.png"></div></div>
1741
- </div>
1742
- <div class="section">
1743
- <div class="titlepage"><div><div><h3 class="title">
1744
- <a name="id-1.2.3.7.13"></a>Header bar</h3></div></div></div>
1745
- <p>Our application already uses a GtkHeaderBar, but so far it
1746
- still gets a 'normal' window titlebar on top of that. This is a
1747
- bit redundant, and we will now tell GTK+ to use the header bar
1748
- as replacement for the titlebar. To do so, we move it around to
1749
- be a direct child of the window, and set its type to be titlebar.</p>
1750
- <div class="informalexample">
1751
- <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
1752
- <tbody>
1753
- <tr>
1754
- <td class="listing_lines" align="right"><pre>1
1755
- 2
1756
- 3
1757
- 4
1758
- 5
1759
- 6
1760
- 7
1761
- 8
1762
- 9
1763
- 10
1764
- 11
1765
- 12
1766
- 13
1767
- 14
1768
- 15
1769
- 16
1770
- 17
1771
- 18
1772
- 19
1773
- 20
1774
- 21
1775
- 22
1776
- 23
1777
- 24
1778
- 25
1779
- 26
1780
- 27
1781
- 28
1782
- 29
1783
- 30
1784
- 31
1785
- 32
1786
- 33
1787
- 34
1788
- 35
1789
- 36
1790
- 37
1791
- 38
1792
- 39
1793
- 40
1794
- 41
1795
- 42
1796
- 43
1797
- 44
1798
- 45
1799
- 46
1800
- 47
1801
- 48
1802
- 49
1803
- 50
1804
- 51
1805
- 52
1806
- 53
1807
- 54
1808
- 55
1809
- 56
1810
- 57
1811
- 58
1812
- 59
1813
- 60
1814
- 61
1815
- 62
1816
- 63
1817
- 64
1818
- 65
1819
- 66
1820
- 67
1821
- 68
1822
- 69
1823
- 70
1824
- 71
1825
- 72
1826
- 73
1827
- 74
1828
- 75
1829
- 76
1830
- 77
1831
- 78
1832
- 79
1833
- 80
1834
- 81
1835
- 82
1836
- 83
1837
- 84
1838
- 85
1839
- 86
1840
- 87
1841
- 88
1842
- 89
1843
- 90
1844
- 91
1845
- 92
1846
- 93
1847
- 94
1848
- 95
1849
- 96
1850
- 97
1851
- 98
1852
- 99
1853
- 100
1854
- 101
1855
- 102
1856
- 103
1857
- 104
1858
- 105
1859
- 106
1860
- 107
1861
- 108
1862
- 109
1863
- 110
1864
- 111
1865
- 112
1866
- 113
1867
- 114
1868
- 115
1869
- 116
1870
- 117
1871
- 118</pre></td>
1872
- <td class="listing_code"><pre class="programlisting"><span class="symbol">&lt;?</span><span class="usertype">xml</span><span class="normal"> version</span><span class="symbol">=</span><span class="string">"1.0"</span><span class="normal"> encoding</span><span class="symbol">=</span><span class="string">"UTF-8"</span><span class="symbol">?&gt;</span>
1873
- <span class="symbol">&lt;</span><span class="normal">interface</span><span class="symbol">&gt;</span>
1874
- <span class="normal"> </span><span class="symbol">&lt;!--</span><span class="normal"> interface</span><span class="symbol">-</span><span class="usertype">requires</span><span class="normal"> gtk</span><span class="symbol">+</span><span class="normal"> </span><span class="number">3.8</span><span class="normal"> </span><span class="symbol">--&gt;</span>
1875
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">template</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"ExampleAppWindow"</span><span class="normal"> parent</span><span class="symbol">=</span><span class="string">"GtkApplicationWindow"</span><span class="symbol">&gt;</span>
1876
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"title"</span><span class="normal"> translatable</span><span class="symbol">=</span><span class="string">"yes"</span><span class="symbol">&gt;</span><span class="usertype">Example</span><span class="normal"> Application</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1877
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"default-width"</span><span class="symbol">&gt;</span><span class="number">600</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1878
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"default-height"</span><span class="symbol">&gt;</span><span class="number">400</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1879
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">child</span><span class="normal"> type</span><span class="symbol">=</span><span class="string">"titlebar"</span><span class="symbol">&gt;</span>
1880
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkHeaderBar"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"header"</span><span class="symbol">&gt;</span>
1881
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1882
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"show-close-button"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1883
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1884
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkLabel"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"lines_label"</span><span class="symbol">&gt;</span>
1885
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">False</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1886
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"label"</span><span class="normal"> translatable</span><span class="symbol">=</span><span class="string">"yes"</span><span class="symbol">&gt;</span><span class="normal">Lines</span><span class="symbol">:&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1887
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1888
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">packing</span><span class="symbol">&gt;</span>
1889
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"pack-type"</span><span class="symbol">&gt;</span><span class="normal">start</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1890
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">packing</span><span class="symbol">&gt;</span>
1891
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1892
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1893
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkLabel"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"lines"</span><span class="symbol">&gt;</span>
1894
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">False</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1895
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1896
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">packing</span><span class="symbol">&gt;</span>
1897
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"pack-type"</span><span class="symbol">&gt;</span><span class="normal">start</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1898
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">packing</span><span class="symbol">&gt;</span>
1899
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1900
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">child</span><span class="normal"> type</span><span class="symbol">=</span><span class="string">"title"</span><span class="symbol">&gt;</span>
1901
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkStackSwitcher"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"tabs"</span><span class="symbol">&gt;</span>
1902
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1903
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"margin"</span><span class="symbol">&gt;</span><span class="number">6</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1904
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"stack"</span><span class="symbol">&gt;</span><span class="normal">stack</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1905
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1906
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1907
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1908
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkToggleButton"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"search"</span><span class="symbol">&gt;</span>
1909
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1910
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"sensitive"</span><span class="symbol">&gt;</span><span class="normal">False</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1911
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">style</span><span class="symbol">&gt;</span>
1912
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">class</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"image-button"</span><span class="symbol">/&gt;</span>
1913
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">style</span><span class="symbol">&gt;</span>
1914
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1915
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkImage"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"search-icon"</span><span class="symbol">&gt;</span>
1916
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1917
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"icon-name"</span><span class="symbol">&gt;</span><span class="normal">edit</span><span class="symbol">-</span><span class="normal">find</span><span class="symbol">-</span><span class="normal">symbolic</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1918
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"icon-size"</span><span class="symbol">&gt;</span><span class="number">1</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1919
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1920
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1921
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1922
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">packing</span><span class="symbol">&gt;</span>
1923
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"pack-type"</span><span class="symbol">&gt;</span><span class="normal">end</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1924
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">packing</span><span class="symbol">&gt;</span>
1925
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1926
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1927
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkMenuButton"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"gears"</span><span class="symbol">&gt;</span>
1928
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1929
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"direction"</span><span class="symbol">&gt;</span><span class="normal">none</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1930
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"use-popover"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1931
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">style</span><span class="symbol">&gt;</span>
1932
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">class</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"image-button"</span><span class="symbol">/&gt;</span>
1933
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">style</span><span class="symbol">&gt;</span>
1934
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1935
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">packing</span><span class="symbol">&gt;</span>
1936
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"pack-type"</span><span class="symbol">&gt;</span><span class="normal">end</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1937
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">packing</span><span class="symbol">&gt;</span>
1938
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1939
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1940
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1941
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1942
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkBox"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"content_box"</span><span class="symbol">&gt;</span>
1943
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1944
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"orientation"</span><span class="symbol">&gt;</span><span class="normal">vertical</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1945
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1946
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkSearchBar"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"searchbar"</span><span class="symbol">&gt;</span>
1947
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1948
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1949
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkSearchEntry"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"searchentry"</span><span class="symbol">&gt;</span>
1950
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">signal</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"search-changed"</span><span class="normal"> handler</span><span class="symbol">=</span><span class="string">"search_text_changed"</span><span class="symbol">/&gt;</span>
1951
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1952
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1953
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1954
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1955
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1956
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1957
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkBox"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"hbox"</span><span class="symbol">&gt;</span>
1958
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1959
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1960
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkRevealer"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"sidebar"</span><span class="symbol">&gt;</span>
1961
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1962
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"transition-type"</span><span class="symbol">&gt;</span><span class="normal">slide</span><span class="symbol">-</span><span class="normal">right</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1963
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1964
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkScrolledWindow"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"sidebar-sw"</span><span class="symbol">&gt;</span>
1965
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1966
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"hscrollbar-policy"</span><span class="symbol">&gt;</span><span class="normal">never</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1967
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"vscrollbar-policy"</span><span class="symbol">&gt;</span><span class="normal">automatic</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1968
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1969
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkListBox"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"words"</span><span class="symbol">&gt;</span>
1970
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1971
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"selection-mode"</span><span class="symbol">&gt;</span><span class="normal">none</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1972
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1973
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1974
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1975
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1976
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1977
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1978
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="normal">child</span><span class="symbol">&gt;</span>
1979
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">object</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"GtkStack"</span><span class="normal"> id</span><span class="symbol">=</span><span class="string">"stack"</span><span class="symbol">&gt;</span>
1980
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">signal</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"notify::visible-child"</span><span class="normal"> handler</span><span class="symbol">=</span><span class="string">"visible_child_changed"</span><span class="symbol">/&gt;</span>
1981
- <span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">property</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"visible"</span><span class="symbol">&gt;</span><span class="normal">True</span><span class="symbol">&lt;/</span><span class="normal">property</span><span class="symbol">&gt;</span>
1982
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1983
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1984
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1985
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1986
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">object</span><span class="symbol">&gt;</span>
1987
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">child</span><span class="symbol">&gt;</span>
1988
- <span class="normal"> </span><span class="symbol">&lt;/</span><span class="normal">template</span><span class="symbol">&gt;</span>
1989
- <span class="symbol">&lt;/</span><span class="normal">interface</span><span class="symbol">&gt;</span></pre></td>
1990
- </tr>
1991
- </tbody>
1992
- </table>
1993
- </div>
1994
-
1995
- <p>A small extra bonus of using a header bar is that we get
1996
- a fallback application menu for free. Here is how the
1997
- application now looks, if this fallback is used.</p>
1998
- <div class="informalfigure"><div class="mediaobject"><img src="getting-started-app10.png"></div></div>
1999
- <p>If we set up the window icon for our window, the menu button
2000
- will use that instead of the generic placeholder icon you see
2001
- here.</p>
2002
243
  </div>
244
+ <br class="example-break"><p>
245
+ You can compile the program above with GCC using:
246
+ </p>
247
+ <div class="literallayout"><p><br>
248
+         <code class="literal">gcc `pkg-config --cflags gtk+-3.0` -o example-3 example-3.c `pkg-config --libs gtk+-3.0`</code><br>
249
+       </p></div>
250
+ <p>
251
+ </p>
2003
252
  </div>
2004
253
  <div class="footer">
2005
- <hr>
2006
- Generated by GTK-Doc V1.21.1</div>
254
+ <hr>Generated by GTK-Doc V1.24.1</div>
2007
255
  </body>
2008
256
  </html>