rock-qtbindings 4.8.6.5

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 (768) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.txt +85 -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/rbqtapi +152 -0
  9. data/bin/rbrcc +14 -0
  10. data/bin/rbuic4 +14 -0
  11. data/bin/smokeapi +14 -0
  12. data/bin/smokedeptool +14 -0
  13. data/examples/designer/calculatorbuilder/calculatorbuilder.qrc +5 -0
  14. data/examples/designer/calculatorbuilder/calculatorform.rb +60 -0
  15. data/examples/designer/calculatorbuilder/calculatorform.ui +299 -0
  16. data/examples/designer/calculatorbuilder/main.rb +34 -0
  17. data/examples/designer/calculatorbuilder/makefile +2 -0
  18. data/examples/designer/calculatorform/calculatorform.rb +46 -0
  19. data/examples/designer/calculatorform/calculatorform.ui +277 -0
  20. data/examples/designer/calculatorform/main.rb +32 -0
  21. data/examples/designer/calculatorform/makefile +3 -0
  22. data/examples/desktop/screenshot/main.rb +32 -0
  23. data/examples/desktop/screenshot/screenshot.rb +157 -0
  24. data/examples/desktop/systray/images/bad.svg +64 -0
  25. data/examples/desktop/systray/images/heart.svg +55 -0
  26. data/examples/desktop/systray/images/trash.svg +58 -0
  27. data/examples/desktop/systray/main.rb +41 -0
  28. data/examples/desktop/systray/makefile +2 -0
  29. data/examples/desktop/systray/systray.qrc +7 -0
  30. data/examples/desktop/systray/window.rb +219 -0
  31. data/examples/dialogs/complexwizard/complexwizard.rb +140 -0
  32. data/examples/dialogs/complexwizard/licensewizard.rb +294 -0
  33. data/examples/dialogs/complexwizard/main.rb +31 -0
  34. data/examples/dialogs/configdialog/configdialog.rb +109 -0
  35. data/examples/dialogs/configdialog/images/config.png +0 -0
  36. data/examples/dialogs/configdialog/images/query.png +0 -0
  37. data/examples/dialogs/configdialog/images/update.png +0 -0
  38. data/examples/dialogs/configdialog/main.rb +31 -0
  39. data/examples/dialogs/configdialog/pages.rb +140 -0
  40. data/examples/dialogs/extension/finddialog.rb +89 -0
  41. data/examples/dialogs/extension/main.rb +31 -0
  42. data/examples/dialogs/findfiles/main.rb +32 -0
  43. data/examples/dialogs/findfiles/window.rb +177 -0
  44. data/examples/dialogs/simplewizard/classwizard.rb +374 -0
  45. data/examples/dialogs/simplewizard/main.rb +31 -0
  46. data/examples/dialogs/simplewizard/simplewizard.rb +110 -0
  47. data/examples/dialogs/standarddialogs/dialog.rb +340 -0
  48. data/examples/dialogs/standarddialogs/main.rb +31 -0
  49. data/examples/dialogs/tabdialog/main.rb +38 -0
  50. data/examples/dialogs/tabdialog/tabdialog.rb +178 -0
  51. data/examples/draganddrop/draggableicons/dragwidget.rb +125 -0
  52. data/examples/draganddrop/draggableicons/images/boat.png +0 -0
  53. data/examples/draganddrop/draggableicons/images/car.png +0 -0
  54. data/examples/draganddrop/draggableicons/images/house.png +0 -0
  55. data/examples/draganddrop/draggableicons/main.rb +41 -0
  56. data/examples/draganddrop/draggabletext/draglabel.rb +51 -0
  57. data/examples/draganddrop/draggabletext/dragwidget.rb +94 -0
  58. data/examples/draganddrop/draggabletext/main.rb +33 -0
  59. data/examples/draganddrop/draggabletext/words.txt +41 -0
  60. data/examples/draganddrop/dropsite/dropsitewidget.rb +99 -0
  61. data/examples/draganddrop/dropsite/dropsitewindow.rb +114 -0
  62. data/examples/draganddrop/dropsite/main.rb +33 -0
  63. data/examples/draganddrop/fridgemagnets/draglabel.rb +78 -0
  64. data/examples/draganddrop/fridgemagnets/dragwidget.rb +130 -0
  65. data/examples/draganddrop/fridgemagnets/main.rb +33 -0
  66. data/examples/draganddrop/fridgemagnets/words.txt +48 -0
  67. data/examples/draganddrop/puzzle/example.jpg +0 -0
  68. data/examples/draganddrop/puzzle/main.rb +33 -0
  69. data/examples/draganddrop/puzzle/mainwindow.rb +136 -0
  70. data/examples/draganddrop/puzzle/pieceslist.rb +95 -0
  71. data/examples/draganddrop/puzzle/puzzlewidget.rb +190 -0
  72. data/examples/graphicsview/collidingmice/images/cheese.jpg +0 -0
  73. data/examples/graphicsview/collidingmice/main.rb +53 -0
  74. data/examples/graphicsview/collidingmice/makefile +2 -0
  75. data/examples/graphicsview/collidingmice/mice.qrc +5 -0
  76. data/examples/graphicsview/collidingmice/mouse.rb +176 -0
  77. data/examples/graphicsview/dragdroprobot/coloritem.rb +86 -0
  78. data/examples/graphicsview/dragdroprobot/images/head.png +0 -0
  79. data/examples/graphicsview/dragdroprobot/main.rb +57 -0
  80. data/examples/graphicsview/dragdroprobot/makefile +2 -0
  81. data/examples/graphicsview/dragdroprobot/robot.qrc +5 -0
  82. data/examples/graphicsview/dragdroprobot/robot.rb +246 -0
  83. data/examples/itemviews/chart/chart.qrc +5 -0
  84. data/examples/itemviews/chart/main.rb +33 -0
  85. data/examples/itemviews/chart/mainwindow.rb +151 -0
  86. data/examples/itemviews/chart/makefile +2 -0
  87. data/examples/itemviews/chart/mydata.cht +8 -0
  88. data/examples/itemviews/chart/pieview.rb +516 -0
  89. data/examples/itemviews/chart/qtdata.cht +14 -0
  90. data/examples/itemviews/dirview/main.rb +39 -0
  91. data/examples/itemviews/pixelator/imagemodel.rb +51 -0
  92. data/examples/itemviews/pixelator/images/qt.png +0 -0
  93. data/examples/itemviews/pixelator/images.qrc +5 -0
  94. data/examples/itemviews/pixelator/main.rb +34 -0
  95. data/examples/itemviews/pixelator/mainwindow.rb +218 -0
  96. data/examples/itemviews/pixelator/makefile +3 -0
  97. data/examples/itemviews/pixelator/pixeldelegate.rb +67 -0
  98. data/examples/itemviews/puzzle/example.jpg +0 -0
  99. data/examples/itemviews/puzzle/main.rb +36 -0
  100. data/examples/itemviews/puzzle/mainwindow.rb +143 -0
  101. data/examples/itemviews/puzzle/piecesmodel.rb +174 -0
  102. data/examples/itemviews/puzzle/puzzlewidget.rb +192 -0
  103. data/examples/itemviews/simpledommodel/domitem.rb +62 -0
  104. data/examples/itemviews/simpledommodel/dommodel.rb +139 -0
  105. data/examples/itemviews/simpledommodel/main.rb +33 -0
  106. data/examples/itemviews/simpledommodel/mainwindow.rb +66 -0
  107. data/examples/itemviews/simpletreemodel/default.txt +40 -0
  108. data/examples/itemviews/simpletreemodel/main.rb +41 -0
  109. data/examples/itemviews/simpletreemodel/makefile +2 -0
  110. data/examples/itemviews/simpletreemodel/simpletreemodel.qrc +5 -0
  111. data/examples/itemviews/simpletreemodel/treeitem.rb +67 -0
  112. data/examples/itemviews/simpletreemodel/treemodel.rb +164 -0
  113. data/examples/itemviews/sortingmodel/default.txt +40 -0
  114. data/examples/itemviews/sortingmodel/main.rb +53 -0
  115. data/examples/itemviews/sortingmodel/treeitem.rb +73 -0
  116. data/examples/itemviews/sortingmodel/treemodel.rb +166 -0
  117. data/examples/itemviews/spinboxdelegate/main.rb +47 -0
  118. data/examples/itemviews/spinboxdelegate/spinboxdelegate.rb +62 -0
  119. data/examples/killerfilter/killerfilter.rb +55 -0
  120. data/examples/layouts/basiclayouts/dialog.rb +110 -0
  121. data/examples/layouts/basiclayouts/main.rb +31 -0
  122. data/examples/layouts/borderlayout/borderlayout.rb +190 -0
  123. data/examples/layouts/borderlayout/main.rb +32 -0
  124. data/examples/layouts/borderlayout/window.rb +52 -0
  125. data/examples/layouts/flowlayouts/flowlayout.rb +108 -0
  126. data/examples/layouts/flowlayouts/main.rb +32 -0
  127. data/examples/layouts/flowlayouts/window.rb +43 -0
  128. data/examples/mainwindows/application/images/copy.png +0 -0
  129. data/examples/mainwindows/application/images/cut.png +0 -0
  130. data/examples/mainwindows/application/images/new.png +0 -0
  131. data/examples/mainwindows/application/images/open.png +0 -0
  132. data/examples/mainwindows/application/images/paste.png +0 -0
  133. data/examples/mainwindows/application/images/save.png +0 -0
  134. data/examples/mainwindows/application/main.rb +32 -0
  135. data/examples/mainwindows/application/mainwindow.rb +285 -0
  136. data/examples/mainwindows/dockwidgets/images/new.png +0 -0
  137. data/examples/mainwindows/dockwidgets/images/print.png +0 -0
  138. data/examples/mainwindows/dockwidgets/images/save.png +0 -0
  139. data/examples/mainwindows/dockwidgets/images/undo.png +0 -0
  140. data/examples/mainwindows/dockwidgets/main.rb +32 -0
  141. data/examples/mainwindows/dockwidgets/mainwindow.rb +302 -0
  142. data/examples/mainwindows/mdi/images/copy.png +0 -0
  143. data/examples/mainwindows/mdi/images/cut.png +0 -0
  144. data/examples/mainwindows/mdi/images/new.png +0 -0
  145. data/examples/mainwindows/mdi/images/open.png +0 -0
  146. data/examples/mainwindows/mdi/images/paste.png +0 -0
  147. data/examples/mainwindows/mdi/images/save.png +0 -0
  148. data/examples/mainwindows/mdi/main.rb +32 -0
  149. data/examples/mainwindows/mdi/mainwindow.rb +363 -0
  150. data/examples/mainwindows/mdi/mdichild.rb +152 -0
  151. data/examples/mainwindows/menus/main.rb +32 -0
  152. data/examples/mainwindows/menus/mainwindow.rb +327 -0
  153. data/examples/mainwindows/recentfiles/main.rb +32 -0
  154. data/examples/mainwindows/recentfiles/mainwindow.rb +258 -0
  155. data/examples/mainwindows/sdi/images/copy.png +0 -0
  156. data/examples/mainwindows/sdi/images/cut.png +0 -0
  157. data/examples/mainwindows/sdi/images/new.png +0 -0
  158. data/examples/mainwindows/sdi/images/open.png +0 -0
  159. data/examples/mainwindows/sdi/images/paste.png +0 -0
  160. data/examples/mainwindows/sdi/images/save.png +0 -0
  161. data/examples/mainwindows/sdi/main.rb +32 -0
  162. data/examples/mainwindows/sdi/mainwindow.rb +335 -0
  163. data/examples/network/broadcastreceiver/main.rb +32 -0
  164. data/examples/network/broadcastreceiver/receiver.rb +64 -0
  165. data/examples/network/broadcastsender/main.rb +32 -0
  166. data/examples/network/broadcastsender/sender.rb +72 -0
  167. data/examples/network/fortuneclient/client.rb +149 -0
  168. data/examples/network/fortuneclient/main.rb +32 -0
  169. data/examples/network/fortuneserver/main.rb +32 -0
  170. data/examples/network/fortuneserver/server.rb +88 -0
  171. data/examples/network/ftp/ftpwindow.rb +259 -0
  172. data/examples/network/ftp/images/cdtoparent.png +0 -0
  173. data/examples/network/ftp/images/dir.png +0 -0
  174. data/examples/network/ftp/images/file.png +0 -0
  175. data/examples/network/ftp/main.rb +32 -0
  176. data/examples/network/http/httpwindow.rb +187 -0
  177. data/examples/network/http/main.rb +32 -0
  178. data/examples/network/loopback/dialog.rb +163 -0
  179. data/examples/network/loopback/main.rb +32 -0
  180. data/examples/opengl/grabber/glwidget.rb +265 -0
  181. data/examples/opengl/grabber/main.rb +32 -0
  182. data/examples/opengl/grabber/mainwindow.rb +189 -0
  183. data/examples/opengl/hellogl/glwidget.rb +226 -0
  184. data/examples/opengl/hellogl/main.rb +32 -0
  185. data/examples/opengl/hellogl/window.rb +66 -0
  186. data/examples/opengl/textures/glwidget.rb +151 -0
  187. data/examples/opengl/textures/images/side1.png +0 -0
  188. data/examples/opengl/textures/images/side2.png +0 -0
  189. data/examples/opengl/textures/images/side3.png +0 -0
  190. data/examples/opengl/textures/images/side4.png +0 -0
  191. data/examples/opengl/textures/images/side5.png +0 -0
  192. data/examples/opengl/textures/images/side6.png +0 -0
  193. data/examples/opengl/textures/main.rb +32 -0
  194. data/examples/opengl/textures/window.rb +77 -0
  195. data/examples/painting/basicdrawing/images/brick.png +0 -0
  196. data/examples/painting/basicdrawing/images/qt-logo.png +0 -0
  197. data/examples/painting/basicdrawing/main.rb +32 -0
  198. data/examples/painting/basicdrawing/renderarea.rb +166 -0
  199. data/examples/painting/basicdrawing/window.rb +215 -0
  200. data/examples/painting/concentriccircles/circlewidget.rb +88 -0
  201. data/examples/painting/concentriccircles/main.rb +32 -0
  202. data/examples/painting/concentriccircles/window.rb +72 -0
  203. data/examples/painting/fontsampler/main.rb +32 -0
  204. data/examples/painting/fontsampler/mainwindow.rb +369 -0
  205. data/examples/painting/fontsampler/mainwindowbase.ui +136 -0
  206. data/examples/painting/fontsampler/makefile +8 -0
  207. data/examples/painting/fontsampler/previewdialog.rb +257 -0
  208. data/examples/painting/fontsampler/previewdialogbase.ui +224 -0
  209. data/examples/painting/fontsampler/previewlabel.rb +43 -0
  210. data/examples/painting/imagecomposition/imagecomposer.rb +152 -0
  211. data/examples/painting/imagecomposition/imagecomposition.qrc +6 -0
  212. data/examples/painting/imagecomposition/images/background.png +0 -0
  213. data/examples/painting/imagecomposition/images/blackrectangle.png +0 -0
  214. data/examples/painting/imagecomposition/images/butterfly.png +0 -0
  215. data/examples/painting/imagecomposition/images/checker.png +0 -0
  216. data/examples/painting/imagecomposition/main.rb +33 -0
  217. data/examples/painting/imagecomposition/makefile +2 -0
  218. data/examples/painting/painterpaths/main.rb +32 -0
  219. data/examples/painting/painterpaths/renderarea.rb +97 -0
  220. data/examples/painting/painterpaths/window.rb +247 -0
  221. data/examples/painting/svgviewer/files/bubbles.svg +212 -0
  222. data/examples/painting/svgviewer/files/cubic.svg +77 -0
  223. data/examples/painting/svgviewer/files/spheres.svg +79 -0
  224. data/examples/painting/svgviewer/main.rb +38 -0
  225. data/examples/painting/svgviewer/mainwindow.rb +99 -0
  226. data/examples/painting/svgviewer/makefile +2 -0
  227. data/examples/painting/svgviewer/svgview.rb +156 -0
  228. data/examples/painting/svgviewer/svgviewer.qrc +6 -0
  229. data/examples/painting/svgviewer/svgwindow.rb +87 -0
  230. data/examples/painting/transformations/main.rb +32 -0
  231. data/examples/painting/transformations/renderarea.rb +127 -0
  232. data/examples/painting/transformations/window.rb +153 -0
  233. data/examples/passivepopup/passivepopup.rb +38 -0
  234. data/examples/qdbus/chat/chat.rb +146 -0
  235. data/examples/qdbus/chat/chat_adaptor.rb +12 -0
  236. data/examples/qdbus/chat/chat_interface.rb +13 -0
  237. data/examples/qdbus/chat/chatmainwindow.ui +184 -0
  238. data/examples/qdbus/chat/chatsetnickname.ui +145 -0
  239. data/examples/qdbus/chat/makefile +8 -0
  240. data/examples/qdbus/complexpingpong/complexping.rb +92 -0
  241. data/examples/qdbus/complexpingpong/complexpong.rb +83 -0
  242. data/examples/qdbus/complexpingpong/ping-common.rb +1 -0
  243. data/examples/qdbus/listnames/listnames.rb +69 -0
  244. data/examples/qdbus/pingpong/ping-common.rb +1 -0
  245. data/examples/qdbus/pingpong/ping.rb +52 -0
  246. data/examples/qdbus/pingpong/pong.rb +55 -0
  247. data/examples/qdbus/remotecontrolledcar/car/car.rb +151 -0
  248. data/examples/qdbus/remotecontrolledcar/car/main.rb +50 -0
  249. data/examples/qdbus/remotecontrolledcar/controller/controller.rb +66 -0
  250. data/examples/qdbus/remotecontrolledcar/controller/controller.ui +61 -0
  251. data/examples/qdbus/remotecontrolledcar/controller/main.rb +32 -0
  252. data/examples/qdbus/remotecontrolledcar/controller/makefile +2 -0
  253. data/examples/qtscribble/scribble.rb +270 -0
  254. data/examples/richtext/calendar/main.rb +33 -0
  255. data/examples/richtext/calendar/mainwindow.rb +173 -0
  256. data/examples/richtext/orderform/detailsdialog.rb +130 -0
  257. data/examples/richtext/orderform/main.rb +34 -0
  258. data/examples/richtext/orderform/mainwindow.rb +194 -0
  259. data/examples/richtext/syntaxhighlighter/examples/example +79 -0
  260. data/examples/richtext/syntaxhighlighter/highlighter.rb +90 -0
  261. data/examples/richtext/syntaxhighlighter/main.rb +34 -0
  262. data/examples/richtext/syntaxhighlighter/mainwindow.rb +105 -0
  263. data/examples/ruboids/LICENSE.txt +58 -0
  264. data/examples/ruboids/Manifest +26 -0
  265. data/examples/ruboids/README +53 -0
  266. data/examples/ruboids/TODO +29 -0
  267. data/examples/ruboids/boids.properties +33 -0
  268. data/examples/ruboids/generateManifest.rb +42 -0
  269. data/examples/ruboids/index.html +147 -0
  270. data/examples/ruboids/release.rb +152 -0
  271. data/examples/ruboids/ruboids/Boid.rb +141 -0
  272. data/examples/ruboids/ruboids/BoidView.rb +159 -0
  273. data/examples/ruboids/ruboids/Camera.rb +24 -0
  274. data/examples/ruboids/ruboids/CameraDialog.rb +218 -0
  275. data/examples/ruboids/ruboids/Canvas.rb +143 -0
  276. data/examples/ruboids/ruboids/Cloud.rb +61 -0
  277. data/examples/ruboids/ruboids/CloudView.rb +54 -0
  278. data/examples/ruboids/ruboids/Flock.rb +47 -0
  279. data/examples/ruboids/ruboids/Graphics.rb +278 -0
  280. data/examples/ruboids/ruboids/Params.rb +87 -0
  281. data/examples/ruboids/ruboids/Point.rb +153 -0
  282. data/examples/ruboids/ruboids/Thing.rb +34 -0
  283. data/examples/ruboids/ruboids/Triangle.rb +21 -0
  284. data/examples/ruboids/ruboids/View.rb +88 -0
  285. data/examples/ruboids/ruboids/World.rb +82 -0
  286. data/examples/ruboids/ruboids/WorldWindow.rb +52 -0
  287. data/examples/ruboids/ruboids/info.rb +12 -0
  288. data/examples/ruboids/ruboids/ruboids.rb +29 -0
  289. data/examples/run_all.rb +15 -0
  290. data/examples/threading/main_thread.rb +19 -0
  291. data/examples/tutorial/t1/t1.rb +10 -0
  292. data/examples/tutorial/t10/cannon.rb +72 -0
  293. data/examples/tutorial/t10/lcdrange.rb +45 -0
  294. data/examples/tutorial/t10/t10.rb +55 -0
  295. data/examples/tutorial/t11/cannon.rb +123 -0
  296. data/examples/tutorial/t11/lcdrange.rb +45 -0
  297. data/examples/tutorial/t11/t11.rb +65 -0
  298. data/examples/tutorial/t12/cannon.rb +157 -0
  299. data/examples/tutorial/t12/lcdrange.rb +58 -0
  300. data/examples/tutorial/t12/t12.rb +65 -0
  301. data/examples/tutorial/t13/cannon.rb +206 -0
  302. data/examples/tutorial/t13/gamebrd.rb +112 -0
  303. data/examples/tutorial/t13/lcdrange.rb +59 -0
  304. data/examples/tutorial/t13/t13.rb +11 -0
  305. data/examples/tutorial/t14/cannon.rb +262 -0
  306. data/examples/tutorial/t14/gamebrd.rb +122 -0
  307. data/examples/tutorial/t14/lcdrange.rb +61 -0
  308. data/examples/tutorial/t14/t14.rb +11 -0
  309. data/examples/tutorial/t2/t2.rb +16 -0
  310. data/examples/tutorial/t3/t3.rb +17 -0
  311. data/examples/tutorial/t4/t4.rb +23 -0
  312. data/examples/tutorial/t5/t5.rb +35 -0
  313. data/examples/tutorial/t6/t6.rb +48 -0
  314. data/examples/tutorial/t7/lcdrange.rb +32 -0
  315. data/examples/tutorial/t7/t7.rb +40 -0
  316. data/examples/tutorial/t8/cannon.rb +37 -0
  317. data/examples/tutorial/t8/lcdrange.rb +45 -0
  318. data/examples/tutorial/t8/t8.rb +43 -0
  319. data/examples/tutorial/t9/cannon.rb +44 -0
  320. data/examples/tutorial/t9/lcdrange.rb +46 -0
  321. data/examples/tutorial/t9/t9.rb +43 -0
  322. data/examples/widgets/analogclock/analogclock.rb +94 -0
  323. data/examples/widgets/analogclock/main.rb +9 -0
  324. data/examples/widgets/calculator/button.rb +45 -0
  325. data/examples/widgets/calculator/calculator.rb +382 -0
  326. data/examples/widgets/calculator/main.rb +32 -0
  327. data/examples/widgets/charactermap/characterwidget.rb +110 -0
  328. data/examples/widgets/charactermap/main.rb +32 -0
  329. data/examples/widgets/charactermap/mainwindow.rb +118 -0
  330. data/examples/widgets/digitalclock/digitalclock.rb +30 -0
  331. data/examples/widgets/digitalclock/main.rb +9 -0
  332. data/examples/widgets/groupbox/main.rb +32 -0
  333. data/examples/widgets/groupbox/window.rb +134 -0
  334. data/examples/widgets/icons/iconpreviewarea.rb +111 -0
  335. data/examples/widgets/icons/iconsizespinbox.rb +39 -0
  336. data/examples/widgets/icons/imagedelegate.rb +73 -0
  337. data/examples/widgets/icons/images/designer.png +0 -0
  338. data/examples/widgets/icons/images/find_disabled.png +0 -0
  339. data/examples/widgets/icons/images/find_normal.png +0 -0
  340. data/examples/widgets/icons/images/monkey_off_128x128.png +0 -0
  341. data/examples/widgets/icons/images/monkey_off_16x16.png +0 -0
  342. data/examples/widgets/icons/images/monkey_off_32x32.png +0 -0
  343. data/examples/widgets/icons/images/monkey_off_64x64.png +0 -0
  344. data/examples/widgets/icons/images/monkey_on_128x128.png +0 -0
  345. data/examples/widgets/icons/images/monkey_on_16x16.png +0 -0
  346. data/examples/widgets/icons/images/monkey_on_32x32.png +0 -0
  347. data/examples/widgets/icons/images/monkey_on_64x64.png +0 -0
  348. data/examples/widgets/icons/images/qtopia_16x16.png +0 -0
  349. data/examples/widgets/icons/images/qtopia_32x32.png +0 -0
  350. data/examples/widgets/icons/images/qtopia_48x48.png +0 -0
  351. data/examples/widgets/icons/main.rb +32 -0
  352. data/examples/widgets/icons/mainwindow.rb +351 -0
  353. data/examples/widgets/imageviewer/imageviewer.rb +219 -0
  354. data/examples/widgets/imageviewer/main.rb +32 -0
  355. data/examples/widgets/lineedits/main.rb +32 -0
  356. data/examples/widgets/lineedits/window.rb +199 -0
  357. data/examples/widgets/movie/images/open.png +0 -0
  358. data/examples/widgets/movie/images/pause.png +0 -0
  359. data/examples/widgets/movie/images/play.png +0 -0
  360. data/examples/widgets/movie/images/quit.png +0 -0
  361. data/examples/widgets/movie/images/stop.png +0 -0
  362. data/examples/widgets/movie/main.rb +32 -0
  363. data/examples/widgets/movie/movieplayer.rb +201 -0
  364. data/examples/widgets/movie/movies/fire.mng +0 -0
  365. data/examples/widgets/screenshot/main.rb +32 -0
  366. data/examples/widgets/screenshot/screenshot.rb +155 -0
  367. data/examples/widgets/scribble/main.rb +32 -0
  368. data/examples/widgets/scribble/mainwindow.rb +202 -0
  369. data/examples/widgets/scribble/scribblearea.rb +154 -0
  370. data/examples/widgets/sliders/main.rb +32 -0
  371. data/examples/widgets/sliders/slidersgroup.rb +97 -0
  372. data/examples/widgets/sliders/window.rb +124 -0
  373. data/examples/widgets/spinboxes/main.rb +32 -0
  374. data/examples/widgets/spinboxes/window.rb +213 -0
  375. data/examples/widgets/tetrix/main.rb +33 -0
  376. data/examples/widgets/tetrix/tetrixboard.rb +346 -0
  377. data/examples/widgets/tetrix/tetrixpiece.rb +135 -0
  378. data/examples/widgets/tetrix/tetrixwindow.rb +88 -0
  379. data/examples/widgets/tooltips/images/circle.png +0 -0
  380. data/examples/widgets/tooltips/images/square.png +0 -0
  381. data/examples/widgets/tooltips/images/triangle.png +0 -0
  382. data/examples/widgets/tooltips/main.rb +32 -0
  383. data/examples/widgets/tooltips/shapeitem.rb +31 -0
  384. data/examples/widgets/tooltips/sortingbox.rb +222 -0
  385. data/examples/widgets/wiggly/dialog.rb +48 -0
  386. data/examples/widgets/wiggly/main.rb +9 -0
  387. data/examples/widgets/wiggly/wigglywidget.rb +76 -0
  388. data/examples/widgets/windowflags/controllerwindow.rb +195 -0
  389. data/examples/widgets/windowflags/main.rb +32 -0
  390. data/examples/widgets/windowflags/previewwindow.rb +103 -0
  391. data/examples/xml/dombookmarks/frank.xbel +230 -0
  392. data/examples/xml/dombookmarks/jennifer.xbel +93 -0
  393. data/examples/xml/dombookmarks/main.rb +34 -0
  394. data/examples/xml/dombookmarks/mainwindow.rb +129 -0
  395. data/examples/xml/dombookmarks/xbeltree.rb +172 -0
  396. data/examples/xml/saxbookmarks/frank.xbel +230 -0
  397. data/examples/xml/saxbookmarks/jennifer.xbel +93 -0
  398. data/examples/xml/saxbookmarks/main.rb +34 -0
  399. data/examples/xml/saxbookmarks/mainwindow.rb +144 -0
  400. data/examples/xml/saxbookmarks/xbelgenerator.rb +95 -0
  401. data/examples/xml/saxbookmarks/xbelhandler.rb +122 -0
  402. data/ext/CMakeLists.txt +28 -0
  403. data/ext/cmake/modules/BasicFindPackageVersion.cmake.in +30 -0
  404. data/ext/cmake/modules/CMakeCSharpCompiler.cmake.in +7 -0
  405. data/ext/cmake/modules/CMakeCSharpInformation.cmake +366 -0
  406. data/ext/cmake/modules/CMakeDetermineCSharpCompiler.cmake +85 -0
  407. data/ext/cmake/modules/CMakeTestCSharpCompiler.cmake +1 -0
  408. data/ext/cmake/modules/CheckCXXSourceCompiles.cmake +68 -0
  409. data/ext/cmake/modules/FindLibraryWithDebug.cmake +113 -0
  410. data/ext/cmake/modules/FindMono.cmake +36 -0
  411. data/ext/cmake/modules/FindPHP5.cmake +179 -0
  412. data/ext/cmake/modules/FindPerlMore.cmake +78 -0
  413. data/ext/cmake/modules/FindPhonon.cmake +71 -0
  414. data/ext/cmake/modules/FindQImageBlitz.cmake +51 -0
  415. data/ext/cmake/modules/FindQScintilla.cmake +57 -0
  416. data/ext/cmake/modules/FindQt4.cmake +1275 -0
  417. data/ext/cmake/modules/FindQwt5.cmake +104 -0
  418. data/ext/cmake/modules/FindRuby.cmake +279 -0
  419. data/ext/cmake/modules/FindSmoke.cmake +78 -0
  420. data/ext/cmake/modules/HandleImportedTargetsInCMakeRequiredLibraries.cmake +85 -0
  421. data/ext/cmake/modules/MacroLogFeature.cmake +146 -0
  422. data/ext/cmake/modules/MacroOptionalAddBindings.cmake +47 -0
  423. data/ext/cmake/modules/MacroOptionalFindPackage.cmake +28 -0
  424. data/ext/cmake/modules/MacroPushRequiredVars.cmake +47 -0
  425. data/ext/cmake/modules/MacroWriteBasicCMakeVersionFile.cmake +22 -0
  426. data/ext/cmake/modules/Qt4ConfigDependentSettings.cmake +384 -0
  427. data/ext/cmake/modules/Qt4Macros.cmake +414 -0
  428. data/ext/cmake/modules/SmokeConfig.cmake.in +109 -0
  429. data/ext/generator/CMakeLists.txt +38 -0
  430. data/ext/generator/cmake/BasicFindPackageVersion.cmake.in +30 -0
  431. data/ext/generator/cmake/CMakeLists.txt +24 -0
  432. data/ext/generator/cmake/FindLibraryWithDebug.cmake +113 -0
  433. data/ext/generator/cmake/FindPhonon.cmake +71 -0
  434. data/ext/generator/cmake/FindQImageBlitz.cmake +51 -0
  435. data/ext/generator/cmake/FindQScintilla.cmake +57 -0
  436. data/ext/generator/cmake/FindQwt5.cmake +104 -0
  437. data/ext/generator/cmake/HandleImportedTargetsInCMakeRequiredLibraries.cmake +85 -0
  438. data/ext/generator/cmake/MacroLogFeature.cmake +146 -0
  439. data/ext/generator/cmake/MacroOptionalAddBindings.cmake +47 -0
  440. data/ext/generator/cmake/MacroOptionalFindPackage.cmake +28 -0
  441. data/ext/generator/cmake/MacroWriteBasicCMakeVersionFile.cmake +22 -0
  442. data/ext/generator/cmake/SmokeConfig.cmake.in +109 -0
  443. data/ext/generator/config.h +25 -0
  444. data/ext/generator/generator_export.h +31 -0
  445. data/ext/generator/generatorenvironment.cpp +52 -0
  446. data/ext/generator/generatorenvironment.h +35 -0
  447. data/ext/generator/generatorpreprocessor.cpp +303 -0
  448. data/ext/generator/generatorpreprocessor.h +83 -0
  449. data/ext/generator/generators/CMakeLists.txt +4 -0
  450. data/ext/generator/generators/dump/CMakeLists.txt +15 -0
  451. data/ext/generator/generators/dump/generator_dump.cpp +36 -0
  452. data/ext/generator/generators/smoke/CMakeLists.txt +18 -0
  453. data/ext/generator/generators/smoke/generator_smoke.cpp +240 -0
  454. data/ext/generator/generators/smoke/globals.h +140 -0
  455. data/ext/generator/generators/smoke/helpers.cpp +793 -0
  456. data/ext/generator/generators/smoke/writeClasses.cpp +502 -0
  457. data/ext/generator/generators/smoke/writeSmokeDataFile.cpp +754 -0
  458. data/ext/generator/generatorvisitor.cpp +922 -0
  459. data/ext/generator/generatorvisitor.h +119 -0
  460. data/ext/generator/main.cpp +243 -0
  461. data/ext/generator/name_compiler.cpp +205 -0
  462. data/ext/generator/name_compiler.h +76 -0
  463. data/ext/generator/options.cpp +33 -0
  464. data/ext/generator/options.h +46 -0
  465. data/ext/generator/parser/CMakeLists.txt +50 -0
  466. data/ext/generator/parser/ast.cpp +21 -0
  467. data/ext/generator/parser/ast.h +923 -0
  468. data/ext/generator/parser/astutilities.h +65 -0
  469. data/ext/generator/parser/codegenerator.cpp +867 -0
  470. data/ext/generator/parser/codegenerator.h +180 -0
  471. data/ext/generator/parser/codemodel_fwd.h +76 -0
  472. data/ext/generator/parser/commentformatter.cpp +54 -0
  473. data/ext/generator/parser/commentformatter.h +45 -0
  474. data/ext/generator/parser/commentparser.cpp +109 -0
  475. data/ext/generator/parser/commentparser.h +84 -0
  476. data/ext/generator/parser/control.cpp +40 -0
  477. data/ext/generator/parser/control.h +51 -0
  478. data/ext/generator/parser/cppparser_export.h +33 -0
  479. data/ext/generator/parser/default_visitor.cpp +470 -0
  480. data/ext/generator/parser/default_visitor.h +116 -0
  481. data/ext/generator/parser/dumptree.cpp +146 -0
  482. data/ext/generator/parser/dumptree.h +50 -0
  483. data/ext/generator/parser/indexedstring.cpp +213 -0
  484. data/ext/generator/parser/indexedstring.h +147 -0
  485. data/ext/generator/parser/kdevelop-parser-rev +1 -0
  486. data/ext/generator/parser/kdevvarlengtharray.h +346 -0
  487. data/ext/generator/parser/lexer.cpp +964 -0
  488. data/ext/generator/parser/lexer.h +308 -0
  489. data/ext/generator/parser/listnode.cpp +20 -0
  490. data/ext/generator/parser/listnode.h +97 -0
  491. data/ext/generator/parser/memorypool.cpp +20 -0
  492. data/ext/generator/parser/memorypool.h +41 -0
  493. data/ext/generator/parser/name_compiler.cpp +190 -0
  494. data/ext/generator/parser/name_compiler.h +77 -0
  495. data/ext/generator/parser/parser.cpp +4708 -0
  496. data/ext/generator/parser/parser.h +290 -0
  497. data/ext/generator/parser/parsesession.cpp +106 -0
  498. data/ext/generator/parser/parsesession.h +87 -0
  499. data/ext/generator/parser/problem.h +21 -0
  500. data/ext/generator/parser/rpp/CMakeLists.txt +45 -0
  501. data/ext/generator/parser/rpp/Makefile.am +13 -0
  502. data/ext/generator/parser/rpp/anchor.h +51 -0
  503. data/ext/generator/parser/rpp/appendedlist.h +363 -0
  504. data/ext/generator/parser/rpp/chartools.cpp +146 -0
  505. data/ext/generator/parser/rpp/chartools.h +99 -0
  506. data/ext/generator/parser/rpp/macrorepository.cpp +44 -0
  507. data/ext/generator/parser/rpp/macrorepository.h +59 -0
  508. data/ext/generator/parser/rpp/pp-configuration +86 -0
  509. data/ext/generator/parser/rpp/pp-engine.cpp +1216 -0
  510. data/ext/generator/parser/rpp/pp-engine.h +267 -0
  511. data/ext/generator/parser/rpp/pp-environment.cpp +271 -0
  512. data/ext/generator/parser/rpp/pp-environment.h +119 -0
  513. data/ext/generator/parser/rpp/pp-internal.cpp +38 -0
  514. data/ext/generator/parser/rpp/pp-internal.h +37 -0
  515. data/ext/generator/parser/rpp/pp-location.cpp +191 -0
  516. data/ext/generator/parser/rpp/pp-location.h +89 -0
  517. data/ext/generator/parser/rpp/pp-macro-expander.cpp +568 -0
  518. data/ext/generator/parser/rpp/pp-macro-expander.cpp.orig +558 -0
  519. data/ext/generator/parser/rpp/pp-macro-expander.h +130 -0
  520. data/ext/generator/parser/rpp/pp-macro.cpp +153 -0
  521. data/ext/generator/parser/rpp/pp-macro.h +176 -0
  522. data/ext/generator/parser/rpp/pp-scanner.cpp +311 -0
  523. data/ext/generator/parser/rpp/pp-scanner.h +97 -0
  524. data/ext/generator/parser/rpp/pp-stream.cpp +425 -0
  525. data/ext/generator/parser/rpp/pp-stream.h +183 -0
  526. data/ext/generator/parser/rpp/preprocessor.cpp +65 -0
  527. data/ext/generator/parser/rpp/preprocessor.h +80 -0
  528. data/ext/generator/parser/rpp/rpp.pri +2 -0
  529. data/ext/generator/parser/rpp/test/t001.cpp +23 -0
  530. data/ext/generator/parser/rpp/test/t002.cpp +15 -0
  531. data/ext/generator/parser/rpp/test/t003.cpp +10 -0
  532. data/ext/generator/parser/rpp/test/t004.cpp +9 -0
  533. data/ext/generator/parser/rpp/test/t005.cpp +10 -0
  534. data/ext/generator/parser/rpp/test/t006.cpp +10 -0
  535. data/ext/generator/parser/rpp/test/t007.cpp +6 -0
  536. data/ext/generator/parser/rpp/test/t008.cpp +6 -0
  537. data/ext/generator/parser/rpp/test/t009.cpp +5 -0
  538. data/ext/generator/parser/rpp/test/t010.cpp +15 -0
  539. data/ext/generator/parser/rpp/test/t011.cpp +9 -0
  540. data/ext/generator/parser/rpp/tests/CMakeLists.txt +17 -0
  541. data/ext/generator/parser/rpp/tests/main.cpp +69 -0
  542. data/ext/generator/parser/rxx.pri +50 -0
  543. data/ext/generator/parser/rxx_allocator.h +128 -0
  544. data/ext/generator/parser/safetycounter.h +57 -0
  545. data/ext/generator/parser/simplecursor.h +74 -0
  546. data/ext/generator/parser/stringhelpers.cpp +577 -0
  547. data/ext/generator/parser/stringhelpers.h +118 -0
  548. data/ext/generator/parser/symbol.h +140 -0
  549. data/ext/generator/parser/tests/CMakeLists.txt +46 -0
  550. data/ext/generator/parser/tests/test_generator.cpp +259 -0
  551. data/ext/generator/parser/tests/test_parser.cpp +474 -0
  552. data/ext/generator/parser/tests/test_pool.cpp +109 -0
  553. data/ext/generator/parser/tests/test_pool.h +35 -0
  554. data/ext/generator/parser/tests/testconfig.h.cmake +4 -0
  555. data/ext/generator/parser/tokens.cpp +367 -0
  556. data/ext/generator/parser/tokens.h +148 -0
  557. data/ext/generator/parser/type_compiler.cpp +135 -0
  558. data/ext/generator/parser/type_compiler.h +68 -0
  559. data/ext/generator/parser/visitor.cpp +115 -0
  560. data/ext/generator/parser/visitor.h +138 -0
  561. data/ext/generator/smoke.h +557 -0
  562. data/ext/generator/smokegen_string.h +43 -0
  563. data/ext/generator/type.cpp +204 -0
  564. data/ext/generator/type.h +497 -0
  565. data/ext/generator/type_compiler.cpp +277 -0
  566. data/ext/generator/type_compiler.h +80 -0
  567. data/ext/ruby/CMakeLists.txt +64 -0
  568. data/ext/ruby/qtdeclarative/CMakeLists.txt +17 -0
  569. data/ext/ruby/qtdeclarative/qtdeclarative.cpp +67 -0
  570. data/ext/ruby/qtdeclarative/qtdeclarative.rb +17 -0
  571. data/ext/ruby/qtdeclarative/qtdeclarativehandlers.cpp +36 -0
  572. data/ext/ruby/qtruby/AUTHORS +54 -0
  573. data/ext/ruby/qtruby/CMakeLists.txt +4 -0
  574. data/ext/ruby/qtruby/COPYING +355 -0
  575. data/ext/ruby/qtruby/COPYING.LIB +510 -0
  576. data/ext/ruby/qtruby/ChangeLog +3732 -0
  577. data/ext/ruby/qtruby/INSTALL +79 -0
  578. data/ext/ruby/qtruby/README +264 -0
  579. data/ext/ruby/qtruby/TODO +8 -0
  580. data/ext/ruby/qtruby/bin/CMakeLists.txt +1 -0
  581. data/ext/ruby/qtruby/bin/rbqtapi +152 -0
  582. data/ext/ruby/qtruby/rails_support/CMakeLists.txt +1 -0
  583. data/ext/ruby/qtruby/rails_support/active_item_model.rb +234 -0
  584. data/ext/ruby/qtruby/rails_support/active_table_model.rb +122 -0
  585. data/ext/ruby/qtruby/src/CMakeLists.txt +103 -0
  586. data/ext/ruby/qtruby/src/Qt.cpp +1327 -0
  587. data/ext/ruby/qtruby/src/handlers.cpp +2668 -0
  588. data/ext/ruby/qtruby/src/marshall.h +66 -0
  589. data/ext/ruby/qtruby/src/marshall_basetypes.h +208 -0
  590. data/ext/ruby/qtruby/src/marshall_complex.h +175 -0
  591. data/ext/ruby/qtruby/src/marshall_macros.h +647 -0
  592. data/ext/ruby/qtruby/src/marshall_primitives.h +306 -0
  593. data/ext/ruby/qtruby/src/marshall_types.cpp +815 -0
  594. data/ext/ruby/qtruby/src/marshall_types.h +240 -0
  595. data/ext/ruby/qtruby/src/qtruby.cpp +2627 -0
  596. data/ext/ruby/qtruby/src/qtruby.h +198 -0
  597. data/ext/ruby/qtruby/src/smokeruby.h +164 -0
  598. data/ext/ruby/qtruby/test/opoverloading.rb +46 -0
  599. data/ext/ruby/qtruby/test/unittests.rb +151 -0
  600. data/ext/ruby/qtruby/tools/CMakeLists.txt +2 -0
  601. data/ext/ruby/qtruby/tools/rbrcc/CMakeLists.txt +6 -0
  602. data/ext/ruby/qtruby/tools/rbrcc/Messages.sh +7 -0
  603. data/ext/ruby/qtruby/tools/rbrcc/main.cpp +173 -0
  604. data/ext/ruby/qtruby/tools/rbrcc/rbrcc.pro +14 -0
  605. data/ext/ruby/qtruby/tools/rbrcc/rcc.cpp +648 -0
  606. data/ext/ruby/qtruby/tools/rbrcc/rcc.h +165 -0
  607. data/ext/ruby/qtruby/tools/rbuic/CMakeLists.txt +35 -0
  608. data/ext/ruby/qtruby/tools/rbuic/LICENSE.GPL +280 -0
  609. data/ext/ruby/qtruby/tools/rbuic/Messages.sh +7 -0
  610. data/ext/ruby/qtruby/tools/rbuic/TODO +4 -0
  611. data/ext/ruby/qtruby/tools/rbuic/customwidgetsinfo.cpp +106 -0
  612. data/ext/ruby/qtruby/tools/rbuic/customwidgetsinfo.h +95 -0
  613. data/ext/ruby/qtruby/tools/rbuic/databaseinfo.cpp +102 -0
  614. data/ext/ruby/qtruby/tools/rbuic/databaseinfo.h +85 -0
  615. data/ext/ruby/qtruby/tools/rbuic/driver.cpp +384 -0
  616. data/ext/ruby/qtruby/tools/rbuic/driver.h +141 -0
  617. data/ext/ruby/qtruby/tools/rbuic/globaldefs.h +60 -0
  618. data/ext/ruby/qtruby/tools/rbuic/main.cpp +201 -0
  619. data/ext/ruby/qtruby/tools/rbuic/option.h +110 -0
  620. data/ext/ruby/qtruby/tools/rbuic/rbuic.pri +23 -0
  621. data/ext/ruby/qtruby/tools/rbuic/rbuic4.pro +43 -0
  622. data/ext/ruby/qtruby/tools/rbuic/ruby/rbextractimages.cpp +150 -0
  623. data/ext/ruby/qtruby/tools/rbuic/ruby/rbextractimages.h +83 -0
  624. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwritedeclaration.cpp +217 -0
  625. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwritedeclaration.h +85 -0
  626. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteicondata.cpp +185 -0
  627. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteicondata.h +86 -0
  628. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteicondeclaration.cpp +88 -0
  629. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteicondeclaration.h +83 -0
  630. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteiconinitialization.cpp +126 -0
  631. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteiconinitialization.h +87 -0
  632. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteinitialization.cpp +2478 -0
  633. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteinitialization.h +314 -0
  634. data/ext/ruby/qtruby/tools/rbuic/ruby/ruby.pri +18 -0
  635. data/ext/ruby/qtruby/tools/rbuic/treewalker.cpp +318 -0
  636. data/ext/ruby/qtruby/tools/rbuic/treewalker.h +139 -0
  637. data/ext/ruby/qtruby/tools/rbuic/ui4.cpp +7623 -0
  638. data/ext/ruby/qtruby/tools/rbuic/ui4.h +3180 -0
  639. data/ext/ruby/qtruby/tools/rbuic/uic.cpp +438 -0
  640. data/ext/ruby/qtruby/tools/rbuic/uic.h +154 -0
  641. data/ext/ruby/qtruby/tools/rbuic/utils.h +125 -0
  642. data/ext/ruby/qtruby/tools/rbuic/validator.cpp +100 -0
  643. data/ext/ruby/qtruby/tools/rbuic/validator.h +80 -0
  644. data/ext/ruby/qtscript/CMakeLists.txt +19 -0
  645. data/ext/ruby/qtscript/qtscript.cpp +83 -0
  646. data/ext/ruby/qtscript/qtscript.rb +40 -0
  647. data/ext/ruby/qtscript/qtscripthandlers.cpp +37 -0
  648. data/ext/ruby/qtscript/smokedata.cpp +1403 -0
  649. data/ext/ruby/qttest/CMakeLists.txt +18 -0
  650. data/ext/ruby/qttest/ChangeLog +9 -0
  651. data/ext/ruby/qttest/examples/myfirsttest.rb +30 -0
  652. data/ext/ruby/qttest/qttest.cpp +83 -0
  653. data/ext/ruby/qttest/qttest.rb +166 -0
  654. data/ext/ruby/qttest/qttesthandlers.cpp +37 -0
  655. data/ext/ruby/qtuitools/CMakeLists.txt +16 -0
  656. data/ext/ruby/qtuitools/qtuitools.cpp +83 -0
  657. data/ext/ruby/qtuitools/qtuitools.rb +17 -0
  658. data/ext/ruby/qtuitools/qtuitoolshandlers.cpp +32 -0
  659. data/ext/ruby/qtwebkit/CMakeLists.txt +17 -0
  660. data/ext/ruby/qtwebkit/qtwebkit.cpp +67 -0
  661. data/ext/ruby/qtwebkit/qtwebkit.rb +17 -0
  662. data/ext/ruby/qtwebkit/qtwebkithandlers.cpp +40 -0
  663. data/ext/smoke/CMakeLists.txt +39 -0
  664. data/ext/smoke/deptool/CMakeLists.txt +7 -0
  665. data/ext/smoke/deptool/main.cpp +128 -0
  666. data/ext/smoke/qt_smoke.h +16 -0
  667. data/ext/smoke/qtcore/CMakeLists.txt +88 -0
  668. data/ext/smoke/qtcore/QtGuess.txt +180 -0
  669. data/ext/smoke/qtcore/config.xml.cmake +10 -0
  670. data/ext/smoke/qtcore/qt-config.xml.cmake +21 -0
  671. data/ext/smoke/qtcore/qtcore_includes.h +1 -0
  672. data/ext/smoke/qtcore/smokeconfig.xml +193 -0
  673. data/ext/smoke/qtcore/tests/CMakeLists.txt +13 -0
  674. data/ext/smoke/qtcore/tests/test.cpp +846 -0
  675. data/ext/smoke/qtcore_smoke.h +16 -0
  676. data/ext/smoke/qtdbus/CMakeLists.txt +38 -0
  677. data/ext/smoke/qtdbus/config.xml.cmake +11 -0
  678. data/ext/smoke/qtdbus/qtdbus_includes.h +2 -0
  679. data/ext/smoke/qtdbus/smokeconfig.xml +65 -0
  680. data/ext/smoke/qtdbus_smoke.h +16 -0
  681. data/ext/smoke/qtdeclarative/CMakeLists.txt +45 -0
  682. data/ext/smoke/qtdeclarative/config.xml.cmake +12 -0
  683. data/ext/smoke/qtdeclarative/qtdeclarative_includes.h +3 -0
  684. data/ext/smoke/qtdeclarative/smokeconfig.xml +59 -0
  685. data/ext/smoke/qtdeclarative_smoke.h +16 -0
  686. data/ext/smoke/qtgui/CMakeLists.txt +76 -0
  687. data/ext/smoke/qtgui/config.xml.cmake +11 -0
  688. data/ext/smoke/qtgui/qtgui_includes.h +7 -0
  689. data/ext/smoke/qtgui/smokeconfig.xml +500 -0
  690. data/ext/smoke/qtgui_smoke.h +16 -0
  691. data/ext/smoke/qthelp/CMakeLists.txt +45 -0
  692. data/ext/smoke/qthelp/config.xml.cmake +13 -0
  693. data/ext/smoke/qthelp/qthelp_includes.h +3 -0
  694. data/ext/smoke/qthelp/smokeconfig.xml +54 -0
  695. data/ext/smoke/qthelp_smoke.h +16 -0
  696. data/ext/smoke/qtmultimedia/CMakeLists.txt +42 -0
  697. data/ext/smoke/qtmultimedia/config.xml.cmake +12 -0
  698. data/ext/smoke/qtmultimedia/qtmultimedia_includes.h +3 -0
  699. data/ext/smoke/qtmultimedia/smokeconfig.xml +51 -0
  700. data/ext/smoke/qtmultimedia_smoke.h +16 -0
  701. data/ext/smoke/qtnetwork/CMakeLists.txt +38 -0
  702. data/ext/smoke/qtnetwork/config.xml.cmake +11 -0
  703. data/ext/smoke/qtnetwork/qtnetwork_includes.h +2 -0
  704. data/ext/smoke/qtnetwork/smokeconfig.xml +81 -0
  705. data/ext/smoke/qtnetwork_smoke.h +16 -0
  706. data/ext/smoke/qtopengl/CMakeLists.txt +43 -0
  707. data/ext/smoke/qtopengl/config.xml.cmake +13 -0
  708. data/ext/smoke/qtopengl/qtopengl_includes.h +3 -0
  709. data/ext/smoke/qtopengl/smokeconfig.xml +58 -0
  710. data/ext/smoke/qtopengl_smoke.h +16 -0
  711. data/ext/smoke/qtscript/CMakeLists.txt +31 -0
  712. data/ext/smoke/qtscript/config.xml.cmake +11 -0
  713. data/ext/smoke/qtscript/qtscript_includes.h +14 -0
  714. data/ext/smoke/qtscript/smokeconfig.xml +39 -0
  715. data/ext/smoke/qtscript_smoke.h +16 -0
  716. data/ext/smoke/qtsql/CMakeLists.txt +45 -0
  717. data/ext/smoke/qtsql/config.xml.cmake +11 -0
  718. data/ext/smoke/qtsql/qtsql_includes.h +3 -0
  719. data/ext/smoke/qtsql/smokeconfig.xml +60 -0
  720. data/ext/smoke/qtsql_smoke.h +16 -0
  721. data/ext/smoke/qtsvg/CMakeLists.txt +43 -0
  722. data/ext/smoke/qtsvg/config.xml.cmake +12 -0
  723. data/ext/smoke/qtsvg/qtsvg_includes.h +3 -0
  724. data/ext/smoke/qtsvg/smokeconfig.xml +46 -0
  725. data/ext/smoke/qtsvg_smoke.h +16 -0
  726. data/ext/smoke/qttest/CMakeLists.txt +35 -0
  727. data/ext/smoke/qttest/config.xml.cmake +12 -0
  728. data/ext/smoke/qttest/qttest_includes.h +14 -0
  729. data/ext/smoke/qttest/smokeconfig.xml +36 -0
  730. data/ext/smoke/qttest_smoke.h +16 -0
  731. data/ext/smoke/qtuitools/CMakeLists.txt +30 -0
  732. data/ext/smoke/qtuitools/config.xml.cmake +12 -0
  733. data/ext/smoke/qtuitools/qtuitools_includes.h +1 -0
  734. data/ext/smoke/qtuitools/smokeconfig.xml +20 -0
  735. data/ext/smoke/qtuitools_smoke.h +16 -0
  736. data/ext/smoke/qtwebkit/CMakeLists.txt +36 -0
  737. data/ext/smoke/qtwebkit/config.xml.cmake +11 -0
  738. data/ext/smoke/qtwebkit/qtwebkit_includes.h +1 -0
  739. data/ext/smoke/qtwebkit/smokeconfig.xml +48 -0
  740. data/ext/smoke/qtwebkit_smoke.h +16 -0
  741. data/ext/smoke/qtxml/CMakeLists.txt +41 -0
  742. data/ext/smoke/qtxml/config.xml.cmake +11 -0
  743. data/ext/smoke/qtxml/qtxml_includes.h +2 -0
  744. data/ext/smoke/qtxml/smokeconfig.xml +70 -0
  745. data/ext/smoke/qtxml_smoke.h +16 -0
  746. data/ext/smoke/qtxmlpatterns/CMakeLists.txt +42 -0
  747. data/ext/smoke/qtxmlpatterns/config.xml.cmake +12 -0
  748. data/ext/smoke/qtxmlpatterns/qtxmlpatterns_includes.h +3 -0
  749. data/ext/smoke/qtxmlpatterns/smokeconfig.xml +80 -0
  750. data/ext/smoke/qtxmlpatterns_smoke.h +16 -0
  751. data/ext/smoke/smoke.h +559 -0
  752. data/ext/smoke/smokeapi/CMakeLists.txt +9 -0
  753. data/ext/smoke/smokeapi/main.cpp +309 -0
  754. data/ext/smoke/smokebase/CMakeLists.txt +11 -0
  755. data/ext/smoke/smokebase/smokebase.cpp +6 -0
  756. data/ext/smoke/solid_smoke.h +16 -0
  757. data/extconf.rb +256 -0
  758. data/lib/Qt/qtruby4.rb +3268 -0
  759. data/lib/Qt.rb +1 -0
  760. data/lib/Qt4.rb +119 -0
  761. data/lib/qtbindings_version.rb +2 -0
  762. data/lib/qtdeclarative/qtdeclarative.rb +17 -0
  763. data/lib/qtscript/qtscript.rb +40 -0
  764. data/lib/qttest/qttest.rb +166 -0
  765. data/lib/qtuitools/qtuitools.rb +17 -0
  766. data/lib/qtwebkit/qtwebkit.rb +17 -0
  767. data/rock-qtbindings.gemspec +18 -0
  768. metadata +819 -0
@@ -0,0 +1,218 @@
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 './pixeldelegate.rb'
27
+ require './imagemodel.rb'
28
+
29
+ class MainWindow < Qt::MainWindow
30
+
31
+ slots :chooseImage,
32
+ :printImage,
33
+ :showAboutBox,
34
+ :updateView
35
+
36
+ def initialize()
37
+ super
38
+ @currentPath = Qt::Dir.home.absolutePath
39
+ @model = ImageModel.new(Qt::Image.new, self)
40
+
41
+ centralWidget = Qt::Widget.new
42
+
43
+ @view = Qt::TableView.new
44
+ @view.showGrid = false
45
+ @view.horizontalHeader.hide
46
+ @view.verticalHeader.hide
47
+
48
+ delegate = PixelDelegate.new(self)
49
+ @view.itemDelegate = delegate
50
+
51
+ pixelSizeLabel = Qt::Label.new(tr("Pixel size:"))
52
+ pixelSizeSpinBox = Qt::SpinBox.new do |s|
53
+ s.minimum = 1
54
+ s.maximum = 32
55
+ s.value = 12
56
+ end
57
+
58
+ fileMenu = Qt::Menu.new(tr("&File"), self)
59
+ openAction = fileMenu.addAction(tr("&Open..."))
60
+ openAction.shortcut = Qt::KeySequence.new(tr("Ctrl+O"))
61
+
62
+ @printAction = fileMenu.addAction(tr("&Print..."))
63
+ @printAction.enabled = false
64
+ @printAction.shortcut = Qt::KeySequence.new(tr("Ctrl+P"))
65
+
66
+ quitAction = fileMenu.addAction(tr("E&xit"))
67
+ quitAction.shortcut = Qt::KeySequence.new(tr("Ctrl+Q"))
68
+
69
+ helpMenu = Qt::Menu.new(tr("&Help"), self)
70
+ aboutAction = helpMenu.addAction(tr("&About"))
71
+
72
+ menuBar.addMenu(fileMenu)
73
+ menuBar.addSeparator
74
+ menuBar.addMenu(helpMenu)
75
+
76
+ connect(openAction, SIGNAL(:triggered), self, SLOT(:chooseImage))
77
+ connect(@printAction, SIGNAL(:triggered), self, SLOT(:printImage))
78
+ connect(quitAction, SIGNAL(:triggered), $qApp, SLOT(:quit))
79
+ connect(aboutAction, SIGNAL(:triggered), self, SLOT(:showAboutBox))
80
+ connect(pixelSizeSpinBox, SIGNAL('valueChanged(int)'),
81
+ delegate, SLOT('pixelSize=(int)'))
82
+ connect(pixelSizeSpinBox, SIGNAL('valueChanged(int)'),
83
+ self, SLOT(:updateView))
84
+
85
+ controlsLayout = Qt::HBoxLayout.new do |c|
86
+ c.addWidget(pixelSizeLabel)
87
+ c.addWidget(pixelSizeSpinBox)
88
+ c.addStretch(1)
89
+ end
90
+
91
+ centralWidget.layout = Qt::VBoxLayout.new do |m|
92
+ m.addWidget(@view)
93
+ m.addLayout(controlsLayout)
94
+ end
95
+
96
+ self.centralWidget = centralWidget
97
+
98
+ setWindowTitle(tr("Pixelator"))
99
+ resize(640, 480)
100
+ end
101
+
102
+ def chooseImage
103
+ fileName = Qt::FileDialog.getOpenFileName(self,
104
+ tr("Choose an image"), @currentPath, "*")
105
+
106
+ if !fileName.nil?
107
+ if openImage(fileName)
108
+ @currentPath = fileName
109
+ end
110
+ end
111
+ end
112
+
113
+ def openImage(fileName)
114
+ image = Qt::Image.new
115
+
116
+ if image.load(fileName)
117
+ @model = ImageModel.new(image)
118
+ @view.model = @model
119
+
120
+ if fileName !~ %r{^:/}
121
+ @currentPath = fileName
122
+ setWindowTitle("%s - Pixelator" % @currentPath)
123
+ end
124
+
125
+ @printAction.enabled = true
126
+ updateView
127
+ end
128
+ end
129
+
130
+ def printImage()
131
+ if @model.rowCount(Qt::ModelIndex.new()).model.columnCount(Qt::ModelIndex.new()) > 90000
132
+ answer = Qt::MessageBox::question(self, tr("Large Image Size"),
133
+ tr("The printed image may be very large. Are you sure that " \
134
+ "you want to print it?"),
135
+ Qt::MessageBox::Yes, Qt::MessageBox::No)
136
+ if answer == Qt::MessageBox::No
137
+ return
138
+ end
139
+ end
140
+
141
+ printer = Qt::Printer.new(Qt::Printer::HighResolution)
142
+
143
+ dlg = Qt::PrintDialog.new(printer, self)
144
+ dlg.windowTitle = tr("Print Image")
145
+
146
+ if dlg.exec != Qt::Dialog::Accepted
147
+ return
148
+ end
149
+
150
+ painter = Qt::Painter.new
151
+ painter.begin(printer)
152
+
153
+ rows = @model.rowCount(Qt::ModelIndex.new)
154
+ columns = @model.columnCount(Qt::ModelIndex.new)
155
+ sourceWidth = (columns+1) * PixelDelegate::ItemSize
156
+ sourceHeight = (rows+1) * PixelDelegate::ItemSize
157
+
158
+ painter.save
159
+
160
+ xscale = printer.pageRect.width/sourceWidth.to_f
161
+ yscale = printer.pageRect.height/sourceHeight.to_f
162
+ scale = [xscale, yscale].min
163
+
164
+ painter.translate(printer.paperRect.x + printer.pageRect.width/2,
165
+ printer.paperRect.y + printer.pageRect.height/2)
166
+ painter.scale(scale, scale)
167
+ painter.translate(-sourceWidth/2, -sourceHeight/2)
168
+
169
+ option = Qt::StyleOptionViewItem.new
170
+ parent = Qt::ModelIndex.new
171
+
172
+ progress = Qt::ProgressDialog.new(tr("Printing..."), tr("Cancel"), 0, rows, self)
173
+ y = PixelDelegate::ItemSize/2
174
+
175
+ for row in 0...rows do
176
+ progress.value = row
177
+ $qApp.processEvents
178
+ if progress.wasCanceled
179
+ break
180
+ end
181
+
182
+ x = PixelDelegate::ItemSize/2
183
+
184
+ for column in 0...columns do
185
+ option.rect = Qt::Rect.new(x.to_i, y.to_i, PixelDelegate::ItemSize, PixelDelegate::ItemSize)
186
+ @view.itemDelegate().paint(painter, option,
187
+ @model.index(row, column, parent))
188
+ x += PixelDelegate::ItemSize
189
+ end
190
+ y += PixelDelegate::ItemSize
191
+ end
192
+ progress.value = rows
193
+
194
+ painter.restore
195
+ painter.end
196
+
197
+ if progress.wasCanceled()
198
+ Qt::MessageBox.information(self, tr("Printing canceled"),
199
+ tr("The printing process was canceled."), Qt::MessageBox::Cancel)
200
+ end
201
+ end
202
+
203
+ def showAboutBox()
204
+ Qt::MessageBox.about(self, tr("About the Pixelator example"),
205
+ tr("This example demonstrates how a standard view and a custom\n" \
206
+ "delegate can be used to produce a specialized representation\n " \
207
+ "of data in a simple custom model."))
208
+ end
209
+
210
+ def updateView
211
+ for row in 0...@model.rowCount(Qt::ModelIndex.new) do
212
+ @view.resizeRowToContents(row)
213
+ end
214
+ for column in 0...@model.columnCount(Qt::ModelIndex.new) do
215
+ @view.resizeColumnToContents(column)
216
+ end
217
+ end
218
+ end
@@ -0,0 +1,3 @@
1
+ all:
2
+ rbrcc -name images images.qrc -o qrc_images.rb
3
+
@@ -0,0 +1,67 @@
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 PixelDelegate < Qt::AbstractItemDelegate
27
+
28
+ ItemSize = 256
29
+ slots 'pixelSize=(int)'
30
+ attr_accessor :pixelSize
31
+
32
+ def initialize(parent = nil)
33
+ super(parent)
34
+ @pixelSize = 12
35
+ end
36
+
37
+ def paint(painter, option, index)
38
+ painter.renderHint = Qt::Painter::Antialiasing
39
+ painter.pen = Qt::NoPen
40
+
41
+ if (option.state & Qt::Style::State_Selected.to_i) != 0
42
+ painter.brush = option.palette.highlight
43
+ else
44
+ painter.brush = Qt::Brush.new(Qt::white)
45
+ end
46
+
47
+ painter.drawRect(option.rect)
48
+
49
+ if (option.state & Qt::Style::State_Selected.to_i) != 0
50
+ painter.brush = option.palette.highlightedText
51
+ else
52
+ painter.brush = Qt::Brush.new(Qt::black)
53
+ end
54
+
55
+ size = [option.rect.width, option.rect.height].min
56
+ brightness = index.model.data(index, Qt::DisplayRole).to_i
57
+ radius = (size/2.0) - (brightness/255.0 * size/2.0)
58
+
59
+ painter.drawEllipse(Qt::RectF.new(option.rect.x + option.rect.width/2 - radius,
60
+ option.rect.y + option.rect.height/2 - radius,
61
+ 2*radius, 2*radius))
62
+ end
63
+
64
+ def sizeHint(option, index)
65
+ return Qt::Size.new(@pixelSize, @pixelSize)
66
+ end
67
+ end
@@ -0,0 +1,36 @@
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.openImage("example.jpg")
32
+ window.show
33
+ GC.disable
34
+ # Qt::Internal::setDebug Qt::QtDebugChannel::QTDB_GC
35
+
36
+ app.exec
@@ -0,0 +1,143 @@
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 './piecesmodel.rb'
27
+ require './puzzlewidget.rb'
28
+
29
+ class MainWindow < Qt::MainWindow
30
+
31
+ slots 'openImage(const QString&)', 'openImage()', 'setupPuzzle()'
32
+
33
+ slots 'setCompleted()'
34
+
35
+ def initialize(parent = nil)
36
+ super(parent)
37
+ setupMenus()
38
+ setupWidgets()
39
+
40
+ setSizePolicy(Qt::SizePolicy.new(Qt::SizePolicy::Fixed, Qt::SizePolicy::Fixed))
41
+ setWindowTitle(tr("Puzzle"))
42
+ @puzzleImage = Qt::Pixmap.new
43
+ end
44
+
45
+ def openImage(path = "")
46
+ fileName = path
47
+
48
+ if fileName.empty?
49
+ fileName = Qt::FileDialog.getOpenFileName(self,
50
+ tr("Open Image"), "", "Image Files (*.png *.jpg *.bmp)")
51
+ end
52
+
53
+ if !fileName.nil?
54
+ newImage = Qt::Pixmap.new
55
+ if !newImage.load(fileName)
56
+ Qt::MessageBox.warning(self, tr("Open Image"),
57
+ tr("The image file could not be loaded."),
58
+ Qt::MessageBox::Cancel, Qt::MessageBox::NoButton)
59
+ return
60
+ end
61
+ @puzzleImage = newImage
62
+ setupPuzzle()
63
+ end
64
+ end
65
+
66
+ def setCompleted()
67
+ Qt::MessageBox.information(self, tr("Puzzle Completed"),
68
+ tr("Congratulations! You have completed the puzzle!\n" +
69
+ "Click OK to start again."),
70
+ Qt::MessageBox::Ok)
71
+
72
+ setupPuzzle()
73
+ end
74
+
75
+ def setupPuzzle()
76
+ size = [@puzzleImage.width(), @puzzleImage.height()].min
77
+ @puzzleImage = @puzzleImage.copy((@puzzleImage.width() - size)/2,
78
+ (@puzzleImage.height() - size)/2, size, size).scaled(400,
79
+ 400, Qt::IgnoreAspectRatio, Qt::SmoothTransformation)
80
+
81
+ oldModel = @piecesList.model
82
+ newModel = PiecesModel.new(self)
83
+ @piecesList.model = newModel
84
+ oldModel.dispose
85
+
86
+ # srand(QCursor::pos().x() ^ QCursor::pos().y());
87
+ Kernel.srand
88
+
89
+ for y in 0...5
90
+ for x in 0...5
91
+ pieceImage = @puzzleImage.copy(x*80, y*80, 80, 80)
92
+ newModel.addPiece(pieceImage, Qt::Point.new(x, y))
93
+ end
94
+ end
95
+
96
+ @puzzleWidget.clear()
97
+ end
98
+
99
+ def setupMenus()
100
+ fileMenu = menuBar().addMenu(tr("&File"))
101
+
102
+ openAction = fileMenu.addAction(tr("&Open..."))
103
+ openAction.shortcut = Qt::KeySequence.new(tr("Ctrl+O"))
104
+
105
+ exitAction = fileMenu.addAction(tr("E&xit"))
106
+ exitAction.shortcut = Qt::KeySequence.new(tr("Ctrl+Q"))
107
+
108
+ gameMenu = menuBar().addMenu(tr("&Game"))
109
+
110
+ restartAction = gameMenu.addAction(tr("&Restart"))
111
+
112
+ connect(openAction, SIGNAL('triggered()'), self, SLOT('openImage()'))
113
+ connect(exitAction, SIGNAL('triggered()'), $qApp, SLOT('quit()'))
114
+ connect(restartAction, SIGNAL('triggered()'), self, SLOT('setupPuzzle()'))
115
+ end
116
+
117
+ def setupWidgets()
118
+ frame = Qt::Frame.new
119
+ frameLayout = Qt::HBoxLayout.new(frame)
120
+
121
+ @piecesList = Qt::ListView.new
122
+ @piecesList.dragEnabled = true
123
+ @piecesList.viewMode = Qt::ListView::IconMode
124
+ @piecesList.iconSize = Qt::Size.new(60, 60)
125
+ @piecesList.gridSize = Qt::Size.new(80, 80)
126
+ @piecesList.spacing = 10
127
+ @piecesList.movement = Qt::ListView::Snap
128
+ @piecesList.acceptDrops = true
129
+ @piecesList.dropIndicatorShown = true
130
+
131
+ model = PiecesModel.new(self)
132
+ @piecesList.model = model
133
+
134
+ @puzzleWidget = PuzzleWidget.new
135
+
136
+ connect(@puzzleWidget, SIGNAL('puzzleCompleted()'),
137
+ self, SLOT('setCompleted()'), Qt::QueuedConnection)
138
+
139
+ frameLayout.addWidget(@piecesList)
140
+ frameLayout.addWidget(@puzzleWidget)
141
+ setCentralWidget(frame)
142
+ end
143
+ end
@@ -0,0 +1,174 @@
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 PiecesModel < Qt::AbstractListModel
27
+
28
+ RAND_MAX = 2147483647
29
+
30
+ def initialize(parent)
31
+ super(parent)
32
+ @locations = []
33
+ @pixmaps = []
34
+ end
35
+
36
+ def data(index, role)
37
+ if !index.valid?
38
+ return Qt::Variant.new
39
+ end
40
+
41
+ if role == Qt::DecorationRole
42
+ return qVariantFromValue(Qt::Icon.new(@pixmaps[index.row].scaled(60, 60,
43
+ Qt::KeepAspectRatio, Qt::SmoothTransformation)))
44
+ elsif role == Qt::UserRole
45
+ return qVariantFromValue(@pixmaps[index.row])
46
+ elsif role == Qt::UserRole + 1
47
+ return qVariantFromValue(@locations[index.row])
48
+ end
49
+
50
+ return Qt::Variant.new
51
+ end
52
+
53
+ def addPiece(pixmap, location)
54
+ if (2.0*rand(RAND_MAX)/(RAND_MAX+1.0)).to_i == 1
55
+ row = 0
56
+ else
57
+ row = @pixmaps.size
58
+ end
59
+
60
+ beginInsertRows(Qt::ModelIndex.new, row, row)
61
+ @pixmaps[row] = pixmap
62
+ @locations[row] = location
63
+ endInsertRows()
64
+ end
65
+
66
+ def flags(index)
67
+ if index.valid?
68
+ return (Qt::ItemIsEnabled | Qt::ItemIsSelectable |
69
+ Qt::ItemIsDragEnabled | Qt::ItemIsSelectable | Qt::ItemIsDropEnabled)
70
+ end
71
+
72
+ return Qt::ItemIsEnabled | Qt::ItemIsDropEnabled
73
+ end
74
+
75
+ def removeRows(row, count, parent)
76
+ if parent.valid?
77
+ return false
78
+ end
79
+
80
+ if row >= @pixmaps.size() || row + count <= 0
81
+ return false
82
+ end
83
+
84
+ beginRow = [0, row].max
85
+ endRow = [row + count - 1, @pixmaps.size() - 1].min
86
+
87
+ beginRemoveRows(parent, beginRow, endRow)
88
+
89
+ while beginRow <= endRow
90
+ @pixmaps.delete(beginRow)
91
+ @locations.delete(beginRow)
92
+ beginRow += 1
93
+ end
94
+
95
+ endRemoveRows()
96
+ return true
97
+ end
98
+
99
+ def mimeTypes()
100
+ types = []
101
+ types << "image/x-puzzle-piece"
102
+ return types
103
+ end
104
+
105
+ def mimeData(indexes)
106
+ mimeData = Qt::MimeData.new
107
+ encodedData = Qt::ByteArray.new
108
+
109
+ stream = Qt::DataStream.new(encodedData, Qt::IODevice::WriteOnly)
110
+
111
+ indexes.each do |index|
112
+ if index.valid?
113
+ pixmap = qVariantValue(Qt::Pixmap, data(index, Qt::UserRole))
114
+ location = data(index, Qt::UserRole+1).toPoint
115
+ stream << pixmap << location
116
+ end
117
+ end
118
+
119
+ mimeData.setData("image/x-puzzle-piece", encodedData)
120
+ return mimeData
121
+ end
122
+
123
+ def dropMimeData(data, action, row, column, parent)
124
+ if !data.hasFormat("image/x-puzzle-piece")
125
+ return false
126
+ end
127
+
128
+ if action == Qt::IgnoreAction
129
+ return true
130
+ end
131
+
132
+ if column > 0
133
+ return false
134
+ end
135
+
136
+ if !parent.valid? && row < 0
137
+ endRow = @pixmaps.size
138
+ elsif !parent.valid?
139
+ endRow = [row, pixmaps.size()].min
140
+ else
141
+ endRow = parent.row
142
+ end
143
+
144
+ encodedData = data.data("image/x-puzzle-piece")
145
+ stream = Qt::DataStream.new(encodedData, Qt::IODevice::ReadOnly)
146
+
147
+ while !stream.atEnd
148
+ pixmap = Qt::Pixmap.new
149
+ location = Qt::Point.new
150
+ stream >> pixmap >> location
151
+
152
+ beginInsertRows(Qt::ModelIndex.new, endRow, endRow)
153
+ @pixmaps.insert(endRow, pixmap)
154
+ @locations.insert(endRow, location)
155
+ endInsertRows()
156
+
157
+ endRow += 1
158
+ end
159
+
160
+ return true
161
+ end
162
+
163
+ def rowCount(parent)
164
+ if parent.valid?
165
+ return 0
166
+ else
167
+ return @pixmaps.size
168
+ end
169
+ end
170
+
171
+ def supportedDropActions
172
+ return Qt::CopyAction | Qt::MoveAction
173
+ end
174
+ end