gdk3 2.2.5-x64-mingw32 → 3.0.0-x64-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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.win64/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.win64/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.win64/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.win64/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.win64/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.win64/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.win64/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.win64/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.win64/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.win64/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.win64/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.win64/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.win64/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.win64/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.win64/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.win64/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.win64/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.win64/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.win64/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.win64/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.win64/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.win64/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.win64/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.win64/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>