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,111 @@
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
+ ** self 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 IconPreviewArea < Qt::Widget
27
+
28
+ NumModes = 3
29
+ NumStates = 2
30
+
31
+ def initialize(parent = nil)
32
+ super(parent)
33
+ mainLayout = Qt::GridLayout.new
34
+ setLayout(mainLayout)
35
+
36
+ stateLabels = []
37
+ stateLabels[0] = createHeaderLabel(tr("Off"))
38
+ stateLabels[1] = createHeaderLabel(tr("On"))
39
+
40
+ modeLabels = []
41
+ modeLabels[0] = createHeaderLabel(tr("Normal"))
42
+ modeLabels[1] = createHeaderLabel(tr("Active"))
43
+ modeLabels[2] = createHeaderLabel(tr("Disabled"))
44
+
45
+ (0...NumStates).each do |j|
46
+ mainLayout.addWidget(stateLabels[j], j + 1, 0)
47
+ end
48
+
49
+ @pixmapLabels = []
50
+ (0...NumModes).each do |i|
51
+ mainLayout.addWidget(modeLabels[i], 0, i + 1)
52
+
53
+ @pixmapLabels[i] = []
54
+ (0...NumStates).each do |j|
55
+ @pixmapLabels[i][j] = createPixmapLabel()
56
+ mainLayout.addWidget(@pixmapLabels[i][j], j + 1, i + 1)
57
+ end
58
+ end
59
+
60
+ @size = Qt::Size.new
61
+ @icon = Qt::Icon.new
62
+ end
63
+
64
+ def icon=(icon)
65
+ @icon = icon
66
+ updatePixmapLabels()
67
+ end
68
+
69
+ def size=(size)
70
+ if size != @size
71
+ @size = size
72
+ updatePixmapLabels()
73
+ end
74
+ end
75
+
76
+ def createHeaderLabel(text)
77
+ label = Qt::Label.new(tr("<b>%s</b>" % text))
78
+ label.alignment = Qt::AlignCenter.to_i
79
+ return label
80
+ end
81
+
82
+ def createPixmapLabel()
83
+ label = Qt::Label.new
84
+ label.enabled = false
85
+ label.alignment = Qt::AlignCenter.to_i
86
+ label.frameShape = Qt::Frame::Box
87
+ label.setSizePolicy(Qt::SizePolicy::Expanding, Qt::SizePolicy::Expanding)
88
+ label.backgroundRole = Qt::Palette::Base
89
+ label.setMinimumSize(132, 132)
90
+ return label
91
+ end
92
+
93
+ def updatePixmapLabels()
94
+ (0...NumModes).each do |i|
95
+ if i == 0
96
+ mode = Qt::Icon::Normal
97
+ elsif i == 1
98
+ mode = Qt::Icon::Active
99
+ else
100
+ mode = Qt::Icon::Disabled
101
+ end
102
+
103
+ (0...NumStates).each do |j|
104
+ state = (j == 0) ? Qt::Icon::Off : Qt::Icon::On
105
+ pixmap = @icon.pixmap(@size, mode, state)
106
+ @pixmapLabels[i][j].pixmap = pixmap
107
+ @pixmapLabels[i][j].enabled = !pixmap.nil?
108
+ end
109
+ end
110
+ end
111
+ end
@@ -0,0 +1,39 @@
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
+ ** self 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 IconSizeSpinBox < Qt::SpinBox
27
+
28
+ def initialize(parent = nil)
29
+ super(parent)
30
+ end
31
+
32
+ def valueFromText(text)
33
+ return /(\\d+)(\\s*[xx]\\s*\\d+)?/.match(text)[1].to_i
34
+ end
35
+
36
+ def textFromValue(value)
37
+ return tr("%d x %d" % [value, value])
38
+ end
39
+ end
@@ -0,0 +1,73 @@
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
+ ** self 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 ImageDelegate < Qt::ItemDelegate
27
+
28
+ slots 'emitCommitData()'
29
+
30
+ def initialize(parent = nil)
31
+ super(parent)
32
+ end
33
+
34
+ def createEditor(parent, option, index)
35
+ comboBox = Qt::ComboBox.new(parent)
36
+ if index.column() == 1
37
+ comboBox.addItem(tr("Normal"))
38
+ comboBox.addItem(tr("Active"))
39
+ comboBox.addItem(tr("Disabled"))
40
+ elsif index.column() == 2
41
+ comboBox.addItem(tr("Off"))
42
+ comboBox.addItem(tr("On"))
43
+ end
44
+
45
+ connect(comboBox, SIGNAL('activated(int)'), self, SLOT('emitCommitData()'))
46
+
47
+ return comboBox
48
+ end
49
+
50
+ def setEditorData(editor, index)
51
+ comboBox = editor
52
+ if comboBox.nil?
53
+ return
54
+ end
55
+
56
+ pos = comboBox.findText(index.model().data(index).toString(),
57
+ Qt::MatchExactly.to_i)
58
+ comboBox.currentIndex = pos
59
+ end
60
+
61
+ def setModelData(editor, model, index)
62
+ comboBox = editor
63
+ if comboBox.nil?
64
+ return
65
+ end
66
+
67
+ model.setData(index, Qt::Variant.new(comboBox.currentText()), Qt::EditRole)
68
+ end
69
+
70
+ def emitCommitData()
71
+ emit commitData(sender())
72
+ end
73
+ end
@@ -0,0 +1,32 @@
1
+ =begin
2
+ **
3
+ ** Copyright (C) 2004-2005 Trolltech AS. All rights reserved.
4
+ **
5
+ ** This file is part of the example classes of the Qt Toolkit.
6
+ **
7
+ ** This file may be used under the terms of the GNU General Public
8
+ ** License version 2.0 as published by the Free Software Foundation
9
+ ** and appearing in the file LICENSE.GPL included in the packaging of
10
+ ** this file. Please review the following information to ensure GNU
11
+ ** General Public Licensing requirements will be met:
12
+ ** http://www.trolltech.com/products/qt/opensource.html
13
+ **
14
+ ** If you are unsure which license is appropriate for your use, please
15
+ ** review the following information:
16
+ ** http://www.trolltech.com/products/qt/licensing.html or contact the
17
+ ** sales department at sales@trolltech.com.
18
+ **
19
+ ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
20
+ ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21
+ **
22
+
23
+ ** Translated to QtRuby by Richard Dale
24
+ =end
25
+
26
+ require 'Qt'
27
+ require './mainwindow.rb'
28
+
29
+ app = Qt::Application.new(ARGV)
30
+ mainWin = MainWindow.new
31
+ mainWin.show
32
+ app.exec
@@ -0,0 +1,351 @@
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
+ ** self 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 './iconpreviewarea.rb'
27
+ require './iconsizespinbox.rb'
28
+ require './imagedelegate.rb'
29
+
30
+ class MainWindow < Qt::MainWindow
31
+
32
+ slots 'about()',
33
+ 'changeStyle(bool)',
34
+ 'changeSize()',
35
+ 'changeIcon()',
36
+ 'addImage()',
37
+ 'removeAllImages()'
38
+
39
+ def initialize()
40
+ super
41
+ @centralWidget = Qt::Widget.new
42
+ setCentralWidget(@centralWidget)
43
+
44
+ createPreviewGroupBox()
45
+ createImagesGroupBox()
46
+ createIconSizeGroupBox()
47
+
48
+ createActions()
49
+ createMenus()
50
+ createContextMenu()
51
+
52
+ mainLayout = Qt::GridLayout.new
53
+ mainLayout.addWidget(@imagesGroupBox, 0, 0)
54
+ mainLayout.addWidget(@iconSizeGroupBox, 1, 0)
55
+ mainLayout.addWidget(@previewGroupBox, 0, 1, 2, 1)
56
+ @centralWidget.layout = mainLayout
57
+
58
+ setWindowTitle(tr("Icons"))
59
+ checkCurrentStyle()
60
+ @otherRadioButton.click()
61
+ resize(860, 400)
62
+ end
63
+
64
+ def about()
65
+ Qt::MessageBox.about(self, tr("About Icons"),
66
+ tr("The <b>Icons</b> example illustrates how Qt renders an icon in " +
67
+ "different modes (active, normal, and disabled) and states (on " +
68
+ "and off) based on a set of images."))
69
+ end
70
+
71
+ def changeStyle(checked)
72
+ if !checked
73
+ return
74
+ end
75
+
76
+ action = sender()
77
+ style = Qt::StyleFactory.create(action.data().toString())
78
+ Qt::Application.style = style
79
+
80
+ @smallRadioButton.text = tr("Small (%d x %d" %
81
+ [ style.pixelMetric(Qt::Style::PM_SmallIconSize),
82
+ style.pixelMetric(Qt::Style::PM_SmallIconSize) ] )
83
+ @largeRadioButton.text = tr("Large (%d x %d" %
84
+ [ style.pixelMetric(Qt::Style::PM_LargeIconSize),
85
+ style.pixelMetric(Qt::Style::PM_LargeIconSize) ] )
86
+ @toolBarRadioButton.text = tr("Toolbars (%d x %d" %
87
+ [ style.pixelMetric(Qt::Style::PM_ToolBarIconSize),
88
+ style.pixelMetric(Qt::Style::PM_ToolBarIconSize) ] )
89
+ @listViewRadioButton.text = tr("List views (%d x %d" %
90
+ [ style.pixelMetric(Qt::Style::PM_ListViewIconSize),
91
+ style.pixelMetric(Qt::Style::PM_ListViewIconSize) ] )
92
+ @iconViewRadioButton.text = tr("Icon views (%d x %d" %
93
+ [ style.pixelMetric(Qt::Style::PM_IconViewIconSize),
94
+ style.pixelMetric(Qt::Style::PM_IconViewIconSize) ] )
95
+
96
+ changeSize()
97
+ end
98
+
99
+ def changeSize()
100
+ if @otherRadioButton.checked?
101
+ extent = @otherSpinBox.value
102
+ else
103
+ if @smallRadioButton.checked?
104
+ metric = Qt::Style::PM_SmallIconSize
105
+ elsif @largeRadioButton.checked?
106
+ metric = Qt::Style::PM_LargeIconSize
107
+ elsif @toolBarRadioButton.checked?
108
+ metric = Qt::Style::PM_ToolBarIconSize
109
+ elsif @listViewRadioButton.checked?
110
+ metric = Qt::Style::PM_ListViewIconSize
111
+ else
112
+ metric = Qt::Style::PM_IconViewIconSize
113
+ end
114
+ extent = Qt::Application::style().pixelMetric(metric)
115
+ end
116
+
117
+ @previewArea.size = Qt::Size.new(extent, extent)
118
+ @otherSpinBox.enabled = @otherRadioButton.checked?
119
+ end
120
+
121
+ def changeIcon()
122
+ icon = Qt::Icon.new
123
+ (0...@imagesTable.rowCount).each do |row|
124
+ item0 = @imagesTable.item(row, 0)
125
+ item1 = @imagesTable.item(row, 1)
126
+ item2 = @imagesTable.item(row, 2)
127
+
128
+ if item0.checkState() == Qt::Checked
129
+ if item1.text() == tr("Normal")
130
+ mode = Qt::Icon::Normal
131
+ elsif item1.text() == tr("Active")
132
+ mode = Qt::Icon::Active
133
+ else
134
+ mode = Qt::Icon::Disabled
135
+ end
136
+
137
+ if item2.text() == tr("On")
138
+ state = Qt::Icon::On
139
+ else
140
+ state = Qt::Icon::Off
141
+ end
142
+
143
+ fileName = item0.data(Qt::UserRole).toString()
144
+ image = Qt::Image.new(fileName)
145
+ if !image.nil?
146
+ icon.addPixmap(Qt::Pixmap.fromImage(image), mode, state)
147
+ end
148
+ end
149
+ end
150
+ @previewArea.icon = icon
151
+ end
152
+
153
+ def addImage()
154
+ fileNames = Qt::FileDialog.getOpenFileNames(self,
155
+ tr("Open Images"), "",
156
+ tr("Images (*.png *.xpm *.jpg);;" +
157
+ "All Files (*)") )
158
+ if !fileNames.nil?
159
+ fileNames.each do |fileName|
160
+ row = @imagesTable.rowCount()
161
+ @imagesTable.rowCount = row + 1
162
+
163
+ imageName = Qt::FileInfo.new(fileName).baseName()
164
+ item0 = Qt::TableWidgetItem.new(imageName)
165
+ item0.setData(Qt::UserRole, Qt::Variant.new(fileName))
166
+ item0.flags &= ~Qt::ItemIsEditable
167
+
168
+ item1 = Qt::TableWidgetItem.new(tr("Normal"))
169
+ item2 = Qt::TableWidgetItem.new(tr("Off"))
170
+
171
+ if @guessModeStateAct.checked?
172
+ if fileName.include?("_act")
173
+ item1.text = tr("Active")
174
+ elsif fileName.include?("_dis")
175
+ item1.text = tr("Disabled")
176
+ end
177
+
178
+ if fileName.include?("_on")
179
+ item2.text = tr("On")
180
+ end
181
+ end
182
+
183
+ @imagesTable.setItem(row, 0, item0)
184
+ @imagesTable.setItem(row, 1, item1)
185
+ @imagesTable.setItem(row, 2, item2)
186
+ @imagesTable.openPersistentEditor(item1)
187
+ @imagesTable.openPersistentEditor(item2)
188
+
189
+ item0.checkState = Qt::Checked
190
+ end
191
+ end
192
+ end
193
+
194
+ def removeAllImages()
195
+ @imagesTable.rowCount = 0
196
+ changeIcon()
197
+ end
198
+
199
+ def createPreviewGroupBox()
200
+ @previewGroupBox = Qt::GroupBox.new(tr("Preview"))
201
+
202
+ @previewArea = IconPreviewArea.new
203
+
204
+ layout = Qt::VBoxLayout.new
205
+ layout.addWidget(@previewArea)
206
+ @previewGroupBox.layout = layout
207
+ end
208
+
209
+ def createImagesGroupBox()
210
+ @imagesGroupBox = Qt::GroupBox.new(tr("Images"))
211
+ @imagesGroupBox.setSizePolicy(Qt::SizePolicy::Expanding,
212
+ Qt::SizePolicy::Expanding)
213
+
214
+ labels = []
215
+ labels << tr("Image") << tr("Mode") << tr("State")
216
+
217
+ @imagesTable = Qt::TableWidget.new
218
+ @imagesTable.setSizePolicy(Qt::SizePolicy::Expanding, Qt::SizePolicy::Ignored)
219
+ @imagesTable.selectionMode = Qt::AbstractItemView::NoSelection
220
+ @imagesTable.columnCount = 3
221
+ @imagesTable.horizontalHeaderLabels = labels
222
+ @imagesTable.itemDelegate = ImageDelegate.new(self)
223
+
224
+ @imagesTable.horizontalHeader().resizeSection(0, 160)
225
+ @imagesTable.horizontalHeader().resizeSection(1, 80)
226
+ @imagesTable.horizontalHeader().resizeSection(2, 80)
227
+ @imagesTable.verticalHeader().hide()
228
+
229
+ connect(@imagesTable, SIGNAL('itemChanged(QTableWidgetItem*)'),
230
+ self, SLOT('changeIcon()'))
231
+
232
+ layout = Qt::VBoxLayout.new
233
+ layout.addWidget(@imagesTable)
234
+ @imagesGroupBox.layout = layout
235
+ end
236
+
237
+ def createIconSizeGroupBox()
238
+ @iconSizeGroupBox = Qt::GroupBox.new(tr("Icon Size"))
239
+
240
+ @smallRadioButton = Qt::RadioButton.new
241
+ @largeRadioButton = Qt::RadioButton.new
242
+ @toolBarRadioButton = Qt::RadioButton.new
243
+ @listViewRadioButton = Qt::RadioButton.new
244
+ @iconViewRadioButton = Qt::RadioButton.new
245
+ @otherRadioButton = Qt::RadioButton.new(tr("Other:"))
246
+
247
+ @otherSpinBox = IconSizeSpinBox.new
248
+ @otherSpinBox.range = 8..128
249
+ @otherSpinBox.value = 64
250
+
251
+ connect(@toolBarRadioButton, SIGNAL('toggled(bool)'),
252
+ self, SLOT('changeSize()'))
253
+ connect(@listViewRadioButton, SIGNAL('toggled(bool)'),
254
+ self, SLOT('changeSize()'))
255
+ connect(@iconViewRadioButton, SIGNAL('toggled(bool)'),
256
+ self, SLOT('changeSize()'))
257
+ connect(@smallRadioButton, SIGNAL('toggled(bool)'), self, SLOT('changeSize()'))
258
+ connect(@largeRadioButton, SIGNAL('toggled(bool)'), self, SLOT('changeSize()'))
259
+ connect(@otherRadioButton, SIGNAL('toggled(bool)'), self, SLOT('changeSize()'))
260
+ connect(@otherSpinBox, SIGNAL('valueChanged(int)'), self, SLOT('changeSize()'))
261
+
262
+ otherSizeLayout = Qt::HBoxLayout.new
263
+ otherSizeLayout.addWidget(@otherRadioButton)
264
+ otherSizeLayout.addWidget(@otherSpinBox)
265
+
266
+ layout = Qt::GridLayout.new
267
+ layout.addWidget(@smallRadioButton, 0, 0)
268
+ layout.addWidget(@largeRadioButton, 1, 0)
269
+ layout.addWidget(@toolBarRadioButton, 2, 0)
270
+ layout.addWidget(@listViewRadioButton, 0, 1)
271
+ layout.addWidget(@iconViewRadioButton, 1, 1)
272
+ layout.addLayout(otherSizeLayout, 2, 1)
273
+ @iconSizeGroupBox.layout = layout
274
+ end
275
+
276
+ def createActions()
277
+ @addImageAct = Qt::Action.new(tr("&Add Image..."), self)
278
+ @addImageAct.shortcut = Qt::KeySequence.new(tr("Ctrl+A"))
279
+ connect(@addImageAct, SIGNAL('triggered()'), self, SLOT('addImage()'))
280
+
281
+ @removeAllImagesAct = Qt::Action.new(tr("&Remove All Images"), self)
282
+ @removeAllImagesAct.shortcut = Qt::KeySequence.new(tr("Ctrl+R"))
283
+ connect(@removeAllImagesAct, SIGNAL('triggered()'),
284
+ self, SLOT('removeAllImages()'))
285
+
286
+ @exitAct = Qt::Action.new(tr("&Quit"), self)
287
+ @exitAct.shortcut = Qt::KeySequence.new(tr("Ctrl+Q"))
288
+ connect(@exitAct, SIGNAL('triggered()'), self, SLOT('close()'))
289
+
290
+ @styleActionGroup = Qt::ActionGroup.new(self)
291
+
292
+ Qt::StyleFactory::keys().each do |styleName|
293
+ action = Qt::Action.new(@styleActionGroup)
294
+ action.text = tr("%s Style" % styleName)
295
+ action.data = Qt::Variant.new(styleName)
296
+ action.checkable = true
297
+ connect(action, SIGNAL('triggered(bool)'), self, SLOT('changeStyle(bool)'))
298
+ end
299
+
300
+ @guessModeStateAct = Qt::Action.new(tr("&Guess Image Mode/State"), self)
301
+ @guessModeStateAct.checkable = true
302
+ @guessModeStateAct.checked = true
303
+
304
+ @aboutAct = Qt::Action.new(tr("&About"), self)
305
+ connect(@aboutAct, SIGNAL('triggered()'), self, SLOT('about()'))
306
+
307
+ @aboutQtAct = Qt::Action.new(tr("About &Qt"), self)
308
+ connect(@aboutQtAct, SIGNAL('triggered()'), $qApp, SLOT('aboutQt()'))
309
+ end
310
+
311
+ def createMenus()
312
+ @fileMenu = menuBar().addMenu(tr("&File"))
313
+ @fileMenu.addAction(@addImageAct)
314
+ @fileMenu.addAction(@removeAllImagesAct)
315
+ @fileMenu.addSeparator()
316
+ @fileMenu.addAction(@exitAct)
317
+
318
+ @viewMenu = menuBar().addMenu(tr("&View"))
319
+
320
+ @styleActionGroup.actions().each do |action|
321
+ @viewMenu.addAction(action)
322
+ end
323
+ @viewMenu.addSeparator()
324
+ @viewMenu.addAction(@guessModeStateAct)
325
+
326
+ menuBar().addSeparator()
327
+
328
+ @helpMenu = menuBar().addMenu(tr("&Help"))
329
+ @helpMenu.addAction(@aboutAct)
330
+ @helpMenu.addAction(@aboutQtAct)
331
+ end
332
+
333
+ def createContextMenu()
334
+ @imagesTable.contextMenuPolicy = Qt::ActionsContextMenu
335
+ @imagesTable.addAction(@addImageAct)
336
+ @imagesTable.addAction(@removeAllImagesAct)
337
+ end
338
+
339
+ def checkCurrentStyle()
340
+ @styleActionGroup.actions().each do |action|
341
+ styleName = action.data().toString()
342
+ candidate = Qt::StyleFactory.create(styleName)
343
+
344
+ if candidate.metaObject().className() ==
345
+ Qt::Application.style().metaObject().className()
346
+ action.trigger()
347
+ return
348
+ end
349
+ end
350
+ end
351
+ end