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,43 @@
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
+ class PreviewLabel < Qt::Widget
27
+
28
+ def initialize(parent = nil)
29
+ super(parent)
30
+ end
31
+
32
+ def paintEvent(event)
33
+ painter = Qt::Painter.new
34
+ painter.begin(self)
35
+ painter.fillRect(event.rect(), Qt::Color.new(224,224,224))
36
+ painter.drawPixmap(0, 0, @pixmap) if @pixmap
37
+ painter.end()
38
+ end
39
+
40
+ def pixmap=(pixmap)
41
+ @pixmap = pixmap
42
+ end
43
+ end
@@ -0,0 +1,152 @@
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
+ class ImageComposer < Qt::Widget
27
+
28
+ @@resultSize = Qt::Size.new(200, 200)
29
+
30
+ slots :chooseSource, :chooseDestination, :recalculateResult
31
+
32
+ def initialize()
33
+ super()
34
+
35
+ @sourceButton = Qt::ToolButton.new
36
+ @sourceButton.iconSize = @@resultSize
37
+
38
+ @operatorComboBox = Qt::ComboBox.new
39
+ addOp(Qt::Painter::CompositionMode_SourceOver, tr("SourceOver"))
40
+ addOp(Qt::Painter::CompositionMode_DestinationOver, tr("DestinationOver"))
41
+ addOp(Qt::Painter::CompositionMode_Clear, tr("Clear"))
42
+ addOp(Qt::Painter::CompositionMode_Source, tr("Source"))
43
+ addOp(Qt::Painter::CompositionMode_Destination, tr("Destination"))
44
+ addOp(Qt::Painter::CompositionMode_SourceIn, tr("SourceIn"))
45
+ addOp(Qt::Painter::CompositionMode_DestinationIn, tr("DestinationIn"))
46
+ addOp(Qt::Painter::CompositionMode_SourceOut, tr("SourceOut"))
47
+ addOp(Qt::Painter::CompositionMode_DestinationOut, tr("DestinationOut"))
48
+ addOp(Qt::Painter::CompositionMode_SourceAtop, tr("SourceAtop"))
49
+ addOp(Qt::Painter::CompositionMode_DestinationAtop, tr("DestinationAtop"))
50
+ addOp(Qt::Painter::CompositionMode_Xor, tr("Xor"))
51
+
52
+ @destinationButton = Qt::ToolButton.new
53
+ @destinationButton.iconSize = @@resultSize
54
+
55
+ @equalLabel = Qt::Label.new(tr("="))
56
+
57
+ @resultLabel = Qt::Label.new
58
+ @resultLabel.minimumWidth = @@resultSize.width()
59
+
60
+ connect(@sourceButton, SIGNAL(:clicked), self, SLOT(:chooseSource))
61
+ connect(@operatorComboBox, SIGNAL('activated(int)'),
62
+ self, SLOT('recalculateResult()'))
63
+ connect(@destinationButton, SIGNAL(:clicked),
64
+ self, SLOT(:chooseDestination))
65
+
66
+ self.layout = Qt::GridLayout.new do |m|
67
+ m.addWidget(@sourceButton, 0, 0, 3, 1)
68
+ m.addWidget(@operatorComboBox, 1, 1)
69
+ m.addWidget(@destinationButton, 0, 2, 3, 1)
70
+ m.addWidget(@equalLabel, 1, 3)
71
+ m.addWidget(@resultLabel, 0, 4, 3, 1)
72
+ m.sizeConstraint = Qt::Layout::SetFixedSize
73
+ end
74
+
75
+ @resultImage = Qt::Image.new(@@resultSize, Qt::Image::Format_ARGB32_Premultiplied)
76
+
77
+ @sourceImage = Qt::Image.new
78
+ @destinationImage = Qt::Image.new
79
+
80
+ loadImage(":/images/butterfly.png", @sourceImage, @sourceButton)
81
+ loadImage(":/images/checker.png", @destinationImage, @destinationButton)
82
+
83
+
84
+ setWindowTitle(tr("Image Composition"))
85
+ end
86
+
87
+ def chooseSource()
88
+ chooseImage(tr("Choose Source Image"), @sourceImage, @sourceButton)
89
+ end
90
+
91
+ def chooseDestination()
92
+ chooseImage(tr("Choose Destination Image"), @destinationImage,
93
+ @destinationButton)
94
+ end
95
+
96
+ def recalculateResult()
97
+ mode = currentMode()
98
+
99
+ painter = Qt::Painter.new(@resultImage)
100
+ painter.compositionMode = Qt::Painter::CompositionMode_Source
101
+ painter.fillRect(@resultImage.rect(), Qt::Brush.new(Qt::transparent))
102
+ painter.compositionMode = Qt::Painter::CompositionMode_SourceOver
103
+ painter.drawImage(0, 0, @destinationImage)
104
+ painter.compositionMode = mode
105
+ painter.drawImage(0, 0, @sourceImage)
106
+ painter.compositionMode = Qt::Painter::CompositionMode_DestinationOver
107
+ painter.fillRect(@resultImage.rect(), Qt::Brush.new(Qt::white))
108
+ painter.end
109
+
110
+ @resultLabel.pixmap = Qt::Pixmap.fromImage(@resultImage)
111
+ end
112
+
113
+ def addOp(mode, name)
114
+ @operatorComboBox.addItem(name, Qt::Variant.new(mode.to_i))
115
+ end
116
+
117
+ def chooseImage(title, image, button)
118
+ fileName = Qt::FileDialog.getOpenFileName(self, title)
119
+ if !fileName.nil?
120
+ loadImage(fileName, image, button)
121
+ end
122
+ end
123
+
124
+ def loadImage(fileName, image, button)
125
+ image.load(fileName)
126
+
127
+ fixedImage = Qt::Image.new(@@resultSize, Qt::Image::Format_ARGB32_Premultiplied)
128
+ painter = Qt::Painter.new(fixedImage)
129
+ painter.compositionMode = Qt::Painter::CompositionMode_Source
130
+ painter.fillRect(fixedImage.rect(), Qt::Brush.new(Qt::transparent))
131
+ painter.compositionMode = Qt::Painter::CompositionMode_SourceOver
132
+ painter.drawImage(imagePos(image), image)
133
+ painter.end
134
+ button.icon = Qt::Icon.new(Qt::Pixmap.fromImage(fixedImage))
135
+
136
+ # The 'QImage::operator=()' method to use as an assignment isn't easily called
137
+ # in QtRuby, so use the convenience method Qt::Image.fromImage() instead
138
+ # image = fixedImage
139
+ image.fromImage(fixedImage)
140
+
141
+ recalculateResult()
142
+ end
143
+
144
+ def currentMode()
145
+ return @operatorComboBox.itemData(@operatorComboBox.currentIndex()).to_i
146
+ end
147
+
148
+ def imagePos(image)
149
+ return Qt::Point.new((@@resultSize.width() - image.width()) / 2,
150
+ (@@resultSize.height() - image.height()) / 2)
151
+ end
152
+ end
@@ -0,0 +1,6 @@
1
+ <!DOCTYPE RCC><RCC version="1.0">
2
+ <qresource>
3
+ <file>images/butterfly.png</file>
4
+ <file>images/checker.png</file>
5
+ </qresource>
6
+ </RCC>
@@ -0,0 +1,33 @@
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 './imagecomposer.rb'
28
+ require './qrc_imagecomposition.rb'
29
+
30
+ app = Qt::Application.new(ARGV)
31
+ composer = ImageComposer.new
32
+ composer.show
33
+ app.exec
@@ -0,0 +1,2 @@
1
+ qrc_imagecomposition.rb: imagecomposition.qrc
2
+ rbrcc -name imagecomposition imagecomposition.qrc -o qrc_imagecomposition.rb
@@ -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,97 @@
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
+ class RenderArea < Qt::Widget
27
+
28
+ slots 'fillRule=(Qt::FillRule)',
29
+ 'setFillGradient(const QColor &, const QColor &)',
30
+ 'penWidth=(int)',
31
+ 'penColor=(const QColor &)',
32
+ 'rotationAngle=(int)'
33
+
34
+ def initialize(path, parent = nil)
35
+ super(parent)
36
+ @penWidth = 1
37
+ @rotationAngle = 0
38
+ @path = path
39
+ @fillColor1 = Qt::Color.new
40
+ @fillColor2 = Qt::Color.new
41
+ @penWidth = 0
42
+ @penColor = Qt::Color.new
43
+ setBackgroundRole(Qt::Palette::Base)
44
+ end
45
+
46
+ def minimumSizeHint()
47
+ return Qt::Size.new(50, 50)
48
+ end
49
+
50
+ def sizeHint()
51
+ return Qt::Size.new(100, 100)
52
+ end
53
+
54
+ def fillRule=(rule)
55
+ @path.fillRule = rule
56
+ update()
57
+ end
58
+
59
+ def setFillGradient(color1, color2)
60
+ @fillColor1 = color1
61
+ @fillColor2 = color2
62
+ update()
63
+ end
64
+
65
+ def penWidth=(width)
66
+ @penWidth = width
67
+ update()
68
+ end
69
+
70
+ def penColor=(color)
71
+ @penColor = color
72
+ update()
73
+ end
74
+
75
+ def rotationAngle=(degrees)
76
+ @rotationAngle = degrees
77
+ update()
78
+ end
79
+
80
+ def paintEvent(event)
81
+ painter = Qt::Painter.new(self)
82
+ painter.renderHint = Qt::Painter::Antialiasing
83
+ painter.scale(width() / 100.0, height() / 100.0)
84
+ painter.translate(50.0, 50.0)
85
+ painter.rotate(-@rotationAngle)
86
+ painter.translate(-50.0, -50.0)
87
+
88
+ painter.pen = Qt::Pen.new(Qt::Brush.new(@penColor), @penWidth, Qt::SolidLine, Qt::RoundCap,
89
+ Qt::RoundJoin)
90
+ gradient = Qt::LinearGradient.new(0, 0, 0, 100)
91
+ gradient.setColorAt(0.0, @fillColor1)
92
+ gradient.setColorAt(1.0, @fillColor2)
93
+ painter.brush = Qt::Brush.new(gradient)
94
+ painter.drawPath(@path)
95
+ painter.end
96
+ end
97
+ end
@@ -0,0 +1,247 @@
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 'fillRuleChanged()',
32
+ 'fillGradientChanged()',
33
+ 'penColorChanged()'
34
+
35
+ NumRenderAreas = 9
36
+
37
+ def initialize(parent = nil)
38
+ super
39
+ @renderAreas = Array(NumRenderAreas)
40
+ rectPath = Qt::PainterPath.new do |r|
41
+ r.moveTo(20.0, 30.0)
42
+ r.lineTo(80.0, 30.0)
43
+ r.lineTo(80.0, 70.0)
44
+ r.lineTo(20.0, 70.0)
45
+ r.closeSubpath()
46
+ end
47
+
48
+ roundRectPath = Qt::PainterPath.new do |r|
49
+ r.moveTo(80.0, 35.0)
50
+ r.arcTo(70.0, 30.0, 10.0, 10.0, 0.0, 90.0)
51
+ r.lineTo(25.0, 30.0)
52
+ r.arcTo(20.0, 30.0, 10.0, 10.0, 90.0, 90.0)
53
+ r.lineTo(20.0, 65.0)
54
+ r.arcTo(20.0, 60.0, 10.0, 10.0, 180.0, 90.0)
55
+ r.lineTo(75.0, 70.0)
56
+ r.arcTo(70.0, 60.0, 10.0, 10.0, 270.0, 90.0)
57
+ r.closeSubpath()
58
+ end
59
+
60
+ ellipsePath = Qt::PainterPath.new do |e|
61
+ e.moveTo(80.0, 50.0)
62
+ e.arcTo(20.0, 30.0, 60.0, 40.0, 0.0, 360.0)
63
+ end
64
+
65
+ piePath = Qt::PainterPath.new do |p|
66
+ p.moveTo(50.0, 50.0)
67
+ p.lineTo(65.0, 32.6795)
68
+ p.arcTo(20.0, 30.0, 60.0, 40.0, 60.0, 240.0)
69
+ p.closeSubpath()
70
+ end
71
+
72
+ polygonPath = Qt::PainterPath.new do |p|
73
+ p.moveTo(10.0, 80.0)
74
+ p.lineTo(20.0, 10.0)
75
+ p.lineTo(80.0, 30.0)
76
+ p.lineTo(90.0, 70.0)
77
+ p.closeSubpath()
78
+ end
79
+
80
+ groupPath = Qt::PainterPath.new do |g|
81
+ g.moveTo(60.0, 40.0)
82
+ g.arcTo(20.0, 20.0, 40.0, 40.0, 0.0, 360.0)
83
+ g.moveTo(40.0, 40.0)
84
+ g.lineTo(40.0, 80.0)
85
+ g.lineTo(80.0, 80.0)
86
+ g.lineTo(80.0, 40.0)
87
+ g.closeSubpath()
88
+ end
89
+
90
+ textPath = Qt::PainterPath.new do |t|
91
+ timesFont = Qt::Font.new("Times", 50)
92
+ timesFont.styleStrategy = Qt::Font::ForceOutline
93
+ t.addText(10, 70, timesFont, tr("Qt"))
94
+ end
95
+
96
+ bezierPath = Qt::PainterPath.new do |b|
97
+ b.moveTo(20, 30)
98
+ b.cubicTo(80, 0, 50, 50, 80, 80)
99
+ end
100
+
101
+ starPath = Qt::PainterPath.new do |s|
102
+ s.moveTo(90, 50)
103
+ (1...5).each do |i|
104
+ s.lineTo(50 + 40 * Math.cos(0.8 * i * Math::PI),
105
+ 50 + 40 * Math.sin(0.8 * i * Math::PI))
106
+ end
107
+ s.closeSubpath()
108
+ end
109
+
110
+ @renderAreas[0] = RenderArea.new(rectPath)
111
+ @renderAreas[1] = RenderArea.new(roundRectPath)
112
+ @renderAreas[2] = RenderArea.new(ellipsePath)
113
+ @renderAreas[3] = RenderArea.new(piePath)
114
+ @renderAreas[4] = RenderArea.new(polygonPath)
115
+ @renderAreas[5] = RenderArea.new(groupPath)
116
+ @renderAreas[6] = RenderArea.new(textPath)
117
+ @renderAreas[7] = RenderArea.new(bezierPath)
118
+ @renderAreas[8] = RenderArea.new(starPath)
119
+
120
+ @fillRuleComboBox = Qt::ComboBox.new do |f|
121
+ f.addItem(tr("Odd Even"), Qt::Variant.new(Qt::OddEvenFill.to_i))
122
+ f.addItem(tr("Winding"), Qt::Variant.new(Qt::WindingFill.to_i))
123
+ end
124
+
125
+ @fillRuleLabel = Qt::Label.new(tr("Fill &Rule:"))
126
+ @fillRuleLabel.buddy = @fillRuleComboBox
127
+
128
+ @fillColor1ComboBox = Qt::ComboBox.new
129
+ populateWithColors(@fillColor1ComboBox)
130
+ @fillColor1ComboBox.setCurrentIndex(
131
+ @fillColor1ComboBox.findText("mediumslateblue"))
132
+
133
+ @fillColor2ComboBox = Qt::ComboBox.new
134
+ populateWithColors(@fillColor2ComboBox)
135
+ @fillColor2ComboBox.setCurrentIndex(
136
+ @fillColor2ComboBox.findText("cornsilk"))
137
+
138
+ @fillGradientLabel = Qt::Label.new(tr("&Fill Gradient:"))
139
+ @fillGradientLabel.buddy = @fillColor1ComboBox
140
+
141
+ @fillToLabel = Qt::Label.new(tr("to"))
142
+ @fillToLabel.setSizePolicy(Qt::SizePolicy::Fixed, Qt::SizePolicy::Fixed)
143
+
144
+ @penWidthSpinBox = Qt::SpinBox.new
145
+ @penWidthSpinBox.range = 0..20
146
+
147
+ @penWidthLabel = Qt::Label.new(tr("&Pen Width:"))
148
+ @penWidthLabel.buddy = @penWidthSpinBox
149
+
150
+ @penColorComboBox = Qt::ComboBox.new
151
+ populateWithColors(@penColorComboBox)
152
+ @penColorComboBox.setCurrentIndex(
153
+ @penColorComboBox.findText("darkslateblue"))
154
+
155
+ @penColorLabel = Qt::Label.new(tr("Pen &Color:"))
156
+ @penColorLabel.buddy = @penColorComboBox
157
+
158
+ @rotationAngleSpinBox = Qt::SpinBox.new do |r|
159
+ r.range = 0..359
160
+ r.wrapping = true
161
+ r.suffix = "\xB0"
162
+ end
163
+
164
+ @rotationAngleLabel = Qt::Label.new(tr("&Rotation Angle:"))
165
+ @rotationAngleLabel.buddy = @rotationAngleSpinBox
166
+
167
+ connect(@fillRuleComboBox, SIGNAL('activated(int)'),
168
+ self, SLOT('fillRuleChanged()'))
169
+ connect(@fillColor1ComboBox, SIGNAL('activated(int)'),
170
+ self, SLOT('fillGradientChanged()'))
171
+ connect(@fillColor2ComboBox, SIGNAL('activated(int)'),
172
+ self, SLOT('fillGradientChanged()'))
173
+ connect(@penColorComboBox, SIGNAL('activated(int)'),
174
+ self, SLOT('penColorChanged()'))
175
+
176
+ (0...NumRenderAreas).each do |i|
177
+ connect(@penWidthSpinBox, SIGNAL('valueChanged(int)'),
178
+ @renderAreas[i], SLOT('penWidth=(int)'))
179
+ connect(@rotationAngleSpinBox, SIGNAL('valueChanged(int)'),
180
+ @renderAreas[i], SLOT('rotationAngle=(int)'))
181
+ end
182
+
183
+ topLayout = Qt::GridLayout.new
184
+ (0...NumRenderAreas).each do |i|
185
+ topLayout.addWidget(@renderAreas[i], i / 3, i % 3)
186
+ end
187
+
188
+ self.layout = Qt::GridLayout.new do |m|
189
+ m.addLayout(topLayout, 0, 0, 1, 4)
190
+ m.addWidget(@fillRuleLabel, 1, 0)
191
+ m.addWidget(@fillRuleComboBox, 1, 1, 1, 3)
192
+ m.addWidget(@fillGradientLabel, 2, 0)
193
+ m.addWidget(@fillColor1ComboBox, 2, 1)
194
+ m.addWidget(@fillToLabel, 2, 2)
195
+ m.addWidget(@fillColor2ComboBox, 2, 3)
196
+ m.addWidget(@penWidthLabel, 3, 0)
197
+ m.addWidget(@penWidthSpinBox, 3, 1, 1, 3)
198
+ m.addWidget(@penColorLabel, 4, 0)
199
+ m.addWidget(@penColorComboBox, 4, 1, 1, 3)
200
+ m.addWidget(@rotationAngleLabel, 5, 0)
201
+ m.addWidget(@rotationAngleSpinBox, 5, 1, 1, 3)
202
+ end
203
+
204
+ fillRuleChanged()
205
+ fillGradientChanged()
206
+ penColorChanged()
207
+ @penWidthSpinBox.value = 2
208
+
209
+ setWindowTitle(tr("Painter Paths"))
210
+ end
211
+
212
+ def fillRuleChanged()
213
+ rule = currentItemData(@fillRuleComboBox).toInt
214
+
215
+ (0...NumRenderAreas).each do |i|
216
+ @renderAreas[i].fillRule = rule
217
+ end
218
+ end
219
+
220
+ def fillGradientChanged()
221
+ color1 = qVariantValue(Qt::Color, currentItemData(@fillColor1ComboBox))
222
+ color2 = qVariantValue(Qt::Color, currentItemData(@fillColor2ComboBox))
223
+
224
+ (0...NumRenderAreas).each do |i|
225
+ @renderAreas[i].setFillGradient(color1, color2)
226
+ end
227
+ end
228
+
229
+ def penColorChanged()
230
+ color = qVariantValue(Qt::Color, currentItemData(@penColorComboBox))
231
+
232
+ (0...NumRenderAreas).each do |i|
233
+ @renderAreas[i].penColor = color
234
+ end
235
+ end
236
+
237
+ def populateWithColors(comboBox)
238
+ colorNames = Qt::Color::colorNames()
239
+ colorNames.each do |name|
240
+ comboBox.addItem(name, qVariantFromValue(Qt::Color.new(name)))
241
+ end
242
+ end
243
+
244
+ def currentItemData(comboBox)
245
+ return comboBox.itemData(comboBox.currentIndex())
246
+ end
247
+ end