qtbindings 4.8.6.1-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 (495) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.txt +48 -0
  3. data/COPYING.LIB.txt +510 -0
  4. data/COPYING.txt +286 -0
  5. data/KNOWN_ISSUES.txt +17 -0
  6. data/Rakefile +121 -0
  7. data/TODO.txt +2 -0
  8. data/bin/2.0/rbrcc.exe +0 -0
  9. data/bin/2.0/rbuic4.exe +0 -0
  10. data/bin/2.0/smokeapi.exe +0 -0
  11. data/bin/2.0/smokedeptool.exe +0 -0
  12. data/bin/2.1/rbrcc.exe +0 -0
  13. data/bin/2.1/rbuic4.exe +0 -0
  14. data/bin/2.1/smokeapi.exe +0 -0
  15. data/bin/2.1/smokedeptool.exe +0 -0
  16. data/bin/2.2/rbrcc.exe +0 -0
  17. data/bin/2.2/rbuic4.exe +0 -0
  18. data/bin/2.2/smokeapi.exe +0 -0
  19. data/bin/2.2/smokedeptool.exe +0 -0
  20. data/bin/rbqtapi +152 -0
  21. data/bin/rbrcc +14 -0
  22. data/bin/rbuic4 +14 -0
  23. data/bin/smokeapi +14 -0
  24. data/bin/smokedeptool +14 -0
  25. data/examples/designer/calculatorbuilder/calculatorbuilder.qrc +5 -0
  26. data/examples/designer/calculatorbuilder/calculatorform.rb +60 -0
  27. data/examples/designer/calculatorbuilder/calculatorform.ui +299 -0
  28. data/examples/designer/calculatorbuilder/main.rb +34 -0
  29. data/examples/designer/calculatorbuilder/makefile +2 -0
  30. data/examples/designer/calculatorform/calculatorform.rb +46 -0
  31. data/examples/designer/calculatorform/calculatorform.ui +277 -0
  32. data/examples/designer/calculatorform/main.rb +32 -0
  33. data/examples/designer/calculatorform/makefile +3 -0
  34. data/examples/desktop/screenshot/main.rb +32 -0
  35. data/examples/desktop/screenshot/screenshot.rb +157 -0
  36. data/examples/desktop/systray/images/bad.svg +64 -0
  37. data/examples/desktop/systray/images/heart.svg +55 -0
  38. data/examples/desktop/systray/images/trash.svg +58 -0
  39. data/examples/desktop/systray/main.rb +41 -0
  40. data/examples/desktop/systray/makefile +2 -0
  41. data/examples/desktop/systray/systray.qrc +7 -0
  42. data/examples/desktop/systray/window.rb +219 -0
  43. data/examples/dialogs/complexwizard/complexwizard.rb +140 -0
  44. data/examples/dialogs/complexwizard/licensewizard.rb +294 -0
  45. data/examples/dialogs/complexwizard/main.rb +31 -0
  46. data/examples/dialogs/configdialog/configdialog.rb +109 -0
  47. data/examples/dialogs/configdialog/images/config.png +0 -0
  48. data/examples/dialogs/configdialog/images/query.png +0 -0
  49. data/examples/dialogs/configdialog/images/update.png +0 -0
  50. data/examples/dialogs/configdialog/main.rb +31 -0
  51. data/examples/dialogs/configdialog/pages.rb +140 -0
  52. data/examples/dialogs/extension/finddialog.rb +89 -0
  53. data/examples/dialogs/extension/main.rb +31 -0
  54. data/examples/dialogs/findfiles/main.rb +32 -0
  55. data/examples/dialogs/findfiles/window.rb +177 -0
  56. data/examples/dialogs/simplewizard/classwizard.rb +374 -0
  57. data/examples/dialogs/simplewizard/main.rb +31 -0
  58. data/examples/dialogs/simplewizard/simplewizard.rb +110 -0
  59. data/examples/dialogs/standarddialogs/dialog.rb +340 -0
  60. data/examples/dialogs/standarddialogs/main.rb +31 -0
  61. data/examples/dialogs/tabdialog/main.rb +38 -0
  62. data/examples/dialogs/tabdialog/tabdialog.rb +178 -0
  63. data/examples/draganddrop/draggableicons/dragwidget.rb +125 -0
  64. data/examples/draganddrop/draggableicons/images/boat.png +0 -0
  65. data/examples/draganddrop/draggableicons/images/car.png +0 -0
  66. data/examples/draganddrop/draggableicons/images/house.png +0 -0
  67. data/examples/draganddrop/draggableicons/main.rb +41 -0
  68. data/examples/draganddrop/draggabletext/draglabel.rb +51 -0
  69. data/examples/draganddrop/draggabletext/dragwidget.rb +94 -0
  70. data/examples/draganddrop/draggabletext/main.rb +33 -0
  71. data/examples/draganddrop/draggabletext/words.txt +41 -0
  72. data/examples/draganddrop/dropsite/dropsitewidget.rb +99 -0
  73. data/examples/draganddrop/dropsite/dropsitewindow.rb +114 -0
  74. data/examples/draganddrop/dropsite/main.rb +33 -0
  75. data/examples/draganddrop/fridgemagnets/draglabel.rb +78 -0
  76. data/examples/draganddrop/fridgemagnets/dragwidget.rb +130 -0
  77. data/examples/draganddrop/fridgemagnets/main.rb +33 -0
  78. data/examples/draganddrop/fridgemagnets/words.txt +48 -0
  79. data/examples/draganddrop/puzzle/example.jpg +0 -0
  80. data/examples/draganddrop/puzzle/main.rb +33 -0
  81. data/examples/draganddrop/puzzle/mainwindow.rb +136 -0
  82. data/examples/draganddrop/puzzle/pieceslist.rb +95 -0
  83. data/examples/draganddrop/puzzle/puzzlewidget.rb +190 -0
  84. data/examples/graphicsview/collidingmice/images/cheese.jpg +0 -0
  85. data/examples/graphicsview/collidingmice/main.rb +53 -0
  86. data/examples/graphicsview/collidingmice/makefile +2 -0
  87. data/examples/graphicsview/collidingmice/mice.qrc +5 -0
  88. data/examples/graphicsview/collidingmice/mouse.rb +176 -0
  89. data/examples/graphicsview/dragdroprobot/coloritem.rb +86 -0
  90. data/examples/graphicsview/dragdroprobot/images/head.png +0 -0
  91. data/examples/graphicsview/dragdroprobot/main.rb +57 -0
  92. data/examples/graphicsview/dragdroprobot/makefile +2 -0
  93. data/examples/graphicsview/dragdroprobot/robot.qrc +5 -0
  94. data/examples/graphicsview/dragdroprobot/robot.rb +246 -0
  95. data/examples/itemviews/chart/chart.qrc +5 -0
  96. data/examples/itemviews/chart/main.rb +33 -0
  97. data/examples/itemviews/chart/mainwindow.rb +151 -0
  98. data/examples/itemviews/chart/makefile +2 -0
  99. data/examples/itemviews/chart/mydata.cht +8 -0
  100. data/examples/itemviews/chart/pieview.rb +516 -0
  101. data/examples/itemviews/chart/qtdata.cht +14 -0
  102. data/examples/itemviews/dirview/main.rb +39 -0
  103. data/examples/itemviews/pixelator/imagemodel.rb +51 -0
  104. data/examples/itemviews/pixelator/images.qrc +5 -0
  105. data/examples/itemviews/pixelator/images/qt.png +0 -0
  106. data/examples/itemviews/pixelator/main.rb +34 -0
  107. data/examples/itemviews/pixelator/mainwindow.rb +218 -0
  108. data/examples/itemviews/pixelator/makefile +3 -0
  109. data/examples/itemviews/pixelator/pixeldelegate.rb +67 -0
  110. data/examples/itemviews/puzzle/example.jpg +0 -0
  111. data/examples/itemviews/puzzle/main.rb +36 -0
  112. data/examples/itemviews/puzzle/mainwindow.rb +143 -0
  113. data/examples/itemviews/puzzle/piecesmodel.rb +174 -0
  114. data/examples/itemviews/puzzle/puzzlewidget.rb +192 -0
  115. data/examples/itemviews/simpledommodel/domitem.rb +62 -0
  116. data/examples/itemviews/simpledommodel/dommodel.rb +139 -0
  117. data/examples/itemviews/simpledommodel/main.rb +33 -0
  118. data/examples/itemviews/simpledommodel/mainwindow.rb +66 -0
  119. data/examples/itemviews/simpletreemodel/default.txt +40 -0
  120. data/examples/itemviews/simpletreemodel/main.rb +41 -0
  121. data/examples/itemviews/simpletreemodel/makefile +2 -0
  122. data/examples/itemviews/simpletreemodel/simpletreemodel.qrc +5 -0
  123. data/examples/itemviews/simpletreemodel/treeitem.rb +67 -0
  124. data/examples/itemviews/simpletreemodel/treemodel.rb +164 -0
  125. data/examples/itemviews/sortingmodel/default.txt +40 -0
  126. data/examples/itemviews/sortingmodel/main.rb +53 -0
  127. data/examples/itemviews/sortingmodel/treeitem.rb +73 -0
  128. data/examples/itemviews/sortingmodel/treemodel.rb +166 -0
  129. data/examples/itemviews/spinboxdelegate/main.rb +47 -0
  130. data/examples/itemviews/spinboxdelegate/spinboxdelegate.rb +62 -0
  131. data/examples/killerfilter/killerfilter.rb +55 -0
  132. data/examples/layouts/basiclayouts/dialog.rb +110 -0
  133. data/examples/layouts/basiclayouts/main.rb +31 -0
  134. data/examples/layouts/borderlayout/borderlayout.rb +190 -0
  135. data/examples/layouts/borderlayout/main.rb +32 -0
  136. data/examples/layouts/borderlayout/window.rb +52 -0
  137. data/examples/layouts/flowlayouts/flowlayout.rb +108 -0
  138. data/examples/layouts/flowlayouts/main.rb +32 -0
  139. data/examples/layouts/flowlayouts/window.rb +43 -0
  140. data/examples/mainwindows/application/images/copy.png +0 -0
  141. data/examples/mainwindows/application/images/cut.png +0 -0
  142. data/examples/mainwindows/application/images/new.png +0 -0
  143. data/examples/mainwindows/application/images/open.png +0 -0
  144. data/examples/mainwindows/application/images/paste.png +0 -0
  145. data/examples/mainwindows/application/images/save.png +0 -0
  146. data/examples/mainwindows/application/main.rb +32 -0
  147. data/examples/mainwindows/application/mainwindow.rb +285 -0
  148. data/examples/mainwindows/dockwidgets/images/new.png +0 -0
  149. data/examples/mainwindows/dockwidgets/images/print.png +0 -0
  150. data/examples/mainwindows/dockwidgets/images/save.png +0 -0
  151. data/examples/mainwindows/dockwidgets/images/undo.png +0 -0
  152. data/examples/mainwindows/dockwidgets/main.rb +32 -0
  153. data/examples/mainwindows/dockwidgets/mainwindow.rb +302 -0
  154. data/examples/mainwindows/mdi/images/copy.png +0 -0
  155. data/examples/mainwindows/mdi/images/cut.png +0 -0
  156. data/examples/mainwindows/mdi/images/new.png +0 -0
  157. data/examples/mainwindows/mdi/images/open.png +0 -0
  158. data/examples/mainwindows/mdi/images/paste.png +0 -0
  159. data/examples/mainwindows/mdi/images/save.png +0 -0
  160. data/examples/mainwindows/mdi/main.rb +32 -0
  161. data/examples/mainwindows/mdi/mainwindow.rb +363 -0
  162. data/examples/mainwindows/mdi/mdichild.rb +152 -0
  163. data/examples/mainwindows/menus/main.rb +32 -0
  164. data/examples/mainwindows/menus/mainwindow.rb +327 -0
  165. data/examples/mainwindows/recentfiles/main.rb +32 -0
  166. data/examples/mainwindows/recentfiles/mainwindow.rb +258 -0
  167. data/examples/mainwindows/sdi/images/copy.png +0 -0
  168. data/examples/mainwindows/sdi/images/cut.png +0 -0
  169. data/examples/mainwindows/sdi/images/new.png +0 -0
  170. data/examples/mainwindows/sdi/images/open.png +0 -0
  171. data/examples/mainwindows/sdi/images/paste.png +0 -0
  172. data/examples/mainwindows/sdi/images/save.png +0 -0
  173. data/examples/mainwindows/sdi/main.rb +32 -0
  174. data/examples/mainwindows/sdi/mainwindow.rb +335 -0
  175. data/examples/network/broadcastreceiver/main.rb +32 -0
  176. data/examples/network/broadcastreceiver/receiver.rb +64 -0
  177. data/examples/network/broadcastsender/main.rb +32 -0
  178. data/examples/network/broadcastsender/sender.rb +72 -0
  179. data/examples/network/fortuneclient/client.rb +149 -0
  180. data/examples/network/fortuneclient/main.rb +32 -0
  181. data/examples/network/fortuneserver/main.rb +32 -0
  182. data/examples/network/fortuneserver/server.rb +88 -0
  183. data/examples/network/ftp/ftpwindow.rb +259 -0
  184. data/examples/network/ftp/images/cdtoparent.png +0 -0
  185. data/examples/network/ftp/images/dir.png +0 -0
  186. data/examples/network/ftp/images/file.png +0 -0
  187. data/examples/network/ftp/main.rb +32 -0
  188. data/examples/network/http/httpwindow.rb +187 -0
  189. data/examples/network/http/main.rb +32 -0
  190. data/examples/network/loopback/dialog.rb +163 -0
  191. data/examples/network/loopback/main.rb +32 -0
  192. data/examples/opengl/grabber/glwidget.rb +265 -0
  193. data/examples/opengl/grabber/main.rb +32 -0
  194. data/examples/opengl/grabber/mainwindow.rb +189 -0
  195. data/examples/opengl/hellogl/glwidget.rb +226 -0
  196. data/examples/opengl/hellogl/main.rb +32 -0
  197. data/examples/opengl/hellogl/window.rb +66 -0
  198. data/examples/opengl/textures/glwidget.rb +151 -0
  199. data/examples/opengl/textures/images/side1.png +0 -0
  200. data/examples/opengl/textures/images/side2.png +0 -0
  201. data/examples/opengl/textures/images/side3.png +0 -0
  202. data/examples/opengl/textures/images/side4.png +0 -0
  203. data/examples/opengl/textures/images/side5.png +0 -0
  204. data/examples/opengl/textures/images/side6.png +0 -0
  205. data/examples/opengl/textures/main.rb +32 -0
  206. data/examples/opengl/textures/window.rb +77 -0
  207. data/examples/painting/basicdrawing/images/brick.png +0 -0
  208. data/examples/painting/basicdrawing/images/qt-logo.png +0 -0
  209. data/examples/painting/basicdrawing/main.rb +32 -0
  210. data/examples/painting/basicdrawing/renderarea.rb +166 -0
  211. data/examples/painting/basicdrawing/window.rb +215 -0
  212. data/examples/painting/concentriccircles/circlewidget.rb +88 -0
  213. data/examples/painting/concentriccircles/main.rb +32 -0
  214. data/examples/painting/concentriccircles/window.rb +72 -0
  215. data/examples/painting/fontsampler/main.rb +32 -0
  216. data/examples/painting/fontsampler/mainwindow.rb +369 -0
  217. data/examples/painting/fontsampler/mainwindowbase.ui +136 -0
  218. data/examples/painting/fontsampler/makefile +8 -0
  219. data/examples/painting/fontsampler/previewdialog.rb +257 -0
  220. data/examples/painting/fontsampler/previewdialogbase.ui +224 -0
  221. data/examples/painting/fontsampler/previewlabel.rb +43 -0
  222. data/examples/painting/imagecomposition/imagecomposer.rb +152 -0
  223. data/examples/painting/imagecomposition/imagecomposition.qrc +6 -0
  224. data/examples/painting/imagecomposition/images/background.png +0 -0
  225. data/examples/painting/imagecomposition/images/blackrectangle.png +0 -0
  226. data/examples/painting/imagecomposition/images/butterfly.png +0 -0
  227. data/examples/painting/imagecomposition/images/checker.png +0 -0
  228. data/examples/painting/imagecomposition/main.rb +33 -0
  229. data/examples/painting/imagecomposition/makefile +2 -0
  230. data/examples/painting/painterpaths/main.rb +32 -0
  231. data/examples/painting/painterpaths/renderarea.rb +97 -0
  232. data/examples/painting/painterpaths/window.rb +247 -0
  233. data/examples/painting/svgviewer/files/bubbles.svg +212 -0
  234. data/examples/painting/svgviewer/files/cubic.svg +77 -0
  235. data/examples/painting/svgviewer/files/spheres.svg +79 -0
  236. data/examples/painting/svgviewer/main.rb +38 -0
  237. data/examples/painting/svgviewer/mainwindow.rb +99 -0
  238. data/examples/painting/svgviewer/makefile +2 -0
  239. data/examples/painting/svgviewer/svgview.rb +156 -0
  240. data/examples/painting/svgviewer/svgviewer.qrc +6 -0
  241. data/examples/painting/svgviewer/svgwindow.rb +87 -0
  242. data/examples/painting/transformations/main.rb +32 -0
  243. data/examples/painting/transformations/renderarea.rb +127 -0
  244. data/examples/painting/transformations/window.rb +153 -0
  245. data/examples/passivepopup/passivepopup.rb +38 -0
  246. data/examples/qdbus/chat/chat.rb +146 -0
  247. data/examples/qdbus/chat/chat_adaptor.rb +12 -0
  248. data/examples/qdbus/chat/chat_interface.rb +13 -0
  249. data/examples/qdbus/chat/chatmainwindow.ui +184 -0
  250. data/examples/qdbus/chat/chatsetnickname.ui +145 -0
  251. data/examples/qdbus/chat/makefile +8 -0
  252. data/examples/qdbus/complexpingpong/complexping.rb +92 -0
  253. data/examples/qdbus/complexpingpong/complexpong.rb +83 -0
  254. data/examples/qdbus/complexpingpong/ping-common.rb +1 -0
  255. data/examples/qdbus/listnames/listnames.rb +69 -0
  256. data/examples/qdbus/pingpong/ping-common.rb +1 -0
  257. data/examples/qdbus/pingpong/ping.rb +52 -0
  258. data/examples/qdbus/pingpong/pong.rb +55 -0
  259. data/examples/qdbus/remotecontrolledcar/car/car.rb +151 -0
  260. data/examples/qdbus/remotecontrolledcar/car/main.rb +50 -0
  261. data/examples/qdbus/remotecontrolledcar/controller/controller.rb +66 -0
  262. data/examples/qdbus/remotecontrolledcar/controller/controller.ui +61 -0
  263. data/examples/qdbus/remotecontrolledcar/controller/main.rb +32 -0
  264. data/examples/qdbus/remotecontrolledcar/controller/makefile +2 -0
  265. data/examples/qtscribble/scribble.rb +270 -0
  266. data/examples/richtext/calendar/main.rb +33 -0
  267. data/examples/richtext/calendar/mainwindow.rb +173 -0
  268. data/examples/richtext/orderform/detailsdialog.rb +130 -0
  269. data/examples/richtext/orderform/main.rb +34 -0
  270. data/examples/richtext/orderform/mainwindow.rb +194 -0
  271. data/examples/richtext/syntaxhighlighter/examples/example +79 -0
  272. data/examples/richtext/syntaxhighlighter/highlighter.rb +90 -0
  273. data/examples/richtext/syntaxhighlighter/main.rb +34 -0
  274. data/examples/richtext/syntaxhighlighter/mainwindow.rb +105 -0
  275. data/examples/ruboids/LICENSE.txt +58 -0
  276. data/examples/ruboids/Manifest +26 -0
  277. data/examples/ruboids/README +53 -0
  278. data/examples/ruboids/TODO +29 -0
  279. data/examples/ruboids/boids.properties +33 -0
  280. data/examples/ruboids/generateManifest.rb +42 -0
  281. data/examples/ruboids/index.html +147 -0
  282. data/examples/ruboids/release.rb +152 -0
  283. data/examples/ruboids/ruboids/Boid.rb +141 -0
  284. data/examples/ruboids/ruboids/BoidView.rb +159 -0
  285. data/examples/ruboids/ruboids/Camera.rb +24 -0
  286. data/examples/ruboids/ruboids/CameraDialog.rb +218 -0
  287. data/examples/ruboids/ruboids/Canvas.rb +143 -0
  288. data/examples/ruboids/ruboids/Cloud.rb +61 -0
  289. data/examples/ruboids/ruboids/CloudView.rb +54 -0
  290. data/examples/ruboids/ruboids/Flock.rb +47 -0
  291. data/examples/ruboids/ruboids/Graphics.rb +278 -0
  292. data/examples/ruboids/ruboids/Params.rb +87 -0
  293. data/examples/ruboids/ruboids/Point.rb +153 -0
  294. data/examples/ruboids/ruboids/Thing.rb +34 -0
  295. data/examples/ruboids/ruboids/Triangle.rb +21 -0
  296. data/examples/ruboids/ruboids/View.rb +88 -0
  297. data/examples/ruboids/ruboids/World.rb +82 -0
  298. data/examples/ruboids/ruboids/WorldWindow.rb +52 -0
  299. data/examples/ruboids/ruboids/info.rb +12 -0
  300. data/examples/ruboids/ruboids/ruboids.rb +29 -0
  301. data/examples/run_all.rb +15 -0
  302. data/examples/threading/main_thread.rb +19 -0
  303. data/examples/tutorial/t1/t1.rb +10 -0
  304. data/examples/tutorial/t10/cannon.rb +72 -0
  305. data/examples/tutorial/t10/lcdrange.rb +45 -0
  306. data/examples/tutorial/t10/t10.rb +55 -0
  307. data/examples/tutorial/t11/cannon.rb +124 -0
  308. data/examples/tutorial/t11/lcdrange.rb +45 -0
  309. data/examples/tutorial/t11/t11.rb +65 -0
  310. data/examples/tutorial/t12/cannon.rb +158 -0
  311. data/examples/tutorial/t12/lcdrange.rb +59 -0
  312. data/examples/tutorial/t12/t12.rb +66 -0
  313. data/examples/tutorial/t13/cannon.rb +208 -0
  314. data/examples/tutorial/t13/gamebrd.rb +113 -0
  315. data/examples/tutorial/t13/lcdrange.rb +60 -0
  316. data/examples/tutorial/t13/t13.rb +11 -0
  317. data/examples/tutorial/t14/cannon.rb +263 -0
  318. data/examples/tutorial/t14/gamebrd.rb +123 -0
  319. data/examples/tutorial/t14/lcdrange.rb +63 -0
  320. data/examples/tutorial/t14/t14.rb +11 -0
  321. data/examples/tutorial/t2/t2.rb +16 -0
  322. data/examples/tutorial/t3/t3.rb +18 -0
  323. data/examples/tutorial/t4/t4.rb +25 -0
  324. data/examples/tutorial/t5/t5.rb +37 -0
  325. data/examples/tutorial/t6/t6.rb +52 -0
  326. data/examples/tutorial/t7/lcdrange.rb +32 -0
  327. data/examples/tutorial/t7/t7.rb +42 -0
  328. data/examples/tutorial/t8/cannon.rb +38 -0
  329. data/examples/tutorial/t8/lcdrange.rb +45 -0
  330. data/examples/tutorial/t8/t8.rb +43 -0
  331. data/examples/tutorial/t9/cannon.rb +45 -0
  332. data/examples/tutorial/t9/lcdrange.rb +46 -0
  333. data/examples/tutorial/t9/t9.rb +43 -0
  334. data/examples/widgets/analogclock/analogclock.rb +94 -0
  335. data/examples/widgets/analogclock/main.rb +9 -0
  336. data/examples/widgets/calculator/button.rb +45 -0
  337. data/examples/widgets/calculator/calculator.rb +382 -0
  338. data/examples/widgets/calculator/main.rb +32 -0
  339. data/examples/widgets/charactermap/characterwidget.rb +110 -0
  340. data/examples/widgets/charactermap/main.rb +32 -0
  341. data/examples/widgets/charactermap/mainwindow.rb +118 -0
  342. data/examples/widgets/digitalclock/digitalclock.rb +30 -0
  343. data/examples/widgets/digitalclock/main.rb +9 -0
  344. data/examples/widgets/groupbox/main.rb +32 -0
  345. data/examples/widgets/groupbox/window.rb +134 -0
  346. data/examples/widgets/icons/iconpreviewarea.rb +111 -0
  347. data/examples/widgets/icons/iconsizespinbox.rb +39 -0
  348. data/examples/widgets/icons/imagedelegate.rb +73 -0
  349. data/examples/widgets/icons/images/designer.png +0 -0
  350. data/examples/widgets/icons/images/find_disabled.png +0 -0
  351. data/examples/widgets/icons/images/find_normal.png +0 -0
  352. data/examples/widgets/icons/images/monkey_off_128x128.png +0 -0
  353. data/examples/widgets/icons/images/monkey_off_16x16.png +0 -0
  354. data/examples/widgets/icons/images/monkey_off_32x32.png +0 -0
  355. data/examples/widgets/icons/images/monkey_off_64x64.png +0 -0
  356. data/examples/widgets/icons/images/monkey_on_128x128.png +0 -0
  357. data/examples/widgets/icons/images/monkey_on_16x16.png +0 -0
  358. data/examples/widgets/icons/images/monkey_on_32x32.png +0 -0
  359. data/examples/widgets/icons/images/monkey_on_64x64.png +0 -0
  360. data/examples/widgets/icons/images/qtopia_16x16.png +0 -0
  361. data/examples/widgets/icons/images/qtopia_32x32.png +0 -0
  362. data/examples/widgets/icons/images/qtopia_48x48.png +0 -0
  363. data/examples/widgets/icons/main.rb +32 -0
  364. data/examples/widgets/icons/mainwindow.rb +351 -0
  365. data/examples/widgets/imageviewer/imageviewer.rb +219 -0
  366. data/examples/widgets/imageviewer/main.rb +32 -0
  367. data/examples/widgets/lineedits/main.rb +32 -0
  368. data/examples/widgets/lineedits/window.rb +199 -0
  369. data/examples/widgets/movie/images/open.png +0 -0
  370. data/examples/widgets/movie/images/pause.png +0 -0
  371. data/examples/widgets/movie/images/play.png +0 -0
  372. data/examples/widgets/movie/images/quit.png +0 -0
  373. data/examples/widgets/movie/images/stop.png +0 -0
  374. data/examples/widgets/movie/main.rb +32 -0
  375. data/examples/widgets/movie/movieplayer.rb +201 -0
  376. data/examples/widgets/movie/movies/fire.mng +0 -0
  377. data/examples/widgets/screenshot/main.rb +32 -0
  378. data/examples/widgets/screenshot/screenshot.rb +155 -0
  379. data/examples/widgets/scribble/main.rb +32 -0
  380. data/examples/widgets/scribble/mainwindow.rb +202 -0
  381. data/examples/widgets/scribble/scribblearea.rb +154 -0
  382. data/examples/widgets/sliders/main.rb +32 -0
  383. data/examples/widgets/sliders/slidersgroup.rb +97 -0
  384. data/examples/widgets/sliders/window.rb +124 -0
  385. data/examples/widgets/spinboxes/main.rb +32 -0
  386. data/examples/widgets/spinboxes/window.rb +213 -0
  387. data/examples/widgets/tetrix/main.rb +33 -0
  388. data/examples/widgets/tetrix/tetrixboard.rb +346 -0
  389. data/examples/widgets/tetrix/tetrixpiece.rb +135 -0
  390. data/examples/widgets/tetrix/tetrixwindow.rb +88 -0
  391. data/examples/widgets/tooltips/images/circle.png +0 -0
  392. data/examples/widgets/tooltips/images/square.png +0 -0
  393. data/examples/widgets/tooltips/images/triangle.png +0 -0
  394. data/examples/widgets/tooltips/main.rb +32 -0
  395. data/examples/widgets/tooltips/shapeitem.rb +31 -0
  396. data/examples/widgets/tooltips/sortingbox.rb +222 -0
  397. data/examples/widgets/wiggly/dialog.rb +48 -0
  398. data/examples/widgets/wiggly/main.rb +9 -0
  399. data/examples/widgets/wiggly/wigglywidget.rb +76 -0
  400. data/examples/widgets/windowflags/controllerwindow.rb +195 -0
  401. data/examples/widgets/windowflags/main.rb +32 -0
  402. data/examples/widgets/windowflags/previewwindow.rb +103 -0
  403. data/examples/xml/dombookmarks/frank.xbel +230 -0
  404. data/examples/xml/dombookmarks/jennifer.xbel +93 -0
  405. data/examples/xml/dombookmarks/main.rb +34 -0
  406. data/examples/xml/dombookmarks/mainwindow.rb +129 -0
  407. data/examples/xml/dombookmarks/xbeltree.rb +172 -0
  408. data/examples/xml/saxbookmarks/frank.xbel +230 -0
  409. data/examples/xml/saxbookmarks/jennifer.xbel +93 -0
  410. data/examples/xml/saxbookmarks/main.rb +34 -0
  411. data/examples/xml/saxbookmarks/mainwindow.rb +144 -0
  412. data/examples/xml/saxbookmarks/xbelgenerator.rb +95 -0
  413. data/examples/xml/saxbookmarks/xbelhandler.rb +122 -0
  414. data/extconf.rb +256 -0
  415. data/lib/2.0/libqtruby4shared.dll +0 -0
  416. data/lib/2.0/libsmokebase.dll +0 -0
  417. data/lib/2.0/libsmokeqtcore.dll +0 -0
  418. data/lib/2.0/libsmokeqtdeclarative.dll +0 -0
  419. data/lib/2.0/libsmokeqtgui.dll +0 -0
  420. data/lib/2.0/libsmokeqthelp.dll +0 -0
  421. data/lib/2.0/libsmokeqtmultimedia.dll +0 -0
  422. data/lib/2.0/libsmokeqtnetwork.dll +0 -0
  423. data/lib/2.0/libsmokeqtopengl.dll +0 -0
  424. data/lib/2.0/libsmokeqtscript.dll +0 -0
  425. data/lib/2.0/libsmokeqtsql.dll +0 -0
  426. data/lib/2.0/libsmokeqtsvg.dll +0 -0
  427. data/lib/2.0/libsmokeqttest.dll +0 -0
  428. data/lib/2.0/libsmokeqtuitools.dll +0 -0
  429. data/lib/2.0/libsmokeqtwebkit.dll +0 -0
  430. data/lib/2.0/libsmokeqtxml.dll +0 -0
  431. data/lib/2.0/libsmokeqtxmlpatterns.dll +0 -0
  432. data/lib/2.0/qtdeclarative.so +0 -0
  433. data/lib/2.0/qtruby4.so +0 -0
  434. data/lib/2.0/qtscript.so +0 -0
  435. data/lib/2.0/qttest.so +0 -0
  436. data/lib/2.0/qtuitools.so +0 -0
  437. data/lib/2.0/qtwebkit.so +0 -0
  438. data/lib/2.1/libqtruby4shared.dll +0 -0
  439. data/lib/2.1/libsmokebase.dll +0 -0
  440. data/lib/2.1/libsmokeqtcore.dll +0 -0
  441. data/lib/2.1/libsmokeqtdeclarative.dll +0 -0
  442. data/lib/2.1/libsmokeqtgui.dll +0 -0
  443. data/lib/2.1/libsmokeqthelp.dll +0 -0
  444. data/lib/2.1/libsmokeqtmultimedia.dll +0 -0
  445. data/lib/2.1/libsmokeqtnetwork.dll +0 -0
  446. data/lib/2.1/libsmokeqtopengl.dll +0 -0
  447. data/lib/2.1/libsmokeqtscript.dll +0 -0
  448. data/lib/2.1/libsmokeqtsql.dll +0 -0
  449. data/lib/2.1/libsmokeqtsvg.dll +0 -0
  450. data/lib/2.1/libsmokeqttest.dll +0 -0
  451. data/lib/2.1/libsmokeqtuitools.dll +0 -0
  452. data/lib/2.1/libsmokeqtwebkit.dll +0 -0
  453. data/lib/2.1/libsmokeqtxml.dll +0 -0
  454. data/lib/2.1/libsmokeqtxmlpatterns.dll +0 -0
  455. data/lib/2.1/qtdeclarative.so +0 -0
  456. data/lib/2.1/qtruby4.so +0 -0
  457. data/lib/2.1/qtscript.so +0 -0
  458. data/lib/2.1/qttest.so +0 -0
  459. data/lib/2.1/qtuitools.so +0 -0
  460. data/lib/2.1/qtwebkit.so +0 -0
  461. data/lib/2.2/libqtruby4shared.dll +0 -0
  462. data/lib/2.2/libsmokebase.dll +0 -0
  463. data/lib/2.2/libsmokeqtcore.dll +0 -0
  464. data/lib/2.2/libsmokeqtdeclarative.dll +0 -0
  465. data/lib/2.2/libsmokeqtgui.dll +0 -0
  466. data/lib/2.2/libsmokeqthelp.dll +0 -0
  467. data/lib/2.2/libsmokeqtmultimedia.dll +0 -0
  468. data/lib/2.2/libsmokeqtnetwork.dll +0 -0
  469. data/lib/2.2/libsmokeqtopengl.dll +0 -0
  470. data/lib/2.2/libsmokeqtscript.dll +0 -0
  471. data/lib/2.2/libsmokeqtsql.dll +0 -0
  472. data/lib/2.2/libsmokeqtsvg.dll +0 -0
  473. data/lib/2.2/libsmokeqttest.dll +0 -0
  474. data/lib/2.2/libsmokeqtuitools.dll +0 -0
  475. data/lib/2.2/libsmokeqtwebkit.dll +0 -0
  476. data/lib/2.2/libsmokeqtxml.dll +0 -0
  477. data/lib/2.2/libsmokeqtxmlpatterns.dll +0 -0
  478. data/lib/2.2/qtdeclarative.so +0 -0
  479. data/lib/2.2/qtruby4.so +0 -0
  480. data/lib/2.2/qtscript.so +0 -0
  481. data/lib/2.2/qttest.so +0 -0
  482. data/lib/2.2/qtuitools.so +0 -0
  483. data/lib/2.2/qtwebkit.so +0 -0
  484. data/lib/Qt.rb +1 -0
  485. data/lib/Qt/qtruby4.rb +3258 -0
  486. data/lib/Qt4.rb +111 -0
  487. data/lib/qtbindings_version.rb +2 -0
  488. data/lib/qtdeclarative/qtdeclarative.rb +17 -0
  489. data/lib/qtscript/qtscript.rb +40 -0
  490. data/lib/qttest/qttest.rb +166 -0
  491. data/lib/qtuitools/qtuitools.rb +17 -0
  492. data/lib/qtwebkit/qtwebkit.rb +17 -0
  493. data/qtbindings.gemspec +18 -0
  494. data/qtbindingsnative.gemspec +19 -0
  495. metadata +559 -0
@@ -0,0 +1,215 @@
1
+ =begin
2
+ **
3
+ ** Copyright (C) 2004-2005 Trolltech AS. All rights reserved.
4
+ **
5
+ ** This file is part of the example classes of the Qt Toolkit.
6
+ **
7
+ ** This file may be used under the terms of the GNU General Public
8
+ ** License version 2.0 as published by the Free Software Foundation
9
+ ** and appearing in the file LICENSE.GPL included in the packaging of
10
+ ** this file. Please review the following information to ensure GNU
11
+ ** General Public Licensing requirements will be met:
12
+ ** http://www.trolltech.com/products/qt/opensource.html
13
+ **
14
+ ** If you are unsure which license is appropriate for your use, please
15
+ ** review the following information:
16
+ ** http://www.trolltech.com/products/qt/licensing.html or contact the
17
+ ** sales department at sales@trolltech.com.
18
+ **
19
+ ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
20
+ ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21
+ **
22
+
23
+ ** Translated to QtRuby by Richard Dale
24
+ =end
25
+
26
+
27
+ require './renderarea.rb'
28
+
29
+ class Window < Qt::Widget
30
+
31
+ slots 'shapeChanged()',
32
+ 'penChanged()',
33
+ 'brushChanged()'
34
+
35
+ def initialize(parent = nil)
36
+ super
37
+ @idRole = Qt::UserRole
38
+ @renderArea = RenderArea.new
39
+
40
+ @shapeComboBox = Qt::ComboBox.new do |s|
41
+ s.addItem(tr("Rectangle"), Qt::Variant.new(RenderArea::Rect))
42
+ s.addItem(tr("Round Rectangle"), Qt::Variant.new(RenderArea::RoundRect))
43
+ s.addItem(tr("Ellipse"), Qt::Variant.new(RenderArea::Ellipse))
44
+ s.addItem(tr("Pie"), Qt::Variant.new(RenderArea::Pie))
45
+ s.addItem(tr("Chord"), Qt::Variant.new(RenderArea::Chord))
46
+ s.addItem(tr("Polygon"), Qt::Variant.new(RenderArea::Polygon))
47
+ s.addItem(tr("Path"), Qt::Variant.new(RenderArea::Path))
48
+ s.addItem(tr("Line"), Qt::Variant.new(RenderArea::Line))
49
+ s.addItem(tr("Polyline"), Qt::Variant.new(RenderArea::Polyline))
50
+ s.addItem(tr("Arc"), Qt::Variant.new(RenderArea::Arc))
51
+ s.addItem(tr("Points"), Qt::Variant.new(RenderArea::Points))
52
+ s.addItem(tr("Text"), Qt::Variant.new(RenderArea::Text))
53
+ s.addItem(tr("Pixmap"), Qt::Variant.new(RenderArea::Pixmap))
54
+ end
55
+
56
+ @shapeLabel = Qt::Label.new(tr("&Shape:"))
57
+ @shapeLabel.buddy = @shapeComboBox
58
+
59
+ @penWidthSpinBox = Qt::SpinBox.new
60
+ @penWidthSpinBox.range = 0..20
61
+
62
+ @penWidthLabel = Qt::Label.new(tr("Pen &Width:"))
63
+ @penWidthLabel.buddy = @penWidthSpinBox
64
+
65
+ @penStyleComboBox = Qt::ComboBox.new do |p|
66
+ p.addItem(tr("Solid"), Qt::Variant.new(Qt::SolidLine.to_i))
67
+ p.addItem(tr("Dash"), Qt::Variant.new(Qt::DashLine.to_i))
68
+ p.addItem(tr("Dot"), Qt::Variant.new(Qt::DotLine.to_i))
69
+ p.addItem(tr("Dash Dot"), Qt::Variant.new(Qt::DashDotLine.to_i))
70
+ p.addItem(tr("Dash Dot Dot"), Qt::Variant.new(Qt::DashDotDotLine.to_i))
71
+ p.addItem(tr("None"), Qt::Variant.new(Qt::NoPen.to_i))
72
+ end
73
+
74
+ @penStyleLabel = Qt::Label.new(tr("&Pen Style:"))
75
+ @penStyleLabel.buddy = @penStyleComboBox
76
+
77
+ @penCapComboBox = Qt::ComboBox.new do |p|
78
+ p.addItem(tr("Flat"), Qt::Variant.new(Qt::FlatCap.to_i))
79
+ p.addItem(tr("Square"), Qt::Variant.new(Qt::SquareCap.to_i))
80
+ p.addItem(tr("Round"), Qt::Variant.new(Qt::RoundCap.to_i))
81
+ end
82
+
83
+ @penCapLabel = Qt::Label.new(tr("Pen &Cap:"))
84
+ @penCapLabel.buddy = @penCapComboBox
85
+
86
+ @penJoinComboBox = Qt::ComboBox.new do |p|
87
+ p.addItem(tr("Miter"), Qt::Variant.new(Qt::MiterJoin.to_i))
88
+ p.addItem(tr("Bevel"), Qt::Variant.new(Qt::BevelJoin.to_i))
89
+ p.addItem(tr("Round"), Qt::Variant.new(Qt::RoundJoin.to_i))
90
+ end
91
+
92
+ @penJoinLabel = Qt::Label.new(tr("Pen &Join:"))
93
+ @penJoinLabel.buddy = @penJoinComboBox
94
+
95
+ @brushStyleComboBox = Qt::ComboBox.new do |b|
96
+ b.addItem(tr("Linear Gradient"),
97
+ Qt::Variant.new(Qt::LinearGradientPattern.to_i))
98
+ b.addItem(tr("Radial Gradient"),
99
+ Qt::Variant.new(Qt::RadialGradientPattern.to_i))
100
+ b.addItem(tr("Conical Gradient"),
101
+ Qt::Variant.new(Qt::ConicalGradientPattern.to_i))
102
+ b.addItem(tr("Texture"), Qt::Variant.new(Qt::TexturePattern.to_i))
103
+ b.addItem(tr("Solid"), Qt::Variant.new(Qt::SolidPattern.to_i))
104
+ b.addItem(tr("Horizontal"), Qt::Variant.new(Qt::HorPattern.to_i))
105
+ b.addItem(tr("Vertical"), Qt::Variant.new(Qt::VerPattern.to_i))
106
+ b.addItem(tr("Cross"), Qt::Variant.new(Qt::CrossPattern.to_i))
107
+ b.addItem(tr("Backward Diagonal"), Qt::Variant.new(Qt::BDiagPattern.to_i))
108
+ b.addItem(tr("Forward Diagonal"), Qt::Variant.new(Qt::FDiagPattern.to_i))
109
+ b.addItem(tr("Diagonal Cross"), Qt::Variant.new(Qt::DiagCrossPattern.to_i))
110
+ b.addItem(tr("Dense 1"), Qt::Variant.new(Qt::Dense1Pattern.to_i))
111
+ b.addItem(tr("Dense 2"), Qt::Variant.new(Qt::Dense2Pattern.to_i))
112
+ b.addItem(tr("Dense 3"), Qt::Variant.new(Qt::Dense3Pattern.to_i))
113
+ b.addItem(tr("Dense 4"), Qt::Variant.new(Qt::Dense4Pattern.to_i))
114
+ b.addItem(tr("Dense 5"), Qt::Variant.new(Qt::Dense5Pattern.to_i))
115
+ b.addItem(tr("Dense 6"), Qt::Variant.new(Qt::Dense6Pattern.to_i))
116
+ b.addItem(tr("Dense 7"), Qt::Variant.new(Qt::Dense7Pattern.to_i))
117
+ b.addItem(tr("None"), Qt::Variant.new(Qt::NoBrush.to_i))
118
+ end
119
+
120
+ @brushStyleLabel = Qt::Label.new(tr("&Brush Style:"))
121
+ @brushStyleLabel.buddy = @brushStyleComboBox
122
+
123
+ @antialiasingCheckBox = Qt::CheckBox.new(tr("&Antialiasing"))
124
+ @transformationsCheckBox = Qt::CheckBox.new(tr("&Transformations"))
125
+
126
+ connect(@shapeComboBox, SIGNAL('activated(int)'),
127
+ self, SLOT('shapeChanged()'))
128
+ connect(@penWidthSpinBox, SIGNAL('valueChanged(int)'),
129
+ self, SLOT('penChanged()'))
130
+ connect(@penStyleComboBox, SIGNAL('activated(int)'),
131
+ self, SLOT('penChanged()'))
132
+ connect(@penCapComboBox, SIGNAL('activated(int)'),
133
+ self, SLOT('penChanged()'))
134
+ connect(@penJoinComboBox, SIGNAL('activated(int)'),
135
+ self, SLOT('penChanged()'))
136
+ connect(@brushStyleComboBox, SIGNAL('activated(int)'),
137
+ self, SLOT('brushChanged()'))
138
+ connect(@antialiasingCheckBox, SIGNAL('toggled(bool)'),
139
+ @renderArea, SLOT('antialiased=(bool)'))
140
+ connect(@transformationsCheckBox, SIGNAL('toggled(bool)'),
141
+ @renderArea, SLOT('transformed=(bool)'))
142
+
143
+ checkBoxLayout = Qt::HBoxLayout.new do |c|
144
+ c.addWidget(@antialiasingCheckBox)
145
+ c.addWidget(@transformationsCheckBox)
146
+ end
147
+
148
+ self.layout = Qt::GridLayout.new do |l|
149
+ l.addWidget(@renderArea, 0, 0, 1, 2)
150
+ l.addWidget(@shapeLabel, 1, 0)
151
+ l.addWidget(@shapeComboBox, 1, 1)
152
+ l.addWidget(@penWidthLabel, 2, 0)
153
+ l.addWidget(@penWidthSpinBox, 2, 1)
154
+ l.addWidget(@penStyleLabel, 3, 0)
155
+ l.addWidget(@penStyleComboBox, 3, 1)
156
+ l.addWidget(@penCapLabel, 4, 0)
157
+ l.addWidget(@penCapComboBox, 4, 1)
158
+ l.addWidget(@penJoinLabel, 5, 0)
159
+ l.addWidget(@penJoinComboBox, 5, 1)
160
+ l.addWidget(@brushStyleLabel, 6, 0)
161
+ l.addWidget(@brushStyleComboBox, 6, 1)
162
+ l.addLayout(checkBoxLayout, 7, 0, 1, 2)
163
+ end
164
+
165
+ shapeChanged()
166
+ penChanged()
167
+ brushChanged()
168
+ @renderArea.antialiased = false
169
+ @renderArea.transformed = false
170
+
171
+ setWindowTitle(tr("Basic Drawing"))
172
+ end
173
+
174
+ def shapeChanged()
175
+ shape = @shapeComboBox.itemData(@shapeComboBox.currentIndex(), @idRole).toInt
176
+ @renderArea.shape = shape
177
+ end
178
+
179
+ def penChanged()
180
+ width = @penWidthSpinBox.value()
181
+ style = @penStyleComboBox.itemData(@penStyleComboBox.currentIndex(), @idRole).toInt
182
+ cap = @penCapComboBox.itemData(@penCapComboBox.currentIndex(), @idRole).toInt
183
+ join = @penJoinComboBox.itemData(@penJoinComboBox.currentIndex(), @idRole).toInt
184
+
185
+ @renderArea.pen = Qt::Pen.new(Qt::Brush.new(Qt::blue), width, style, cap, join)
186
+ end
187
+
188
+ def brushChanged()
189
+ style = @brushStyleComboBox.itemData(@brushStyleComboBox.currentIndex(), @idRole).toInt
190
+
191
+ if style == Qt::LinearGradientPattern
192
+ linearGradient = Qt::LinearGradient.new(0, 0, 100, 100)
193
+ linearGradient.setColorAt(0.0, Qt::Color.new(Qt::white))
194
+ linearGradient.setColorAt(0.2, Qt::Color.new(Qt::green))
195
+ linearGradient.setColorAt(1.0, Qt::Color.new(Qt::black))
196
+ @renderArea.brush = Qt::Brush.new(linearGradient)
197
+ elsif style == Qt::RadialGradientPattern
198
+ radialGradient = Qt::RadialGradient.new(50, 50, 50, 50, 50)
199
+ radialGradient.setColorAt(0.0, Qt::Color.new(Qt::white))
200
+ radialGradient.setColorAt(0.2, Qt::Color.new(Qt::green))
201
+ radialGradient.setColorAt(1.0, Qt::Color.new(Qt::black))
202
+ @renderArea.brush = Qt::Brush.new(radialGradient)
203
+ elsif style == Qt::ConicalGradientPattern
204
+ conicalGradient = Qt::ConicalGradient.new(50, 50, 150)
205
+ conicalGradient.setColorAt(0.0, Qt::Color.new(Qt::white))
206
+ conicalGradient.setColorAt(0.2, Qt::Color.new(Qt::green))
207
+ conicalGradient.setColorAt(1.0, Qt::Color.new(Qt::black))
208
+ @renderArea.brush = Qt::Brush.new(conicalGradient)
209
+ elsif style == Qt::TexturePattern
210
+ @renderArea.brush = Qt::Brush.new(Qt::Pixmap.new("images/brick.png"))
211
+ else
212
+ @renderArea.brush = Qt::Brush.new(Qt::green, style)
213
+ end
214
+ end
215
+ end
@@ -0,0 +1,88 @@
1
+ =begin
2
+ **
3
+ ** Copyright (C) 2004-2005 Trolltech AS. All rights reserved.
4
+ **
5
+ ** This file is part of the example classes of the Qt Toolkit.
6
+ **
7
+ ** This file may be used under the terms of the GNU General Public
8
+ ** License version 2.0 as published by the Free Software Foundation
9
+ ** and appearing in the file LICENSE.GPL included in the packaging of
10
+ ** this file. Please review the following information to ensure GNU
11
+ ** General Public Licensing requirements will be met:
12
+ ** http://www.trolltech.com/products/qt/opensource.html
13
+ **
14
+ ** If you are unsure which license is appropriate for your use, please
15
+ ** review the following information:
16
+ ** http://www.trolltech.com/products/qt/licensing.html or contact the
17
+ ** sales department at sales@trolltech.com.
18
+ **
19
+ ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
20
+ ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21
+ **
22
+
23
+ ** Translated to QtRuby by Richard Dale
24
+ =end
25
+
26
+
27
+ class CircleWidget < Qt::Widget
28
+
29
+ slots 'nextAnimationFrame()'
30
+
31
+ def initialize(parent = nil)
32
+ super(parent)
33
+ @floatBased = false
34
+ @antialiased = false
35
+ @frameNo = 0
36
+
37
+ setBackgroundRole(Qt::Palette::Base)
38
+ setSizePolicy(Qt::SizePolicy::Expanding, Qt::SizePolicy::Expanding)
39
+ end
40
+
41
+ def floatBased=(floatBased)
42
+ @floatBased = floatBased
43
+ update()
44
+ end
45
+
46
+ def antialiased=(antialiased)
47
+ @antialiased = antialiased
48
+ update()
49
+ end
50
+
51
+ def minimumSizeHint()
52
+ return Qt::Size.new(50, 50)
53
+ end
54
+
55
+ def sizeHint()
56
+ return Qt::Size.new(180, 180)
57
+ end
58
+
59
+ def nextAnimationFrame()
60
+ @frameNo += 1
61
+ update()
62
+ end
63
+
64
+ def paintEvent(event)
65
+ painter = Qt::Painter.new(self)
66
+ painter.setRenderHint(Qt::Painter::Antialiasing, @antialiased)
67
+ painter.translate(width() / 2, height() / 2)
68
+
69
+ diameter = 0
70
+ while diameter < 256
71
+ delta = ((@frameNo % 128) - diameter / 2).abs
72
+ alpha = 255 - (delta * delta) / 4 - diameter
73
+ if alpha > 0
74
+ painter.pen = Qt::Pen.new(Qt::Brush.new(Qt::Color.new(0, diameter / 2, 127, alpha)), 3)
75
+
76
+ if @floatBased
77
+ painter.drawEllipse(Qt::RectF.new(-diameter / 2.0, -diameter / 2.0,
78
+ diameter, diameter))
79
+ else
80
+ painter.drawEllipse(Qt::Rect.new(-diameter / 2, -diameter / 2,
81
+ diameter, diameter))
82
+ end
83
+ end
84
+ diameter += 9
85
+ end
86
+ painter.end
87
+ end
88
+ end
@@ -0,0 +1,32 @@
1
+ =begin
2
+ **
3
+ ** Copyright (C) 2004-2005 Trolltech AS. All rights reserved.
4
+ **
5
+ ** This file is part of the example classes of the Qt Toolkit.
6
+ **
7
+ ** This file may be used under the terms of the GNU General Public
8
+ ** License version 2.0 as published by the Free Software Foundation
9
+ ** and appearing in the file LICENSE.GPL included in the packaging of
10
+ ** this file. Please review the following information to ensure GNU
11
+ ** General Public Licensing requirements will be met:
12
+ ** http://www.trolltech.com/products/qt/opensource.html
13
+ **
14
+ ** If you are unsure which license is appropriate for your use, please
15
+ ** review the following information:
16
+ ** http://www.trolltech.com/products/qt/licensing.html or contact the
17
+ ** sales department at sales@trolltech.com.
18
+ **
19
+ ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
20
+ ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21
+ **
22
+
23
+ ** Translated to QtRuby by Richard Dale
24
+ =end
25
+
26
+ require 'Qt'
27
+ require './window.rb'
28
+
29
+ app = Qt::Application.new(ARGV)
30
+ window = Window.new
31
+ window.show
32
+ app.exec
@@ -0,0 +1,72 @@
1
+ =begin
2
+ **
3
+ ** Copyright (C) 2004-2005 Trolltech AS. All rights reserved.
4
+ **
5
+ ** This file is part of the example classes of the Qt Toolkit.
6
+ **
7
+ ** This file may be used under the terms of the GNU General Public
8
+ ** License version 2.0 as published by the Free Software Foundation
9
+ ** and appearing in the file LICENSE.GPL included in the packaging of
10
+ ** this file. Please review the following information to ensure GNU
11
+ ** General Public Licensing requirements will be met:
12
+ ** http://www.trolltech.com/products/qt/opensource.html
13
+ **
14
+ ** If you are unsure which license is appropriate for your use, please
15
+ ** review the following information:
16
+ ** http://www.trolltech.com/products/qt/licensing.html or contact the
17
+ ** sales department at sales@trolltech.com.
18
+ **
19
+ ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
20
+ ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21
+ **
22
+
23
+ ** Translated to QtRuby by Richard Dale
24
+ =end
25
+
26
+
27
+ require './circlewidget.rb'
28
+
29
+ class Window < Qt::Widget
30
+
31
+ def initialize(parent = nil)
32
+ super
33
+ @aliasedLabel = createLabel(tr("Aliased"))
34
+ @antialiasedLabel = createLabel(tr("Antialiased"))
35
+ @intLabel = createLabel(tr("Int"))
36
+ @floatLabel = createLabel(tr("Float"))
37
+ @circleWidgets = Array.new(2, Array.new(2))
38
+
39
+ layout = Qt::GridLayout.new
40
+ layout.addWidget(@aliasedLabel, 0, 1)
41
+ layout.addWidget(@antialiasedLabel, 0, 2)
42
+ layout.addWidget(@intLabel, 1, 0)
43
+ layout.addWidget(@floatLabel, 2, 0)
44
+
45
+ timer = Qt::Timer.new(self)
46
+
47
+ (0...2).each do |i|
48
+ (0...2).each do |j|
49
+ @circleWidgets[i][j] = CircleWidget.new
50
+ @circleWidgets[i][j].antialiased = j != 0
51
+ @circleWidgets[i][j].floatBased = i != 0
52
+
53
+ connect(timer, SIGNAL('timeout()'),
54
+ @circleWidgets[i][j], SLOT('nextAnimationFrame()'))
55
+
56
+ layout.addWidget(@circleWidgets[i][j], i + 1, j + 1)
57
+ end
58
+ end
59
+ timer.start(100)
60
+ setLayout(layout)
61
+
62
+ setWindowTitle(tr("Concentric Circles"))
63
+ end
64
+
65
+ def createLabel(text)
66
+ label = Qt::Label.new(text)
67
+ label.alignment = Qt::AlignCenter.to_i
68
+ label.margin = 2
69
+ label.frameStyle = Qt::Frame::Box | Qt::Frame::Sunken
70
+ return label
71
+ end
72
+ end
@@ -0,0 +1,32 @@
1
+ =begin
2
+ **
3
+ ** Copyright (C) 2004-2005 Trolltech AS. All rights reserved.
4
+ **
5
+ ** This file is part of the example classes of the Qt Toolkit.
6
+ **
7
+ ** This file may be used under the terms of the GNU General Public
8
+ ** License version 2.0 as published by the Free Software Foundation
9
+ ** and appearing in the file LICENSE.GPL included in the packaging of
10
+ ** this file. Please review the following information to ensure GNU
11
+ ** General Public Licensing requirements will be met:
12
+ ** http://www.trolltech.com/products/qt/opensource.html
13
+ **
14
+ ** If you are unsure which license is appropriate for your use, please
15
+ ** review the following information:
16
+ ** http://www.trolltech.com/products/qt/licensing.html or contact the
17
+ ** sales department at sales@trolltech.com.
18
+ **
19
+ ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
20
+ ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21
+ **
22
+
23
+ ** Translated to QtRuby by Richard Dale
24
+ =end
25
+
26
+ require 'Qt'
27
+ require './mainwindow.rb'
28
+
29
+ app = Qt::Application.new(ARGV)
30
+ window = MainWindow.new
31
+ window.show
32
+ app.exec
@@ -0,0 +1,369 @@
1
+ =begin
2
+ **
3
+ ** Copyright (C) 2004-2006 Trolltech AS. All rights reserved.
4
+ **
5
+ ** This file is part of the example classes of the Qt Toolkit.
6
+ **
7
+ ** This file may be used under the terms of the GNU General Public
8
+ ** License version 2.0 as published by the Free Software Foundation
9
+ ** and appearing in the file LICENSE.GPL included in the packaging of
10
+ ** this file. Please review the following information to ensure GNU
11
+ ** General Public Licensing requirements will be met:
12
+ ** http://www.trolltech.com/products/qt/opensource.html
13
+ **
14
+ ** If you are unsure which license is appropriate for your use, please
15
+ ** review the following information:
16
+ ** http://www.trolltech.com/products/qt/licensing.html or contact the
17
+ ** sales department at sales@trolltech.com.
18
+ **
19
+ ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
20
+ ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21
+ **
22
+
23
+ ** Translated to QtRuby by Richard Dale
24
+ =end
25
+
26
+ require './ui_mainwindowbase.rb'
27
+ require './previewdialog.rb'
28
+
29
+ class MainWindow < Qt::MainWindow
30
+
31
+
32
+ slots 'on_clearAction_triggered()',
33
+ 'on_markAction_triggered()',
34
+ 'on_printAction_triggered()',
35
+ 'on_printPreviewAction_triggered()',
36
+ 'on_unmarkAction_triggered()',
37
+ 'printPage(int, QPainter*, QPrinter*)',
38
+ 'showFont(QTreeWidgetItem *)',
39
+ 'updateStyles(QTreeWidgetItem *, int)'
40
+
41
+ def initialize(parent = nil)
42
+ super(parent)
43
+ @ui = Ui_MainWindowBase.new
44
+ @ui.setupUi(self)
45
+ @sampleSizes = []
46
+ @sampleSizes << 32 << 24 << 16 << 14 << 12 << 8 << 4 << 2 << 1
47
+ @markedCount = 0
48
+ @pageMap = {}
49
+ setupFontTree()
50
+
51
+ connect(@ui.quitAction, SIGNAL('triggered()'), $qApp, SLOT('quit()'))
52
+ connect(@ui.fontTree, SIGNAL('currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)'),
53
+ self, SLOT('showFont(QTreeWidgetItem *)'))
54
+ connect(@ui.fontTree, SIGNAL('itemChanged(QTreeWidgetItem *, int)'),
55
+ self, SLOT('updateStyles(QTreeWidgetItem *, int)'))
56
+
57
+ @ui.fontTree.setItemSelected(@ui.fontTree.topLevelItem(0), true)
58
+ showFont(@ui.fontTree.topLevelItem(0))
59
+ end
60
+
61
+ def setupFontTree()
62
+ database = Qt::FontDatabase.new
63
+ @ui.fontTree.columnCount = 1
64
+ @ui.fontTree.headerLabels = [tr("Font")]
65
+
66
+ database.families.each do |family|
67
+ styles = database.styles(family)
68
+ if styles.empty?
69
+ continue
70
+ end
71
+
72
+ familyItem = Qt::TreeWidgetItem.new(@ui.fontTree)
73
+ familyItem.setText(0, family)
74
+ familyItem.setCheckState(0, Qt::Unchecked)
75
+
76
+ styles.each do |style|
77
+ styleItem = Qt::TreeWidgetItem.new(familyItem)
78
+ styleItem.setText(0, style)
79
+ styleItem.setCheckState(0, Qt::Unchecked)
80
+ styleItem.setData(0, Qt::UserRole,
81
+ Qt::Variant.new(database.weight(family, style)))
82
+ styleItem.setData(0, Qt::UserRole + 1,
83
+ Qt::Variant.new(database.italic(family, style)))
84
+ end
85
+ end
86
+ end
87
+
88
+ def on_clearAction_triggered()
89
+ currentItem = @ui.fontTree.currentItem()
90
+ @ui.fontTree.selectedItems.each do |item|
91
+ @ui.fontTree.setItemSelected(item, false)
92
+ end
93
+ @ui.fontTree.setItemSelected(currentItem, true)
94
+ end
95
+
96
+ def on_markAction_triggered()
97
+ markUnmarkFonts(Qt::Checked)
98
+ end
99
+
100
+ def on_unmarkAction_triggered()
101
+ markUnmarkFonts(Qt::Unchecked)
102
+ end
103
+
104
+ def markUnmarkFonts(state)
105
+ items = @ui.fontTree.selectedItems()
106
+ items.each do |item|
107
+ if item.checkState(0) != state
108
+ item.setCheckState(0, state)
109
+ end
110
+ end
111
+ end
112
+
113
+ def showFont(item)
114
+ if item.nil?
115
+ return
116
+ end
117
+
118
+ if !item.parent.nil?
119
+ family = item.parent().text(0)
120
+ style = item.text(0)
121
+ weight = item.data(0, Qt::UserRole).to_i
122
+ italic = item.data(0, Qt::UserRole + 1).toBool()
123
+ else
124
+ family = item.text(0)
125
+ style = item.child(0).text(0)
126
+ weight = item.child(0).data(0, Qt::UserRole).to_i
127
+ italic = item.child(0).data(0, Qt::UserRole + 1).toBool()
128
+ end
129
+
130
+ oldText = @ui.textEdit.toPlainText.lstrip.rstrip
131
+ modified = @ui.textEdit.document.modified?
132
+ @ui.textEdit.clear
133
+ @ui.textEdit.document.setDefaultFont(Qt::Font.new(family, 32, weight, italic))
134
+
135
+ cursor = @ui.textEdit.textCursor()
136
+ blockFormat = Qt::TextBlockFormat.new
137
+ blockFormat.alignment = Qt::AlignCenter
138
+ cursor.insertBlock(blockFormat)
139
+
140
+ if modified
141
+ cursor.insertText(oldText)
142
+ else
143
+ cursor.insertText("%s %s" % [family, style])
144
+ end
145
+
146
+ @ui.textEdit.document().modified = modified
147
+ end
148
+
149
+ def updateStyles(item, column)
150
+ if item.nil? || column != 0
151
+ return
152
+ end
153
+ state = item.checkState(0)
154
+ parent = item.parent
155
+
156
+ if !parent.nil?
157
+
158
+ # Only count style items.
159
+ if state == Qt::Checked
160
+ @markedCount += 1
161
+ else
162
+ @markedCount -= 1
163
+ end
164
+
165
+ if state == Qt::Checked &&
166
+ parent.checkState(0) == Qt::Unchecked
167
+ # Mark parent items when child items are checked.
168
+ parent.setCheckState(0, Qt::Checked)
169
+ elsif state == Qt::Unchecked &&
170
+ parent.checkState(0) == Qt::Checked
171
+ marked = false
172
+ for row in 0..(parent.childCount - 1)
173
+ if parent.child(row).checkState(0) == Qt::Checked
174
+ marked = true
175
+ break
176
+ end
177
+ end
178
+ # Unmark parent items when all child items are unchecked.
179
+ if !marked
180
+ parent.setCheckState(0, Qt::Unchecked)
181
+ end
182
+ end
183
+ else
184
+ row
185
+ number = 0
186
+ for row in 0..(item.childCount - 1)
187
+ if item.child(row).checkState(0) == Qt::Checked
188
+ number += 1
189
+ end
190
+ end
191
+
192
+ # Mark/unmark all child items when marking/unmarking top-level
193
+ # items.
194
+ if state == Qt::Checked && number == 0
195
+ for row in 0..(item.childCount - 1)
196
+ if item.child(row).checkState(0) == Qt::Unchecked
197
+ item.child(row).setCheckState(0, Qt::Checked)
198
+ end
199
+ end
200
+ elsif state == Qt::Unchecked && number > 0
201
+ for row in 0..(item.childCount - 1)
202
+ if item.child(row).checkState(0) == Qt::Checked
203
+ item.child(row).setCheckState(0, Qt::Unchecked)
204
+ end
205
+ end
206
+ end
207
+ end
208
+
209
+ @ui.printAction.enabled = @markedCount > 0
210
+ @ui.printPreviewAction.enabled = @markedCount > 0
211
+ end
212
+
213
+ def on_printAction_triggered()
214
+ @pageMap = currentPageMap()
215
+
216
+ if @pageMap.length == 0
217
+ return
218
+ end
219
+
220
+ printer = Qt::Printer.new(Qt::Printer::HighResolution)
221
+ if !setupPrinter(printer)
222
+ return
223
+ end
224
+
225
+ from = printer.fromPage()
226
+ to = printer.toPage()
227
+ if from <= 0 && to <= 0
228
+ from = 1
229
+ to = @pageMap.keys().length
230
+ end
231
+
232
+ progress = Qt::ProgressDialog.new(tr("Printing font samples..."), tr("&Cancel"),
233
+ 0, @pageMap.length, self)
234
+ progress.windowModality = Qt::ApplicationModal
235
+ progress.windowTitle = tr("Printing")
236
+ progress.minimum = from - 1
237
+ progress.maximum = to
238
+
239
+ painter = Qt::Painter.new
240
+ painter.begin(printer)
241
+ firstPage = true
242
+
243
+ for index in -1..to
244
+ if !firstPage
245
+ printer.newPage()
246
+ end
247
+
248
+ $qApp.processEvents()
249
+ if progress.wasCanceled()
250
+ break
251
+ end
252
+
253
+ printPage(index, painter, printer)
254
+ progress.value = index + 1
255
+ firstPage = false
256
+ end
257
+
258
+ painter.end
259
+ end
260
+
261
+ def on_printPreviewAction_triggered()
262
+ @pageMap = currentPageMap()
263
+
264
+ if @pageMap.length == 0
265
+ return
266
+ end
267
+ printer = Qt::Printer.new
268
+
269
+ preview = PreviewDialog.new(printer, self)
270
+ connect(preview,
271
+ SIGNAL('pageRequested(int, QPainter*, QPrinter*)'),
272
+ self, SLOT('printPage(int, QPainter*, QPrinter*)'),
273
+ Qt::DirectConnection)
274
+
275
+ preview.setNumberOfPages = @pageMap.length
276
+ preview.exec()
277
+ end
278
+
279
+ def currentPageMap()
280
+ pageMap = {}
281
+
282
+ for row in 0..(@ui.fontTree.topLevelItemCount - 1)
283
+ familyItem = @ui.fontTree.topLevelItem(row)
284
+
285
+ if familyItem.checkState(0) == Qt::Checked
286
+ family = familyItem.text(0)
287
+ pageMap[family] = []
288
+ end
289
+
290
+ for childRow in 0..(familyItem.childCount - 1)
291
+ styleItem = familyItem.child(childRow)
292
+ if styleItem.checkState(0) == Qt::Checked
293
+ pageMap[family] << styleItem
294
+ end
295
+ end
296
+ end
297
+
298
+ return pageMap
299
+ end
300
+
301
+ def setupPrinter(printer)
302
+ dialog = Qt::PrintDialog.new(printer, self)
303
+ return dialog.exec() == Qt::Dialog::Accepted
304
+ end
305
+
306
+ def printPage(index, painter, printer)
307
+ pageMap = currentPageMap()
308
+ family = pageMap.keys()[index]
309
+ items = pageMap[family]
310
+
311
+ # Find the dimensions of the text on each page.
312
+ width = 0.0
313
+ height = 0.0
314
+ items.each do |item|
315
+ style = item.text(0)
316
+ weight = item.data(0, Qt::UserRole).to_i
317
+ italic = item.data(0, Qt::UserRole + 1).toBool()
318
+
319
+ # Calculate the maximum width and total height of the text.
320
+ @sampleSizes.each do |size|
321
+ font = Qt::Font.new(family, size, weight, italic)
322
+ font = Qt::Font.new(font, painter.device())
323
+ fontMetrics = Qt::FontMetricsF.new(font)
324
+ rect = fontMetrics.boundingRect(
325
+ "%s %s" % [family, style])
326
+ width = [rect.width(), width].max
327
+ height += rect.height()
328
+ end
329
+ end
330
+
331
+ xScale = printer.pageRect().width() / width
332
+ yScale = printer.pageRect().height() / height
333
+ scale = [xScale, yScale].min
334
+
335
+ remainingHeight = printer.pageRect().height()/scale - height
336
+ spaceHeight = (remainingHeight/4.0) / (items.length + 1)
337
+ interLineHeight = (remainingHeight/4.0) / (@sampleSizes.length * items.count())
338
+
339
+ painter.save()
340
+ painter.translate(printer.pageRect().width()/2.0, printer.pageRect().height()/2.0)
341
+ painter.scale(scale, scale)
342
+ painter.brush = Qt::Brush.new(Qt::black)
343
+
344
+ x = -width/2.0
345
+ y = -height/2.0 - remainingHeight/4.0 + spaceHeight
346
+
347
+ items.each do |item|
348
+ style = item.text(0)
349
+ weight = item.data(0, Qt::UserRole).to_i
350
+ italic = item.data(0, Qt::UserRole + 1).toBool()
351
+
352
+ # Draw each line of text
353
+ @sampleSizes.each do |size|
354
+ font = Qt::Font.new(family, size, weight, italic)
355
+ font = Qt::Font.new(font, painter.device())
356
+ fontMetrics = Qt::FontMetricsF.new(font)
357
+ rect = fontMetrics.boundingRect("%s %s" % [font.family(), style])
358
+ y += rect.height()
359
+ painter.font = font
360
+ painter.drawText(Qt::PointF.new(x, y),
361
+ "%s %s" % [family, style])
362
+ y += interLineHeight
363
+ end
364
+ y += spaceHeight
365
+ end
366
+
367
+ painter.restore()
368
+ end
369
+ end