qtbindings 4.6.3.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1225) hide show
  1. data/CHANGELOG.txt +9 -0
  2. data/CMakeLists.txt +22 -0
  3. data/COPYING.LIB.txt +510 -0
  4. data/COPYING.txt +286 -0
  5. data/KNOWN_ISSUES.txt +20 -0
  6. data/README.txt +92 -0
  7. data/Rakefile +96 -0
  8. data/TODO.txt +2 -0
  9. data/bin/1.8/rbrcc.exe +0 -0
  10. data/bin/1.8/rbuic4.exe +0 -0
  11. data/bin/1.8/smokeapi.exe +0 -0
  12. data/bin/1.8/smokedeptool.exe +0 -0
  13. data/bin/1.9/rbrcc.exe +0 -0
  14. data/bin/1.9/rbuic4.exe +0 -0
  15. data/bin/1.9/smokeapi.exe +0 -0
  16. data/bin/1.9/smokedeptool.exe +0 -0
  17. data/bin/Qt3Support4.dll +0 -0
  18. data/bin/QtAssistantClient4.dll +0 -0
  19. data/bin/QtCLucene4.dll +0 -0
  20. data/bin/QtCore4.dll +0 -0
  21. data/bin/QtDesigner4.dll +0 -0
  22. data/bin/QtDesignerComponents4.dll +0 -0
  23. data/bin/QtGui4.dll +0 -0
  24. data/bin/QtHelp4.dll +0 -0
  25. data/bin/QtMultimedia4.dll +0 -0
  26. data/bin/QtNetwork4.dll +0 -0
  27. data/bin/QtOpenGL4.dll +0 -0
  28. data/bin/QtScript4.dll +0 -0
  29. data/bin/QtScriptTools4.dll +0 -0
  30. data/bin/QtSql4.dll +0 -0
  31. data/bin/QtSvg4.dll +0 -0
  32. data/bin/QtTest4.dll +0 -0
  33. data/bin/QtWebKit4.dll +0 -0
  34. data/bin/QtXml4.dll +0 -0
  35. data/bin/QtXmlPatterns4.dll +0 -0
  36. data/bin/libgcc_s_dw2-1.dll +0 -0
  37. data/bin/mingwm10.dll +0 -0
  38. data/bin/phonon4.dll +0 -0
  39. data/bin/plugins/arthurplugin.dll +0 -0
  40. data/bin/plugins/containerextension.dll +0 -0
  41. data/bin/plugins/customwidgetplugin.dll +0 -0
  42. data/bin/plugins/phononwidgets.dll +0 -0
  43. data/bin/plugins/qcncodecs4.dll +0 -0
  44. data/bin/plugins/qgif4.dll +0 -0
  45. data/bin/plugins/qglgraphicssystem4.dll +0 -0
  46. data/bin/plugins/qico4.dll +0 -0
  47. data/bin/plugins/qjpcodecs4.dll +0 -0
  48. data/bin/plugins/qjpeg4.dll +0 -0
  49. data/bin/plugins/qkrcodecs4.dll +0 -0
  50. data/bin/plugins/qmng4.dll +0 -0
  51. data/bin/plugins/qsqlite4.dll +0 -0
  52. data/bin/plugins/qsqlodbc4.dll +0 -0
  53. data/bin/plugins/qsvg4.dll +0 -0
  54. data/bin/plugins/qsvgicon4.dll +0 -0
  55. data/bin/plugins/qt3supportwidgets.dll +0 -0
  56. data/bin/plugins/qtaccessiblecompatwidgets4.dll +0 -0
  57. data/bin/plugins/qtaccessiblewidgets4.dll +0 -0
  58. data/bin/plugins/qtiff4.dll +0 -0
  59. data/bin/plugins/qtracegraphicssystem4.dll +0 -0
  60. data/bin/plugins/qtwcodecs4.dll +0 -0
  61. data/bin/plugins/qwebview.dll +0 -0
  62. data/bin/plugins/taskmenuextension.dll +0 -0
  63. data/bin/plugins/worldtimeclockplugin.dll +0 -0
  64. data/bin/rbqtapi +152 -0
  65. data/bin/rbrcc +18 -0
  66. data/bin/rbuic4 +18 -0
  67. data/bin/smokeapi +18 -0
  68. data/bin/smokedeptool +18 -0
  69. data/examples/base/kicons.rb +54 -0
  70. data/examples/base/rui.rb +21 -0
  71. data/examples/designer/calculatorbuilder/calculatorbuilder.qrc +5 -0
  72. data/examples/designer/calculatorbuilder/calculatorform.rb +60 -0
  73. data/examples/designer/calculatorbuilder/calculatorform.ui +299 -0
  74. data/examples/designer/calculatorbuilder/main.rb +34 -0
  75. data/examples/designer/calculatorbuilder/makefile +2 -0
  76. data/examples/designer/calculatorform/calculatorform.rb +46 -0
  77. data/examples/designer/calculatorform/calculatorform.ui +277 -0
  78. data/examples/designer/calculatorform/main.rb +32 -0
  79. data/examples/designer/calculatorform/makefile +3 -0
  80. data/examples/desktop/screenshot/main.rb +32 -0
  81. data/examples/desktop/screenshot/screenshot.rb +156 -0
  82. data/examples/desktop/systray/images/bad.svg +64 -0
  83. data/examples/desktop/systray/images/heart.svg +55 -0
  84. data/examples/desktop/systray/images/trash.svg +58 -0
  85. data/examples/desktop/systray/main.rb +41 -0
  86. data/examples/desktop/systray/makefile +2 -0
  87. data/examples/desktop/systray/systray.qrc +7 -0
  88. data/examples/desktop/systray/window.rb +223 -0
  89. data/examples/dialogs/complexwizard/complexwizard.rb +140 -0
  90. data/examples/dialogs/complexwizard/licensewizard.rb +294 -0
  91. data/examples/dialogs/complexwizard/main.rb +31 -0
  92. data/examples/dialogs/configdialog/configdialog.rb +109 -0
  93. data/examples/dialogs/configdialog/images/config.png +0 -0
  94. data/examples/dialogs/configdialog/images/query.png +0 -0
  95. data/examples/dialogs/configdialog/images/update.png +0 -0
  96. data/examples/dialogs/configdialog/main.rb +31 -0
  97. data/examples/dialogs/configdialog/pages.rb +140 -0
  98. data/examples/dialogs/extension/finddialog.rb +89 -0
  99. data/examples/dialogs/extension/main.rb +31 -0
  100. data/examples/dialogs/findfiles/main.rb +32 -0
  101. data/examples/dialogs/findfiles/window.rb +177 -0
  102. data/examples/dialogs/simplewizard/classwizard.rb +374 -0
  103. data/examples/dialogs/simplewizard/main.rb +31 -0
  104. data/examples/dialogs/simplewizard/simplewizard.rb +110 -0
  105. data/examples/dialogs/standarddialogs/dialog.rb +340 -0
  106. data/examples/dialogs/standarddialogs/main.rb +31 -0
  107. data/examples/dialogs/tabdialog/main.rb +38 -0
  108. data/examples/dialogs/tabdialog/tabdialog.rb +178 -0
  109. data/examples/draganddrop/draggableicons/dragwidget.rb +125 -0
  110. data/examples/draganddrop/draggableicons/images/boat.png +0 -0
  111. data/examples/draganddrop/draggableicons/images/car.png +0 -0
  112. data/examples/draganddrop/draggableicons/images/house.png +0 -0
  113. data/examples/draganddrop/draggableicons/main.rb +41 -0
  114. data/examples/draganddrop/draggabletext/draglabel.rb +51 -0
  115. data/examples/draganddrop/draggabletext/dragwidget.rb +94 -0
  116. data/examples/draganddrop/draggabletext/main.rb +33 -0
  117. data/examples/draganddrop/draggabletext/words.txt +41 -0
  118. data/examples/draganddrop/dropsite/dropsitewidget.rb +98 -0
  119. data/examples/draganddrop/dropsite/dropsitewindow.rb +114 -0
  120. data/examples/draganddrop/dropsite/main.rb +33 -0
  121. data/examples/draganddrop/fridgemagnets/draglabel.rb +78 -0
  122. data/examples/draganddrop/fridgemagnets/dragwidget.rb +130 -0
  123. data/examples/draganddrop/fridgemagnets/main.rb +33 -0
  124. data/examples/draganddrop/fridgemagnets/words.txt +48 -0
  125. data/examples/draganddrop/puzzle/example.jpg +0 -0
  126. data/examples/draganddrop/puzzle/main.rb +33 -0
  127. data/examples/draganddrop/puzzle/mainwindow.rb +136 -0
  128. data/examples/draganddrop/puzzle/pieceslist.rb +95 -0
  129. data/examples/draganddrop/puzzle/puzzlewidget.rb +190 -0
  130. data/examples/graphicsview/collidingmice/images/cheese.jpg +0 -0
  131. data/examples/graphicsview/collidingmice/main.rb +53 -0
  132. data/examples/graphicsview/collidingmice/makefile +2 -0
  133. data/examples/graphicsview/collidingmice/mice.qrc +5 -0
  134. data/examples/graphicsview/collidingmice/mouse.rb +176 -0
  135. data/examples/graphicsview/dragdroprobot/coloritem.rb +86 -0
  136. data/examples/graphicsview/dragdroprobot/images/head.png +0 -0
  137. data/examples/graphicsview/dragdroprobot/main.rb +57 -0
  138. data/examples/graphicsview/dragdroprobot/makefile +2 -0
  139. data/examples/graphicsview/dragdroprobot/robot.qrc +5 -0
  140. data/examples/graphicsview/dragdroprobot/robot.rb +246 -0
  141. data/examples/itemviews/chart/chart.qrc +5 -0
  142. data/examples/itemviews/chart/main.rb +33 -0
  143. data/examples/itemviews/chart/mainwindow.rb +151 -0
  144. data/examples/itemviews/chart/makefile +2 -0
  145. data/examples/itemviews/chart/mydata.cht +8 -0
  146. data/examples/itemviews/chart/pieview.rb +516 -0
  147. data/examples/itemviews/chart/qtdata.cht +14 -0
  148. data/examples/itemviews/dirview/main.rb +39 -0
  149. data/examples/itemviews/pixelator/imagemodel.rb +51 -0
  150. data/examples/itemviews/pixelator/images.qrc +5 -0
  151. data/examples/itemviews/pixelator/images/qt.png +0 -0
  152. data/examples/itemviews/pixelator/main.rb +34 -0
  153. data/examples/itemviews/pixelator/mainwindow.rb +218 -0
  154. data/examples/itemviews/pixelator/makefile +3 -0
  155. data/examples/itemviews/pixelator/pixeldelegate.rb +67 -0
  156. data/examples/itemviews/puzzle/example.jpg +0 -0
  157. data/examples/itemviews/puzzle/main.rb +36 -0
  158. data/examples/itemviews/puzzle/mainwindow.rb +143 -0
  159. data/examples/itemviews/puzzle/piecesmodel.rb +174 -0
  160. data/examples/itemviews/puzzle/puzzlewidget.rb +192 -0
  161. data/examples/itemviews/simpledommodel/domitem.rb +62 -0
  162. data/examples/itemviews/simpledommodel/dommodel.rb +139 -0
  163. data/examples/itemviews/simpledommodel/main.rb +33 -0
  164. data/examples/itemviews/simpledommodel/mainwindow.rb +66 -0
  165. data/examples/itemviews/simpletreemodel/default.txt +40 -0
  166. data/examples/itemviews/simpletreemodel/main.rb +41 -0
  167. data/examples/itemviews/simpletreemodel/makefile +2 -0
  168. data/examples/itemviews/simpletreemodel/simpletreemodel.qrc +5 -0
  169. data/examples/itemviews/simpletreemodel/treeitem.rb +67 -0
  170. data/examples/itemviews/simpletreemodel/treemodel.rb +164 -0
  171. data/examples/itemviews/sortingmodel/default.txt +40 -0
  172. data/examples/itemviews/sortingmodel/main.rb +53 -0
  173. data/examples/itemviews/sortingmodel/treeitem.rb +73 -0
  174. data/examples/itemviews/sortingmodel/treemodel.rb +166 -0
  175. data/examples/itemviews/spinboxdelegate/main.rb +47 -0
  176. data/examples/itemviews/spinboxdelegate/spinboxdelegate.rb +62 -0
  177. data/examples/killerfilter/killerfilter.rb +55 -0
  178. data/examples/layouts/basiclayouts/dialog.rb +110 -0
  179. data/examples/layouts/basiclayouts/main.rb +31 -0
  180. data/examples/layouts/borderlayout/borderlayout.rb +190 -0
  181. data/examples/layouts/borderlayout/main.rb +32 -0
  182. data/examples/layouts/borderlayout/window.rb +52 -0
  183. data/examples/layouts/flowlayouts/flowlayout.rb +108 -0
  184. data/examples/layouts/flowlayouts/main.rb +32 -0
  185. data/examples/layouts/flowlayouts/window.rb +43 -0
  186. data/examples/mainwindows/application/images/copy.png +0 -0
  187. data/examples/mainwindows/application/images/cut.png +0 -0
  188. data/examples/mainwindows/application/images/new.png +0 -0
  189. data/examples/mainwindows/application/images/open.png +0 -0
  190. data/examples/mainwindows/application/images/paste.png +0 -0
  191. data/examples/mainwindows/application/images/save.png +0 -0
  192. data/examples/mainwindows/application/main.rb +32 -0
  193. data/examples/mainwindows/application/mainwindow.rb +285 -0
  194. data/examples/mainwindows/dockwidgets/images/new.png +0 -0
  195. data/examples/mainwindows/dockwidgets/images/print.png +0 -0
  196. data/examples/mainwindows/dockwidgets/images/save.png +0 -0
  197. data/examples/mainwindows/dockwidgets/images/undo.png +0 -0
  198. data/examples/mainwindows/dockwidgets/main.rb +32 -0
  199. data/examples/mainwindows/dockwidgets/mainwindow.rb +302 -0
  200. data/examples/mainwindows/mdi/images/copy.png +0 -0
  201. data/examples/mainwindows/mdi/images/cut.png +0 -0
  202. data/examples/mainwindows/mdi/images/new.png +0 -0
  203. data/examples/mainwindows/mdi/images/open.png +0 -0
  204. data/examples/mainwindows/mdi/images/paste.png +0 -0
  205. data/examples/mainwindows/mdi/images/save.png +0 -0
  206. data/examples/mainwindows/mdi/main.rb +32 -0
  207. data/examples/mainwindows/mdi/mainwindow.rb +363 -0
  208. data/examples/mainwindows/mdi/mdichild.rb +152 -0
  209. data/examples/mainwindows/menus/main.rb +32 -0
  210. data/examples/mainwindows/menus/mainwindow.rb +327 -0
  211. data/examples/mainwindows/recentfiles/main.rb +32 -0
  212. data/examples/mainwindows/recentfiles/mainwindow.rb +258 -0
  213. data/examples/mainwindows/sdi/images/copy.png +0 -0
  214. data/examples/mainwindows/sdi/images/cut.png +0 -0
  215. data/examples/mainwindows/sdi/images/new.png +0 -0
  216. data/examples/mainwindows/sdi/images/open.png +0 -0
  217. data/examples/mainwindows/sdi/images/paste.png +0 -0
  218. data/examples/mainwindows/sdi/images/save.png +0 -0
  219. data/examples/mainwindows/sdi/main.rb +32 -0
  220. data/examples/mainwindows/sdi/mainwindow.rb +335 -0
  221. data/examples/network/broadcastreceiver/main.rb +32 -0
  222. data/examples/network/broadcastreceiver/receiver.rb +64 -0
  223. data/examples/network/broadcastsender/main.rb +32 -0
  224. data/examples/network/broadcastsender/sender.rb +70 -0
  225. data/examples/network/fortuneclient/client.rb +150 -0
  226. data/examples/network/fortuneclient/main.rb +32 -0
  227. data/examples/network/fortuneserver/main.rb +32 -0
  228. data/examples/network/fortuneserver/server.rb +88 -0
  229. data/examples/network/ftp/ftpwindow.rb +254 -0
  230. data/examples/network/ftp/images/cdtoparent.png +0 -0
  231. data/examples/network/ftp/images/dir.png +0 -0
  232. data/examples/network/ftp/images/file.png +0 -0
  233. data/examples/network/ftp/main.rb +32 -0
  234. data/examples/network/http/httpwindow.rb +187 -0
  235. data/examples/network/http/main.rb +32 -0
  236. data/examples/network/loopback/dialog.rb +163 -0
  237. data/examples/network/loopback/main.rb +32 -0
  238. data/examples/opengl/grabber/glwidget.rb +265 -0
  239. data/examples/opengl/grabber/main.rb +32 -0
  240. data/examples/opengl/grabber/mainwindow.rb +189 -0
  241. data/examples/opengl/hellogl/glwidget.rb +226 -0
  242. data/examples/opengl/hellogl/main.rb +32 -0
  243. data/examples/opengl/hellogl/window.rb +66 -0
  244. data/examples/opengl/textures/glwidget.rb +151 -0
  245. data/examples/opengl/textures/images/side1.png +0 -0
  246. data/examples/opengl/textures/images/side2.png +0 -0
  247. data/examples/opengl/textures/images/side3.png +0 -0
  248. data/examples/opengl/textures/images/side4.png +0 -0
  249. data/examples/opengl/textures/images/side5.png +0 -0
  250. data/examples/opengl/textures/images/side6.png +0 -0
  251. data/examples/opengl/textures/main.rb +32 -0
  252. data/examples/opengl/textures/window.rb +77 -0
  253. data/examples/painting/basicdrawing/images/brick.png +0 -0
  254. data/examples/painting/basicdrawing/images/qt-logo.png +0 -0
  255. data/examples/painting/basicdrawing/main.rb +32 -0
  256. data/examples/painting/basicdrawing/renderarea.rb +166 -0
  257. data/examples/painting/basicdrawing/window.rb +215 -0
  258. data/examples/painting/concentriccircles/circlewidget.rb +88 -0
  259. data/examples/painting/concentriccircles/main.rb +32 -0
  260. data/examples/painting/concentriccircles/window.rb +72 -0
  261. data/examples/painting/fontsampler/main.rb +32 -0
  262. data/examples/painting/fontsampler/mainwindow.rb +368 -0
  263. data/examples/painting/fontsampler/mainwindowbase.ui +136 -0
  264. data/examples/painting/fontsampler/makefile +8 -0
  265. data/examples/painting/fontsampler/previewdialog.rb +256 -0
  266. data/examples/painting/fontsampler/previewdialogbase.ui +224 -0
  267. data/examples/painting/fontsampler/previewlabel.rb +43 -0
  268. data/examples/painting/imagecomposition/imagecomposer.rb +152 -0
  269. data/examples/painting/imagecomposition/imagecomposition.qrc +6 -0
  270. data/examples/painting/imagecomposition/images/background.png +0 -0
  271. data/examples/painting/imagecomposition/images/blackrectangle.png +0 -0
  272. data/examples/painting/imagecomposition/images/butterfly.png +0 -0
  273. data/examples/painting/imagecomposition/images/checker.png +0 -0
  274. data/examples/painting/imagecomposition/main.rb +33 -0
  275. data/examples/painting/imagecomposition/makefile +2 -0
  276. data/examples/painting/painterpaths/main.rb +32 -0
  277. data/examples/painting/painterpaths/renderarea.rb +97 -0
  278. data/examples/painting/painterpaths/window.rb +247 -0
  279. data/examples/painting/svgviewer/files/bubbles.svg +212 -0
  280. data/examples/painting/svgviewer/files/cubic.svg +77 -0
  281. data/examples/painting/svgviewer/files/spheres.svg +79 -0
  282. data/examples/painting/svgviewer/main.rb +38 -0
  283. data/examples/painting/svgviewer/mainwindow.rb +99 -0
  284. data/examples/painting/svgviewer/makefile +2 -0
  285. data/examples/painting/svgviewer/svgview.rb +156 -0
  286. data/examples/painting/svgviewer/svgviewer.qrc +6 -0
  287. data/examples/painting/svgviewer/svgwindow.rb +87 -0
  288. data/examples/painting/transformations/main.rb +32 -0
  289. data/examples/painting/transformations/renderarea.rb +127 -0
  290. data/examples/painting/transformations/window.rb +153 -0
  291. data/examples/passivepopup/passivepopup.rb +38 -0
  292. data/examples/qdbus/chat/chat.rb +146 -0
  293. data/examples/qdbus/chat/chat_adaptor.rb +12 -0
  294. data/examples/qdbus/chat/chat_interface.rb +13 -0
  295. data/examples/qdbus/chat/chatmainwindow.ui +184 -0
  296. data/examples/qdbus/chat/chatsetnickname.ui +145 -0
  297. data/examples/qdbus/chat/makefile +8 -0
  298. data/examples/qdbus/complexpingpong/complexping.rb +92 -0
  299. data/examples/qdbus/complexpingpong/complexpong.rb +83 -0
  300. data/examples/qdbus/complexpingpong/ping-common.rb +1 -0
  301. data/examples/qdbus/listnames/listnames.rb +69 -0
  302. data/examples/qdbus/pingpong/ping-common.rb +1 -0
  303. data/examples/qdbus/pingpong/ping.rb +52 -0
  304. data/examples/qdbus/pingpong/pong.rb +55 -0
  305. data/examples/qdbus/remotecontrolledcar/car/car.rb +151 -0
  306. data/examples/qdbus/remotecontrolledcar/car/main.rb +50 -0
  307. data/examples/qdbus/remotecontrolledcar/controller/controller.rb +66 -0
  308. data/examples/qdbus/remotecontrolledcar/controller/controller.ui +61 -0
  309. data/examples/qdbus/remotecontrolledcar/controller/main.rb +32 -0
  310. data/examples/qdbus/remotecontrolledcar/controller/makefile +2 -0
  311. data/examples/qtscribble/scribble.rb +270 -0
  312. data/examples/richtext/calendar/main.rb +33 -0
  313. data/examples/richtext/calendar/mainwindow.rb +173 -0
  314. data/examples/richtext/orderform/detailsdialog.rb +130 -0
  315. data/examples/richtext/orderform/main.rb +34 -0
  316. data/examples/richtext/orderform/mainwindow.rb +194 -0
  317. data/examples/richtext/syntaxhighlighter/examples/example +79 -0
  318. data/examples/richtext/syntaxhighlighter/highlighter.rb +90 -0
  319. data/examples/richtext/syntaxhighlighter/main.rb +34 -0
  320. data/examples/richtext/syntaxhighlighter/mainwindow.rb +105 -0
  321. data/examples/ruboids/Manifest +26 -0
  322. data/examples/ruboids/README +53 -0
  323. data/examples/ruboids/TODO +29 -0
  324. data/examples/ruboids/boids.properties +33 -0
  325. data/examples/ruboids/generateManifest.rb +42 -0
  326. data/examples/ruboids/index.html +147 -0
  327. data/examples/ruboids/release.rb +152 -0
  328. data/examples/ruboids/ruboids/Boid.rb +141 -0
  329. data/examples/ruboids/ruboids/BoidView.rb +159 -0
  330. data/examples/ruboids/ruboids/Camera.rb +24 -0
  331. data/examples/ruboids/ruboids/CameraDialog.rb +218 -0
  332. data/examples/ruboids/ruboids/Canvas.rb +143 -0
  333. data/examples/ruboids/ruboids/Cloud.rb +61 -0
  334. data/examples/ruboids/ruboids/CloudView.rb +54 -0
  335. data/examples/ruboids/ruboids/Flock.rb +47 -0
  336. data/examples/ruboids/ruboids/Graphics.rb +278 -0
  337. data/examples/ruboids/ruboids/Params.rb +87 -0
  338. data/examples/ruboids/ruboids/Point.rb +153 -0
  339. data/examples/ruboids/ruboids/Thing.rb +34 -0
  340. data/examples/ruboids/ruboids/Triangle.rb +21 -0
  341. data/examples/ruboids/ruboids/View.rb +88 -0
  342. data/examples/ruboids/ruboids/World.rb +82 -0
  343. data/examples/ruboids/ruboids/WorldWindow.rb +52 -0
  344. data/examples/ruboids/ruboids/info.rb +12 -0
  345. data/examples/ruboids/ruboids/ruboids.rb +29 -0
  346. data/examples/run_all.rb +14 -0
  347. data/examples/textedit/textedit.rb +150 -0
  348. data/examples/tutorial/t1/t1.rb +10 -0
  349. data/examples/tutorial/t10/cannon.rb +72 -0
  350. data/examples/tutorial/t10/lcdrange.rb +45 -0
  351. data/examples/tutorial/t10/t10.rb +55 -0
  352. data/examples/tutorial/t11/cannon.rb +124 -0
  353. data/examples/tutorial/t11/lcdrange.rb +45 -0
  354. data/examples/tutorial/t11/t11.rb +65 -0
  355. data/examples/tutorial/t12/cannon.rb +158 -0
  356. data/examples/tutorial/t12/lcdrange.rb +59 -0
  357. data/examples/tutorial/t12/t12.rb +66 -0
  358. data/examples/tutorial/t13/cannon.rb +208 -0
  359. data/examples/tutorial/t13/gamebrd.rb +113 -0
  360. data/examples/tutorial/t13/lcdrange.rb +60 -0
  361. data/examples/tutorial/t13/t13.rb +11 -0
  362. data/examples/tutorial/t14/cannon.rb +263 -0
  363. data/examples/tutorial/t14/gamebrd.rb +123 -0
  364. data/examples/tutorial/t14/lcdrange.rb +63 -0
  365. data/examples/tutorial/t14/t14.rb +11 -0
  366. data/examples/tutorial/t2/t2.rb +16 -0
  367. data/examples/tutorial/t3/t3.rb +18 -0
  368. data/examples/tutorial/t4/t4.rb +25 -0
  369. data/examples/tutorial/t5/t5.rb +37 -0
  370. data/examples/tutorial/t6/t6.rb +52 -0
  371. data/examples/tutorial/t7/lcdrange.rb +32 -0
  372. data/examples/tutorial/t7/t7.rb +42 -0
  373. data/examples/tutorial/t8/cannon.rb +38 -0
  374. data/examples/tutorial/t8/lcdrange.rb +45 -0
  375. data/examples/tutorial/t8/t8.rb +43 -0
  376. data/examples/tutorial/t9/cannon.rb +45 -0
  377. data/examples/tutorial/t9/lcdrange.rb +46 -0
  378. data/examples/tutorial/t9/t9.rb +43 -0
  379. data/examples/widgets/analogclock/analogclock.rb +94 -0
  380. data/examples/widgets/analogclock/main.rb +9 -0
  381. data/examples/widgets/calculator/button.rb +45 -0
  382. data/examples/widgets/calculator/calculator.rb +382 -0
  383. data/examples/widgets/calculator/main.rb +32 -0
  384. data/examples/widgets/charactermap/characterwidget.rb +110 -0
  385. data/examples/widgets/charactermap/main.rb +32 -0
  386. data/examples/widgets/charactermap/mainwindow.rb +118 -0
  387. data/examples/widgets/digitalclock/digitalclock.rb +30 -0
  388. data/examples/widgets/digitalclock/main.rb +9 -0
  389. data/examples/widgets/groupbox/main.rb +32 -0
  390. data/examples/widgets/groupbox/window.rb +134 -0
  391. data/examples/widgets/icons/iconpreviewarea.rb +111 -0
  392. data/examples/widgets/icons/iconsizespinbox.rb +39 -0
  393. data/examples/widgets/icons/imagedelegate.rb +73 -0
  394. data/examples/widgets/icons/images/designer.png +0 -0
  395. data/examples/widgets/icons/images/find_disabled.png +0 -0
  396. data/examples/widgets/icons/images/find_normal.png +0 -0
  397. data/examples/widgets/icons/images/monkey_off_128x128.png +0 -0
  398. data/examples/widgets/icons/images/monkey_off_16x16.png +0 -0
  399. data/examples/widgets/icons/images/monkey_off_32x32.png +0 -0
  400. data/examples/widgets/icons/images/monkey_off_64x64.png +0 -0
  401. data/examples/widgets/icons/images/monkey_on_128x128.png +0 -0
  402. data/examples/widgets/icons/images/monkey_on_16x16.png +0 -0
  403. data/examples/widgets/icons/images/monkey_on_32x32.png +0 -0
  404. data/examples/widgets/icons/images/monkey_on_64x64.png +0 -0
  405. data/examples/widgets/icons/images/qtopia_16x16.png +0 -0
  406. data/examples/widgets/icons/images/qtopia_32x32.png +0 -0
  407. data/examples/widgets/icons/images/qtopia_48x48.png +0 -0
  408. data/examples/widgets/icons/main.rb +32 -0
  409. data/examples/widgets/icons/mainwindow.rb +351 -0
  410. data/examples/widgets/imageviewer/imageviewer.rb +219 -0
  411. data/examples/widgets/imageviewer/main.rb +32 -0
  412. data/examples/widgets/lineedits/main.rb +32 -0
  413. data/examples/widgets/lineedits/window.rb +199 -0
  414. data/examples/widgets/movie/images/open.png +0 -0
  415. data/examples/widgets/movie/images/pause.png +0 -0
  416. data/examples/widgets/movie/images/play.png +0 -0
  417. data/examples/widgets/movie/images/quit.png +0 -0
  418. data/examples/widgets/movie/images/stop.png +0 -0
  419. data/examples/widgets/movie/main.rb +32 -0
  420. data/examples/widgets/movie/movieplayer.rb +201 -0
  421. data/examples/widgets/movie/movies/fire.mng +0 -0
  422. data/examples/widgets/screenshot/main.rb +32 -0
  423. data/examples/widgets/screenshot/screenshot.rb +155 -0
  424. data/examples/widgets/scribble/main.rb +32 -0
  425. data/examples/widgets/scribble/mainwindow.rb +202 -0
  426. data/examples/widgets/scribble/scribblearea.rb +154 -0
  427. data/examples/widgets/sliders/main.rb +32 -0
  428. data/examples/widgets/sliders/slidersgroup.rb +97 -0
  429. data/examples/widgets/sliders/window.rb +124 -0
  430. data/examples/widgets/spinboxes/main.rb +32 -0
  431. data/examples/widgets/spinboxes/window.rb +213 -0
  432. data/examples/widgets/tetrix/main.rb +33 -0
  433. data/examples/widgets/tetrix/tetrixboard.rb +346 -0
  434. data/examples/widgets/tetrix/tetrixpiece.rb +135 -0
  435. data/examples/widgets/tetrix/tetrixwindow.rb +88 -0
  436. data/examples/widgets/tooltips/images/circle.png +0 -0
  437. data/examples/widgets/tooltips/images/square.png +0 -0
  438. data/examples/widgets/tooltips/images/triangle.png +0 -0
  439. data/examples/widgets/tooltips/main.rb +32 -0
  440. data/examples/widgets/tooltips/shapeitem.rb +31 -0
  441. data/examples/widgets/tooltips/sortingbox.rb +222 -0
  442. data/examples/widgets/wiggly/dialog.rb +48 -0
  443. data/examples/widgets/wiggly/main.rb +9 -0
  444. data/examples/widgets/wiggly/wigglywidget.rb +76 -0
  445. data/examples/widgets/windowflags/controllerwindow.rb +195 -0
  446. data/examples/widgets/windowflags/main.rb +32 -0
  447. data/examples/widgets/windowflags/previewwindow.rb +103 -0
  448. data/examples/xml/dombookmarks/frank.xbel +230 -0
  449. data/examples/xml/dombookmarks/jennifer.xbel +93 -0
  450. data/examples/xml/dombookmarks/main.rb +34 -0
  451. data/examples/xml/dombookmarks/mainwindow.rb +129 -0
  452. data/examples/xml/dombookmarks/xbeltree.rb +172 -0
  453. data/examples/xml/saxbookmarks/frank.xbel +230 -0
  454. data/examples/xml/saxbookmarks/jennifer.xbel +93 -0
  455. data/examples/xml/saxbookmarks/main.rb +34 -0
  456. data/examples/xml/saxbookmarks/mainwindow.rb +144 -0
  457. data/examples/xml/saxbookmarks/xbelgenerator.rb +95 -0
  458. data/examples/xml/saxbookmarks/xbelhandler.rb +122 -0
  459. data/ext/CMakeLists.txt +22 -0
  460. data/ext/cmake/modules/CMakeCSharpCompiler.cmake.in +7 -0
  461. data/ext/cmake/modules/CMakeCSharpInformation.cmake +366 -0
  462. data/ext/cmake/modules/CMakeDetermineCSharpCompiler.cmake +85 -0
  463. data/ext/cmake/modules/CMakeTestCSharpCompiler.cmake +1 -0
  464. data/ext/cmake/modules/CheckCXXSourceCompiles.cmake +68 -0
  465. data/ext/cmake/modules/FindMono.cmake +36 -0
  466. data/ext/cmake/modules/FindPHP5.cmake +179 -0
  467. data/ext/cmake/modules/FindPerlMore.cmake +78 -0
  468. data/ext/cmake/modules/FindQScintilla.cmake +57 -0
  469. data/ext/cmake/modules/FindQt4.cmake +1271 -0
  470. data/ext/cmake/modules/FindQwt5.cmake +104 -0
  471. data/ext/cmake/modules/FindRuby.cmake +261 -0
  472. data/ext/cmake/modules/FindSmoke.cmake +78 -0
  473. data/ext/cmake/modules/HandleImportedTargetsInCMakeRequiredLibraries.cmake +85 -0
  474. data/ext/cmake/modules/MacroLogFeature.cmake +146 -0
  475. data/ext/cmake/modules/MacroOptionalAddBindings.cmake +47 -0
  476. data/ext/cmake/modules/MacroOptionalFindPackage.cmake +48 -0
  477. data/ext/cmake/modules/MacroPushRequiredVars.cmake +47 -0
  478. data/ext/cmake/modules/Qt4ConfigDependentSettings.cmake +384 -0
  479. data/ext/cmake/modules/Qt4Macros.cmake +414 -0
  480. data/ext/generator/CMakeLists.txt +38 -0
  481. data/ext/generator/generator_export.h +31 -0
  482. data/ext/generator/generatorenvironment.cpp +52 -0
  483. data/ext/generator/generatorenvironment.h +35 -0
  484. data/ext/generator/generatorpreprocessor.cpp +242 -0
  485. data/ext/generator/generatorpreprocessor.h +83 -0
  486. data/ext/generator/generators/CMakeLists.txt +4 -0
  487. data/ext/generator/generators/dump/CMakeLists.txt +10 -0
  488. data/ext/generator/generators/dump/generator_dump.cpp +36 -0
  489. data/ext/generator/generators/smoke/CMakeLists.txt +13 -0
  490. data/ext/generator/generators/smoke/generator_smoke.cpp +233 -0
  491. data/ext/generator/generators/smoke/globals.h +138 -0
  492. data/ext/generator/generators/smoke/helpers.cpp +773 -0
  493. data/ext/generator/generators/smoke/writeClasses.cpp +502 -0
  494. data/ext/generator/generators/smoke/writeSmokeDataFile.cpp +729 -0
  495. data/ext/generator/generatorvisitor.cpp +922 -0
  496. data/ext/generator/generatorvisitor.h +119 -0
  497. data/ext/generator/main.cpp +239 -0
  498. data/ext/generator/name_compiler.cpp +205 -0
  499. data/ext/generator/name_compiler.h +76 -0
  500. data/ext/generator/options.cpp +32 -0
  501. data/ext/generator/options.h +45 -0
  502. data/ext/generator/parser/CMakeLists.txt +41 -0
  503. data/ext/generator/parser/ast.cpp +21 -0
  504. data/ext/generator/parser/ast.h +923 -0
  505. data/ext/generator/parser/astutilities.h +65 -0
  506. data/ext/generator/parser/codegenerator.cpp +867 -0
  507. data/ext/generator/parser/codegenerator.h +180 -0
  508. data/ext/generator/parser/codemodel_fwd.h +76 -0
  509. data/ext/generator/parser/commentformatter.cpp +54 -0
  510. data/ext/generator/parser/commentformatter.h +45 -0
  511. data/ext/generator/parser/commentparser.cpp +109 -0
  512. data/ext/generator/parser/commentparser.h +84 -0
  513. data/ext/generator/parser/control.cpp +40 -0
  514. data/ext/generator/parser/control.h +51 -0
  515. data/ext/generator/parser/cppparser_export.h +33 -0
  516. data/ext/generator/parser/default_visitor.cpp +470 -0
  517. data/ext/generator/parser/default_visitor.h +116 -0
  518. data/ext/generator/parser/dumptree.cpp +146 -0
  519. data/ext/generator/parser/dumptree.h +50 -0
  520. data/ext/generator/parser/indexedstring.cpp +213 -0
  521. data/ext/generator/parser/indexedstring.h +147 -0
  522. data/ext/generator/parser/kdevelop-parser-rev +1 -0
  523. data/ext/generator/parser/kdevvarlengtharray.h +346 -0
  524. data/ext/generator/parser/lexer.cpp +963 -0
  525. data/ext/generator/parser/lexer.h +308 -0
  526. data/ext/generator/parser/listnode.cpp +20 -0
  527. data/ext/generator/parser/listnode.h +97 -0
  528. data/ext/generator/parser/memorypool.cpp +20 -0
  529. data/ext/generator/parser/memorypool.h +41 -0
  530. data/ext/generator/parser/name_compiler.cpp +190 -0
  531. data/ext/generator/parser/name_compiler.h +77 -0
  532. data/ext/generator/parser/parser.cpp +4706 -0
  533. data/ext/generator/parser/parser.h +300 -0
  534. data/ext/generator/parser/parsesession.cpp +105 -0
  535. data/ext/generator/parser/parsesession.h +87 -0
  536. data/ext/generator/parser/problem.h +21 -0
  537. data/ext/generator/parser/rpp/CMakeLists.txt +39 -0
  538. data/ext/generator/parser/rpp/Makefile.am +13 -0
  539. data/ext/generator/parser/rpp/anchor.h +51 -0
  540. data/ext/generator/parser/rpp/appendedlist.h +363 -0
  541. data/ext/generator/parser/rpp/chartools.cpp +126 -0
  542. data/ext/generator/parser/rpp/chartools.h +90 -0
  543. data/ext/generator/parser/rpp/macrorepository.cpp +44 -0
  544. data/ext/generator/parser/rpp/macrorepository.h +59 -0
  545. data/ext/generator/parser/rpp/pp-configuration +86 -0
  546. data/ext/generator/parser/rpp/pp-engine.cpp +1216 -0
  547. data/ext/generator/parser/rpp/pp-engine.h +267 -0
  548. data/ext/generator/parser/rpp/pp-environment.cpp +271 -0
  549. data/ext/generator/parser/rpp/pp-environment.h +119 -0
  550. data/ext/generator/parser/rpp/pp-internal.cpp +38 -0
  551. data/ext/generator/parser/rpp/pp-internal.h +37 -0
  552. data/ext/generator/parser/rpp/pp-location.cpp +191 -0
  553. data/ext/generator/parser/rpp/pp-location.h +89 -0
  554. data/ext/generator/parser/rpp/pp-macro-expander.cpp +568 -0
  555. data/ext/generator/parser/rpp/pp-macro-expander.cpp.orig +558 -0
  556. data/ext/generator/parser/rpp/pp-macro-expander.h +130 -0
  557. data/ext/generator/parser/rpp/pp-macro.cpp +153 -0
  558. data/ext/generator/parser/rpp/pp-macro.h +176 -0
  559. data/ext/generator/parser/rpp/pp-scanner.cpp +310 -0
  560. data/ext/generator/parser/rpp/pp-scanner.h +97 -0
  561. data/ext/generator/parser/rpp/pp-stream.cpp +425 -0
  562. data/ext/generator/parser/rpp/pp-stream.h +183 -0
  563. data/ext/generator/parser/rpp/preprocessor.cpp +65 -0
  564. data/ext/generator/parser/rpp/preprocessor.h +80 -0
  565. data/ext/generator/parser/rpp/rpp.pri +2 -0
  566. data/ext/generator/parser/rpp/test/t001.cpp +23 -0
  567. data/ext/generator/parser/rpp/test/t002.cpp +15 -0
  568. data/ext/generator/parser/rpp/test/t003.cpp +10 -0
  569. data/ext/generator/parser/rpp/test/t004.cpp +9 -0
  570. data/ext/generator/parser/rpp/test/t005.cpp +10 -0
  571. data/ext/generator/parser/rpp/test/t006.cpp +10 -0
  572. data/ext/generator/parser/rpp/test/t007.cpp +6 -0
  573. data/ext/generator/parser/rpp/test/t008.cpp +6 -0
  574. data/ext/generator/parser/rpp/test/t009.cpp +5 -0
  575. data/ext/generator/parser/rpp/test/t010.cpp +15 -0
  576. data/ext/generator/parser/rpp/test/t011.cpp +9 -0
  577. data/ext/generator/parser/rpp/tests/CMakeLists.txt +13 -0
  578. data/ext/generator/parser/rpp/tests/main.cpp +69 -0
  579. data/ext/generator/parser/rxx.pri +50 -0
  580. data/ext/generator/parser/rxx_allocator.h +128 -0
  581. data/ext/generator/parser/safetycounter.h +57 -0
  582. data/ext/generator/parser/simplecursor.h +74 -0
  583. data/ext/generator/parser/stringhelpers.cpp +577 -0
  584. data/ext/generator/parser/stringhelpers.h +118 -0
  585. data/ext/generator/parser/symbol.h +140 -0
  586. data/ext/generator/parser/tests/CMakeLists.txt +30 -0
  587. data/ext/generator/parser/tests/test_generator.cpp +259 -0
  588. data/ext/generator/parser/tests/test_parser.cpp +474 -0
  589. data/ext/generator/parser/tests/test_pool.cpp +109 -0
  590. data/ext/generator/parser/tests/test_pool.h +35 -0
  591. data/ext/generator/parser/tests/testconfig.h.cmake +4 -0
  592. data/ext/generator/parser/tokens.cpp +364 -0
  593. data/ext/generator/parser/tokens.h +147 -0
  594. data/ext/generator/parser/type_compiler.cpp +135 -0
  595. data/ext/generator/parser/type_compiler.h +68 -0
  596. data/ext/generator/parser/visitor.cpp +115 -0
  597. data/ext/generator/parser/visitor.h +138 -0
  598. data/ext/generator/type.cpp +195 -0
  599. data/ext/generator/type.h +497 -0
  600. data/ext/generator/type_compiler.cpp +275 -0
  601. data/ext/generator/type_compiler.h +80 -0
  602. data/ext/ruby/CMakeLists.txt +63 -0
  603. data/ext/ruby/qtruby/AUTHORS +54 -0
  604. data/ext/ruby/qtruby/CMakeLists.txt +4 -0
  605. data/ext/ruby/qtruby/COPYING +355 -0
  606. data/ext/ruby/qtruby/COPYING.LIB +510 -0
  607. data/ext/ruby/qtruby/ChangeLog +3732 -0
  608. data/ext/ruby/qtruby/INSTALL +79 -0
  609. data/ext/ruby/qtruby/README +264 -0
  610. data/ext/ruby/qtruby/TODO +8 -0
  611. data/ext/ruby/qtruby/bin/CMakeLists.txt +1 -0
  612. data/ext/ruby/qtruby/bin/rbqtapi +152 -0
  613. data/ext/ruby/qtruby/examples/base/kicons.rb +54 -0
  614. data/ext/ruby/qtruby/examples/base/rui.rb +21 -0
  615. data/ext/ruby/qtruby/examples/designer/calculatorbuilder/calculatorbuilder.qrc +5 -0
  616. data/ext/ruby/qtruby/examples/designer/calculatorbuilder/calculatorform.rb +60 -0
  617. data/ext/ruby/qtruby/examples/designer/calculatorbuilder/calculatorform.ui +299 -0
  618. data/ext/ruby/qtruby/examples/designer/calculatorbuilder/main.rb +33 -0
  619. data/ext/ruby/qtruby/examples/designer/calculatorbuilder/makefile +2 -0
  620. data/ext/ruby/qtruby/examples/designer/calculatorform/calculatorform.rb +46 -0
  621. data/ext/ruby/qtruby/examples/designer/calculatorform/calculatorform.ui +277 -0
  622. data/ext/ruby/qtruby/examples/designer/calculatorform/main.rb +32 -0
  623. data/ext/ruby/qtruby/examples/designer/calculatorform/makefile +3 -0
  624. data/ext/ruby/qtruby/examples/desktop/screenshot/main.rb +32 -0
  625. data/ext/ruby/qtruby/examples/desktop/screenshot/screenshot.rb +156 -0
  626. data/ext/ruby/qtruby/examples/desktop/systray/images/bad.svg +64 -0
  627. data/ext/ruby/qtruby/examples/desktop/systray/images/heart.svg +55 -0
  628. data/ext/ruby/qtruby/examples/desktop/systray/images/trash.svg +58 -0
  629. data/ext/ruby/qtruby/examples/desktop/systray/main.rb +41 -0
  630. data/ext/ruby/qtruby/examples/desktop/systray/makefile +2 -0
  631. data/ext/ruby/qtruby/examples/desktop/systray/systray.qrc +7 -0
  632. data/ext/ruby/qtruby/examples/desktop/systray/window.rb +223 -0
  633. data/ext/ruby/qtruby/examples/dialogs/complexwizard/complexwizard.rb +140 -0
  634. data/ext/ruby/qtruby/examples/dialogs/complexwizard/licensewizard.rb +294 -0
  635. data/ext/ruby/qtruby/examples/dialogs/complexwizard/main.rb +31 -0
  636. data/ext/ruby/qtruby/examples/dialogs/configdialog/configdialog.rb +109 -0
  637. data/ext/ruby/qtruby/examples/dialogs/configdialog/images/config.png +0 -0
  638. data/ext/ruby/qtruby/examples/dialogs/configdialog/images/query.png +0 -0
  639. data/ext/ruby/qtruby/examples/dialogs/configdialog/images/update.png +0 -0
  640. data/ext/ruby/qtruby/examples/dialogs/configdialog/main.rb +31 -0
  641. data/ext/ruby/qtruby/examples/dialogs/configdialog/pages.rb +140 -0
  642. data/ext/ruby/qtruby/examples/dialogs/extension/finddialog.rb +89 -0
  643. data/ext/ruby/qtruby/examples/dialogs/extension/main.rb +31 -0
  644. data/ext/ruby/qtruby/examples/dialogs/findfiles/main.rb +32 -0
  645. data/ext/ruby/qtruby/examples/dialogs/findfiles/window.rb +177 -0
  646. data/ext/ruby/qtruby/examples/dialogs/simplewizard/classwizard.rb +374 -0
  647. data/ext/ruby/qtruby/examples/dialogs/simplewizard/main.rb +31 -0
  648. data/ext/ruby/qtruby/examples/dialogs/simplewizard/simplewizard.rb +110 -0
  649. data/ext/ruby/qtruby/examples/dialogs/standarddialogs/dialog.rb +340 -0
  650. data/ext/ruby/qtruby/examples/dialogs/standarddialogs/main.rb +31 -0
  651. data/ext/ruby/qtruby/examples/dialogs/tabdialog/main.rb +38 -0
  652. data/ext/ruby/qtruby/examples/dialogs/tabdialog/tabdialog.rb +178 -0
  653. data/ext/ruby/qtruby/examples/draganddrop/draggableicons/dragwidget.rb +125 -0
  654. data/ext/ruby/qtruby/examples/draganddrop/draggableicons/images/boat.png +0 -0
  655. data/ext/ruby/qtruby/examples/draganddrop/draggableicons/images/car.png +0 -0
  656. data/ext/ruby/qtruby/examples/draganddrop/draggableicons/images/house.png +0 -0
  657. data/ext/ruby/qtruby/examples/draganddrop/draggableicons/main.rb +41 -0
  658. data/ext/ruby/qtruby/examples/draganddrop/draggabletext/draglabel.rb +51 -0
  659. data/ext/ruby/qtruby/examples/draganddrop/draggabletext/dragwidget.rb +94 -0
  660. data/ext/ruby/qtruby/examples/draganddrop/draggabletext/main.rb +33 -0
  661. data/ext/ruby/qtruby/examples/draganddrop/draggabletext/words.txt +41 -0
  662. data/ext/ruby/qtruby/examples/draganddrop/dropsite/dropsitewidget.rb +98 -0
  663. data/ext/ruby/qtruby/examples/draganddrop/dropsite/dropsitewindow.rb +114 -0
  664. data/ext/ruby/qtruby/examples/draganddrop/dropsite/main.rb +33 -0
  665. data/ext/ruby/qtruby/examples/draganddrop/fridgemagnets/draglabel.rb +78 -0
  666. data/ext/ruby/qtruby/examples/draganddrop/fridgemagnets/dragwidget.rb +130 -0
  667. data/ext/ruby/qtruby/examples/draganddrop/fridgemagnets/main.rb +33 -0
  668. data/ext/ruby/qtruby/examples/draganddrop/fridgemagnets/words.txt +48 -0
  669. data/ext/ruby/qtruby/examples/draganddrop/puzzle/example.jpg +0 -0
  670. data/ext/ruby/qtruby/examples/draganddrop/puzzle/main.rb +33 -0
  671. data/ext/ruby/qtruby/examples/draganddrop/puzzle/mainwindow.rb +136 -0
  672. data/ext/ruby/qtruby/examples/draganddrop/puzzle/pieceslist.rb +95 -0
  673. data/ext/ruby/qtruby/examples/draganddrop/puzzle/puzzlewidget.rb +190 -0
  674. data/ext/ruby/qtruby/examples/graphicsview/collidingmice/images/cheese.jpg +0 -0
  675. data/ext/ruby/qtruby/examples/graphicsview/collidingmice/main.rb +53 -0
  676. data/ext/ruby/qtruby/examples/graphicsview/collidingmice/makefile +2 -0
  677. data/ext/ruby/qtruby/examples/graphicsview/collidingmice/mice.qrc +5 -0
  678. data/ext/ruby/qtruby/examples/graphicsview/collidingmice/mouse.rb +176 -0
  679. data/ext/ruby/qtruby/examples/graphicsview/dragdroprobot/coloritem.rb +86 -0
  680. data/ext/ruby/qtruby/examples/graphicsview/dragdroprobot/images/head.png +0 -0
  681. data/ext/ruby/qtruby/examples/graphicsview/dragdroprobot/main.rb +57 -0
  682. data/ext/ruby/qtruby/examples/graphicsview/dragdroprobot/makefile +2 -0
  683. data/ext/ruby/qtruby/examples/graphicsview/dragdroprobot/robot.qrc +5 -0
  684. data/ext/ruby/qtruby/examples/graphicsview/dragdroprobot/robot.rb +246 -0
  685. data/ext/ruby/qtruby/examples/itemviews/chart/chart.qrc +5 -0
  686. data/ext/ruby/qtruby/examples/itemviews/chart/main.rb +33 -0
  687. data/ext/ruby/qtruby/examples/itemviews/chart/mainwindow.rb +151 -0
  688. data/ext/ruby/qtruby/examples/itemviews/chart/makefile +2 -0
  689. data/ext/ruby/qtruby/examples/itemviews/chart/mydata.cht +8 -0
  690. data/ext/ruby/qtruby/examples/itemviews/chart/pieview.rb +516 -0
  691. data/ext/ruby/qtruby/examples/itemviews/chart/qtdata.cht +14 -0
  692. data/ext/ruby/qtruby/examples/itemviews/dirview/main.rb +39 -0
  693. data/ext/ruby/qtruby/examples/itemviews/pixelator/imagemodel.rb +51 -0
  694. data/ext/ruby/qtruby/examples/itemviews/pixelator/images.qrc +5 -0
  695. data/ext/ruby/qtruby/examples/itemviews/pixelator/images/qt.png +0 -0
  696. data/ext/ruby/qtruby/examples/itemviews/pixelator/main.rb +34 -0
  697. data/ext/ruby/qtruby/examples/itemviews/pixelator/mainwindow.rb +218 -0
  698. data/ext/ruby/qtruby/examples/itemviews/pixelator/makefile +3 -0
  699. data/ext/ruby/qtruby/examples/itemviews/pixelator/pixeldelegate.rb +67 -0
  700. data/ext/ruby/qtruby/examples/itemviews/puzzle/example.jpg +0 -0
  701. data/ext/ruby/qtruby/examples/itemviews/puzzle/main.rb +36 -0
  702. data/ext/ruby/qtruby/examples/itemviews/puzzle/mainwindow.rb +143 -0
  703. data/ext/ruby/qtruby/examples/itemviews/puzzle/piecesmodel.rb +174 -0
  704. data/ext/ruby/qtruby/examples/itemviews/puzzle/puzzlewidget.rb +192 -0
  705. data/ext/ruby/qtruby/examples/itemviews/simpledommodel/domitem.rb +62 -0
  706. data/ext/ruby/qtruby/examples/itemviews/simpledommodel/dommodel.rb +139 -0
  707. data/ext/ruby/qtruby/examples/itemviews/simpledommodel/main.rb +33 -0
  708. data/ext/ruby/qtruby/examples/itemviews/simpledommodel/mainwindow.rb +66 -0
  709. data/ext/ruby/qtruby/examples/itemviews/simpletreemodel/default.txt +40 -0
  710. data/ext/ruby/qtruby/examples/itemviews/simpletreemodel/main.rb +41 -0
  711. data/ext/ruby/qtruby/examples/itemviews/simpletreemodel/makefile +2 -0
  712. data/ext/ruby/qtruby/examples/itemviews/simpletreemodel/simpletreemodel.qrc +5 -0
  713. data/ext/ruby/qtruby/examples/itemviews/simpletreemodel/treeitem.rb +67 -0
  714. data/ext/ruby/qtruby/examples/itemviews/simpletreemodel/treemodel.rb +164 -0
  715. data/ext/ruby/qtruby/examples/itemviews/sortingmodel/default.txt +40 -0
  716. data/ext/ruby/qtruby/examples/itemviews/sortingmodel/main.rb +53 -0
  717. data/ext/ruby/qtruby/examples/itemviews/sortingmodel/treeitem.rb +73 -0
  718. data/ext/ruby/qtruby/examples/itemviews/sortingmodel/treemodel.rb +166 -0
  719. data/ext/ruby/qtruby/examples/itemviews/spinboxdelegate/main.rb +47 -0
  720. data/ext/ruby/qtruby/examples/itemviews/spinboxdelegate/spinboxdelegate.rb +62 -0
  721. data/ext/ruby/qtruby/examples/killerfilter/killerfilter.rb +55 -0
  722. data/ext/ruby/qtruby/examples/layouts/basiclayouts/dialog.rb +110 -0
  723. data/ext/ruby/qtruby/examples/layouts/basiclayouts/main.rb +31 -0
  724. data/ext/ruby/qtruby/examples/layouts/borderlayout/borderlayout.rb +190 -0
  725. data/ext/ruby/qtruby/examples/layouts/borderlayout/main.rb +32 -0
  726. data/ext/ruby/qtruby/examples/layouts/borderlayout/window.rb +52 -0
  727. data/ext/ruby/qtruby/examples/layouts/flowlayouts/flowlayout.rb +108 -0
  728. data/ext/ruby/qtruby/examples/layouts/flowlayouts/main.rb +32 -0
  729. data/ext/ruby/qtruby/examples/layouts/flowlayouts/window.rb +43 -0
  730. data/ext/ruby/qtruby/examples/mainwindows/application/images/copy.png +0 -0
  731. data/ext/ruby/qtruby/examples/mainwindows/application/images/cut.png +0 -0
  732. data/ext/ruby/qtruby/examples/mainwindows/application/images/new.png +0 -0
  733. data/ext/ruby/qtruby/examples/mainwindows/application/images/open.png +0 -0
  734. data/ext/ruby/qtruby/examples/mainwindows/application/images/paste.png +0 -0
  735. data/ext/ruby/qtruby/examples/mainwindows/application/images/save.png +0 -0
  736. data/ext/ruby/qtruby/examples/mainwindows/application/main.rb +32 -0
  737. data/ext/ruby/qtruby/examples/mainwindows/application/mainwindow.rb +285 -0
  738. data/ext/ruby/qtruby/examples/mainwindows/dockwidgets/images/new.png +0 -0
  739. data/ext/ruby/qtruby/examples/mainwindows/dockwidgets/images/print.png +0 -0
  740. data/ext/ruby/qtruby/examples/mainwindows/dockwidgets/images/save.png +0 -0
  741. data/ext/ruby/qtruby/examples/mainwindows/dockwidgets/images/undo.png +0 -0
  742. data/ext/ruby/qtruby/examples/mainwindows/dockwidgets/main.rb +32 -0
  743. data/ext/ruby/qtruby/examples/mainwindows/dockwidgets/mainwindow.rb +302 -0
  744. data/ext/ruby/qtruby/examples/mainwindows/mdi/images/copy.png +0 -0
  745. data/ext/ruby/qtruby/examples/mainwindows/mdi/images/cut.png +0 -0
  746. data/ext/ruby/qtruby/examples/mainwindows/mdi/images/new.png +0 -0
  747. data/ext/ruby/qtruby/examples/mainwindows/mdi/images/open.png +0 -0
  748. data/ext/ruby/qtruby/examples/mainwindows/mdi/images/paste.png +0 -0
  749. data/ext/ruby/qtruby/examples/mainwindows/mdi/images/save.png +0 -0
  750. data/ext/ruby/qtruby/examples/mainwindows/mdi/main.rb +32 -0
  751. data/ext/ruby/qtruby/examples/mainwindows/mdi/mainwindow.rb +363 -0
  752. data/ext/ruby/qtruby/examples/mainwindows/mdi/mdichild.rb +152 -0
  753. data/ext/ruby/qtruby/examples/mainwindows/menus/main.rb +32 -0
  754. data/ext/ruby/qtruby/examples/mainwindows/menus/mainwindow.rb +327 -0
  755. data/ext/ruby/qtruby/examples/mainwindows/recentfiles/main.rb +32 -0
  756. data/ext/ruby/qtruby/examples/mainwindows/recentfiles/mainwindow.rb +258 -0
  757. data/ext/ruby/qtruby/examples/mainwindows/sdi/images/copy.png +0 -0
  758. data/ext/ruby/qtruby/examples/mainwindows/sdi/images/cut.png +0 -0
  759. data/ext/ruby/qtruby/examples/mainwindows/sdi/images/new.png +0 -0
  760. data/ext/ruby/qtruby/examples/mainwindows/sdi/images/open.png +0 -0
  761. data/ext/ruby/qtruby/examples/mainwindows/sdi/images/paste.png +0 -0
  762. data/ext/ruby/qtruby/examples/mainwindows/sdi/images/save.png +0 -0
  763. data/ext/ruby/qtruby/examples/mainwindows/sdi/main.rb +32 -0
  764. data/ext/ruby/qtruby/examples/mainwindows/sdi/mainwindow.rb +335 -0
  765. data/ext/ruby/qtruby/examples/network/broadcastreceiver/main.rb +32 -0
  766. data/ext/ruby/qtruby/examples/network/broadcastreceiver/receiver.rb +64 -0
  767. data/ext/ruby/qtruby/examples/network/broadcastsender/main.rb +32 -0
  768. data/ext/ruby/qtruby/examples/network/broadcastsender/sender.rb +70 -0
  769. data/ext/ruby/qtruby/examples/network/fortuneclient/client.rb +150 -0
  770. data/ext/ruby/qtruby/examples/network/fortuneclient/main.rb +32 -0
  771. data/ext/ruby/qtruby/examples/network/fortuneserver/main.rb +32 -0
  772. data/ext/ruby/qtruby/examples/network/fortuneserver/server.rb +88 -0
  773. data/ext/ruby/qtruby/examples/network/ftp/ftpwindow.rb +254 -0
  774. data/ext/ruby/qtruby/examples/network/ftp/images/cdtoparent.png +0 -0
  775. data/ext/ruby/qtruby/examples/network/ftp/images/dir.png +0 -0
  776. data/ext/ruby/qtruby/examples/network/ftp/images/file.png +0 -0
  777. data/ext/ruby/qtruby/examples/network/ftp/main.rb +32 -0
  778. data/ext/ruby/qtruby/examples/network/http/httpwindow.rb +187 -0
  779. data/ext/ruby/qtruby/examples/network/http/main.rb +32 -0
  780. data/ext/ruby/qtruby/examples/network/loopback/dialog.rb +163 -0
  781. data/ext/ruby/qtruby/examples/network/loopback/main.rb +32 -0
  782. data/ext/ruby/qtruby/examples/opengl/grabber/glwidget.rb +265 -0
  783. data/ext/ruby/qtruby/examples/opengl/grabber/main.rb +32 -0
  784. data/ext/ruby/qtruby/examples/opengl/grabber/mainwindow.rb +189 -0
  785. data/ext/ruby/qtruby/examples/opengl/hellogl/glwidget.rb +226 -0
  786. data/ext/ruby/qtruby/examples/opengl/hellogl/main.rb +32 -0
  787. data/ext/ruby/qtruby/examples/opengl/hellogl/window.rb +66 -0
  788. data/ext/ruby/qtruby/examples/opengl/textures/glwidget.rb +151 -0
  789. data/ext/ruby/qtruby/examples/opengl/textures/images/side1.png +0 -0
  790. data/ext/ruby/qtruby/examples/opengl/textures/images/side2.png +0 -0
  791. data/ext/ruby/qtruby/examples/opengl/textures/images/side3.png +0 -0
  792. data/ext/ruby/qtruby/examples/opengl/textures/images/side4.png +0 -0
  793. data/ext/ruby/qtruby/examples/opengl/textures/images/side5.png +0 -0
  794. data/ext/ruby/qtruby/examples/opengl/textures/images/side6.png +0 -0
  795. data/ext/ruby/qtruby/examples/opengl/textures/main.rb +32 -0
  796. data/ext/ruby/qtruby/examples/opengl/textures/window.rb +77 -0
  797. data/ext/ruby/qtruby/examples/painting/basicdrawing/images/brick.png +0 -0
  798. data/ext/ruby/qtruby/examples/painting/basicdrawing/images/qt-logo.png +0 -0
  799. data/ext/ruby/qtruby/examples/painting/basicdrawing/main.rb +32 -0
  800. data/ext/ruby/qtruby/examples/painting/basicdrawing/renderarea.rb +166 -0
  801. data/ext/ruby/qtruby/examples/painting/basicdrawing/window.rb +215 -0
  802. data/ext/ruby/qtruby/examples/painting/concentriccircles/circlewidget.rb +88 -0
  803. data/ext/ruby/qtruby/examples/painting/concentriccircles/main.rb +32 -0
  804. data/ext/ruby/qtruby/examples/painting/concentriccircles/window.rb +72 -0
  805. data/ext/ruby/qtruby/examples/painting/fontsampler/main.rb +32 -0
  806. data/ext/ruby/qtruby/examples/painting/fontsampler/mainwindow.rb +368 -0
  807. data/ext/ruby/qtruby/examples/painting/fontsampler/mainwindowbase.ui +136 -0
  808. data/ext/ruby/qtruby/examples/painting/fontsampler/makefile +8 -0
  809. data/ext/ruby/qtruby/examples/painting/fontsampler/previewdialog.rb +256 -0
  810. data/ext/ruby/qtruby/examples/painting/fontsampler/previewdialogbase.ui +224 -0
  811. data/ext/ruby/qtruby/examples/painting/fontsampler/previewlabel.rb +43 -0
  812. data/ext/ruby/qtruby/examples/painting/imagecomposition/imagecomposer.rb +152 -0
  813. data/ext/ruby/qtruby/examples/painting/imagecomposition/imagecomposition.qrc +6 -0
  814. data/ext/ruby/qtruby/examples/painting/imagecomposition/images/background.png +0 -0
  815. data/ext/ruby/qtruby/examples/painting/imagecomposition/images/blackrectangle.png +0 -0
  816. data/ext/ruby/qtruby/examples/painting/imagecomposition/images/butterfly.png +0 -0
  817. data/ext/ruby/qtruby/examples/painting/imagecomposition/images/checker.png +0 -0
  818. data/ext/ruby/qtruby/examples/painting/imagecomposition/main.rb +33 -0
  819. data/ext/ruby/qtruby/examples/painting/imagecomposition/makefile +2 -0
  820. data/ext/ruby/qtruby/examples/painting/painterpaths/main.rb +32 -0
  821. data/ext/ruby/qtruby/examples/painting/painterpaths/renderarea.rb +97 -0
  822. data/ext/ruby/qtruby/examples/painting/painterpaths/window.rb +247 -0
  823. data/ext/ruby/qtruby/examples/painting/svgviewer/files/bubbles.svg +212 -0
  824. data/ext/ruby/qtruby/examples/painting/svgviewer/files/cubic.svg +77 -0
  825. data/ext/ruby/qtruby/examples/painting/svgviewer/files/spheres.svg +79 -0
  826. data/ext/ruby/qtruby/examples/painting/svgviewer/main.rb +38 -0
  827. data/ext/ruby/qtruby/examples/painting/svgviewer/mainwindow.rb +99 -0
  828. data/ext/ruby/qtruby/examples/painting/svgviewer/makefile +2 -0
  829. data/ext/ruby/qtruby/examples/painting/svgviewer/svgview.rb +156 -0
  830. data/ext/ruby/qtruby/examples/painting/svgviewer/svgviewer.qrc +6 -0
  831. data/ext/ruby/qtruby/examples/painting/svgviewer/svgwindow.rb +87 -0
  832. data/ext/ruby/qtruby/examples/painting/transformations/main.rb +32 -0
  833. data/ext/ruby/qtruby/examples/painting/transformations/renderarea.rb +127 -0
  834. data/ext/ruby/qtruby/examples/painting/transformations/window.rb +153 -0
  835. data/ext/ruby/qtruby/examples/passivepopup/passivepopup.rb +38 -0
  836. data/ext/ruby/qtruby/examples/qdbus/chat/chat.rb +146 -0
  837. data/ext/ruby/qtruby/examples/qdbus/chat/chat_adaptor.rb +12 -0
  838. data/ext/ruby/qtruby/examples/qdbus/chat/chat_interface.rb +13 -0
  839. data/ext/ruby/qtruby/examples/qdbus/chat/chatmainwindow.ui +184 -0
  840. data/ext/ruby/qtruby/examples/qdbus/chat/chatsetnickname.ui +145 -0
  841. data/ext/ruby/qtruby/examples/qdbus/chat/makefile +8 -0
  842. data/ext/ruby/qtruby/examples/qdbus/complexpingpong/complexping.rb +92 -0
  843. data/ext/ruby/qtruby/examples/qdbus/complexpingpong/complexpong.rb +83 -0
  844. data/ext/ruby/qtruby/examples/qdbus/complexpingpong/ping-common.rb +1 -0
  845. data/ext/ruby/qtruby/examples/qdbus/listnames/listnames.rb +69 -0
  846. data/ext/ruby/qtruby/examples/qdbus/pingpong/ping-common.rb +1 -0
  847. data/ext/ruby/qtruby/examples/qdbus/pingpong/ping.rb +52 -0
  848. data/ext/ruby/qtruby/examples/qdbus/pingpong/pong.rb +55 -0
  849. data/ext/ruby/qtruby/examples/qdbus/remotecontrolledcar/car/car.rb +151 -0
  850. data/ext/ruby/qtruby/examples/qdbus/remotecontrolledcar/car/main.rb +50 -0
  851. data/ext/ruby/qtruby/examples/qdbus/remotecontrolledcar/controller/controller.rb +66 -0
  852. data/ext/ruby/qtruby/examples/qdbus/remotecontrolledcar/controller/controller.ui +61 -0
  853. data/ext/ruby/qtruby/examples/qdbus/remotecontrolledcar/controller/main.rb +32 -0
  854. data/ext/ruby/qtruby/examples/qdbus/remotecontrolledcar/controller/makefile +2 -0
  855. data/ext/ruby/qtruby/examples/qtscribble/scribble.rb +270 -0
  856. data/ext/ruby/qtruby/examples/richtext/calendar/main.rb +33 -0
  857. data/ext/ruby/qtruby/examples/richtext/calendar/mainwindow.rb +173 -0
  858. data/ext/ruby/qtruby/examples/richtext/orderform/detailsdialog.rb +130 -0
  859. data/ext/ruby/qtruby/examples/richtext/orderform/main.rb +34 -0
  860. data/ext/ruby/qtruby/examples/richtext/orderform/mainwindow.rb +194 -0
  861. data/ext/ruby/qtruby/examples/richtext/syntaxhighlighter/examples/example +79 -0
  862. data/ext/ruby/qtruby/examples/richtext/syntaxhighlighter/highlighter.rb +90 -0
  863. data/ext/ruby/qtruby/examples/richtext/syntaxhighlighter/main.rb +34 -0
  864. data/ext/ruby/qtruby/examples/richtext/syntaxhighlighter/mainwindow.rb +105 -0
  865. data/ext/ruby/qtruby/examples/ruboids/Manifest +26 -0
  866. data/ext/ruby/qtruby/examples/ruboids/README +53 -0
  867. data/ext/ruby/qtruby/examples/ruboids/TODO +29 -0
  868. data/ext/ruby/qtruby/examples/ruboids/boids.properties +33 -0
  869. data/ext/ruby/qtruby/examples/ruboids/generateManifest.rb +42 -0
  870. data/ext/ruby/qtruby/examples/ruboids/index.html +147 -0
  871. data/ext/ruby/qtruby/examples/ruboids/release.rb +152 -0
  872. data/ext/ruby/qtruby/examples/ruboids/ruboids/Boid.rb +141 -0
  873. data/ext/ruby/qtruby/examples/ruboids/ruboids/BoidView.rb +159 -0
  874. data/ext/ruby/qtruby/examples/ruboids/ruboids/Camera.rb +24 -0
  875. data/ext/ruby/qtruby/examples/ruboids/ruboids/CameraDialog.rb +218 -0
  876. data/ext/ruby/qtruby/examples/ruboids/ruboids/Canvas.rb +143 -0
  877. data/ext/ruby/qtruby/examples/ruboids/ruboids/Cloud.rb +61 -0
  878. data/ext/ruby/qtruby/examples/ruboids/ruboids/CloudView.rb +54 -0
  879. data/ext/ruby/qtruby/examples/ruboids/ruboids/Flock.rb +47 -0
  880. data/ext/ruby/qtruby/examples/ruboids/ruboids/Graphics.rb +278 -0
  881. data/ext/ruby/qtruby/examples/ruboids/ruboids/Params.rb +87 -0
  882. data/ext/ruby/qtruby/examples/ruboids/ruboids/Point.rb +153 -0
  883. data/ext/ruby/qtruby/examples/ruboids/ruboids/Thing.rb +34 -0
  884. data/ext/ruby/qtruby/examples/ruboids/ruboids/Triangle.rb +21 -0
  885. data/ext/ruby/qtruby/examples/ruboids/ruboids/View.rb +88 -0
  886. data/ext/ruby/qtruby/examples/ruboids/ruboids/World.rb +82 -0
  887. data/ext/ruby/qtruby/examples/ruboids/ruboids/WorldWindow.rb +52 -0
  888. data/ext/ruby/qtruby/examples/ruboids/ruboids/info.rb +12 -0
  889. data/ext/ruby/qtruby/examples/ruboids/ruboids/ruboids.rb +29 -0
  890. data/ext/ruby/qtruby/examples/textedit/textedit.rb +150 -0
  891. data/ext/ruby/qtruby/examples/tutorial/t1/t1.rb +10 -0
  892. data/ext/ruby/qtruby/examples/tutorial/t10/cannon.rb +72 -0
  893. data/ext/ruby/qtruby/examples/tutorial/t10/lcdrange.rb +45 -0
  894. data/ext/ruby/qtruby/examples/tutorial/t10/t10.rb +55 -0
  895. data/ext/ruby/qtruby/examples/tutorial/t11/cannon.rb +124 -0
  896. data/ext/ruby/qtruby/examples/tutorial/t11/lcdrange.rb +45 -0
  897. data/ext/ruby/qtruby/examples/tutorial/t11/t11.rb +65 -0
  898. data/ext/ruby/qtruby/examples/tutorial/t12/cannon.rb +158 -0
  899. data/ext/ruby/qtruby/examples/tutorial/t12/lcdrange.rb +59 -0
  900. data/ext/ruby/qtruby/examples/tutorial/t12/t12.rb +66 -0
  901. data/ext/ruby/qtruby/examples/tutorial/t13/cannon.rb +208 -0
  902. data/ext/ruby/qtruby/examples/tutorial/t13/gamebrd.rb +113 -0
  903. data/ext/ruby/qtruby/examples/tutorial/t13/lcdrange.rb +60 -0
  904. data/ext/ruby/qtruby/examples/tutorial/t13/t13.rb +11 -0
  905. data/ext/ruby/qtruby/examples/tutorial/t14/cannon.rb +263 -0
  906. data/ext/ruby/qtruby/examples/tutorial/t14/gamebrd.rb +123 -0
  907. data/ext/ruby/qtruby/examples/tutorial/t14/lcdrange.rb +63 -0
  908. data/ext/ruby/qtruby/examples/tutorial/t14/t14.rb +11 -0
  909. data/ext/ruby/qtruby/examples/tutorial/t2/t2.rb +16 -0
  910. data/ext/ruby/qtruby/examples/tutorial/t3/t3.rb +18 -0
  911. data/ext/ruby/qtruby/examples/tutorial/t4/t4.rb +25 -0
  912. data/ext/ruby/qtruby/examples/tutorial/t5/t5.rb +37 -0
  913. data/ext/ruby/qtruby/examples/tutorial/t6/t6.rb +52 -0
  914. data/ext/ruby/qtruby/examples/tutorial/t7/lcdrange.rb +32 -0
  915. data/ext/ruby/qtruby/examples/tutorial/t7/t7.rb +42 -0
  916. data/ext/ruby/qtruby/examples/tutorial/t8/cannon.rb +38 -0
  917. data/ext/ruby/qtruby/examples/tutorial/t8/lcdrange.rb +45 -0
  918. data/ext/ruby/qtruby/examples/tutorial/t8/t8.rb +43 -0
  919. data/ext/ruby/qtruby/examples/tutorial/t9/cannon.rb +45 -0
  920. data/ext/ruby/qtruby/examples/tutorial/t9/lcdrange.rb +46 -0
  921. data/ext/ruby/qtruby/examples/tutorial/t9/t9.rb +43 -0
  922. data/ext/ruby/qtruby/examples/widgets/analogclock/analogclock.rb +94 -0
  923. data/ext/ruby/qtruby/examples/widgets/analogclock/main.rb +9 -0
  924. data/ext/ruby/qtruby/examples/widgets/calculator/button.rb +45 -0
  925. data/ext/ruby/qtruby/examples/widgets/calculator/calculator.rb +382 -0
  926. data/ext/ruby/qtruby/examples/widgets/calculator/main.rb +32 -0
  927. data/ext/ruby/qtruby/examples/widgets/charactermap/characterwidget.rb +110 -0
  928. data/ext/ruby/qtruby/examples/widgets/charactermap/main.rb +32 -0
  929. data/ext/ruby/qtruby/examples/widgets/charactermap/mainwindow.rb +118 -0
  930. data/ext/ruby/qtruby/examples/widgets/digitalclock/digitalclock.rb +30 -0
  931. data/ext/ruby/qtruby/examples/widgets/digitalclock/main.rb +9 -0
  932. data/ext/ruby/qtruby/examples/widgets/groupbox/main.rb +32 -0
  933. data/ext/ruby/qtruby/examples/widgets/groupbox/window.rb +134 -0
  934. data/ext/ruby/qtruby/examples/widgets/icons/iconpreviewarea.rb +111 -0
  935. data/ext/ruby/qtruby/examples/widgets/icons/iconsizespinbox.rb +39 -0
  936. data/ext/ruby/qtruby/examples/widgets/icons/imagedelegate.rb +73 -0
  937. data/ext/ruby/qtruby/examples/widgets/icons/images/designer.png +0 -0
  938. data/ext/ruby/qtruby/examples/widgets/icons/images/find_disabled.png +0 -0
  939. data/ext/ruby/qtruby/examples/widgets/icons/images/find_normal.png +0 -0
  940. data/ext/ruby/qtruby/examples/widgets/icons/images/monkey_off_128x128.png +0 -0
  941. data/ext/ruby/qtruby/examples/widgets/icons/images/monkey_off_16x16.png +0 -0
  942. data/ext/ruby/qtruby/examples/widgets/icons/images/monkey_off_32x32.png +0 -0
  943. data/ext/ruby/qtruby/examples/widgets/icons/images/monkey_off_64x64.png +0 -0
  944. data/ext/ruby/qtruby/examples/widgets/icons/images/monkey_on_128x128.png +0 -0
  945. data/ext/ruby/qtruby/examples/widgets/icons/images/monkey_on_16x16.png +0 -0
  946. data/ext/ruby/qtruby/examples/widgets/icons/images/monkey_on_32x32.png +0 -0
  947. data/ext/ruby/qtruby/examples/widgets/icons/images/monkey_on_64x64.png +0 -0
  948. data/ext/ruby/qtruby/examples/widgets/icons/images/qtopia_16x16.png +0 -0
  949. data/ext/ruby/qtruby/examples/widgets/icons/images/qtopia_32x32.png +0 -0
  950. data/ext/ruby/qtruby/examples/widgets/icons/images/qtopia_48x48.png +0 -0
  951. data/ext/ruby/qtruby/examples/widgets/icons/main.rb +32 -0
  952. data/ext/ruby/qtruby/examples/widgets/icons/mainwindow.rb +351 -0
  953. data/ext/ruby/qtruby/examples/widgets/imageviewer/imageviewer.rb +219 -0
  954. data/ext/ruby/qtruby/examples/widgets/imageviewer/main.rb +32 -0
  955. data/ext/ruby/qtruby/examples/widgets/lineedits/main.rb +32 -0
  956. data/ext/ruby/qtruby/examples/widgets/lineedits/window.rb +199 -0
  957. data/ext/ruby/qtruby/examples/widgets/movie/images/open.png +0 -0
  958. data/ext/ruby/qtruby/examples/widgets/movie/images/pause.png +0 -0
  959. data/ext/ruby/qtruby/examples/widgets/movie/images/play.png +0 -0
  960. data/ext/ruby/qtruby/examples/widgets/movie/images/quit.png +0 -0
  961. data/ext/ruby/qtruby/examples/widgets/movie/images/stop.png +0 -0
  962. data/ext/ruby/qtruby/examples/widgets/movie/main.rb +32 -0
  963. data/ext/ruby/qtruby/examples/widgets/movie/movieplayer.rb +201 -0
  964. data/ext/ruby/qtruby/examples/widgets/movie/movies/fire.mng +0 -0
  965. data/ext/ruby/qtruby/examples/widgets/screenshot/main.rb +32 -0
  966. data/ext/ruby/qtruby/examples/widgets/screenshot/screenshot.rb +155 -0
  967. data/ext/ruby/qtruby/examples/widgets/scribble/main.rb +32 -0
  968. data/ext/ruby/qtruby/examples/widgets/scribble/mainwindow.rb +202 -0
  969. data/ext/ruby/qtruby/examples/widgets/scribble/scribblearea.rb +154 -0
  970. data/ext/ruby/qtruby/examples/widgets/sliders/main.rb +32 -0
  971. data/ext/ruby/qtruby/examples/widgets/sliders/slidersgroup.rb +97 -0
  972. data/ext/ruby/qtruby/examples/widgets/sliders/window.rb +124 -0
  973. data/ext/ruby/qtruby/examples/widgets/spinboxes/main.rb +32 -0
  974. data/ext/ruby/qtruby/examples/widgets/spinboxes/window.rb +213 -0
  975. data/ext/ruby/qtruby/examples/widgets/tetrix/main.rb +33 -0
  976. data/ext/ruby/qtruby/examples/widgets/tetrix/tetrixboard.rb +346 -0
  977. data/ext/ruby/qtruby/examples/widgets/tetrix/tetrixpiece.rb +135 -0
  978. data/ext/ruby/qtruby/examples/widgets/tetrix/tetrixwindow.rb +88 -0
  979. data/ext/ruby/qtruby/examples/widgets/tooltips/images/circle.png +0 -0
  980. data/ext/ruby/qtruby/examples/widgets/tooltips/images/square.png +0 -0
  981. data/ext/ruby/qtruby/examples/widgets/tooltips/images/triangle.png +0 -0
  982. data/ext/ruby/qtruby/examples/widgets/tooltips/main.rb +32 -0
  983. data/ext/ruby/qtruby/examples/widgets/tooltips/shapeitem.rb +31 -0
  984. data/ext/ruby/qtruby/examples/widgets/tooltips/sortingbox.rb +222 -0
  985. data/ext/ruby/qtruby/examples/widgets/wiggly/dialog.rb +48 -0
  986. data/ext/ruby/qtruby/examples/widgets/wiggly/main.rb +9 -0
  987. data/ext/ruby/qtruby/examples/widgets/wiggly/wigglywidget.rb +76 -0
  988. data/ext/ruby/qtruby/examples/widgets/windowflags/controllerwindow.rb +195 -0
  989. data/ext/ruby/qtruby/examples/widgets/windowflags/main.rb +32 -0
  990. data/ext/ruby/qtruby/examples/widgets/windowflags/previewwindow.rb +103 -0
  991. data/ext/ruby/qtruby/examples/xml/dombookmarks/frank.xbel +230 -0
  992. data/ext/ruby/qtruby/examples/xml/dombookmarks/jennifer.xbel +93 -0
  993. data/ext/ruby/qtruby/examples/xml/dombookmarks/main.rb +34 -0
  994. data/ext/ruby/qtruby/examples/xml/dombookmarks/mainwindow.rb +129 -0
  995. data/ext/ruby/qtruby/examples/xml/dombookmarks/xbeltree.rb +172 -0
  996. data/ext/ruby/qtruby/examples/xml/saxbookmarks/frank.xbel +230 -0
  997. data/ext/ruby/qtruby/examples/xml/saxbookmarks/jennifer.xbel +93 -0
  998. data/ext/ruby/qtruby/examples/xml/saxbookmarks/main.rb +34 -0
  999. data/ext/ruby/qtruby/examples/xml/saxbookmarks/mainwindow.rb +144 -0
  1000. data/ext/ruby/qtruby/examples/xml/saxbookmarks/xbelgenerator.rb +95 -0
  1001. data/ext/ruby/qtruby/examples/xml/saxbookmarks/xbelhandler.rb +122 -0
  1002. data/ext/ruby/qtruby/rails_support/CMakeLists.txt +1 -0
  1003. data/ext/ruby/qtruby/rails_support/active_item_model.rb +234 -0
  1004. data/ext/ruby/qtruby/rails_support/active_table_model.rb +122 -0
  1005. data/ext/ruby/qtruby/src/CMakeLists.txt +103 -0
  1006. data/ext/ruby/qtruby/src/Qt.cpp +1279 -0
  1007. data/ext/ruby/qtruby/src/extconf.rb +11 -0
  1008. data/ext/ruby/qtruby/src/handlers.cpp +2622 -0
  1009. data/ext/ruby/qtruby/src/lib/CMakeLists.txt +16 -0
  1010. data/ext/ruby/qtruby/src/lib/Qt.rb +1 -0
  1011. data/ext/ruby/qtruby/src/lib/Qt/CMakeLists.txt +9 -0
  1012. data/ext/ruby/qtruby/src/lib/Qt/qtruby4.rb +3177 -0
  1013. data/ext/ruby/qtruby/src/lib/Qt3.rb +6 -0
  1014. data/ext/ruby/qtruby/src/lib/Qt4.rb +6 -0
  1015. data/ext/ruby/qtruby/src/marshall.h +66 -0
  1016. data/ext/ruby/qtruby/src/marshall_basetypes.h +208 -0
  1017. data/ext/ruby/qtruby/src/marshall_complex.h +175 -0
  1018. data/ext/ruby/qtruby/src/marshall_macros.h +647 -0
  1019. data/ext/ruby/qtruby/src/marshall_primitives.h +290 -0
  1020. data/ext/ruby/qtruby/src/marshall_types.cpp +815 -0
  1021. data/ext/ruby/qtruby/src/marshall_types.h +240 -0
  1022. data/ext/ruby/qtruby/src/qtruby.cpp +2483 -0
  1023. data/ext/ruby/qtruby/src/qtruby.h +185 -0
  1024. data/ext/ruby/qtruby/src/smokeruby.h +164 -0
  1025. data/ext/ruby/qtruby/test/opoverloading.rb +46 -0
  1026. data/ext/ruby/qtruby/test/unittests.rb +151 -0
  1027. data/ext/ruby/qtruby/tools/CMakeLists.txt +2 -0
  1028. data/ext/ruby/qtruby/tools/rbrcc/CMakeLists.txt +6 -0
  1029. data/ext/ruby/qtruby/tools/rbrcc/Messages.sh +7 -0
  1030. data/ext/ruby/qtruby/tools/rbrcc/main.cpp +173 -0
  1031. data/ext/ruby/qtruby/tools/rbrcc/rbrcc.pro +14 -0
  1032. data/ext/ruby/qtruby/tools/rbrcc/rcc.cpp +648 -0
  1033. data/ext/ruby/qtruby/tools/rbrcc/rcc.h +165 -0
  1034. data/ext/ruby/qtruby/tools/rbuic/CMakeLists.txt +35 -0
  1035. data/ext/ruby/qtruby/tools/rbuic/LICENSE.GPL +280 -0
  1036. data/ext/ruby/qtruby/tools/rbuic/Messages.sh +7 -0
  1037. data/ext/ruby/qtruby/tools/rbuic/TODO +4 -0
  1038. data/ext/ruby/qtruby/tools/rbuic/customwidgetsinfo.cpp +106 -0
  1039. data/ext/ruby/qtruby/tools/rbuic/customwidgetsinfo.h +95 -0
  1040. data/ext/ruby/qtruby/tools/rbuic/databaseinfo.cpp +102 -0
  1041. data/ext/ruby/qtruby/tools/rbuic/databaseinfo.h +85 -0
  1042. data/ext/ruby/qtruby/tools/rbuic/driver.cpp +384 -0
  1043. data/ext/ruby/qtruby/tools/rbuic/driver.h +141 -0
  1044. data/ext/ruby/qtruby/tools/rbuic/globaldefs.h +60 -0
  1045. data/ext/ruby/qtruby/tools/rbuic/main.cpp +201 -0
  1046. data/ext/ruby/qtruby/tools/rbuic/option.h +107 -0
  1047. data/ext/ruby/qtruby/tools/rbuic/rbuic.pri +23 -0
  1048. data/ext/ruby/qtruby/tools/rbuic/rbuic4.pro +43 -0
  1049. data/ext/ruby/qtruby/tools/rbuic/ruby/rbextractimages.cpp +150 -0
  1050. data/ext/ruby/qtruby/tools/rbuic/ruby/rbextractimages.h +83 -0
  1051. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwritedeclaration.cpp +217 -0
  1052. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwritedeclaration.h +85 -0
  1053. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteicondata.cpp +185 -0
  1054. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteicondata.h +86 -0
  1055. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteicondeclaration.cpp +88 -0
  1056. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteicondeclaration.h +83 -0
  1057. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteiconinitialization.cpp +126 -0
  1058. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteiconinitialization.h +87 -0
  1059. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteinitialization.cpp +2478 -0
  1060. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteinitialization.h +314 -0
  1061. data/ext/ruby/qtruby/tools/rbuic/ruby/ruby.pri +18 -0
  1062. data/ext/ruby/qtruby/tools/rbuic/treewalker.cpp +318 -0
  1063. data/ext/ruby/qtruby/tools/rbuic/treewalker.h +139 -0
  1064. data/ext/ruby/qtruby/tools/rbuic/ui4.cpp +7623 -0
  1065. data/ext/ruby/qtruby/tools/rbuic/ui4.h +3180 -0
  1066. data/ext/ruby/qtruby/tools/rbuic/uic.cpp +438 -0
  1067. data/ext/ruby/qtruby/tools/rbuic/uic.h +154 -0
  1068. data/ext/ruby/qtruby/tools/rbuic/utils.h +125 -0
  1069. data/ext/ruby/qtruby/tools/rbuic/validator.cpp +100 -0
  1070. data/ext/ruby/qtruby/tools/rbuic/validator.h +80 -0
  1071. data/ext/ruby/qtscript/CMakeLists.txt +19 -0
  1072. data/ext/ruby/qtscript/qtscript.cpp +82 -0
  1073. data/ext/ruby/qtscript/qtscript.rb +40 -0
  1074. data/ext/ruby/qtscript/qtscripthandlers.cpp +36 -0
  1075. data/ext/ruby/qtscript/smokedata.cpp +1403 -0
  1076. data/ext/ruby/qttest/CMakeLists.txt +18 -0
  1077. data/ext/ruby/qttest/ChangeLog +9 -0
  1078. data/ext/ruby/qttest/examples/myfirsttest.rb +30 -0
  1079. data/ext/ruby/qttest/qttest.cpp +82 -0
  1080. data/ext/ruby/qttest/qttest.rb +166 -0
  1081. data/ext/ruby/qttest/qttesthandlers.cpp +35 -0
  1082. data/ext/ruby/qtuitools/CMakeLists.txt +16 -0
  1083. data/ext/ruby/qtuitools/qtuitools.cpp +82 -0
  1084. data/ext/ruby/qtuitools/qtuitools.rb +17 -0
  1085. data/ext/ruby/qtuitools/qtuitoolshandlers.cpp +31 -0
  1086. data/ext/ruby/qtwebkit/CMakeLists.txt +17 -0
  1087. data/ext/ruby/qtwebkit/qtwebkit.cpp +66 -0
  1088. data/ext/ruby/qtwebkit/qtwebkit.rb +17 -0
  1089. data/ext/ruby/qtwebkit/qtwebkithandlers.cpp +39 -0
  1090. data/ext/smoke/CMakeLists.txt +35 -0
  1091. data/ext/smoke/deptool/CMakeLists.txt +7 -0
  1092. data/ext/smoke/deptool/main.cpp +128 -0
  1093. data/ext/smoke/qt_smoke.h +16 -0
  1094. data/ext/smoke/qtcore/CMakeLists.txt +88 -0
  1095. data/ext/smoke/qtcore/QtGuess.txt +181 -0
  1096. data/ext/smoke/qtcore/config.xml.cmake +10 -0
  1097. data/ext/smoke/qtcore/qt-config.xml.cmake +21 -0
  1098. data/ext/smoke/qtcore/qtcore_includes.h +1 -0
  1099. data/ext/smoke/qtcore/smokeconfig.xml +189 -0
  1100. data/ext/smoke/qtcore/tests/CMakeLists.txt +13 -0
  1101. data/ext/smoke/qtcore/tests/test.cpp +846 -0
  1102. data/ext/smoke/qtcore_smoke.h +16 -0
  1103. data/ext/smoke/qtdbus/CMakeLists.txt +38 -0
  1104. data/ext/smoke/qtdbus/config.xml.cmake +11 -0
  1105. data/ext/smoke/qtdbus/qtdbus_includes.h +2 -0
  1106. data/ext/smoke/qtdbus/smokeconfig.xml +63 -0
  1107. data/ext/smoke/qtdbus_smoke.h +16 -0
  1108. data/ext/smoke/qtgui/CMakeLists.txt +76 -0
  1109. data/ext/smoke/qtgui/config.xml.cmake +11 -0
  1110. data/ext/smoke/qtgui/qtgui_includes.h +7 -0
  1111. data/ext/smoke/qtgui/smokeconfig.xml +490 -0
  1112. data/ext/smoke/qtgui_smoke.h +16 -0
  1113. data/ext/smoke/qtmultimedia/CMakeLists.txt +42 -0
  1114. data/ext/smoke/qtmultimedia/config.xml.cmake +12 -0
  1115. data/ext/smoke/qtmultimedia/qtmultimedia_includes.h +3 -0
  1116. data/ext/smoke/qtmultimedia/smokeconfig.xml +50 -0
  1117. data/ext/smoke/qtmultimedia_smoke.h +16 -0
  1118. data/ext/smoke/qtnetwork/CMakeLists.txt +38 -0
  1119. data/ext/smoke/qtnetwork/config.xml.cmake +11 -0
  1120. data/ext/smoke/qtnetwork/qtnetwork_includes.h +2 -0
  1121. data/ext/smoke/qtnetwork/smokeconfig.xml +76 -0
  1122. data/ext/smoke/qtnetwork_smoke.h +16 -0
  1123. data/ext/smoke/qtopengl/CMakeLists.txt +43 -0
  1124. data/ext/smoke/qtopengl/config.xml.cmake +12 -0
  1125. data/ext/smoke/qtopengl/qtopengl_includes.h +3 -0
  1126. data/ext/smoke/qtopengl/smokeconfig.xml +56 -0
  1127. data/ext/smoke/qtopengl_smoke.h +16 -0
  1128. data/ext/smoke/qtscript/CMakeLists.txt +31 -0
  1129. data/ext/smoke/qtscript/config.xml.cmake +11 -0
  1130. data/ext/smoke/qtscript/qtscript_includes.h +14 -0
  1131. data/ext/smoke/qtscript/smokeconfig.xml +39 -0
  1132. data/ext/smoke/qtscript_smoke.h +16 -0
  1133. data/ext/smoke/qtsql/CMakeLists.txt +41 -0
  1134. data/ext/smoke/qtsql/config.xml.cmake +11 -0
  1135. data/ext/smoke/qtsql/qtsql_includes.h +2 -0
  1136. data/ext/smoke/qtsql/smokeconfig.xml +56 -0
  1137. data/ext/smoke/qtsql_smoke.h +16 -0
  1138. data/ext/smoke/qtsvg/CMakeLists.txt +43 -0
  1139. data/ext/smoke/qtsvg/config.xml.cmake +12 -0
  1140. data/ext/smoke/qtsvg/qtsvg_includes.h +3 -0
  1141. data/ext/smoke/qtsvg/smokeconfig.xml +45 -0
  1142. data/ext/smoke/qtsvg_smoke.h +16 -0
  1143. data/ext/smoke/qttest/CMakeLists.txt +35 -0
  1144. data/ext/smoke/qttest/config.xml.cmake +12 -0
  1145. data/ext/smoke/qttest/qttest_includes.h +14 -0
  1146. data/ext/smoke/qttest/smokeconfig.xml +36 -0
  1147. data/ext/smoke/qttest_smoke.h +16 -0
  1148. data/ext/smoke/qtuitools/CMakeLists.txt +30 -0
  1149. data/ext/smoke/qtuitools/config.xml.cmake +12 -0
  1150. data/ext/smoke/qtuitools/qtuitools_includes.h +1 -0
  1151. data/ext/smoke/qtuitools/smokeconfig.xml +20 -0
  1152. data/ext/smoke/qtuitools_smoke.h +16 -0
  1153. data/ext/smoke/qtwebkit/CMakeLists.txt +36 -0
  1154. data/ext/smoke/qtwebkit/config.xml.cmake +11 -0
  1155. data/ext/smoke/qtwebkit/qtwebkit_includes.h +1 -0
  1156. data/ext/smoke/qtwebkit/smokeconfig.xml +45 -0
  1157. data/ext/smoke/qtwebkit_smoke.h +16 -0
  1158. data/ext/smoke/qtxml/CMakeLists.txt +41 -0
  1159. data/ext/smoke/qtxml/config.xml.cmake +11 -0
  1160. data/ext/smoke/qtxml/qtxml_includes.h +2 -0
  1161. data/ext/smoke/qtxml/smokeconfig.xml +70 -0
  1162. data/ext/smoke/qtxml_smoke.h +16 -0
  1163. data/ext/smoke/qtxmlpatterns/CMakeLists.txt +42 -0
  1164. data/ext/smoke/qtxmlpatterns/config.xml.cmake +12 -0
  1165. data/ext/smoke/qtxmlpatterns/qtxmlpatterns_includes.h +3 -0
  1166. data/ext/smoke/qtxmlpatterns/smokeconfig.xml +80 -0
  1167. data/ext/smoke/qtxmlpatterns_smoke.h +16 -0
  1168. data/ext/smoke/smoke.h +557 -0
  1169. data/ext/smoke/smokeapi/CMakeLists.txt +9 -0
  1170. data/ext/smoke/smokeapi/main.cpp +309 -0
  1171. data/ext/smoke/smokebase/CMakeLists.txt +11 -0
  1172. data/ext/smoke/smokebase/smokebase.cpp +6 -0
  1173. data/ext/smoke/solid_smoke.h +16 -0
  1174. data/extconf.rb +231 -0
  1175. data/lib/1.8/libqtruby4shared.dll +0 -0
  1176. data/lib/1.8/libsmokebase.dll +0 -0
  1177. data/lib/1.8/libsmokeqtcore.dll +0 -0
  1178. data/lib/1.8/libsmokeqtgui.dll +0 -0
  1179. data/lib/1.8/libsmokeqtmultimedia.dll +0 -0
  1180. data/lib/1.8/libsmokeqtnetwork.dll +0 -0
  1181. data/lib/1.8/libsmokeqtopengl.dll +0 -0
  1182. data/lib/1.8/libsmokeqtscript.dll +0 -0
  1183. data/lib/1.8/libsmokeqtsql.dll +0 -0
  1184. data/lib/1.8/libsmokeqtsvg.dll +0 -0
  1185. data/lib/1.8/libsmokeqttest.dll +0 -0
  1186. data/lib/1.8/libsmokeqtuitools.dll +0 -0
  1187. data/lib/1.8/libsmokeqtwebkit.dll +0 -0
  1188. data/lib/1.8/libsmokeqtxml.dll +0 -0
  1189. data/lib/1.8/libsmokeqtxmlpatterns.dll +0 -0
  1190. data/lib/1.8/qtruby4.so +0 -0
  1191. data/lib/1.8/qtscript.so +0 -0
  1192. data/lib/1.8/qttest.so +0 -0
  1193. data/lib/1.8/qtuitools.so +0 -0
  1194. data/lib/1.8/qtwebkit.so +0 -0
  1195. data/lib/1.9/libqtruby4shared.dll +0 -0
  1196. data/lib/1.9/libsmokebase.dll +0 -0
  1197. data/lib/1.9/libsmokeqtcore.dll +0 -0
  1198. data/lib/1.9/libsmokeqtgui.dll +0 -0
  1199. data/lib/1.9/libsmokeqtmultimedia.dll +0 -0
  1200. data/lib/1.9/libsmokeqtnetwork.dll +0 -0
  1201. data/lib/1.9/libsmokeqtopengl.dll +0 -0
  1202. data/lib/1.9/libsmokeqtscript.dll +0 -0
  1203. data/lib/1.9/libsmokeqtsql.dll +0 -0
  1204. data/lib/1.9/libsmokeqtsvg.dll +0 -0
  1205. data/lib/1.9/libsmokeqttest.dll +0 -0
  1206. data/lib/1.9/libsmokeqtuitools.dll +0 -0
  1207. data/lib/1.9/libsmokeqtwebkit.dll +0 -0
  1208. data/lib/1.9/libsmokeqtxml.dll +0 -0
  1209. data/lib/1.9/libsmokeqtxmlpatterns.dll +0 -0
  1210. data/lib/1.9/qtruby4.so +0 -0
  1211. data/lib/1.9/qtscript.so +0 -0
  1212. data/lib/1.9/qttest.so +0 -0
  1213. data/lib/1.9/qtuitools.so +0 -0
  1214. data/lib/1.9/qtwebkit.so +0 -0
  1215. data/lib/Qt.rb +1 -0
  1216. data/lib/Qt/qtruby4.rb +3177 -0
  1217. data/lib/Qt4.rb +20 -0
  1218. data/lib/qtbindings_version.rb +2 -0
  1219. data/lib/qtscript/qtscript.rb +40 -0
  1220. data/lib/qttest/qttest.rb +166 -0
  1221. data/lib/qtuitools/qtuitools.rb +17 -0
  1222. data/lib/qtwebkit/qtwebkit.rb +17 -0
  1223. data/qtbindings.gemspec +18 -0
  1224. data/qtbindingsnative.gemspec +18 -0
  1225. metadata +1297 -0
@@ -0,0 +1,3732 @@
1
+ 2010-06-22 Richard Dale <richard.j.dale@gmail.com>
2
+
3
+ * Added snakecase versions of the methods in the Qt::DBusConnectionInterface
4
+ class
5
+ * Fixed bug with missing QVector<double> marshaller. Fixes problem reported
6
+ by Sylvain Sauvage http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=586672
7
+ Thanks for the bug report.
8
+
9
+ 2010-03-18 Richard Dale <richard.j.dale@gmail.com>
10
+
11
+ * Qualify all Qt includes with the module name, as not doing so is a bad
12
+ idea IMHO.
13
+
14
+ 2010-03-14 Richard Dale <richard.j.dale@gmail.com>
15
+
16
+ * The QtDBus classes weren't being correctly initialized as the count of
17
+ classes was being taken from the QtSvg smoke lib. Thanks to Paulo
18
+ Capriotti for finding the bug.
19
+
20
+ 2010-03-07 Richard Dale <richard.j.dale@gmail.com>
21
+ * Fixed Qt::Object properties that were no longer working. Fixes bug 229784
22
+ reported by ruby.twiddler
23
+ * Drag and drop events in Plasma applets weren't being handled correctly.
24
+ Fixes problem reported by Robert Riemann
25
+ * QtRuby overrides public_methods(), singleton_methods() and
26
+ protected_methods(), but omitted the optional 'all' argument. Thanks to
27
+ Paolo Capriotti for the fix and bug report.
28
+
29
+ 2009-12-11 Richard Dale <richard.j.dale@gmail.com>
30
+
31
+ * Qt::DynamicPropertyChangeEvents were not being created correctly. Thanks
32
+ to Snufkin for reporting the bug.
33
+
34
+ 2009-11-13 Richard Dale <richard.j.dale@gmail.com>
35
+
36
+ * The QtTest module expects test slots to be private which isn't possible
37
+ in QtRuby, so add a 'private_slots' method to declare them. For example:
38
+
39
+ class MyFirstTest < Qt::Object
40
+ private_slots :initTestCase, :myFirstTest,
41
+ :mySecondTest, :cleanupTestCase
42
+
43
+ 2009-11-12 Richard Dale <richard.j.dale@gmail.com>
44
+
45
+ * The Qt::SizePolicy.horizontalStretch= method wasn't working with a Smoke
46
+ library created with the new generator as the type 'unsigned char' wasn't
47
+ recognized. Thanks to Stefano Crocco for reporting the bug.
48
+ * Applied a patch from Davor Ocelic. Here's an overview of the changes:
49
+
50
+
51
+ ruby/qtruby/src/handlers.cpp:
52
+
53
+ Added { "unsigned char*", marshall_ucharP } so that conversion
54
+ from String to "unsigned char*" would work. Qt code doesn't
55
+ have unsigned char*, but Smoke seems to internally convert
56
+ uchar* to unsigned char*.
57
+
58
+
59
+ ruby/qtruby/src/Qt.cpp:
60
+
61
+ The code at the place of patch checks whether a method is overriden
62
+ in Ruby. But during GC, it's not allowed to execute Ruby code anyway,
63
+ so the patch removes this check altogether. (In rare, but existing
64
+ situations, this check itself lead to new object allocation, crashing
65
+ the application).
66
+
67
+ (New info: the function we've used to check if it's running during
68
+ GC or not seems to be Ruby 1.9 specific, so a simple compatibility
69
+ for 1.8 should be added before committing).
70
+
71
+
72
+ ruby/qtruby/src/lib/Qt/qtruby4.rb
73
+
74
+ 1) Added GC.disable around line of code that says: "@block = block".
75
+ This makes a difference between being and being not able to run
76
+ with GC.stress= true. Reason unclear, comments appreciated.
77
+
78
+ 2) Extended typename =~ /^(?:u?char\*)$/ checks to support
79
+ unsigned char.
80
+
81
+ 3) Skip "def instance_exec" if it is already defined
82
+ (it is in Ruby 1.9)
83
+
84
+ * Thanks to Davor for the patch
85
+ * Added a patch from 'Ruby Twiddler'. Qt::DBusInterface.call() didn't work
86
+ when the first argument is an enum. For example:
87
+
88
+ iface = Qt::DBusInterface.new(SERVICE_NAME, "", "",
89
+ Qt::DBusConnection.sessionBus)
90
+ msg = iface.call(Qt::DBus::BlockWithGui, "somemethod", param)
91
+ p msg # => nil
92
+ reply = Qt::DBusReply.new(msg) # => Error!
93
+ * Thanks to Twiddler for the patch
94
+
95
+ 2009-08-19 Richard Dale <richard.j.dale@gmail.com>
96
+ * Added a patch from Youhei Kondou to make the is_a? and kind_of? methods
97
+ use the C++ class ancestors obtained from the smoke libary
98
+
99
+ 2009-07-24 Richard Dale <richard.j.dale@gmail.com>
100
+ * Replace the obsolete STR2CSTR macro with StringValueCStr to make QtRuby
101
+ compile with Ruby 1.9.2. Thanks to Youhei Kondou for the patch.
102
+
103
+ 2009-07-21 Richard Dale <richard.j.dale@gmail.com>
104
+ * Revert a commit made by 'divide' some time ago. It was a hack to allow
105
+ primitive types to be passed as arguments where the expected arg type
106
+ was a Qt::Variant. However, it subverts the 'munged method name' scheme
107
+ of fast overloaded method resolution because for every method argument of
108
+ type '#' (a class), it adds another of type '$' (a primitive type). So
109
+ with that scheme we might as well have only two of the munged method
110
+ types instead of three. Sometime we need to add support for C++ implicit
111
+ constructors in resolving overloaded methods at runtime, but that is a
112
+ really hard problem. In the meantime I think it is best to add support
113
+ for implicitely converting args to Qt::Variants on a case by case basis,
114
+ such as was done for the QtDBus and Plasma Data Engine apis.
115
+
116
+ 2009-06-23 Richard Dale <richard.j.dale@gmail.com>
117
+ * In smokeruby_mark() layouts owned by QWidgets or QGraphicsWidgets are
118
+ now marked. Items owned by QLayouts or QGraphicsLayouts are also marked.
119
+ This fixes some premature garbage collection problems in Plasma Applets,
120
+ reported by David Palacio.
121
+
122
+ 2009-06-18 Richard Dale <richard.j.dale@gmail.com>
123
+ * Made Qt::ItemSelection Enumerable
124
+
125
+ 2009-04-24 Richard Dale <richard.j.dale@gmail.com>
126
+ * The resolve_classname() function was not resolving names for QObject
127
+ derived classes when the class wasn't in the base Qt smoke library.
128
+ For instance, this meant that a Plasma::Applet was not being resolved to
129
+ a Plasma::PopupApplet to match the underlying C++ type.
130
+
131
+ 2009-04-17 Richard Dale <richard.j.dale@gmail.com>
132
+ * When Qt::StandardItemModel#setItemPrototype was used with a
133
+ Qt::StandardItem it crashed because the clone() method was using
134
+ Object#clone. So special case the clone() method. Thanks to Stefano Crocco
135
+ for reporting the bug.
136
+
137
+ 2009-04-07 Richard Dale <richard.j.dale@gmail.com>
138
+ * The ActiveRecord based model classes were setting changed values in the
139
+ 'attributes' and then saving the changed instance, like this
140
+
141
+ foo.attributes['my_att'] = value
142
+ foo.save
143
+
144
+ However, this no longer works with ActiveRecord, and the instance can
145
+ be changed more directly like this
146
+
147
+ foo['my_att'] = value
148
+ foo.save
149
+ * QtRuby wasn't building on Mac OS X with a version of Qt built without
150
+ QtDBus support, so add some #ifdefs to fix that
151
+
152
+ 2009-03-24 Richard Dale <richard.j.dale@gmail.com>
153
+ * Raised the QtRuby version to 2.0.3 for the RubyForge release
154
+
155
+ 2009-03-20 Richard Dale <richard.j.dale@gmail.com>
156
+ * Remove 'LIBRARY' from this line in qtruby/src/CMakeLists.txt:
157
+
158
+ install(TARGETS qtruby4shared
159
+ LIBRARY DESTINATION
160
+ ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX} )
161
+
162
+ It was causing problems with a configuration error when building QtRuby
163
+ on Windows. Thanks to David Palacio for reporting the problem
164
+
165
+ 2009-03-19 Richard Dale <richard.j.dale@gmail.com>
166
+ * The rbqtap was calling 'each' on a string which no longer works in Ruby
167
+ 1.9.1 as they aren't Enumerable. So use split instead so that the code
168
+ works on both Ruby 1.8.x and 1.9.1. Thanks to Youhei Kondou for the bug
169
+ report and fix.
170
+ * The inspect method for Qt::SizePolicy instances was wrong
171
+
172
+ 2009-03-16 Richard Dale <richard.j.dale@gmail.com>
173
+ * Make the dispose() method always return nil. Otherwise, when an instance
174
+ is deleted from within irb, it makes irb crash when it tries to run
175
+ run inspect() on the newly deleted value returned by dispose(). Thanks
176
+ to Stefano Crocco for finding the problem.
177
+ * A problem has been found with QtRuby when it is run with Ruby 1.9.1
178
+ and GC.stess is true. Thanks to Davor Ocelic for reporting it.
179
+ In the smokeruby_mark() function called during garbage collection,
180
+ any virtual methods which are called on the instances being checked
181
+ could have overriden by Ruby methods. So the Wt::Ruby runtime uses
182
+ 'respond_to()' to find out whether they have been overriden.
183
+ However, this involves calling 'rb_intern()' on the method name,
184
+ which means memory could be allocated, giving an error when running under
185
+ GC.stress mode. So workround it by pre-allocating any strings with
186
+ rb_intern() for all the C++ methods used in smokeruby_mark()
187
+
188
+ 2009-03-13 Richard Dale <richard.j.dale@gmail.com>
189
+ * Improved the rbqtapi '-s' option
190
+
191
+ 2009-03-11 Richard Dale <richard.j.dale@gmail.com>
192
+ * Rewritten the rbqtapi command line tool to simplify the code
193
+ - Added a '-r' or '--require' option for specifying QtRuby extension.
194
+ This means that there is no longer a need for different sym links to
195
+ the script for each QtRuby extension.
196
+ - One or more class names can be specifed. If no class name is given
197
+ it means that all of the classes in the loaded QtRuby extensions
198
+ should be searched
199
+ - A '-s' option attempts to show matching methods with Ruby types
200
+ * Removed the rbqtsh program as it was never really very useful
201
+ * The 'Type' enum was not working with the Qt::Graphics* classes, and so
202
+ special case them as Ruby constants
203
+
204
+ 2009-03-10 Richard Dale <richard.j.dale@gmail.com>
205
+ * Change the license text in the QtRuby headers to LGPL
206
+
207
+ 2009-03-02 Richard Dale <richard.j.dale@gmail.com>
208
+ * Add method_missing and const_missing handlers for top level modules such
209
+ as Soprano
210
+
211
+ 2009-02-25 Richard Dale <richard.j.dale@gmail.com>
212
+ * Restored the note in the COPYING file about having permission from
213
+ Trolltech, now Qt Software, to use the 'Qt' in QtRuby.
214
+
215
+ 2009-02-07 Richard Dale <richard.j.dale@gmail.com>
216
+ * Add a Qt::dynamic_cast method as a synonym with a less clunky name for
217
+ Qt::Internal.cast_object_to
218
+
219
+ 2009-02-04 Richard Dale <richard.j.dale@gmail.com>
220
+ * In Ruby 1.9.1 the arity of a block with no arguments is 0, whereas in
221
+ Ruby 1.8.x it is -1. This meant that blocks passed to QtRuby
222
+ constructors with no args weren't working with Ruby 1.9.1
223
+
224
+ 2009-02-02 Richard Dale <richard.j.dale@gmail.com>
225
+ * Set up a RUBY_VERSION macro to use to test for whether QtRuby is being
226
+ built for Ruby 1.9 or not. Add patches from Mr Napalm for building with
227
+ Ruby 1.9, for the new 'per string' encoding. Also add conditional code
228
+ for whether to use the new rb_frame_callee() function or the old
229
+ rb_frame_last_func() one.
230
+
231
+ 2009-02-01 Richard Dale <richard.j.dale@gmail.com>
232
+ * The construct_copy() function was using the full classname of the class
233
+ to construct which meant that it didn't work with classnames containing
234
+ '::' scope operators. So strip out the scope part of the classname to
235
+ create the consructor name.
236
+ * Make Qt::Internal#try_initialize catch a ':newqt' symbol rather than a
237
+ string.
238
+
239
+ 2009-01-14 Richard Dale <richard.j.dale@gmail.com>
240
+ * For the enum values whose names clashed with Ruby classes, make them
241
+ Qt::Enums instead of just Fixnums
242
+
243
+ 2009-01-13 Richard Dale <richard.j.dale@gmail.com>
244
+ * Upped the QtRuby version number to 2.0.0
245
+ * Special cased some constants whose names clashed with Ruby classes.
246
+
247
+ 2008-12-19 Richard Dale <richard.j.dale@gmail.com>
248
+ * When the construct_copy() function was used to copy and instance, it
249
+ wasn't initializing the binding for the new instance. This caused a
250
+ crash when the destructor for the instance tried to make a callback with
251
+ the null binding. Fixes a crash in a Qt::Image destructor reported by David
252
+ Palacio
253
+
254
+ 2008-12-18 Richard Dale <richard.j.dale@gmail.com>
255
+ * Added another patch from Davor Ocelic for Ruby 1.9 compatible RSTRING
256
+ usage - thanks Davor
257
+
258
+ 2008-12-12 Richard Dale <richard.j.dale@gmail.com>
259
+ * When resolving overloaded methods with 'uchar*' and 'const uchar*' arg
260
+ types prefer the non-const version of the arg. Thanks to Davor Ocelic
261
+ for explaining why this was a good idea in the case of the Qt::Image
262
+ constructors.
263
+ * Revert the recent change for marshalling 'unsigned char*' types which
264
+ expected them to be null terminated. After more thought it is pretty
265
+ likely they won't be null terminated because if they were they would
266
+ have been defined as just 'char *' instead. It better to have a clear
267
+ message saying they aren't supported and need special casing, rather
268
+ than needing to track down possible random buggy effects.
269
+ * Added Davor Ocelic's patch for Ruby 1.9 compatible RSTRING usage and
270
+ improved instructions for building QtRuby without KDE.
271
+ * When an overriden virtual method with a non-const QVector/QList argument
272
+ was called, such as Generator.openDocument() in Okular, the Ruby values
273
+ in the Ruby Array were not being converted back to the values in the
274
+ C++ list after the method call. Thanks to David Palacio for the bug
275
+ report.
276
+
277
+ 2008-12-11 Richard Dale <richard.j.dale@gmail.com>
278
+ * Make some changes from the patch at
279
+ http://napalm.sf.cz/qt4-qtruby-ruby1.9.patch to make it easier to port
280
+ qtruby to Ruby 1.9. Thanks to Davor Ocelic and Mr Napalm.
281
+
282
+ 2008-12-10 Richard Dale <richard.j.dale@gmail.com>
283
+ * Special case the Qt::Image.bits() method. Use the const variant so that
284
+ Qt doesn't make a deep copy. Is that what Davor Ocelic and David Palacio
285
+ would like it to do?
286
+ * For other uses of 'uchar *' return types add a marshaller, hoping that
287
+ will be null terminated.
288
+ * Add a Qt::Image.scanLine() method
289
+
290
+ 2008-12-09 Richard Dale <richard.j.dale@gmail.com>
291
+ * Added an ancestors() method to Qt::Base that returns an Array of the
292
+ super classes of a class in the Smoke library. For instance:
293
+
294
+ irb(main):001:0> Qt::Widget.ancestors
295
+ => [Qt::Widget, Qt::Object, Qt::PaintDevice, Object, Kernel]
296
+
297
+ * Fixed regression caused by adding to Qt::Object.connect() the feature
298
+ to connect an arbitrary ruby method to a signal. It was causing the
299
+ standard three argument form of connect() to not work.
300
+ * Renamed the QHash of smoke index against class name as 'IdToClassNameMap'
301
+ instead of 'classname'.
302
+ * The child items of a QGraphicsItem are marked as not needing garbage
303
+ collection of they have corresponding ruby instances.
304
+
305
+ 2008-12-04 Richard Dale <richard.j.dale@gmail.com>
306
+
307
+ * From Bartosz Wadolowski (thanks for the patch):
308
+
309
+ unsigned char* marshalling in qtruby didn't work. The patch works as char*
310
+ case does - I simply copied code and added one casting.
311
+ It also fixes method matching with string argument in qtruby4.rb. In
312
+ cases when method could take constant or regular (unsigned)char
313
+ pointer Qt::Internal.checkarg was returning the same value. Now in
314
+ case of constant arguments it returns lower value. I also made this
315
+ part of code a little bit more readable.
316
+ Those changes made possible to use those QImage constructors and
317
+ probably some other methods:
318
+
319
+ QImage ( uchar * data, int width, int height, Format format )
320
+ QImage ( const uchar * data, int width, int height, Format format )
321
+ QImage ( uchar * data, int width, int height, int bytesPerLine, Format
322
+ format )
323
+ QImage ( const uchar * data, int width, int height, int bytesPerLine,
324
+ Format format )
325
+
326
+ IMPORTANT NOTE:
327
+ Some Qt/KDE objects use Ruby String*, passed as (unsigned )char*
328
+ method argument, as internal buffer/array(call it as you like). In
329
+ those cases programmer need to make sure that Ruby String object is
330
+ not being garbage collected or changed(in most cases) for the time its
331
+ being used by Qt/KDE object. It is also quite possible that Qt/KDE
332
+ object will change Ruby String (or rather its internal C char array).
333
+
334
+ 2008-11-24 Richard Dale <richard.j.dale@gmail.com>
335
+ * Added a DEF_MAP_MARSHALLER() macro for defining marshallers for
336
+ QMaps with QString keys and value types as the values
337
+ * The YAML library was adding a y() method to Kernel, which was messing
338
+ up the inspect() methods for Qt::Rects and Qt::RectFs. So instead of
339
+ calling y(), call self.y() instead. Thanks to Stefano Crocco for the
340
+ bug report and fix.
341
+
342
+ 2008-11-17 Richard Dale <richard.j.dale@gmail.com>
343
+ * Comparisons between Qt instances and nil were causing QtRuby to
344
+ crash. Fixes bug reported by Stefano Crocco.
345
+
346
+ 2008-09-22 Richard Dale <richard.j.dale@gmail.com>
347
+
348
+ * Rename get_VALUEtype() as value_to_type_flag()
349
+ * Change the inspect() method for Qt::Rects and RectFs to use the
350
+ Qt4 convention of x, y, width, height
351
+ * module_method_missing() had the Qt:: module hard wired into it, and
352
+ so constants in other modules wouldn't be found
353
+
354
+ 2008-08-22 Richard Dale <richard.j.dale@gmail.com>
355
+
356
+ * Argument types of 'unsigned short' were not being matched in the
357
+ overloaded method resolution code which was causing a Qt::KeyEvent
358
+ constructor to fail. Fixes a problem reported by Stefano Crocco.
359
+
360
+ 2008-08-18 Richard Dale <richard.j.dale@gmail.com>
361
+
362
+ * The disposed? method was round the wrong way, and true if an instance
363
+ had not been disposed. Thanks to Stefano Crocco for finding the bug.
364
+
365
+ 2008-08-12 Richard Dale <richard.j.dale@gmail.com>
366
+
367
+ * The new qobject_cast() method was wrongly changing the smoke classId of
368
+ the Ruby source instance. This was messing up method calls such as
369
+ empty?, and fixes a problem reported by Stefano Crocco (thanks again
370
+ Stefano for all these reports!).
371
+
372
+ 2008-08-11 Richard Dale <richard.j.dale@gmail.com>
373
+
374
+ * Added a qobject_cast() method that uses qt_metacast() to cast one
375
+ instance of QObject to another. This allow the KTextEditor::
376
+ interface classes to be used. Fixes a problem reported by Stefano
377
+ Crocco. Example usage:
378
+
379
+ doc = KTextEditor::EditorChooser.editor('katepart').create_document( nil)
380
+ annotator = doc.qobject_cast(KTextEditor::AnnotationInterface)
381
+ * Special case the Qt::SignalMapper#mapping and Qt::SignalMapper#setMapping
382
+ methods so they work with both Qt::Object and Qt::Widget arguments as it
383
+ confuses the method overloading resolution code at present.
384
+ * Add lower case/underscore methods as well as camel case for special cased
385
+ methods
386
+
387
+ 2008-08-10 Richard Dale <richard.j.dale@gmail.com>
388
+
389
+ * Fix a bug reported by Stefano Crocco where primitives types and QStrings
390
+ were not working as arguments to slots and signals in smoke libs outside
391
+ the qt one.
392
+
393
+ 2008-08-07 Richard Dale <richard.j.dale@gmail.com>
394
+
395
+ * Fix the Qt::CoreApplication constructor so it handles the ARGV array
396
+ correctly
397
+
398
+ 2008-07-28 Richard Dale <richard.j.dale@gmail.com>
399
+
400
+ * The code to look up the types of slot arguments was failing for types
401
+ in the KTextEditor library
402
+
403
+ 2008-07-21 Richard Dale <richard.j.dale@gmail.com>
404
+
405
+ * Qt::Variant.fromValue() and Qt::Variant.value() now both work correctly
406
+ with custom types, after a regression in the change to modular smoke.
407
+ It should no longer be necessary to use qVariantValue() or
408
+ qVariantFromValue().
409
+ * In the smoke library method calls for pure virtual methods were not
410
+ being generated, only callbacks to override them. However, that
411
+ meant that interfaces which were based on classes with pure virtual
412
+ methods, with private implementation classes wouldn't work. This fixes
413
+ a problem reported by Stefano Crocco where he found the ktexteditor
414
+ ruby extension didn't work.
415
+
416
+ 2008-07-20 Arno Rehn <arno@arnorehn.de>
417
+
418
+ * Put the classes derived from Marshall in the 'QtRuby' namespace.
419
+ * Set the SmokeBinding for each class individually by calling the
420
+ method with index 0 on the instance.
421
+
422
+ 2008-07-18 Richard Dale <richard.j.dale@gmail.com>
423
+
424
+ * Fixed the Qt::Application constructor so that it can subclassed. Thanks
425
+ to Stefano Crocco for reporting the bug
426
+
427
+ 2008-07-13 Cyrille Berger <cberger@cberger.net>
428
+ * Reverting kross2smoke to use a pointer, since that what kross use for now.
429
+
430
+ 2008-07-13 Richard Dale <richard.j.dale@gmail.com>
431
+
432
+ * Remove the smoke2kross() function as it isn't needed anymore. Change
433
+ the kross2smoke() function so that it assumes Kross will return a
434
+ pointer to a pointer, instead of just a pointer to the C++ instance.
435
+
436
+ 2008-07-12 Richard Dale <richard.j.dale@gmail.com>
437
+
438
+ * Change the layout of the smokeruby_object struct so that the ptr to
439
+ the C++ instance is at the start. This should make it easier for
440
+ QtRuby to interoperate with Kross
441
+ * The type of a slot arg should always be in the smoke module of the slot
442
+ being invoked. However, that isn't true for a dataUpdated() slot in a
443
+ PlasmaScripting::Applet. So make GetMocArguments search through all the
444
+ loaded smoke modules if the arg type isn't found at first.
445
+ * In the GC mark function the tests for a QObject type had gone missing, so
446
+ restore it.
447
+
448
+ 2008-07-11 Cyrille Berger <cberger@cberger.net>
449
+
450
+ * Make it possible to call set_qtruby_embedded from ruby.
451
+
452
+ 2008-07-03 Richard Dale <richard.j.dale@gmail.com>
453
+
454
+ * Fixed bug in the rbuic4 tool where a QPixmap constructor was not being
455
+ converted to ruby correctly. Thanks to Henrik Tikanvaara for reporting
456
+ the error.
457
+
458
+ 2008-06-30 Richard Dale <richard.j.dale@gmail.com>
459
+
460
+ * When a ruby value was marshalled to C++, and the actual type of
461
+ the C++ instance was cast to the type of the return value, it
462
+ was working correctly if the target type for the cast wasn't in
463
+ the same smoke module as the type of the instance. For instance,
464
+ an instance of type Plasma::Applet wasn't being correctly cast
465
+ to a QGraphicsLayoutItem, which caused a crash.
466
+ * Fixed a similar bug to the above description, but for where the target
467
+ of a method call was being cast to the correct class. For instance,
468
+ a call of parentWidget() on a Plasma::Applet() needed the correct cast
469
+ to a QWidget for it to work. This fixes the strange error messages in
470
+ Plasma applets like the clock, about zero pixmap sizes and QPainter
471
+ problems.
472
+
473
+ 2008-06-28 Arno Rehn <arno@arnorehn.de>
474
+
475
+ * Special case QDBusVariants in SlotReturnValue and make it behave
476
+ like the moc. This makes the complexpingpong example work.
477
+ Maybe more things need to be special cased, like in
478
+ SigSlotBase::prepareReturnValue().
479
+ * Add special cases for lists and maps to
480
+ SigSlotBase::prepareReturnValue().
481
+ * Add 'QList<QObject*>' to the handlers array.
482
+ * Small fixes to complexping.rb.
483
+
484
+ 2008-06-23 Richard Dale <richard.j.dale@gmail.com>
485
+
486
+ * Change prepareQtReturnType from a standalone function to a method
487
+ in the SigSlotBase class. It should work with int types, and fix
488
+ the bug reported by Stefano Crocco.
489
+
490
+ 2008-06-22 Richard Dale <richard.j.dale@gmail.com>
491
+
492
+ * Fix bug in resolve_classname_qt() caused by missing break statments
493
+ * Move list marshaller macro definitions to the top of the
494
+ marshall_macros.h header, and add a DEF_HASH_MARSHALLER macro
495
+ * Add a set_qtruby_embedded() function to qtruby for use with plugins
496
+ like plasma
497
+
498
+ 2008-06-20 Arno Rehn <arno@arnorehn.de>
499
+
500
+ * Fix bug reported by Stefano Crocco. qt_metacall tried to write
501
+ data via an uninitialized pointer.
502
+
503
+ 2008-06-20 Richard Dale <richard.j.dale@gmail.com>
504
+
505
+ * Partly fix bug reported by Stefan Crocco - this explains why a slot
506
+ return value of type QPoint was nil. However, it's value is wrong,
507
+ and the problem with a QString return value crashing is still not
508
+ explained.
509
+
510
+ 2008-06-13 Richard Dale <richard.j.dale@gmail.com>
511
+
512
+ * Remove unnecessary special casing for Qt::TextEdit::ExtraSelection,
513
+ just make it an ording QtRuby class instead of a Struct, and add a
514
+ marshaller for QList<QTextEdit::ExtraSelection>
515
+
516
+ 2008-06-14 Arno Rehn <arno@arnorehn.de>
517
+
518
+ * Since every smoke module defines a class 'QGlobalSpace', don't rely
519
+ on Smoke::classMap and search every smoke module for methods of this
520
+ class.
521
+
522
+ 2008-06-13 Richard Dale <richard.j.dale@gmail.com>
523
+
524
+ * Pass the resolve_classname() functions a 'smokeruby_object *' so that
525
+ they can change the smoke lib and classId on it.
526
+ * Added Qt::KeySequence inspect and pretty_print methods
527
+
528
+ 2008-06-12 Richard Dale <richard.j.dale@gmail.com>
529
+
530
+ * When resolve_classname_qt() was given a class outside the Qt smoke
531
+ library, such as KAction, it was failing to resolve it. This was
532
+ because it was only looking in the smoke library of the arg type
533
+ declared in the method. Hence, an arg type of 'QAction' was not
534
+ being resolved to 'KAction'. Thanks to Stefano Crocco for reporting
535
+ the bug.
536
+
537
+ 2008-06-09 Richard Dale <richard.j.dale@gmail.com>
538
+
539
+ * The rb_id2name() function has changed to return a 'const char *'
540
+ in Ruby 1.8.7, which meant the QtRuby wouldn't compile. So attempt
541
+ to make it build on both 1.8.6 and 1.8.7. Thanks to Stefano Crocco
542
+ for reporting the bug.
543
+
544
+ 2008-06-08 Richard Dale <richard.j.dale@gmail.com>
545
+
546
+ * Move the template based List marshallers to a new header
547
+ marshall.macros.h and add marshallers for QLinkedList types
548
+
549
+ 2008-06-05 Richard Dale <richard.j.dale@gmail.com>
550
+
551
+ * Make the template based QList marshallers more DRY by moving them
552
+ to marshall_complex.h instead of copied into every extension.
553
+
554
+ 2008-06-04 Richard Dale <richard.j.dale@gmail.com>
555
+
556
+ * Make it possible to include marshall_basetypes.h so that korundum
557
+ can build
558
+
559
+ 2008-05-31 Arno Rehn <arno@arnorehn.de>
560
+
561
+ * Updated qtruby.cpp's header.
562
+
563
+ 2008-05-29 Richard Dale <richard.j.dale@gmail.com>
564
+
565
+ * Fixed bug in the FindAllMethods() f'n, and made the debug logging work
566
+ when a method couldn't be found in do_method_missing()
567
+
568
+ 2008-05-28 Richard Dale <richard.j.dale@gmail.com>
569
+
570
+ * The enum Qt::Process::StandardError was clashing with the exception of
571
+ the same name, so add a constant to the Qt::Process class instead.
572
+ Thanks to Stefano Crocco for reporting the bug.
573
+
574
+ 2008-05-22 Arno Rehn <arno@arnorehn.de>
575
+
576
+ * Fixed dumpCandidates().
577
+
578
+ 2008-05-19 Richard Dale <richard.j.dale@gmail.com>
579
+
580
+ * The method selector cache function had an off by one error, which meant
581
+ it assumed there was one more argument to a method than there actually
582
+ was. This caused a crash. Why such a major problem hasn't caused any
583
+ problems before is a mystery - it wasn't a result of the modular smoke
584
+ changes.
585
+ * qtruby4.rb calls Kernel#y instead of Qt::Point#y on inspect and
586
+ pretty_print when the yaml gem is loaded.
587
+ The attached patch fixes the problem by calling Qt::Point#y and
588
+ Qt::PointF#y explicitly. Thanks to Paolo Capriotti for the bug report
589
+ and fix.
590
+
591
+ 2008-05-16 Arno Rehn <arno@arnorehn.de>
592
+
593
+ * Bring qtruby.cpp up to date with the branch-version.
594
+
595
+ 2008-05-16 Richard Dale <richard.j.dale@gmail.com>
596
+
597
+ * Rename the 'modules' global variable qtruby_modules to reduce the chances
598
+ of a name clash
599
+
600
+ 2008-04-29 Richard Dale <richard.j.dale@gmail.com>
601
+
602
+ * Added a marshaller for references to unsigned ints
603
+ * Added initialization for the various KDE::ConfigSkeleton classes
604
+
605
+ 2008-04-24 Richard Dale <richard.j.dale@gmail.com>
606
+
607
+ * Fixed a couple of differences between C++ code generation and Ruby.
608
+ The variable names weren't being stripped of any leading 'q' or 'k',
609
+ and the brush initialization hadn't been updated for Qt 4.4.
610
+
611
+ 2008-04-22 Sebastian Sauer <mail@dipe.org>
612
+
613
+ * Fix reported crash on shutdown if QtRuby is used embedded.
614
+
615
+ 2008-04-14 Richard Dale <richard.j.dale@gmail.com>
616
+
617
+ * Special case the KDE::DateTime and KDE::TimeZone classes so that
618
+ nested classes, such as KDE::DateTime::Spec work with them.
619
+ TODO: make this work automatically without needing extra code.
620
+
621
+ 2008-04-10 Richard Dale <richard.j.dale@gmail.com>
622
+
623
+ * When matching arg types, strip off an '::Ptr' or 'Ptr' at the end
624
+ of the type. This is to ensure that something like a KDE::Service
625
+ ruby instance can be passed to a method expecting a type of
626
+ KService::Ptr
627
+
628
+ 2008-04-07 Richard Dale <richard.j.dale@gmail.com>
629
+
630
+ * Added a QTRUBY_FUNCALL2 macro. If QtRuby is built with the
631
+ -DRUBY_EMBEDDED option, then the rb_funcall2s for invoking
632
+ virtual method callbacks and slot invocations in wrapped with
633
+ a rb_protect() call. Otherwise, rb_funcall() is called directly
634
+ and any uncaught Ruby exceptions will terminate the app.
635
+ * Borrowed a function from the kross code to put out an error message
636
+ and stacktrace on stderr for the current exception, when qtruby
637
+ has been compiled with the embedded option.
638
+
639
+ 2008-04-06 Richard Dale <richard.j.dale@gmail.com>
640
+
641
+ * Change the way the 'MocArgument*' structs are created, instead
642
+ building them up in a Ruby Array, use a QList<MocArgument*>.
643
+ Move all the code to C/C++ and don't call Ruby anymore.
644
+ * Add QTRUBY_INIT_STACK and QTRUBY_RESTORE_STACK macros based on
645
+ the SWIG_INIT_STACK and SWIG_RESTORE_STACK macros. If QtRuby is
646
+ compiled with a '-DRUBY_EMBEDDED' option, then before each virtual
647
+ method callback and slot invocation call, which isn't nested
648
+ within another, call RUBY_INIT_STACK.
649
+ * This fixes a problem with Ruby Plasmoids where the Ruby runtime was
650
+ giving sys stackerror exceptions because the stack underflowed
651
+ relative to where it was when the krubypluginfactory was loaded.
652
+ * Add more checking for Qnil in the marshallers for primitive types
653
+ to make the runtime more robust.
654
+ * Added some more range=(Range) methods as synonyms for
655
+ setRange(Integer, Integer)
656
+ * Changed the examples to use range=
657
+ * Added a rbplasmaapi command line tool for introspecting the Ruby api
658
+
659
+ 2008-04-05 Richard Dale <richard.j.dale@gmail.com>
660
+
661
+ * Added rb_protect() wrappers around virtual method callbacks and
662
+ slot invocations. When there is a Ruby exception, the app no
663
+ longer terminates which is useful for Plasma applets.
664
+
665
+ 2008-04-04 Richard Dale <richard.j.dale@gmail.com>
666
+
667
+ * Ensure the class and module names in rbuic4 generated code
668
+ start with an upper case letter, even if they didn't in the
669
+ .ui file
670
+
671
+ 2008-04-03 Richard Dale <richard.j.dale@gmail.com>
672
+
673
+ * Updated the rbuic4 to be in line with the Qt 4.4 uic code
674
+ * Added a '-k' or '-kde' option to the rbuic4 tool, used in
675
+ conjunction with '-x' to generate a KDE app korundum4 test stub
676
+
677
+ 2008-04-01 Richard Dale <richard.j.dale@gmail.com>
678
+
679
+ * Qt::TimeLine.setFrameRange() can now be called like this:
680
+ time_line.frameRange = 0..90
681
+ * Qt::Timer.singleShot can now be called with a block:
682
+ timer = Qt::Timer.singleShot(5000, obj) { puts "In a block" }
683
+ * Thanks to stefo on #kde-bindings for both suggestions
684
+ * Added a few more 'range=' methods
685
+ * Fixed range setters so that both 1..10 and 1...10 work properly
686
+
687
+ 2008-03-28 Richard Dale <richard.j.dale@gmail.com>
688
+
689
+ * Added a QList<QTextEdit::ExtraSelection> marshallers as requested
690
+ by volty on the #qtruby irc channel. Qt::TextEdit::ExtraSelection
691
+ is a Ruby Struct with cursor and format fields.
692
+
693
+ 2008-03-24 Richard Dale <richard.j.dale@gmail.com>
694
+
695
+ * Attempt to improve the marshalling of WIds and assume they are
696
+ either signed ints (Mac OS) or signed longs.
697
+
698
+ 2008-03-14 Richard Dale <richard.j.dale@gmail.com>
699
+
700
+ * Fixed a bug in constructing Qt::Variants with custom types such
701
+ as Soprano::Statement
702
+ * Added a Soprano:: namespace
703
+
704
+ 2008-03-11 Richard Dale <richard.j.dale@gmail.com>
705
+
706
+ * When a method call began or ended with an underscore, and it
707
+ was missing from a qtruby instance, it caused ruby to loop,
708
+ rather than report the method as missing. Thanks to Daniel
709
+ Brumbaugh Keeney for reporting the bug.
710
+
711
+ 2008-03-04 Richard Dale <richard.j.dale@gmail.com>
712
+
713
+ * Make symbolic links to rbqtapi as rbqt3api, rbqt4api, rbkdeapi
714
+ and rbkde4api
715
+
716
+ 2008-03-03 Richard Dale <richard.j.dale@gmail.com>
717
+
718
+ * Added some marshallers for new Qt 4.4 QList types
719
+
720
+ 2008-03-02 Richard Dale <rdale@foton.es>
721
+
722
+ * The QModelIndex::internalPointer() method was returning nil, as
723
+ as result of the code change attempting to return nil if the C++
724
+ pointer is 0. Thanks to CyrilleB for reportin the error
725
+
726
+ 2008-02-18 Richard Dale <rdale@foton.es>
727
+
728
+ * Ignore the WebCore:: and std:: namespaces when loading classes
729
+ * Added marshallers for the WebKit QList types
730
+
731
+ 2007-12-19 Richard Dale <rdale@foton.es>
732
+
733
+ * The Qt::Polygon and Qt::PolygonF classes had no means of getting
734
+ the array of Qt::Points that they hold. Added count() and size()
735
+ methods and made the classes Enumerable, so this is now possible:
736
+
737
+ irb(main):002:0> poly = Qt::Polygon.new([Qt::Point.new(1,2),
738
+ Qt::Point.new(3,4)])
739
+ => #<Qt::Polygon:0xb5ee3094>
740
+ irb(main):003:0> poly.each {|t| p t}
741
+ #<Qt::Point:0xb5ee0510 x=1, y=2>
742
+ #<Qt::Point:0xb5ee018c x=3, y=4>
743
+
744
+ * Thanks to Sylvain Sauvage for reporting the problem on the Korundum
745
+ help forum
746
+
747
+ 2007-11-21 � Sebastian Sauer <mail@dipe.org>
748
+
749
+ * Fixed crash on shutdown of Ruby cause of a partly destroyed
750
+ pointer_map QHash.
751
+
752
+ 2007-11-19 Richard Dale <rdale@foton.es>
753
+
754
+ * Slot arguments types of 'uint', 'long' and 'ulong' weren't working.
755
+ Thanks to maniel for the bug report.
756
+ * When calling a slot directly, it wouldn't work when then slot had
757
+ no
758
+ arguments
759
+ * Special case any classes which are sub classes of
760
+ QDBusAbstractInterface
761
+ when calling slots directly as the slots will be remote.
762
+ * When there is more than one return value in a Qt::DBusMessage the
763
+ value
764
+ method now will return a Ruby Array
765
+
766
+ 2007-11-18 Richard Dale <rdale@foton.es>
767
+
768
+ * At the suggestion of Vincent Fourmond added a Qt::DateTime.to_time
769
+ method which returns a Ruby time. Also enhanced the Qt::DateTime
770
+ constructor so that it can be passed a Ruby Time.
771
+ * Qt::Variants containing either QDBusObjectPaths or QDBusSignatures
772
+ can now be converted to Ruby Strings with a Qt::Variant.value call.
773
+ Fixes bug reported by maniel on the #qtruby IRC channel.
774
+
775
+ 2007-11-12 Richard Dale <rdale@foton.es>
776
+
777
+ * If QModelIndex.internalPointer() is zero, return Qnil
778
+ * Don't attempt to mark a zero internalPointer() for the garbage
779
+ collector. Thanks to cheiron for reporting the bug.
780
+
781
+ 2007-11-11 Richard Dale <rdale@foton.es>
782
+
783
+ * Fixed a regression introduced when slots were made directly
784
+ callable.
785
+ It broke the code to invoke remote QtDBus methods because the
786
+ remote methods become slots in the QMetaObject of the
787
+ QDBusInterface
788
+ being used as a proxy. The code was trying to invoke those slots
789
+ directly which didn't work. So special case any QMetaObjects which
790
+ have classNames of "local::Merge" as it means they are remote.
791
+
792
+ 2007-10-31 Richard Dale <rdale@foton.es>
793
+
794
+ * Don't build the qtrubyinternal library anymore as it gave trouble
795
+ on
796
+ AMD64 machines and needed an '-fPIC' option there. Instead just
797
+ include the qtruby sources in the korundum (and plasma) projects.
798
+
799
+ 2007-10-30 Richard Dale <rdale@foton.es>
800
+
801
+ * The Qt::KeyEvent#type method wasn't working. Fixes problem reported
802
+ by Magicloud Magiclouds
803
+
804
+ 2007-10-19 Richard Dale <rdale@foton.es>
805
+
806
+ * Ruby signal declared in superclasses were not being inherited by
807
+ subclasses correctly. Fixed bug reported by cheiron on the #qtruby
808
+ irc channel - thanks for the report and test program.
809
+
810
+ 2007-10-14 Richard Dale <rdale@foton.es>
811
+
812
+ * The QScintilla class names now all start with Qsci instead of Qext,
813
+ so change the QtRuby module name from Qext:: to Qsci::
814
+ * Fixes a seg fault pointed out by Adreas Pakulat
815
+
816
+ 2007-10-08 Richard Dale <rdale@foton.es>
817
+
818
+ * Added some missing modules for namespaces in the KDE4 classes
819
+
820
+ 2007-09-07 Richard Dale <rdale@foton.es>
821
+
822
+ * Added a kross2qtruby method from Cyrille Berger to convert from a
823
+ kross
824
+ instance to a qtruby instance
825
+ * Fixed bug in overloaded method resolution where a quint32 was being
826
+ given
827
+ equal priority to a qint32 type. Thanks to joseph/vista on #qtruby
828
+ for
829
+ reporting the bug
830
+
831
+ 2007-07-28 Richard Dale <rdale@foton.es>
832
+
833
+ * Up the version to 1.4.9
834
+ * Add a Plasma:: module for the plasma classes
835
+
836
+ 2007-06-19 Richard Dale <rdale@foton.es>
837
+
838
+ * Released Qt4 QtRuby 1.4.8 on Rubyforge
839
+ * Fixed an error in the QGraphicsPixmapItem class which made it
840
+ impossible
841
+ to instantiate
842
+ * Building QtRuby against Qt 4.2 failed because of a reference to
843
+ the Qt 4.3 QMdiSubWindow class not being #ifdef'd correctly. Thanks
844
+ to
845
+ mhlmi on #qtruby irc for reporting these two bugs.
846
+
847
+ 2007-06-18 Richard Dale <rdale@foton.es>
848
+
849
+ * When a Qt::Object is subclassed more than once, a Qt::MetaObject is
850
+ now correctly constructed for each subclass. Before a half-working
851
+ hack was used where a Qt::MetaObject containing all the slots and
852
+ signal of its superclass too, was constructed for the twice
853
+ sub-classed
854
+ class. Fixes problems reported by Caleb Tennis amoungst several
855
+ others.
856
+ * When a signal is defined, and Ruby method is created to call it.
857
+ Before
858
+ the signal methods were only being created when the Qt::MetaObject
859
+ for
860
+ a class was created. This caused problems if the signal was emitted
861
+ before the Qt::MetaObject was created. Fixes problem reported for
862
+ Qt3
863
+ QtRuby by Gadi Aleksandrowicz on the Korundum Rubyforge help forum.
864
+
865
+ 2007-06-12 Richard Dale <rdale@foton.es>
866
+
867
+ * Added some missing list marshallers
868
+ * Fixed a bug in the resolution of QGraphicsItem subclass names
869
+
870
+ 2007-04-19 Richard Dale <rdale@foton.es>
871
+
872
+ * Fixed a bug in resolving overloaded methods where an enum passed as
873
+ an
874
+ quint64 arg type needed to be given a lower priority that an
875
+ Integer one
876
+ * Added two models useful for Rails ActiveRecord or ActiveResource
877
+ with Qt
878
+ widgets
879
+ * Fixed a bug in the Qt::HttpRequestHeader method() method
880
+
881
+ 2007-04-05 Richard Dale <rdale@foton.es>
882
+
883
+ * Add some marshallers for the QVector types in the new Qt 4.3
884
+ QXmlStream*
885
+ classes
886
+ * Improved the cannon game t14 code
887
+
888
+ 2007-03-17 Richard Dale <rdale@foton.es>
889
+
890
+ * The code to allow the type() method to be used for Qt::GraphicsItem
891
+ classes had the wrong names for the classes
892
+ * Improved the resolution of QGraphicsItem classes in
893
+ resolve_classname()
894
+
895
+ 2007-04-16 Richard Dale <rdale@foton.es>
896
+
897
+ * Added some marshallers for Qt 4.3 classes
898
+ * Fixed bug in deleting Qt::StandardItems when they had a parent or
899
+ model
900
+
901
+ 2007-03-13 Richard Dale <rdale@foton.es>
902
+
903
+ * When a ruby string was converted to a 'char *' arg, a copy was
904
+ malloc'd
905
+ and then never freed. This behaviour was added to fix a problem
906
+ with the
907
+ small number of methods that 'took ownership' of the string and
908
+ expected
909
+ it to stay around after the method call. However, it introduces a
910
+ memory leak for the 95% of methods that don't need it, and also
911
+ means
912
+ that if the 'char *' is changed during the method call, the changes
913
+ aren't reflected in the ruby string. Thanks to Jan Wedekind for the
914
+ discussion leading up to changing the code. Any methods where this
915
+ behaviour is wrong will now need to be special cased.
916
+
917
+ 2007-03-06 Richard Dale <rdale@foton.es>
918
+
919
+ * Call rb_gc_mark() on the internalPointer VALUE within a
920
+ Qt::ModelIndex
921
+ to prevent it being GC'd too early
922
+ * Added 'double&' and 'double*' marshallers
923
+ * Fixed memory leak when creating new Qt::ModelIndexes
924
+
925
+ 2007-02-27 Richard Dale <rdale@foton.es>
926
+
927
+ * Added marshallers for QwtArray<double> and QwtArray<int>
928
+ (ie QVector<int>)
929
+ * Added a fix from Knut Franke to make the QVector<double> marshaller
930
+ work with any sort of Ruby number. Thanks Knut..
931
+
932
+ 2007-02-22 Richard Dale <rdale@foton.es>
933
+
934
+ * Made 'Qt::Variant.new(nil)' a synonym for 'Qt::Variant.new'
935
+
936
+ 2007-02-19 Richard Dale <rdale@foton.es>
937
+
938
+ * Added inspect and pp methods for Qt::MetaEnums
939
+ * Qt::Variants can be constructed from ruby Dates, Times and
940
+ DateTimes.
941
+ Qt::Dates, Qt::Times and Qt::DateTimes can also be constructed from
942
+ their ruby equivalents as a single arg. This makes it easier to
943
+ integrate Qt::AbstractItemModels with Rails ActiveRecord and
944
+ ActiveResource
945
+
946
+ 2007-02-17 Richard Dale <rdale@foton.es>
947
+
948
+ * If a new Ruby class is created for a custom C++ QObject derived
949
+ class,
950
+ then create Ruby constants in the class for any enums defined via
951
+ Q_ENUMS which are in the same scope as the new class. For instance:
952
+
953
+ class TestObject : public QObject
954
+ {
955
+ Q_OBJECT
956
+ Q_ENUMS(Priority)
957
+ public:
958
+ enum Priority { High, Low, VeryHigh, VeryLow };
959
+
960
+ ...
961
+
962
+ irb(main):001:0> app = Qt::Application.new(ARGV)
963
+ => #<Qt::Application:0xb6aaaf58 objectName="irb">
964
+ irb(main):002:0> require 'testqobject'
965
+ => true
966
+ irb(main):003:0> test = app.findChild(Qt::Object, "QtRuby
967
+ TestObject")
968
+ => #<TestObject:0xb6aa5184 objectName="QtRuby TestObject">
969
+ irb(main):004:0> TestObject::High
970
+ => 0
971
+ irb(main):005:0> TestObject::Low
972
+ => 1
973
+ irb(main):006:0> TestObject::VeryHigh
974
+ => 2
975
+
976
+ 2007-02-16 Richard Dale <rdale@foton.es>
977
+
978
+ * Thomas Moenicke fixed the qtruby cmake build so it works on
979
+ all machines by adding a KDE_EXPORT macro to Init_qtruby4()
980
+ Big thanks to Thomas and Guillaume Laurent for getting it all
981
+ working.
982
+ * Added calling slots directly in custom C++ QObject classes.
983
+ If a method isn't found in the Smoke library, and the instance is
984
+ a kind of QObject with a class not in the Smoke library, then look
985
+ for a slot matching the method name and invoke it. Thanks to Eric
986
+ Landuy
987
+ for the idea and discussion leading to implementing it.
988
+ * Added a check for QtDBus in the qtruby cmake file and set a define
989
+ of -DQT_QTDBUS if the library was found
990
+ * Changed the ADD_LIBRARY line in the qtruby cmake file to use MODULE
991
+ so that a bundle should be built on Mac OS X.
992
+
993
+ 2007-02-08 Richard Dale <rdale@foton.es>
994
+
995
+ * Fixed bugs in the debug dump of QMetaObjects created at runtime
996
+ * When a block was used as a slot, a new entry was being added to
997
+ the QMetaObject object every time they were connected. A new
998
+ entry is now only created if a slot with the same signature didn't
999
+ already exist.
1000
+
1001
+ 2007-02-04 Richard Dale <rdale@foton.es>
1002
+
1003
+ * The ListModel internal class was being wrongly named as TableModel
1004
+
1005
+ 2007-02-01 Richard Dale <rdale@foton.es>
1006
+
1007
+ * Added the qdbus/complexpingpong example
1008
+ * Qt::DBusVariant have to be passed Qt::Variants, and a suitable
1009
+ Qt::Variant will be created
1010
+ * Improved the format of debugging info for the contents of a
1011
+ QMetaObject
1012
+ * A Qt::Variant can now be obtained when contained in a
1013
+ Qt::DBusVariant
1014
+
1015
+ 2007-01-31 Richard Dale <rdale@foton.es>
1016
+
1017
+ * Added a Qt::DBusVariant class and a marshaller for it
1018
+
1019
+ 2007-01-17 Richard Dale <rdale@foton.es>
1020
+
1021
+ * QtRuby was crashing in virtual method callbacks with a memory
1022
+ corruption
1023
+ problem. The stack of ruby VALUES for the arguments to the callback
1024
+ is
1025
+ now allocated via ALLOCA_N, rather than calloc which cures the
1026
+ crashes.
1027
+ * Changed tabs to spaces in the pixelator example
1028
+
1029
+ 2007-01-15 Richard Dale <rdale@foton.es>
1030
+
1031
+ * Code generated with the rbuic tool '-x' option has a require 'Qt4'
1032
+ option. Fixes problem reported by Sylvain Joyeux
1033
+ * Add setup_ui() and retranslate_ui() methods as aliases for the
1034
+ camel
1035
+ case ones as suggested by Sylvain Joyeux
1036
+
1037
+ 2006-12-16 Richard Dale <rdale@foton.es>
1038
+
1039
+ * Added the painting/fontsampler example
1040
+ * There is no way to distinguish between the two constructors:
1041
+ QTreeWidgetItem (const QTreeWidgetItem & other)
1042
+ QTreeWidgetItem (QTreeWidgetItem * parent, const QStringList &
1043
+ strings, int type = Type)
1044
+ when the latter has a single argument. So force the second variant
1045
+ to
1046
+ be called
1047
+ * Added the desktop/screenshot example
1048
+ * Added the desktop/systray example
1049
+
1050
+ 2006-12-14 Richard Dale <rdale@foton.es>
1051
+
1052
+ * Added the painting/svgviewer example
1053
+ * Added the painting/imagecomposition example
1054
+ * Added a convenience method Qt::Image.fromImage() to assign one
1055
+ image
1056
+ from another. This is because the C++ QImage::operator=(const
1057
+ QImage&)
1058
+ method isn't easily called from QtRuby
1059
+ * Fixed do_method_missing() so that 'operator=' methods don't get
1060
+ transformed into setOperator() methods
1061
+
1062
+ 2006-12-12 Richard Dale <rdale@foton.es>
1063
+
1064
+ * Removed the qtrubyinit program as it's a pita to build, and isn't
1065
+ very
1066
+ useful
1067
+
1068
+ 2006-12-04 Richard Dale <rdale@foton.es>
1069
+
1070
+ * Add a QMap<int,QVariant> marshaller
1071
+ * When marhalling QMap types with QVariant values, if the Ruby value
1072
+ isn't
1073
+ a Qt::Variant then one is created
1074
+ * Qt::Variants can now be constructed with Hash's of
1075
+ String/Qt::Variant
1076
+ pairs, and from Arrays of Qt::Variants
1077
+ * Custom types know to the QMetaType system, such as some QtDBus
1078
+ types,
1079
+ can be used to construct Qt::Variant via the
1080
+ QMetaType::constructor() call
1081
+ * Fixed a bug in Qt::AbstractItemModel.createIndex() which meant it
1082
+ wouldn't
1083
+ work on 64 bit machines
1084
+ * When marshalling QList<QVariant> types from Ruby to C++, if any
1085
+ elements
1086
+ aren't Ruby Qt::Variants, they are automatically converted. Hence,
1087
+ the
1088
+ following will work:
1089
+
1090
+ v = Qt::Variant.new([1, 2, 3])
1091
+
1092
+ The Qt::Variant v will contain a list of 3 QVariants with
1093
+ typeName 'int'
1094
+
1095
+ * Add an option extra argument to Qt::Variant.fromValue() and
1096
+ qVariantFromValue
1097
+ to specify a type string, for use with QtDBus args. For example:
1098
+
1099
+ v = Qt::Variant.fromValue(5, "uint")
1100
+
1101
+ Will force the Qt::Variant to be a specific type
1102
+ * Change all instances of strcmp() to qstrcmp()
1103
+
1104
+ 2006-11-30 Richard Dale <rdale@foton.es>
1105
+
1106
+ * The Qt::KeySequence constructor wasn't working when passed a
1107
+ Qt::Key enum type and it needed to be cast to an Integer via
1108
+ a to_i() call.
1109
+ * When a Qt::DBusInterface.call() method was invoked without using
1110
+ the call() method, but by calling the method directly, and the
1111
+ method
1112
+ returned a QVariant Qt::DBusArgument value, the QVariant return
1113
+ value was converted to nil.
1114
+ * Fixed some errors in the mainwindows/mdi example, thanks to shirk
1115
+ and |Vargas| for pointing them out.
1116
+
1117
+ 2006-11-23 Richard Dale <rdale@foton.es>
1118
+
1119
+ * Made Qt::TreeWidgetItem and Qt::TreeWidget Enumerable
1120
+ * Added a Qt::TreeWidgetItemIterator.current() method to get the
1121
+ current value of the iterator without needing to use 'operator*'
1122
+ * Added inspect() and pretty_print() methods to Qt::TreeWidgetItem,
1123
+ Qt::ListWidgetItem and Qt::TableWidgetItem
1124
+ * Removed instructions for creating a 'rubyw' executable in Mac OS X
1125
+ as it isn't needed anymore with Qt 4.x. Thanks to Hans Fugal for
1126
+ pointing that out.
1127
+
1128
+ 2006-11-21 Richard Dale <rdale@foton.es>
1129
+
1130
+ * The rbuic and rbrcc tools were being built with a .app extension
1131
+ on Mac OS X when using qmake. Fixed the .pro files so this doesn't
1132
+ happen. Thanks to Hans Fugel for reporting the problem.
1133
+
1134
+ 2006-11-15 Richard Dale <rdale@foton.es>
1135
+
1136
+ * When Qt::DBusInterface.call() was called with a single argument,
1137
+ it was failing with a method_missing() error. Fixes problem
1138
+ reported by Carsten Niehaus.
1139
+
1140
+ 2006-11-07 Richard Dale <rdale@foton.es>
1141
+
1142
+ * Fixed a crash when a slot was inherited by a subclass, and the
1143
+ subclass had no slots or signals of its own
1144
+
1145
+ 2006-10-30 Richard Dale <rdale@foton.es>
1146
+
1147
+ * Upped the QtRuby version to 1.4.7 for the RubyForge release
1148
+
1149
+ 2006-10-20 Richard Dale <rdale@foton.es>
1150
+
1151
+ * All allocs and frees for the smokeruby_object struct now go through
1152
+ two methods alloc_smokeruby_object() and free_smokeruby_object().
1153
+ Before some instances were being allocated with Ruby's ALLOC, and
1154
+ some with malloc(). Now they are all created with malloc().
1155
+ * Removed a call to ALLOC_N and replaced it will calloc().
1156
+
1157
+ * Reversed the decision to get rid of ALLOC, and replaced all mallocs
1158
+ with ALLOC and all callocs with ALLOCA_N
1159
+ * Commented out some code that mapped an instance which was allocated
1160
+ in the C++ world onto the corresponding ruby instance. It doesn't
1161
+ work if the C++ address is reused and the Ruby side doesn't know
1162
+ about it.
1163
+
1164
+ 2006-10-19 Richard Dale <rdale@foton.es>
1165
+
1166
+ * A Qt::DBusArgument can be obtained via a call to qVariantValue(),
1167
+ like
1168
+ this:
1169
+
1170
+ qVariantValue(Qt::DBusArgument, variant)
1171
+
1172
+ 2006-10-16 Richard Dale <rdale@foton.es>
1173
+
1174
+ * Fixed Qt::DBusInterface.call() so it automatically wraps the
1175
+ arguments
1176
+ as Qt::Variants. Thanks to prullmann for testing and finding
1177
+ problems.
1178
+
1179
+ * Improved the pingpong example to be more like the C++ version.
1180
+
1181
+ 2006-10-13 Richard Dale <rdale@foton.es>
1182
+
1183
+ * Added marshallers for QList<QPair<QString,QString> > and
1184
+ QGradiantStops
1185
+ (QPair<qreal,QColor>) types
1186
+
1187
+ 2006-10-06 Richard Dale <rdale@foton.es>
1188
+
1189
+ * Added the QtDBus pingpong example
1190
+
1191
+ * Fixed a bug in slot return values where they were only
1192
+ working when a signal was emitted in Ruby, and not when
1193
+ a C++ signal was emitted. The zeroth element in the array
1194
+ of 'void*'s passed to qt_metacall() was being overwritten
1195
+ by a pointer to the result of the slot invocation. Instead
1196
+ the pointer in the zeroth element is now correctly deref'd,
1197
+ and the result put where it points to.
1198
+
1199
+ 2006-10-05 Richard Dale <rdale@foton.es>
1200
+
1201
+ * Each rbuic generated class is now wrapped in a Ui module so that as
1202
+ well as class 'Ui_Foobar' there is a 'Ui::Foobar' version.
1203
+
1204
+ * Added the QtDBus chat example
1205
+
1206
+ * Made the Qt::DBusMessage '<<' create a Qt::Variant if the arg
1207
+ passed
1208
+ to it wasn't already a Qt::Variant
1209
+
1210
+ 2006-10-04 Richard Dale <rdale@foton.es>
1211
+
1212
+ * Added the QtDBus remote contoller car example
1213
+
1214
+ * Fixed warning messsage caused be the Qt::Variant::Time value
1215
+
1216
+ 2006-10-03 Richard Dale <rdale@foton.es>
1217
+
1218
+ * Added ruby implementations of
1219
+ Qt::DBusConnectionInterface.serviceOwner(),
1220
+ registeredServiceNames(), isServiceRegistered(), servicePid(),
1221
+ serviceUid()
1222
+ and startService()
1223
+
1224
+ * Added a Qt::DBusMessage.value() method to return the Ruby value of
1225
+ the Qt::Variant
1226
+ at the beginning of the arguments array, or nil if the message
1227
+ wasn't a ReplyMessage.
1228
+
1229
+ * Fixed incorrect Qt::Variant.toUInt() method name
1230
+
1231
+ * Added a ruby version of the Qt::DBusReply class
1232
+
1233
+ * Converted the qdbus/listnames example to Ruby
1234
+
1235
+ 2006-10-02 Richard Dale <rdale@foton.es>
1236
+
1237
+ * qVariantFromValue() wasn't working with non-Qt classes as
1238
+ arguments,
1239
+ such as Ruby Strings and Integers
1240
+
1241
+ * The rbuic4 tool was not setting up slot/signal connections.
1242
+
1243
+ * It is now possible to call on a Qt::DBusInterface instance directly
1244
+ like
1245
+ this:
1246
+
1247
+ app = Qt::Application.new(ARGV)
1248
+ bus = Qt::DBusConnection.sessionBus()
1249
+ proxy = Qt::DBusInterface.new( "org.freedesktop.DBus",
1250
+ "/org/freedesktop/DBus",
1251
+ "org.freedesktop.DBus",
1252
+ bus )
1253
+
1254
+ result = proxy.ListNames()
1255
+
1256
+ # result is
1257
+ ["org.freedesktop.DBus", ":1.0", "com.trolltech.Assistant", ":1.15"]
1258
+
1259
+ * Fixed bugs in Qt::Variant where some constants were missing, and
1260
+ the one for 'String'
1261
+ gave a warning
1262
+
1263
+ 2006-10-01 Richard Dale <rdale@foton.es>
1264
+
1265
+ * The Qt::DBusMessage.type method now works. Fixes problem reported
1266
+ by
1267
+ Peter Rullmann.
1268
+
1269
+ 2006-09-28 Richard Dale <rdale@foton.es>
1270
+
1271
+ * Redone the rbuic tool based on the Qt 4.2 code with the
1272
+ ruby-specific
1273
+ code generation in a 'ruby' subdirectory.
1274
+
1275
+ * The rbuic tool has been renamed 'rbuic4' so it can be used at the
1276
+ same
1277
+ time as the Qt3 one.
1278
+
1279
+ * Changed 'setShortcut' method calls so a string can be passed to
1280
+ them
1281
+ as well as a Qt::KeySequence to be more similar to the C++ api.
1282
+
1283
+ 2006-09-26 Richard Dale <rdale@foton.es>
1284
+
1285
+ * Sym links 'rbqt3api' and 'rbqt4api' to rbqtapi created so that the
1286
+ Qt3
1287
+ and Qt4 apis can still be queried when both QtRuby versions are
1288
+ installed
1289
+
1290
+ 2006-09-25 Richard Dale <rdale@foton.es>
1291
+
1292
+ * Renamed 'qtruby.rb' as qtruby4.rb, and qtruby.so as qtruby4.so
1293
+
1294
+ * Qt4.rb and Qt3.rb files are installed to allow either Qt3 or
1295
+ Qt4 versions of QtRuby to be used with require 'Qt4' or
1296
+ require 'Qt3' statements
1297
+
1298
+ * A Qt.rb symbolic link is created by the install so that by default
1299
+ a require 'Qt' statement will use Qt4 QtRuby
1300
+
1301
+ 2006-09-17 Richard Dale <rdale@foton.es>
1302
+
1303
+ * Fixed bug reported by Caleb Tennis where temporary QString const
1304
+ arguments
1305
+ were only being deleting after marshalling if they weren't const
1306
+ types.
1307
+
1308
+ 2006-09-15 Richard Dale <rdale@foton.es>
1309
+
1310
+ * Fixed bug reported by Henri Sundelin where Qwt classes in .ui files
1311
+ weren't
1312
+ being correctly given Qwt:: module namespaces
1313
+
1314
+ 2006-09-14 Richard Dale <rdale@foton.es>
1315
+
1316
+ * Added a new variant of connect, which takes a SIGNAL as an
1317
+ argument, along with
1318
+ a block. For example:
1319
+
1320
+ quit.connect(SIGNAL(:clicked)) { puts 'quit pressed' }
1321
+
1322
+ The block is called in the context of where the connect call was
1323
+ made, and 'self'
1324
+ needn't be a Qt::Object. It is similar to the signal_connect()
1325
+ method in
1326
+ ruby-gnome. This was suggested by rickdangerous on the #qtruby irc
1327
+ channel.
1328
+
1329
+ 2006-09-13 Richard Dale <rdale@foton.es>
1330
+
1331
+ * Blocks can now be used as slots in Qt::Object.connect() calls.
1332
+ There are two
1333
+ versions, a singleton method and an instance method.
1334
+
1335
+ * Here is an example of the class method connect() call with a block
1336
+ as a target:
1337
+
1338
+ app = Qt::Application.new(ARGV)
1339
+ quit = Qt::PushButton.new('Quit')
1340
+ Qt::Object.connect(quit, SIGNAL('clicked()'), app) { puts 'quit
1341
+ clicked' }
1342
+
1343
+ The block is executed in the context of the target instance, 'app'
1344
+ in this
1345
+ case.
1346
+
1347
+ * And the instance method form:
1348
+
1349
+ class MyButton < Qt::Button
1350
+ def initialize(text)
1351
+ super(text)
1352
+ connect(self, SIGNAL('clicked()')) { puts 'button clicked' }
1353
+ end
1354
+ ...
1355
+
1356
+ The block is executed in the context of self - the instance making
1357
+ the
1358
+ connect() call.
1359
+
1360
+ * The Rails version of the Ruby 1.9 method Object#instance_exec was
1361
+ used
1362
+ to invoke the block. Thanks to kelko on the #kde-ruby channel for
1363
+ the
1364
+ idea and the code, and rickdangerous for further discussion.
1365
+
1366
+ 2006-09-04 Richard Dale <rdale@foton.es>
1367
+
1368
+ * The 'default.txt' file was missing from the
1369
+ itemviews/simpletreemodel
1370
+ example. Added it, and converted the example to use the rbrcc tool.
1371
+
1372
+ * Fixed a bug in the rbrcc compiler in the code generation for the
1373
+ qt_resource_struct.
1374
+
1375
+ * Fixed some bugs in the network/ftp and itemviews/chart examples
1376
+
1377
+ * Made marshall_primitives.h compile
1378
+
1379
+ 2006-08-25 Richard Dale <rdale@foton.es>
1380
+
1381
+ * Fixed bug in the rbuic tool where a QTextEdit::AutoNone value
1382
+ wasn't
1383
+ being converted into the Qt::TextEdit::AutoNone qtruby form.
1384
+ Reported
1385
+ by #freqmod on the irc channel #kde-ruby.
1386
+
1387
+ * Brought the rbrcc code in line with the latest Qt 4.2 version with
1388
+ changes to the locale handling.
1389
+
1390
+ 2006-08-21 Richard Dale <rdale@foton.es>
1391
+
1392
+ * Reimplemented the Qt::Object.findChild() and findChildren() methods
1393
+ using code based on the implementation in qobject.cpp. Fixes
1394
+ problem
1395
+ reported by Robert Gstoehl. It is now possible to pass a regular
1396
+ expression to findChildren() in the same way as the C++ original:
1397
+
1398
+ mywidget.findChildren(Qt::Pushbutton, /^foo/)
1399
+
1400
+ * Added a Qt::Object.staticMetaObject method to work round the
1401
+ problem
1402
+ of it being missing from the Smoke runtime.
1403
+
1404
+ 2006-08-18 Richard Dale <rdale@foton.es>
1405
+
1406
+ * Some more leak fixing and minimising use of the heap
1407
+
1408
+ 2006-08-17 Richard Dale <rdale@foton.es>
1409
+
1410
+ * Used the excellent MallocDebug tool on Mac OS X to track down and
1411
+ fix
1412
+ some memory leaks. Some QRegExps and QByteArrays are now allocated
1413
+ statically to minimise memory usage.
1414
+
1415
+ 2006-07-18 Richard Dale <rdale@foton.es>
1416
+
1417
+ * The code to change a Ruby 'foo?' method call to a Qt C++ 'setFoo()'
1418
+ was
1419
+ using QStrings to change the text. However, it then converted the
1420
+ result
1421
+ to a QByteArray via toLatin() and referenced the contents of the
1422
+ QByteArray via a 'const char *' cast when the QByteArray had gone
1423
+ out of
1424
+ scope and had been deleted. Thanks to Carlto Wang again for
1425
+ reporting
1426
+ this bug.
1427
+
1428
+ * Some of the code for debug logging of garbage collection wrote
1429
+ spurious
1430
+ newlines
1431
+
1432
+ 2006-07-17 Richard Dale <rdale@foton.es>
1433
+
1434
+ * Some QtRuby QHash based caches were defined with QStrings, and when
1435
+ the value
1436
+ was accessed the QString was converted to a QByteArray via toLatin
1437
+ () and then
1438
+ to a 'char *'. However, the 'char *' only lasted as long as the
1439
+ QByteArray,
1440
+ and this caused memory corruption if the 'char *' was still in use
1441
+ after the
1442
+ QByteArray was freed. So the QHash's are now defined like this:
1443
+
1444
+ QHash<QByteArray, Smoke::Index *> methcache;
1445
+ QHash<QByteArray, Smoke::Index *> classcache;
1446
+ QHash<int, QByteArray> classname;
1447
+
1448
+ This doesn't completely fix a crash in QtRuby though, although it
1449
+ does seem to
1450
+ improve things. Thanks to Charlton Wang for tracking down where the
1451
+ string was
1452
+ being corrupted.
1453
+
1454
+ 2006-07-16 Richard Dale <rdale@foton.es>
1455
+
1456
+ * Added a QVariantList marshaller
1457
+ * The correct QGraphicsScene event class instance is instantianted
1458
+ from
1459
+ the event.type()'s
1460
+ * The Qt::GraphicsItems in a Qt::GraphicsScene are marked so they
1461
+ won't
1462
+ won't get garbage collected prematurely
1463
+ * Added QT_TR_NOOP() and QT_TRANSLATE_NOOP() methods for completeness
1464
+ * Added Qt::Graphics examples: graphicsview/collidingmice and
1465
+ dragdroprobot
1466
+
1467
+ 2006-07-05 Richard Dale <rdale@foton.es>
1468
+
1469
+ * Added some marshallers for Qt 4.2, for QList<QGraphicsItem*>,
1470
+ QList<QStandardItem*> and QList<QUndoStack*> types.
1471
+ * The Ruby String to 'char *' and String to 'unsigned char *' were
1472
+ using
1473
+ the pointer within the Ruby String directly which meant they were
1474
+ deleted when the Ruby String was gc'd. So they are copied with
1475
+ strdup () instead.
1476
+
1477
+ 2006-06-26 Richard Dale <rdale@foton.es>
1478
+
1479
+ * Applied a fix from Cvetoslav Ludmiloff to make
1480
+ Qt::AbstractItemModel.createIndex() work without conversion errrors
1481
+ for large Ruby BigNum values.
1482
+
1483
+ 2006-06-19 Richard Dale <rdale@foton.es>
1484
+
1485
+ * The 'EmitSignal' class in marshall_types.cpp was not linking
1486
+ against
1487
+ the code calling it from Qt.cpp with some versions of the gcc
1488
+ compiler/linker. So the code was moved to Qt.cpp so that it should
1489
+ build on all environments.
1490
+ * Added a 'designer/calculatorbuilder' example using the
1491
+ Qt::UiBuilder
1492
+ class to load .ui files from a .qrc file compiled with the rbrcc
1493
+ resource compiler
1494
+ * Added some extra marshallers for QList<QWidget*> and QVector<qreal>
1495
+ types.
1496
+
1497
+ 2006-06-13 Richard Dale <rdale@foton.es>
1498
+
1499
+ * Slot and signals can now have return types and return values.
1500
+ For example:
1501
+
1502
+ class Foo < Qt::PushButton
1503
+ slots 'int greeting(QString)'
1504
+ signals 'int doit(QString)'
1505
+
1506
+ def initialize
1507
+ super
1508
+ connect(self, SIGNAL('doit(QString)'), self,
1509
+ SLOT('greeting(QString)'))
1510
+ end
1511
+ ...
1512
+ * Added some missing marshaller types for QTreeWidgetItem and
1513
+ QListWidgetItem
1514
+ lists
1515
+
1516
+ 2006-06-07 Richard Dale <rdale@foton.es>
1517
+
1518
+ * qt_metacall() was returning an incorrect value when called with,
1519
+ Ruby slots. This doesn't normally matter, but was causing D-BUS
1520
+ slot invocations via qt-dbus to fail.
1521
+
1522
+ 2006-06-05 Richard Dale <rdale@foton.es>
1523
+
1524
+ * Added support for q_classinfo() attributes, equivalent to the c++
1525
+ Q_CLASSINFO() macro. If the key of the q_classinfo is 'D-Bus
1526
+ Interface'
1527
+ the slots in the class are marked as Q_SCRIPTABLE in the
1528
+ QMetaObject.
1529
+ For example:
1530
+
1531
+ class LCDRange < Qt::Widget
1532
+ q_classinfo('D-Bus Interface', 'MyInterface')
1533
+ signals 'valueChanged(int)'
1534
+ slots 'setValue(int)'
1535
+ ...
1536
+
1537
+ * The metaObject methods for slots and signals are no longer added
1538
+ when
1539
+ a Qt::Object is constructed, but when slots or signals are added to
1540
+ a class. This means that signals as well as slots can be added to
1541
+ an
1542
+ existing instance.
1543
+
1544
+ 2006-06-04 Richard Dale <rdale@foton.es>
1545
+
1546
+ * For Qt::QObject classes which are immediate subclasses of Qt::Base,
1547
+ don't add C metaObject() and qt_metacall() methods as they aren't
1548
+ needed. This means that a QMetaObject is no longer constructed for
1549
+ these classes, and the one that the corresponding C++ class has is
1550
+ returned instead.
1551
+ * Bring the itemviews/pixelator example code in line with the current
1552
+ C++ version.
1553
+
1554
+ 2006-06-01 Richard Dale <rdale@foton.es>
1555
+
1556
+ * Added a rbrcc resource compiler, a ruby version of rcc
1557
+ * Two new module methods Qt.qRegisterResourceData() and
1558
+ Qt.qRegisterResourceData() were added to Qt.cpp to support the
1559
+ resource compiler.
1560
+
1561
+ 2006-05-23 Richard Dale <rdale@foton.es>
1562
+
1563
+ * With code like the following, the QtRuby runtime was choosing
1564
+ an operator method which took a QByteArray and a QString and
1565
+ returned a QString. So the 'block' became a Ruby String, rather
1566
+ than staying as a Qt::ByteArray:
1567
+
1568
+ block = Qt::ByteArray.new
1569
+
1570
+ if comment
1571
+ block += "/*\n"
1572
+ block += " " + header + "\n"
1573
+
1574
+ So the operator '+' for Qt::ByteArray is special cased to return
1575
+ a Qt::ByteArray.
1576
+ * The example dialogs/simplewizard now works correctly
1577
+
1578
+ 2006-05-22 Richard Dale <rdale@foton.es>
1579
+
1580
+ * Fix regression for dynamic class creation via QMetaObject info
1581
+ causing
1582
+ a crash.
1583
+ * A list of properties is now returned via
1584
+ Qt::MetaObject.propertyNames
1585
+ for a Qt::Object with properties for the inspect and pretty_print
1586
+ methods.
1587
+ * Fixed a pile of errors in the itemviews/chart example
1588
+ * Added Qt::ItemSelection.at, [], count and length methods
1589
+
1590
+ 2006-05-19 Richard Dale <rdale@foton.es>
1591
+
1592
+ * When an unknown C++ class is found, a corresponding Ruby class is
1593
+ now
1594
+ created. For instance, if a KPresenter KPart is loaded, a
1595
+ KDE::PresenterDoc class is created.
1596
+ * It is now possible to set and get properties without needing to use
1597
+ Qt::Object.property() and Qt::Object.setProperty(). For instance:
1598
+
1599
+ factory = KDE::LibLoader.self().factory("libkpresenterpart")
1600
+ @kpresenter = factory.create(self)
1601
+ p @kpresenter.presentationDuration
1602
+ @kpresenter.presentationDuration = true
1603
+
1604
+ * A Qt::Variant.to_ruby method has been added which returns a Ruby
1605
+ value
1606
+ corresponding to the current value of a Qt::Variant
1607
+ * Added a Qt::MetaObject.propertyNames method to return a list of
1608
+ property
1609
+ names
1610
+
1611
+ 2006-05-15 Richard Dale <rdale@foton.es>
1612
+
1613
+ * Added an entry for a missing marshaller for QModelIndexLists.
1614
+ Thanks to Daniel Morris for the bug report and fix.
1615
+
1616
+ 2006-05-07 Richard Dale <rdale@foton.es>
1617
+
1618
+ * Added a Qt3:: module for the Q3* support classes
1619
+ * The rbuic now correctly gives Q3* classes a Qt3::
1620
+ module prefix.
1621
+
1622
+ 2006-05-04 Richard Dale <rdale@foton.es>
1623
+
1624
+ * A spurious warning was be output when Qt::ContextMenuEvent.type
1625
+ was called. Fixes problem reported by Alessio Caiazza
1626
+
1627
+ 2006-04-25 Richard Dale <rdale@foton.es>
1628
+
1629
+ * Added a namespace of Qwt:: for use with widgets from the Qwt
1630
+ 3D plotting library
1631
+
1632
+ 2006-04-20 Richard Dale <rdale@foton.es>
1633
+
1634
+ * Added marshalling for WId and Q_PID types which will work
1635
+ on Windows.
1636
+ * Fixed the rbuic qmake project file so it will build on Windows
1637
+
1638
+ 2006-04-19 Richard Dale <rdale@foton.es>
1639
+
1640
+ * Removed a call to vasprintf() as it didn't compile with mingw
1641
+ on Windows. Replaced with qvsnprintf() using a statically
1642
+ allocated buffer.
1643
+ * Fixed bugs in slot/signal marshalling. The qint64 type is now
1644
+ marshalled correctly.
1645
+ * Added a line to extconf.rb for the libraries needed to link the
1646
+ QtRuby extension on Window.
1647
+
1648
+ 2006-04-18 Richard Dale <rdale@foton.es>
1649
+
1650
+ * Added the network/http and loopback examples
1651
+ * Slots with 'qint64' arg types don't yet work
1652
+ * Fixed bug where qtruby failed to link on some machines
1653
+ such as Windows, where the 'char' type defaults to
1654
+ unsigned, so define them as 'signed char' instead.
1655
+
1656
+ 2006-04-17 Richard Dale <rdale@foton.es>
1657
+
1658
+ * Added the network/ftp, broadcastreceiver and broadcastsender
1659
+ examples
1660
+
1661
+ 2006-04-12 Richard Dale <rdale@foton.es>
1662
+
1663
+ * Change source files to headers to make it easier to build the
1664
+ qtruby
1665
+ extension on Windows and Mac OS X. marshall_basetypes.cpp,
1666
+ marshall_complex.cpp
1667
+ and marshall_primitives.cpp are now all headers. marshall_types.cpp
1668
+ is now split
1669
+ into an implementation source file and a header.
1670
+
1671
+ 2006-04-11 Richard Dale <rdale@foton.es>
1672
+
1673
+ * Added xml/saxbookmarks, xml/dombookmarks and widgets/tooltips
1674
+ examples
1675
+ * Improved garbage collection marking, Children QTreeWidgets and
1676
+ QListWidgets are now marked. QObject tree instances are only marked
1677
+ starting at an instance which has no parent to improved efficiency,
1678
+ otherwise the same sub trees would be marked several times as a
1679
+ traversal is started for each node in the heirarchy.
1680
+ * The 'type' method in QEvent subclasses now works correctly.
1681
+ * Added inspect and pretty_print methods to the Qt::WidgetTreeItem
1682
+ class
1683
+
1684
+ 2006-04-10 Richard Dale <rdale@foton.es>
1685
+
1686
+ * Added mainwindows/dockwidgets example
1687
+ * Added mainwindows/mdi example
1688
+ * Added widgets/movie example
1689
+
1690
+ 2006-04-10 Richard Dale <rdale@foton.es>
1691
+
1692
+ * Added draganddrop/dropsite example
1693
+ * Fixed bug where non-primitive signal types weren't working
1694
+
1695
+ 2006-04-10 Richard Dale <rdale@foton.es>
1696
+
1697
+ * Various fixes to the rbuic tool:
1698
+ * Variable names were not always correct. Now they always start with
1699
+ a '@' if they are ruby instances variables, and all have an
1700
+ initial
1701
+ lower case letter.
1702
+ * The various names used in signal/slot connect statements should
1703
+ now
1704
+ be correct.
1705
+ * Qt::SizePolicy literals were not always correct
1706
+ * The code for embedded icons is now translated into Ruby
1707
+ * Multiline string literals are now terminated with a '\' on each
1708
+ line
1709
+
1710
+ 2006-04-07 Richard Dale <rdale@foton.es>
1711
+
1712
+ * Added the dialogs/configdialog example
1713
+ * Fixed bug in slot invocation marshalling where non-primitive
1714
+ types, apart from QStrings weren't working
1715
+ * Fixed crash caused by recently introduced 'fix',
1716
+ deleting 'argv' passed to QApplication
1717
+
1718
+ 2006-04-06 Richard Dale <rdale@foton.es>
1719
+
1720
+ * Marshalling of Value lists to Ruby wasn't working at all. The
1721
+ bug was because the following two lines are not equivalent:
1722
+
1723
+ void *p = &valuelist[i];
1724
+ void *p = (void *) &(valuelist->at(i));
1725
+
1726
+ The first line doesn't work correctly, but the second was does.
1727
+
1728
+ * The marshaller for QList<QImageTextKeyLang> was defined wrongly.
1729
+
1730
+ 2006-04-05 Richard Dale <rdale@foton.es>
1731
+
1732
+ * Added the itemviews/puzzle example
1733
+ * Added a QModelIndexList marshaller
1734
+ * Added inspect and pretty_print methods for Qt::ModelIndex
1735
+
1736
+ 2006-04-05 Richard Dale <rdale@foton.es>
1737
+
1738
+ * Added the itemviews/sortingmodel example
1739
+
1740
+ 2006-04-05 Richard Dale <rdale@foton.es>
1741
+
1742
+ * Simplify the Qt::AbstractItemModel.createIndex() code
1743
+ * Fix bug where return values from rb_call_super() were being ignored
1744
+ * Make :foobar a synonym for 'foobar()' in SLOT()/SIGNAL() calls and
1745
+ slot/signal declarations
1746
+
1747
+ 2006-04-04 Richard Dale <rdale@foton.es>
1748
+
1749
+ * Added the itemviews/simpledommodel and itemviews/simpletreemodel
1750
+ examples
1751
+
1752
+ * Special cased the Qt::AbstractItemModel.createIndex() and
1753
+ Qt::ModelIndex.internalPointer() methods so they can save
1754
+ and restore Ruby VALUE instances.
1755
+
1756
+ 2006-04-03 Richard Dale <rdale@foton.es>
1757
+
1758
+ * The QtRuby runtime's overloaded method resolution mechanism can't
1759
+ currently
1760
+ distinguish between Ruby Arrays containing different sort of
1761
+ instances.
1762
+ Unfortunately Qt::Painter.drawLines() and Qt::Painter.drawRects()
1763
+ methods can
1764
+ be passed a Ruby Array as an argument containing either Qt::Points
1765
+ or Qt::PointFs
1766
+ for instance. These methods need to call the correct Qt C++
1767
+ methods, so special case
1768
+ the overload method resolution for now..
1769
+
1770
+ 2006-04-03 Richard Dale <rdale@foton.es>
1771
+
1772
+ * The models used for QTableView and QListView are the private
1773
+ classes
1774
+ QTableModel and QListModel. They are accessed as
1775
+ QAbstractItemModels
1776
+ via the apis for the view classes. Unfortunately,
1777
+ QAbstractItemModel
1778
+ has pure virtual functions which don't appear in the corresponding
1779
+ Ruby class Qt::AbstractItemModel. So Ruby implementations of
1780
+ Qt::TableModel
1781
+ and Qt::ListModel need to be special cased, and given the missing
1782
+ methods in order to access the model data.
1783
+
1784
+ 2006-03-29 Richard Dale <rdale@foton.es>
1785
+
1786
+ * Don't special case open() in virtual method callbacks,
1787
+ because all
1788
+ the Qt classes with open methods now have explicit open()
1789
+ method
1790
+ calls. So it isn't possible that Kernel.open() will be
1791
+ called
1792
+ wrongly anymore.
1793
+
1794
+ 2006-03-14 Richard Dale <rdale@foton.es>
1795
+
1796
+ * Added various explicit calls to method_missing() for methods which
1797
+ are defined in Kernel and Object, such
1798
+ as 'exec', 'select', 'format'
1799
+ etc. Otherwise, the corresponding methods in the Smoke library were
1800
+ not being invoked correctly.
1801
+ * Removed a virtual destructor compile warning
1802
+ * Removed obsolete qtruby-only.patch and kdevelop project file
1803
+
1804
+ 2006-03-14 Richard Dale <rdale@foton.es>
1805
+
1806
+ * Fixed bugs in const lists marshallers, where the items in the ruby
1807
+ Array
1808
+ were wrongly being updated after a method call
1809
+
1810
+ 2006-02-20 Richard Dale <rdale@foton.es>
1811
+
1812
+ * Added a '-x' option to the rbuic tool to generate a ruby top level
1813
+ code for testing a compiled .ui file
1814
+ * Removed spurious "Warning: action `%s' not declared\n" message
1815
+ * Fixed bug in code generation where the top level arg name in
1816
+ setupUI() was being wrongly referenced as an instance variable.
1817
+ Fixes bug reported by Florent Ruard-Dumaine
1818
+ * Fixed bug in const pointer lists, where the items in the ruby Array
1819
+ were wrongly being updated after a method call
1820
+
1821
+ 2006-02-20 Richard Dale <rdale@foton.es>
1822
+
1823
+ * After a const value based list such as QVector<QPointF> was passed
1824
+ to a C++ method, the correspoding Ruby Array was being updating
1825
+ with the values when it didn't need to be. There is also a bug
1826
+ which
1827
+ meant the the values in the Ruby Array were being set to nil. That
1828
+ bug still isn't fixed. Partly fixes bug reported by akincisor on
1829
+ the
1830
+ #qtruby irc channel.
1831
+
1832
+ 2006-02-16 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
1833
+
1834
+ * In Qt4 when the type signature of a slot or signal argument type is
1835
+ normalized, any '&' character for a reference type is removed,
1836
+ along
1837
+ with any 'const' qualifiers. So 'const QString&' becomes 'QString'.
1838
+ After a 'QString' slot type has been marshalled to a Ruby string it
1839
+ is deleted, as it was assumed to be a temporary copy. However, this
1840
+ caused a crash with QString references such as in the
1841
+ widgets/wiggly
1842
+ example. Fixes a problem reported by mserms on #qtruby.
1843
+
1844
+ * Added the correct Qt4 libs to the extconf.rb compile command
1845
+
1846
+ 2006-01-19 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
1847
+
1848
+ * Improved the debug logging of virtual method callbacks so that the
1849
+ arg types are shown too
1850
+
1851
+ 2005-12-20 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
1852
+
1853
+ * Restored Caleb Tennis's refactored marshall_types.cpp code after
1854
+ accidently deleting it in August.
1855
+
1856
+ 2005-12-16 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
1857
+
1858
+ * The logger_backend() function has been removed and replaced with
1859
+ qWarning() calls. This was because of problems with getting the
1860
+ logger_backend() code to work on Windows.
1861
+
1862
+ 2005-12-08 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
1863
+
1864
+ * The ruby display() method was clashing with a display() method in
1865
+ some
1866
+ QtRuby classes, and so it was aliased to _display(). However, this
1867
+ caused
1868
+ problems with the ruby RMagick extension. The display methods are
1869
+ now
1870
+ special cased in Qt::LCDNumber. Fixes problem reported by David
1871
+ Corbin.
1872
+ * The slots and signals methods are now module methods of Qt::Base,
1873
+ rather than defined as ordinary methods in class Module, reducing
1874
+ name
1875
+ space pollution. Thanks to Esteban Manchado for pointing this out.
1876
+
1877
+ 2005-12-06 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
1878
+
1879
+ * QtRuby didn't work with versions of ruby > 1.8.3, as it didn't call
1880
+ initialize methods correctly. It used the rb_respond_to() method
1881
+ to check it a newly created qt instance responded to :initialize.
1882
+ However, in newer versions of ruby rb_responds_to() ignores
1883
+ private methods such as initialize(). The solution was to just
1884
+ remove
1885
+ the test, as it was redundant anyway.
1886
+ * Fixes problem reported by Hans Fugel and Caleb Tennis.
1887
+
1888
+ 2005-11-21 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
1889
+
1890
+ * When dispose() was used to delete a ruby instance, the mapping
1891
+ between
1892
+ the C++ ptr and corresponding ruby instance was not being removed,
1893
+ and
1894
+ this caused a crash. Fixes problem reported by Christopher
1895
+ Chan-Nui.
1896
+
1897
+ 2005-11-04 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
1898
+
1899
+ * 'signed int&' types were not being matched or marshalled correctly
1900
+
1901
+ 2005-10-21 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
1902
+
1903
+ * Argument types of 'unsigned short int' were not working. Fixes
1904
+ problem reported by Ian Monroe
1905
+
1906
+ 2005-10-05 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
1907
+
1908
+ * Added network/fortuneserver and fortuneclient examples
1909
+ * The Qt::ByteArray class is now a normal Smoke class,
1910
+ rather than a special case, as it's easier to make a
1911
+ Qt::ByteArray look like a ruby String, than the other way
1912
+ round.
1913
+ * The overloaded method resolution for enum arg types has been
1914
+ improved
1915
+ * Added missing relational operators to Qt::Integer
1916
+ * Fixed bug in marshalling unsigned shorts
1917
+
1918
+ 2005-10-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
1919
+
1920
+ * Ported the RuBoids OpenGL artificial life example to Qt4 and
1921
+ added opengl/grabber
1922
+
1923
+ 2005-10-01 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
1924
+
1925
+ * The the value of a Qt::Variant can now be accessed with
1926
+ with to_s, to_i, to_a and to_f methods
1927
+ * Deleted the svn:mime-type property from the qtruby.rb source
1928
+ so that diffs will be shown on checkin
1929
+
1930
+ 2005-09-25 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
1931
+
1932
+ * Added richtext/calendar, orderform and syntaxhighlighter examples
1933
+ * Fix bug in '>', '<=', '<' and '<=' operator methods where they were
1934
+ clashing with methods in Kernel
1935
+ * The struct Qt::TextLayout::FormatRange is now in QtRuby
1936
+
1937
+ 2005-09-24 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
1938
+
1939
+ * Added painting/basicdrawing, concentriccircles, painterpaths and
1940
+ transformations examples
1941
+
1942
+ 2005-09-23 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
1943
+
1944
+ * Added mainwindows/application, menus, recentfiles and sdi examples
1945
+
1946
+ 2005-09-22 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
1947
+
1948
+ * Added layouts/basiclayouts, borderlayout and flowlayouts examples
1949
+ * Either a Qt::Layout, Qt::WidgetItem or Qt::SpacerItem ruby instance
1950
+ is created to wrap a C++ QLayoutItem instance, using
1951
+ QLayoutItem::widget() and QLayoutItem::spacerItem() methods to
1952
+ determine the exact class.
1953
+
1954
+ 2005-09-18 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
1955
+
1956
+ * Initial checkin of the Qt4 version of the rbuic tool
1957
+ * Added designer/calculatorform example
1958
+
1959
+ 2005-09-11 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
1960
+
1961
+ * Fixed problem with Qt::SqlTableModel.select() reported by
1962
+ Daniel Morris as a Qt3 QtRuby bug
1963
+
1964
+ 2005-09-01 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
1965
+
1966
+ * Added draganddrop/draggabletext, draggableicons, fridgemagnets,
1967
+ puzzle examples.
1968
+ * Added itemviews/dirview, chart and pixelator Qt4 examples.
1969
+ * Fixed bug in QtByteArray marshalling where an underlying QByteArray
1970
+ was not being created if the Qt::ByteArray was created by passing a
1971
+ ruby String to the constructor.
1972
+ * Qt::ModelIndex's are not deleted on garbage collection as it caused
1973
+ a
1974
+ crash
1975
+ * Added qVariantValue() and qVariantFromValue() methods
1976
+
1977
+ 2005-08-25 Caleb Tennsi <caleb@aei-tech.com>
1978
+ * Changed metaobject creation to not use d pointers per the comment
1979
+ in the
1980
+ code.
1981
+
1982
+ 2005-08-24 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
1983
+
1984
+ * Added dialogs examples; complexwizard, extension, findfiles,
1985
+ simplewizard, standarddialogs and tabdialog
1986
+ * Changed the types of Qt3 long longs and other Q_* types to the
1987
+ Qt4 equivalents
1988
+
1989
+ 2005-08-24 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
1990
+
1991
+ * Added windowflags example
1992
+ * Some enum names for Qt::WindowFlags were clashing with QtRuby
1993
+ class names, such as Qt::Dialog. So some constants were added to
1994
+ use instead, renamed with an ending of 'Type'.
1995
+
1996
+ 2005-08-23 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
1997
+
1998
+ * Fixed some code to obtain a Qt::Object's properties for Qt4. Added
1999
+ property inspecting code for the new QPointF, QRectF etc types
2000
+ * Fixed a missing attr accessor bug in Qt::Enum
2001
+ * Added the sliders, spinboxes and tetrix code examples
2002
+
2003
+ 2005-08-22 Caleb Tennis <caleb@aei-tech.com>
2004
+ * Started a migration to more template based classes.
2005
+ Hopefully this is
2006
+ just a start, but this *should* reduce redundant code by
2007
+ making use of
2008
+ C++ templates for marshalling the various types.
2009
+
2010
+ 2005-08-22 Caleb Tennis <caleb@aei-tech.com>
2011
+
2012
+ * Readded findChildren and findChild methods in C code under
2013
+ Qt::Object
2014
+
2015
+ 2005-08-22 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2016
+
2017
+ * It isn't an error to pass a NULL void** stack to a qt_metacall()
2018
+ invocation.
2019
+ So don't throw a ruby exception, and assume it's for a slot with no
2020
+ args and
2021
+ no return type.
2022
+ * Added the icons, imageviewer, lineedits, screenshot and scribble
2023
+ example
2024
+ programs
2025
+ * Qt::Enum is no longer a subclass of Qt::Integer, and it handles its
2026
+ own
2027
+ arithmetic ops. A logical or arithmetic op on a Qt::Enum always
2028
+ returns a
2029
+ ruby Integer, rather than a Qt::Enum as before.
2030
+
2031
+
2032
+ 2005-08-21 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2033
+
2034
+ * Added calculator, charactermap, groupbox and wiggly to code
2035
+ examples
2036
+ * Fixed crash in ruby QString signal types
2037
+ * Improved runtime resolution of the Qt4 Qt::Event classes
2038
+ * Added a Qt::Char.to_s method for converting a Qt::Char to a ruby
2039
+ string
2040
+
2041
+ 2005-08-21 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2042
+
2043
+ * Added digitalclock example
2044
+
2045
+ 2005-08-20 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2046
+
2047
+ * Added various marshallers for QVector list types
2048
+ * Added the analogclock example from Qt4
2049
+ * Added inspect methods for the new Qt::PointF, Qt::RectF etc
2050
+ types
2051
+
2052
+ 2005-08-19 Caleb Tennis <caleb@aei-tech.com>
2053
+ * For marshalling ItemLists, prefer using ->at(index) over an
2054
+ iterator
2055
+
2056
+ * Add findChild and findChildren methods which attempt to mimic their
2057
+ Qt::Object
2058
+ counterparts. Unit tests included. e.g.:
2059
+ object.findChildren(Qt::Widget)
2060
+ object.findChildren(Qt::Object, "ObjectName")
2061
+ object.findChildren(Qt::Object, /SomeName*/)
2062
+
2063
+ findChild just returns the closest child to the parent
2064
+ from findChildren
2065
+
2066
+ 2005-08-19 Caleb Tennis <caleb@aei-tech.com>
2067
+
2068
+ * Added a unittests.rb file as the start of a unit test suite
2069
+ for
2070
+ verifying QtRuby things are working properly and we don't
2071
+ create
2072
+ regressions.
2073
+
2074
+ * Qt4ify some of the code in handlers.cpp
2075
+
2076
+ * Modified new_qobject to only add method definitions if the
2077
+ kclass
2078
+ doesn't respond_to qt_metacall (was a TODO item).
2079
+
2080
+ * Prefer using Ruby's ALLOCA_N over calloc in new_qt
2081
+
2082
+ 2005-08-19 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2083
+
2084
+ * Added various marshallers for converting Qt4 C++ lists to and from
2085
+ ruby Arrays
2086
+
2087
+ 2005-08-19 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2088
+
2089
+ * Added marshaller to convert QMap<int,QVariant> to ruby Hash
2090
+
2091
+ 2005-08-18 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2092
+
2093
+ * When a QMetaObject was constructed on the fly, the metaObject
2094
+ for the superClass was being obtained via Qbject::staticMetaClass()
2095
+ which returns a copy. However, this messed up qobject_cast() and
2096
+ QMetaObject::cast(), so now the parent metaObject is obtained via
2097
+ QObject::metaObject() which returns a pointer to a QMetaObject.
2098
+
2099
+ 2005-08-17 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2100
+
2101
+ * Added Qt::MetaObject.slotNames() and signalNames() from Qt3 as they
2102
+ are very useful when using the KDevelop debugger
2103
+ * If Qt::Object.metacall() can't be found in the Smoke library a ruby
2104
+ exception
2105
+ is thrown
2106
+
2107
+ 2005-08-17 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2108
+
2109
+ * Left some debugging code in. qt_metacall() was not being called
2110
+ correctly for non-ruby C++ slots.
2111
+
2112
+ 2005-08-17 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2113
+
2114
+ * QtRuby now ported to Qt4. Pure Qt4 code with no dependencies on
2115
+ libQt3Support
2116
+ * Qt4 style QMetaObjects are created on the fly. Slots and signals
2117
+ work
2118
+ using QObject::qt_metacall() and QMetaObject::activate()
2119
+ * The Cannon games tutorials t1 to t14 have been ported to Qt4
2120
+ QtRuby.
2121
+ * More work needed on the garbage collection mark() function. For
2122
+ instance,
2123
+ it isn't possible to iterate through the items in a QListView in
2124
+ the same way as
2125
+ before.
2126
+
2127
+ 2005-08-09 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2128
+
2129
+ * Caleb Tennis wrote:
2130
+ One nice feature would be to allow Qt::Object::inherits() to use
2131
+ the QtRuby
2132
+ naming scheme for valid lookups. For example, right now:
2133
+
2134
+ irb(main):001:0> w = Qt::Widget.new(nil)
2135
+ irb(main):002:0> w.inherits("Qt::Widget")
2136
+ => true
2137
+ irb(main):003:0> w.inherits("Qt::Object")
2138
+ => false
2139
+ irb(main):004:0> w.inherits("QWidget")
2140
+ => true
2141
+ irb(main):005:0> w.inherits("QObject")
2142
+ => true
2143
+
2144
+ * Inherits now works for "QObject", and for "Qt::Object" as well.
2145
+
2146
+ 2005-08-04 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2147
+
2148
+ * Added a file called 'COPYING' to the qtruby project, with a
2149
+ note that
2150
+ the 'Qt' trademark in the QtRuby name is used with
2151
+ Trolltech's permission,
2152
+ followed by the text of the GPL v2 license.
2153
+
2154
+ 2005-07-28 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2155
+
2156
+ * Qt4 port, initial checkin
2157
+ * Very little works yet, just hello world
2158
+
2159
+ 2005-07-15 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2160
+
2161
+ * Qt::Socket started working correctly when I and regenerated and
2162
+ rebuilt
2163
+ my Smoke library. Before then it was calling the wrong version of
2164
+ QSocket::at() for some reason, and wasn't discarding bytes that had
2165
+ already been read.
2166
+ * Removed comment from the client.rb example about
2167
+ Qt::Socket.canReadLine
2168
+ always returning true now it works.
2169
+
2170
+ 2005-07-14 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2171
+
2172
+ * Added example programs for client/server programming with
2173
+ Qt::Socket
2174
+ and associated classes. client.rb illustrates current bugs in
2175
+ QtRuby
2176
+ * Qt::Socket.canReadLine() always returns true
2177
+ * Qt::readLine() seg faults when called a second time
2178
+ * A memory leak and seg faulting problems like the above were
2179
+ reported
2180
+ by Caleb Tennis
2181
+
2182
+ 2005-07-09 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2183
+
2184
+ * When a Qt method returned a QString value type, such as:
2185
+ QString QSocket::readLine()
2186
+ A temporary QString was being created that wasn't deleted and
2187
+ caused a
2188
+ memory leak. Fixes problem reported by Caleb Tennis.
2189
+
2190
+ 2005-06-28 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2191
+
2192
+ * Improved display of Qt::Enums in the KDevelop debugger. With a p
2193
+ command it just looks like a constant, but a pretty print pp
2194
+ command
2195
+ shows the type of the underlying C++ enum:
2196
+
2197
+ (rdb:1) p AlignTop
2198
+ 16
2199
+
2200
+ (rdb:1) pp AlignTop
2201
+ #<Qt::Enum:0x1825db68 @type=Qt::AlignmentFlags, @value=16>
2202
+
2203
+ 2005-06-04 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2204
+
2205
+ * Upped the version to 1.0.10
2206
+
2207
+ 2005-06-04 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2208
+
2209
+ * The Object.id method was clashing with the one in Qt::WidgetStack.
2210
+ Both methods now work correctly. Fixes problem reported by Dave M.
2211
+
2212
+ 2005-05-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2213
+
2214
+ * The rbuic '-subimpl' option now works correctly
2215
+
2216
+ 2005-05-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2217
+
2218
+ * The initialize methods in code generated by the rbuic tool, now
2219
+ have
2220
+ named parameters with default values, rather than '*k'
2221
+
2222
+ 2005-05-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2223
+
2224
+ * Fixed bug where the rbuic tool was generating incorrect code
2225
+ for an array of strings used as a combo box value
2226
+
2227
+ 2005-05-28 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2228
+
2229
+ * Added support for the QScintilla text editing widget, including an
2230
+ optional
2231
+ '--enable-qscintilla=yes' configure option. The QScintilla classes
2232
+ are included in a
2233
+ Qext:: namespace. Thanks to Blackshack for the idea and configure
2234
+ code.
2235
+ * The KDE namespace modules are only created if the Korundum
2236
+ extension is used.
2237
+ Otherwise the Object namespace was being polluted with unused
2238
+ constants.
2239
+ * Some enums in the QScintilla headers had a spurious comma after
2240
+ the last enum value, and kalyptus was failing with a parse error.
2241
+ The comma is now ignored.
2242
+
2243
+ 2005-05-25 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2244
+
2245
+ * '!=' operator methods in the Smoke library were being shown via
2246
+ ruby introspection when they
2247
+ can't actually be written in ruby, and are derived from the
2248
+ corresponding '==' operator method.
2249
+ * '==' operator methods can now be called.
2250
+
2251
+ 2005-05-22 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2252
+
2253
+ * Fixed bug in Smoke code generation where spaces were not
2254
+ being removed from operator
2255
+ methods such as 'operator *'
2256
+ * Operator methods are now displayed correctly via ruby
2257
+ introspection
2258
+
2259
+ 2005-05-21 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2260
+
2261
+ * Improved the format of enums displayed by rbqtapi and rbkdeapi
2262
+
2263
+ 2005-05-20 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2264
+
2265
+ * Removed unused Qt::Internal functions
2266
+ * Added KNS:: to the namespaces expected by the rbkdeapi tool
2267
+ * Introspection via Object#methods, public_methods, protected_methods
2268
+ and singleton_methods
2269
+ or Module#constants, instance_methods, protected_instance_methods
2270
+ and public_instance_methods
2271
+ now all include methods from the Smoke runtime. This fixes part of
2272
+ the request in bug 105772, but
2273
+ not enabling 'respond_to?' to be used with Smoke methods.
2274
+
2275
+ 2005-05-16 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2276
+
2277
+ * The Kernel.format() method was clashing with the
2278
+ Qt::MimeSource.format() method.
2279
+ The correct method is now called according to the type of the first
2280
+ argument. Fixes
2281
+ problem reported by Armin Joellenbeck
2282
+
2283
+ 2005-04-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2284
+
2285
+ * Removed superfluous "require 'pp'" statement
2286
+
2287
+ 2005-04-25 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2288
+
2289
+ * Upped the version to 1.0.9 for the RubyForge release
2290
+
2291
+ 2005-04-09 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2292
+
2293
+ * Fixed regressions in the rbqtapi and rbkdeapi utilities caused by
2294
+ the Qt::Internal namespace
2295
+ tidy up
2296
+ * Qt::version and Qt::ruby_version had wrongly been moved to the
2297
+ Qt::Internal module
2298
+
2299
+ 2005-04-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2300
+
2301
+ * Upped the version to 1.0.8 for the RubyForge release
2302
+
2303
+ 2005-03-30 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2304
+
2305
+ * An 'include Qt' statement in qtruby.rb where a couple of methods
2306
+ were being added to
2307
+ class Module was causing all the Qt methods to be added to Module.
2308
+ Oops, this a really
2309
+ serious bug. Various methods in qtruby.rb are now module methods in
2310
+ the Qt::Internal
2311
+ module. Big thanks to Eric Veensta and Samir Patel for pointing out
2312
+ this can of worms.
2313
+
2314
+ * It also fixes a problem reported by David Crosby where
2315
+ a "require 'time'" statement was
2316
+ incompatible with a "require 'Qt'" statement. As the cause was
2317
+ unknown, a hacky workround
2318
+ had to be added, which is no longer needed.
2319
+
2320
+ 2005-03-24 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2321
+
2322
+ * When a subclass of QObject is instantiated in the C++ world, and
2323
+ the exact class doesn't
2324
+ exist in ruby, then scan up the inheritance heirarchy via
2325
+ QObject::metaObject() until a
2326
+ class is found which does have a ruby equivalent. Fixes problem
2327
+ reported by Dmitry Morozhnikor
2328
+ where a KViewPart was being returned as a Qt::Object, rather than a
2329
+ KParts::ReadOnlyPart.
2330
+ * The internal method 'cast_object_to()' now takes a class literal as
2331
+ a second parameter,
2332
+ rather than the class name as a string
2333
+
2334
+ 2005-03-21 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2335
+
2336
+ * Moved Qt.rb from qtruby/lib/Qt to qtruby/lib. Fixes problem
2337
+ building qtruby on Mac OS X
2338
+ with extconf.rb reported by Michael Doppler
2339
+ * Rename 'README.build' as INSTALL
2340
+
2341
+ 2005-02-21 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2342
+
2343
+ * Upped the version to 1.0.7 for the KDE 3.4 release
2344
+ * Removed the khtml:: namespace as it wasn't being used
2345
+
2346
+ 2005-02-07 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2347
+
2348
+ * Added a KNS:: namespace for the KNewStuff library
2349
+
2350
+ 2005-02-06 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2351
+
2352
+ * The KDE::Win::WindowInfo nested class is included in the Korundum
2353
+ runtime
2354
+
2355
+ 2005-01-27 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2356
+
2357
+ * Made some changes to get code generated by the rbkconfig_compiler
2358
+ to work. When an argument is a non-const reference to a primitive
2359
+ type, or a QString or QStringList, then don't delete it after the
2360
+ method call. This is because a class like KConfigSkeleton takes
2361
+ references, and then 'squirrels them away' - before the references
2362
+ were just pointing to junk on the stack.
2363
+ * The method 'isImmutable' is added to KDE::ConfigSkeletonItems
2364
+
2365
+ 2005-01-26 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2366
+
2367
+ * If a ruby Array is passed as an argument to an overloaded method,
2368
+ give
2369
+ priority to QStringList args.
2370
+
2371
+ 2005-01-21 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2372
+
2373
+ * rbuic was giving widgets names containing a '@' to match the ruby
2374
+ instance variable
2375
+ name. However, this doesn't work with KDE::ConfigDialog which
2376
+ expects the names to
2377
+ match the ones generated in a KDE::ConfigSkeleton by
2378
+ rbkconfig_compiler so '@' is no
2379
+ longer added.
2380
+
2381
+ 2005-01-20 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2382
+
2383
+ * Fixed bug reported by Ian Monroe where the KIO.copy() method wasn't
2384
+ being found in
2385
+ the Smoke runtime. Modules methods are now trapped with
2386
+ method_missing and
2387
+ despatched to call Smoke methods correctly
2388
+ * Added support for the KDE::ConfigSkeleton and subclasses.
2389
+ Constructors for nested
2390
+ classes can now be called correctly
2391
+
2392
+ CCMAIL: ian.monroe@gmail.com
2393
+
2394
+ 2005-01-16 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2395
+
2396
+ * Added a Qt::Integer.coerce method so that Qt::Integers and
2397
+ Qt::Enums can be
2398
+ combined in arithmetic expressions with ruby Integers.
2399
+
2400
+ 2005-01-04 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2401
+
2402
+ * Upped the version to 1.0.6 for the KDE 3.4 beta 1 release
2403
+
2404
+ 2005-01-02 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2405
+
2406
+ * The Qt::Object pretty_print method now shows the class name of enum
2407
+ properties
2408
+
2409
+ 2004-12-30 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2410
+
2411
+ * Fixed an interesting bug reported by Stephan Oehlert. Kernel has a
2412
+ method called
2413
+ open() which takes a String as the first argument. But when a call
2414
+ is made to an open()
2415
+ method in the Qt classes, it messes up the method_missing() logic
2416
+ to divert it to the
2417
+ Smoke library. Instead it attempts to call the Kernel method with
2418
+ the wrong arg types.
2419
+
2420
+ * The problem is fixed by calling the appropriate method based on the
2421
+ type of the first arg. However, it is no longer possible to
2422
+ override virtual methods
2423
+ called 'open'.
2424
+
2425
+ CCMAIL: stephan.oehlert@gmx.net
2426
+
2427
+ 2004-12-28 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2428
+
2429
+ * Added a parent attribute to the Qt::Object pretty_print() method
2430
+ * Removed all the properties from the Qt::Object inspect() method
2431
+ except name,
2432
+ x, y, width, height (the last four for for Qt::Widgets only). This
2433
+ speeds up fetching
2434
+ the details of Qt::Objects that have more than just a handful of
2435
+ children.
2436
+ The full details can still be fetched with a pretty_print() call
2437
+ via a debugger 'pp'
2438
+ command.
2439
+
2440
+ 2004-12-21 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2441
+
2442
+ * The qtruby runtime needs to be able to run the code for an
2443
+ initialize() method up
2444
+ to the point where the C++ instance has been constructed and
2445
+ wrapped, and then
2446
+ jump out. It then re-runs initialize() with the wrapped instance.
2447
+ Before a callcc() call
2448
+ had been used for the jumping which worked fine. However, it made
2449
+ the frame stack
2450
+ look strange when debugging code with the KDevelop debugger. The
2451
+ fix is to use
2452
+ catch and throw instead, as they leave the stack in a more normal
2453
+ looking state.
2454
+
2455
+ 2004-12-20 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2456
+
2457
+ * Added a work round for a bug caused by an incompatibility between
2458
+ QtRuby
2459
+ the 'require time' statement, reported by David Crosby
2460
+
2461
+ CCMAIL: dcrosby42@gmail.com
2462
+
2463
+ 2004-12-18 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2464
+
2465
+ * Added a 'receivers' property to the Qt::Object inspector. This
2466
+ allows the active signal
2467
+ connections for a Qt::Object instance to be viewed in the KDevelop
2468
+ debugger as a
2469
+ Hash. The hash keys are the signal names, and the hash values are
2470
+ arrays of the target
2471
+ signals/slots as Qt::Connection instances.
2472
+
2473
+ 2004-12-17 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2474
+
2475
+ * Added 'metaObject' as an expandable property for Qt::Objects. This
2476
+ allows the
2477
+ Qt::MetaClass class heirarchy to be browsed, and signals/slots
2478
+ declarations inspected.
2479
+
2480
+ 2004-12-17 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2481
+
2482
+ * Fixed bug in lower case/underscore method naming to camel case
2483
+ conversion
2484
+
2485
+ 2004-12-15 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2486
+
2487
+ * Added an attribute of 'children' to the Qt::Object inspect method,
2488
+ which is an array
2489
+ of the Qt::Object's children
2490
+ * The QObjects in a QObjectList were not being created with the exact
2491
+ ruby class
2492
+ if they hadn't been allocated from within the ruby code, and just
2493
+ left as Qt::Objects
2494
+
2495
+ 2004-12-14 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2496
+
2497
+ * Qt::Object properities of type enum are shown by name in the
2498
+ KDevelop debugger,
2499
+ and not as numeric literals
2500
+
2501
+ 2004-12-14 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2502
+
2503
+ * Changed the format of the Qt::Color inspect string to
2504
+ #<Qt::Color:0x0 #ffffff>
2505
+ * Added some more attributes to the Qt::Font inspector
2506
+ * Added a Qt::Cursor inspector
2507
+
2508
+ 2004-12-12 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2509
+
2510
+ * Fixed a bug where the debugger was calling an inspect method on an
2511
+ instance
2512
+ which wasn't fully initialized yet, and not of type T_DATA.
2513
+
2514
+ 2004-12-10 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2515
+
2516
+ * Added inspect() and pretty_print() methods for Qt::SizePolicy
2517
+ * Greatly improved the Qt::Object Qt property based inspect() and
2518
+ pretty_print()
2519
+ methods. Property types such as Qt::Point, Qt::Font and Qt::Rect
2520
+ can be
2521
+ viewed as expandable items in the KDevelop debugger variable tree.
2522
+
2523
+ 2004-12-09 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2524
+
2525
+ * More inspect() and pretty_print() methods for common classes to
2526
+ improve debugging -
2527
+ Qt::Color, Qt::Font, Qt::Point, Qt::Rect, Qt::Size, Qt::Date,
2528
+ Qt::DateTime and Qt::Time
2529
+
2530
+ 2004-12-08 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2531
+
2532
+ * Added inspect() and pretty_print() methods for Qt::Objects that get
2533
+ the QObject properties and
2534
+ show them as 'name=value' pairs. This means the KDevelop debugger
2535
+ can make Qt::Object
2536
+ variables expandable and show their properties.
2537
+
2538
+ 2004-11-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2539
+
2540
+ * Upped the QtRuby version to 1.0.5 for the KDE 3.3.2 release
2541
+
2542
+ 2004-10-30 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2543
+
2544
+ * qError(), qWarning() and qFatal() are now Object instance methods,
2545
+ rather than Qt module
2546
+ methods. This means they don't need to be referenced with an
2547
+ ugly 'Qt.' module scope anymore.
2548
+
2549
+ 2004-10-21 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2550
+
2551
+ * If a class method was called before super, it was wrongly throwing
2552
+ an exception
2553
+ as an error. For instance, this call to i18n():
2554
+
2555
+ def initialize()
2556
+ super(TreeList, i18n("My App Preferences"),
2557
+ Help|Default|Ok|Apply|Cancel, Ok)
2558
+ ...
2559
+
2560
+
2561
+ 2004-10-16 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2562
+
2563
+ * Until super has been called in an initialize() method, Qt methods
2564
+ can't be called on
2565
+ it. An exception is now thrown 'Instance not initialized', instead
2566
+ of it causing a seg fault.
2567
+ * For instance:
2568
+
2569
+ class MyWidget < Qt::ComboBox
2570
+ def initialize
2571
+ # Must call super first
2572
+ insertItem('abc')
2573
+ super
2574
+ end
2575
+ end
2576
+
2577
+ * Fixes problem reported by Han Holl
2578
+ CCMAIL: kde-bindings@kde.org
2579
+
2580
+ 2004-10-16 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2581
+
2582
+ * Upped the version to 1.0.4 for the RubyForge release
2583
+ * Added some names to AUTHORS from the ChangeLog
2584
+
2585
+ 2004-10-14 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2586
+
2587
+ * If the smokeruby_mark() function was called for an instance of a
2588
+ QObject, it should
2589
+ mark all the instances below it in the QObject tree, as not needing
2590
+ garbage collection.
2591
+ However, if a node in the tree didn't have a mapping onto a ruby
2592
+ instance the marking
2593
+ process stopped there, even though the grandchildren and their
2594
+ descendants might
2595
+ have a valid mapping onto ruby instances.
2596
+ * The solution is to always traverse the entire tree. Fixes problem
2597
+ reported by Han Holl.
2598
+
2599
+ CCMAIL: kde-bindings@kde.org
2600
+
2601
+ 2004-10-13 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2602
+
2603
+ * All the Qt::CanvasItems owned by a Qt::Canvas are marked with
2604
+ rb_gc_mark() to
2605
+ prevent them being garbage collected
2606
+ * The top level widgets are no longer disposed() on Qt::Application
2607
+ exit
2608
+ * Fixed some bugs in the chart example.
2609
+
2610
+ 2004-10-13 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2611
+
2612
+ * Fixed arg matching to give priority to 'int' or 'signed' when
2613
+ passed a ruby Integer, or
2614
+ 'double' when passed a ruby Float
2615
+ * The chart example can now save and load chart files
2616
+
2617
+ 2004-10-13 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2618
+
2619
+ * Added greater than and less than operators to Qt::Enum, so that
2620
+ enums can be compared with
2621
+ Integers
2622
+ * Added the chart example for Qt Tutorial #2
2623
+
2624
+ 2004-10-12 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2625
+
2626
+ * Added Qt::Application.ARGV. It returns the original ruby ARGV array
2627
+ with Qt command line
2628
+ options removed.
2629
+
2630
+ 2004-10-11 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2631
+
2632
+ * Added a global flag 'application_terminated'. Once this is set the
2633
+ QtRuby runtime will no longer
2634
+ delete any C++ instances. This will hopefully fix crash on
2635
+ application exit problems reported
2636
+ by Thibauld Favre.
2637
+
2638
+ CCMAIL: kde-bindings@kde.org
2639
+
2640
+ 2004-10-10 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2641
+
2642
+ * The recent fix for checking invalid arg types, didn't work with nil
2643
+ passed as a value
2644
+
2645
+ 2004-10-10 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2646
+
2647
+ * A QRgb[] color table was being wrongly deleted after marshalling
2648
+
2649
+ 2004-10-10 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2650
+
2651
+ * If a ruby method overriding a virtual method returned a primitive
2652
+ type when an instance of a class
2653
+ was expected, it caused a seg fault. A ruby exception is now thrown
2654
+ instead. Fixes problem reported by
2655
+ Han Holl.
2656
+
2657
+ * For instance,
2658
+ class ContainerGrid < Qt::Widget
2659
+ def sizeHint
2660
+ # next line should return a Qt::Size, not
2661
+ an integer
2662
+ 100
2663
+ end
2664
+ end
2665
+
2666
+ Now gives the following error:
2667
+
2668
+ qsize.rb:12:in `method_missing': Invalid type,
2669
+ expecting QSize (ArgumentError)
2670
+ from qsize.rb:12
2671
+
2672
+ CCMAIL: kde-bindings@kde.org
2673
+
2674
+ 2004-10-10 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2675
+
2676
+ * The smokeruby_mark() function was only marking the immediate
2677
+ children of a
2678
+ Qt::Object for not being garbage collected. It now marks all the
2679
+ Qt::Objects
2680
+ in the object tree below it.
2681
+
2682
+ 2004-10-07 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2683
+
2684
+ * Added Qt Designer Tutorial 'Creating Dialogs' translated into
2685
+ QtRuby. It
2686
+ shows how you can combine ruby code generated from .ui files with
2687
+ the rbuic
2688
+ tool, with your own code.
2689
+
2690
+ * The .ui files and images are identical to the original C++
2691
+ versions.
2692
+
2693
+ * It features a simple Makefile to run rbuic when you change the .ui
2694
+ files, and
2695
+ regenerate the ruby sources.
2696
+
2697
+ 2004-10-06 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2698
+
2699
+ * Fixed rbuic '-embed' option which had been broken after adding DCOP
2700
+ suppot
2701
+ to Korundum, after changes in the Qt::ByteArray class.
2702
+ * Fixed QRgb* marshalling problem where the ruby value was
2703
+ overflowing a signed int.
2704
+ The target for marshalling is now an array of unsigned ints.
2705
+ * When a Qt::Application exits after returning for an
2706
+ Qt::Application.exec() call, the top
2707
+ level widgets are deleted as well as the Qt::Application itself.
2708
+ This fixes a problem where
2709
+ ruby does garbage collection in an arbitrary order after the ruby
2710
+ app has exited. It destroys
2711
+ a ruby Hash of QMetaData info that the Qt::Application or
2712
+ Qt::MainWindow need to clean up.
2713
+ * The layout of the ruby code generated by rbuic has been improved
2714
+ with better indenting.
2715
+ * attr_reader attribute accessors have been added for the most
2716
+ important instance variables
2717
+ in an rbuic generated class to make them more easily accessed from
2718
+ another class.
2719
+
2720
+ 2004-10-05 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2721
+
2722
+ * Given a C++ instance and an approximate classname, the QtRuby
2723
+ runtime uses the
2724
+ various Qt rtti mechanisms such as QObject::className() to improve
2725
+ the resolution
2726
+ of the name. However, the numeric classId into the array of
2727
+ classnames in the Smoke
2728
+ runtime was not being updated in line with the more accurate name.
2729
+ * This caused problems with method argument matching which uses the
2730
+ numeric classId
2731
+ rather than the ruby object's classname, and so QtRuby wrongly
2732
+ assumed that a an
2733
+ instance of a Qt::Widget was a Qt::Object.
2734
+ * Fixes problem reported by Han Holl
2735
+
2736
+ CCMAIL: kde-bindings@kde.org
2737
+
2738
+ 2004-10-05 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2739
+
2740
+ * Fixed a couple of errors in the rbuic generated code found as a
2741
+ result of
2742
+ the recently improved stricter arg type matching.
2743
+
2744
+ 2004-10-04 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2745
+
2746
+ * When a ruby app exits, rb_gc_call_finalizer_at_exit() is called and
2747
+ all the ruby
2748
+ instances are garbage collected. The problem is that this is done
2749
+ in an arbitrary
2750
+ order, and Qt::Application was occasionally crashing in its
2751
+ destructor because
2752
+ QMetaObject info it still needed was being deleted before then.
2753
+
2754
+ * Fixes problem reported by Thibauld Favre
2755
+
2756
+ CCMAIL: <tfavre@mandrakesoft.com>
2757
+
2758
+ 2004-10-04 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2759
+
2760
+ * When a QMetaData object was contructed the class name was a pointer
2761
+ from a ruby
2762
+ string, and was being corrupted when the string was freed. The
2763
+ string is now copied.
2764
+
2765
+ 2004-10-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2766
+
2767
+ * Han Holl's report about a when you pass an incorrect arg type to a
2768
+ QtRuby
2769
+ method, it caused a crash has opened a 'can of worms'. This was
2770
+ because there
2771
+ was no arg type checking if there was only one candidate method in
2772
+ the
2773
+ Smoke runtime. Now that arg type checking is applied to all QtRuby
2774
+ method calls, not
2775
+ not just those that after lookup in Smoke map onto a single method,
2776
+ the overloaded
2777
+ method resolution via the arg types has had to be greatly improved.
2778
+ This has
2779
+ been done, and so the arg type matching is now extremely fussy.
2780
+
2781
+ CCMAIL: kde-bindings@kde.org
2782
+
2783
+ 2004-10-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2784
+
2785
+ * An optimization in the overloaded method resolution matching causes
2786
+ a crash;
2787
+ instead of throwing a ruby exception when a programming error is
2788
+ made.
2789
+ If there is only one method found in the Smoke runtime, it assumes
2790
+ that it must
2791
+ be the right one and just takes that.
2792
+
2793
+ * For example:
2794
+
2795
+ lay = Qt::HBoxLayout.new(self)
2796
+ ed = Qt::LineEdit.new('blah',self)
2797
+ # The next line should be: lay.addWidget(ed)
2798
+ lay.addLayout(ed)
2799
+
2800
+ * Fixes problem reported by Han Holl
2801
+
2802
+ CCMAIL: kde-bindings@kde.org
2803
+
2804
+ 2004-10-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2805
+
2806
+ * A common programming error is to accidently leave off the 'new'
2807
+ method call when
2808
+ creating an instance. The QtRuby runtime wasn't correctly trapping
2809
+ an attempt to
2810
+ call an instance method on a class object, and was seg faulting
2811
+ rather than
2812
+ throwing an exception.
2813
+
2814
+ * For example:
2815
+
2816
+ # The next line should be: lay =
2817
+ Qt::HBoxLayout.new(self)
2818
+ lay = Qt::HBoxLayout
2819
+ ed = Qt::LineEdit.new('blah',self)
2820
+ lay.addWidget(ed)
2821
+
2822
+ * Fixes problem reported by Han Holl
2823
+
2824
+ CCMAIL: kde-bindings@kde.org
2825
+
2826
+ 2004-10-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2827
+
2828
+ * Upped version to 1.0.3 for the KDE 3.3.1 release
2829
+
2830
+ 2004-10-02 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2831
+
2832
+ * Added Ruby Array to QPair<int,int>& marshaller
2833
+
2834
+ 2004-09-30 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2835
+
2836
+ * The resolve_classname() function in handlers.cpp uses the various
2837
+ Qt rtti mechanisms to
2838
+ get a more accurate classname to instantiate as a ruby instance. It
2839
+ has now been extended
2840
+ with a callback to the Korundum library to do the same for KDE
2841
+ classes.
2842
+
2843
+ CCMAIL: zack@kde.org
2844
+
2845
+ 2004-09-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2846
+
2847
+ * Added Jim Menard's ruboids as an OpenGL/Qt::GL* Widgets example
2848
+ * Improved instructions and exconf.rb for building the gui extension
2849
+ from Michal 'hramrach' Suchanek
2850
+
2851
+ 2004-09-13 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2852
+
2853
+ * Upped the version to 1.0.2 for Rubyforge release
2854
+
2855
+ 2004-09-12 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2856
+
2857
+ * Added a 'qui' extension for reading in .ui Qt Designer files at
2858
+ runtime
2859
+ * For example:
2860
+
2861
+ require 'Qt'
2862
+ require 'qui'
2863
+
2864
+ a = Qt::Application.new(ARGV)
2865
+ if ARGV.length == 0
2866
+ exit
2867
+ end
2868
+
2869
+ if ARGV.length == 2
2870
+ QUI::WidgetFactory.loadImages( ARGV[ 0 ] )
2871
+ w = QUI::WidgetFactory.create( ARGV[ 1 ] )
2872
+ if w.nil?
2873
+ exit
2874
+ end
2875
+ w.show()
2876
+ a.connect( a, SIGNAL('lastWindowClosed()'), a,
2877
+ SLOT('quit()') )
2878
+ a.exec()
2879
+ end
2880
+
2881
+
2882
+ 2004-09-07 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2883
+
2884
+ * Upped the version to 1.0.1 for the current Rubyforge release
2885
+
2886
+ 2004-09-05 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2887
+
2888
+ * Added Kate:: and KTextEdit:: namespaces for writing Kate plugins
2889
+
2890
+ 2004-09-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2891
+
2892
+ * Some newer changes from the uic were added to the rbuic tool.
2893
+
2894
+ 2004-09-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2895
+
2896
+ * Brought the rbuic code to uncompress zip files in line with the
2897
+ current uic code
2898
+ * Added a qmake project file for building the rbuic tool on Mac OS X,
2899
+ and some
2900
+ notes on how to build QtRuby on a Mac.
2901
+
2902
+ 2004-08-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2903
+
2904
+ * Added Kontact module to provide a namespace for the kontact plugin
2905
+ api
2906
+
2907
+ 2004-08-25 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2908
+
2909
+ * Underscore naming for can be used for method names instead of camel
2910
+ case if
2911
+ preferred. Any underscores in method names are removed, and the
2912
+ following
2913
+ character is capitalised. For example, either of these two forms
2914
+ can be used
2915
+ to call the same method:
2916
+
2917
+ create_standard_status_bar_action()
2918
+
2919
+ createStandardStatusBarAction()
2920
+
2921
+ 2004-08-23 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2922
+
2923
+ * A 'thing?' ruby method can now be used as a synonym for either
2924
+ isThing() or hasThing() in the Smoke runtime
2925
+
2926
+ 2004-08-04 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2927
+
2928
+ * Upped the QtRuby version to 1.0.0 - it must work now then..
2929
+
2930
+ 2004-08-02 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2931
+
2932
+ * Added 'long long' and 'unsigned long long' marshallers
2933
+
2934
+ 2004-07-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2935
+
2936
+ * The smokeruby_mark() gc marking f'n now marks the QTableItems owned
2937
+ by a QTable so they don't get garbage collected, even if there are
2938
+ no
2939
+ remaining references in the user code.
2940
+
2941
+ 2004-07-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2942
+
2943
+ * Added a template based method for QValueList marshallers, and
2944
+ several
2945
+ QValueList types.
2946
+
2947
+ 2004-07-28 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2948
+
2949
+ * Removed any marshaller types that weren't in the Smoke runtime from
2950
+ the
2951
+ type name to marshaller function lookup table.
2952
+
2953
+ 2004-07-28 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2954
+
2955
+ * If a class doesn't have a virtual destructor, then no mapping was
2956
+ being
2957
+ kept from the C++ instance to the corresponding ruby value. If the
2958
+ class
2959
+ had virtual method callbacks, this meant that the ruby instance
2960
+ couldn't
2961
+ be found, and the callback couldn't be made.
2962
+
2963
+ * Hence, the Qt::ToolTip callback in examples/qt-examples/tooltip
2964
+ didn't
2965
+ work, as that class doesn't have a virtual destructor.
2966
+
2967
+ * Added an 'isEnum()' function to use when matching args in
2968
+ overloaded
2969
+ method resolution.
2970
+
2971
+ * QCString arg types are chosen in preference to QByteArray ones,
2972
+ matching
2973
+ against ruby strings, when resolving an overloaded method call.
2974
+
2975
+ * Qt::Enums and Qt::Integers can be marshalled to uints, longs and
2976
+ ulongs as
2977
+ well as ints.
2978
+
2979
+ * Added a '==' operator to Qt::Enums so they can be compared with
2980
+ ruby Integers
2981
+
2982
+ 2004-07-27 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2983
+
2984
+ * Qt::Integer arithmetic and bit operations return Qt::Integers,
2985
+ rather
2986
+ than ruby Integers so that ops can be nested as for Qt::Enums.
2987
+
2988
+ 2004-07-27 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
2989
+
2990
+ * The recently added Qt::Integer bit operators were returning a ruby
2991
+ Integer
2992
+ type. When they were nested, the Integer didn't know how to convert
2993
+ the
2994
+ Enum it was being or'd with to an Integer.
2995
+
2996
+ * The solution is to add bit operators to the Enum class which return
2997
+ Enums
2998
+ rather than Integers.
2999
+
3000
+ * The following code didn't work:
3001
+
3002
+ def initialize(message)
3003
+ super(nil, "passivedlg",
3004
+ Qt::WStyle_Customize | Qt::WX11BypassWM |
3005
+ Qt::WStyle_StaysOnTop |
3006
+ Qt::WStyle_Tool | Qt::WStyle_NoBorder)
3007
+
3008
+ 2004-07-27 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3009
+
3010
+ * Replaced QString casts to 'const char *' with latin1() calls
3011
+
3012
+ 2004-07-27 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3013
+
3014
+ * The Qt::Enum class was missing bit operations, so various bit
3015
+ methods
3016
+ were added to Qt::Enum's superclass, Qt::Integer.
3017
+
3018
+ * This was causing this line from examples/uimodules/uidialogs.rb to
3019
+ fail:
3020
+
3021
+ dlg = KDE::DialogBase.new(parent, "sample_dialog", false,
3022
+ caption,
3023
+ KDE::DialogBase::Ok |
3024
+ KDE::DialogBase::Cancel,
3025
+ KDE::DialogBase::Ok, true )
3026
+
3027
+ 2004-07-27 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3028
+
3029
+ * Added error messages for invalid slot or signal declarations
3030
+
3031
+ 2004-07-27 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3032
+
3033
+ * The standard ruby error message for missing constants and methods
3034
+ is
3035
+ now used when they can't be found in the Smoke library. Removed
3036
+ Alex's
3037
+ comment about the previous approach, now I agree this is the best
3038
+ way
3039
+ to show errors.
3040
+
3041
+ CCMAIL: me@lypanov.ne
3042
+
3043
+ 2004-07-27 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3044
+
3045
+ * Added qDebug(), qFatal() and qWarning() module methods
3046
+
3047
+ 2004-07-26 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3048
+
3049
+ * The parsing of types passed to slots, (or returned from dcop slots)
3050
+ didn't
3051
+ work with template types containing commas such
3052
+ as 'QMap<QString,QString>'.
3053
+ * Added 'QMap<QString,QString>&' and 'QMap<QString,QVariant>&' to the
3054
+ handlers.cpp string to marshaller lookup table.
3055
+
3056
+ 2004-07-26 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3057
+
3058
+ * Added marshallers for QMap<QString,QString> and
3059
+ QMap<QString,QVariant> to and from ruby hashes
3060
+
3061
+ 2004-07-26 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3062
+
3063
+ * The error messages for missing methods or missing constants now
3064
+ give the
3065
+ name of the missing item.
3066
+ * For example, this incorrect line:
3067
+
3068
+ color_group.setColor( ColorGroup::MyMissingConst, blue )
3069
+
3070
+ Gives this error:
3071
+
3072
+ splitter.rb:16:in `const_missing': unresolved constant
3073
+ reference MyMissingConst (ArgumentError)
3074
+
3075
+ * Implements suggestion from Jeff on the kdebindings list
3076
+
3077
+ CCMAIL: kde-bindings@kde.org
3078
+
3079
+ 2004-07-19 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3080
+
3081
+ * Added Qt::Enum type. Before a C++ enum was being marshalled to a
3082
+ ruby
3083
+ Integer, and the type name of the enum was lost. A Qt::Enum is a
3084
+ subclass
3085
+ of Integer with an extra type name.
3086
+ * This fixes a problem with overloaded method resolution where two
3087
+ methods differ
3088
+ only be an enum type such as this:
3089
+
3090
+ # KPasswordEdit(EchoMode echoMode, QWidget *parent, const char
3091
+ *name);
3092
+ # KPasswordEdit(EchoModes echoMode, QWidget *parent, const char
3093
+ *name);
3094
+
3095
+ pw2 = KDE::PasswordEdit.new(KDE::PasswordEdit::ThreeStars,
3096
+ page, "")
3097
+
3098
+ 2004-07-17 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3099
+
3100
+ * After a non-const string arg was passed to a method, the value of
3101
+ the QString
3102
+ is copied into the ruby value. But it wasn't being correctly
3103
+ converted to the
3104
+ correct string format according to $KCODE.
3105
+ * QString to ruby string conversions in QStringLists were not
3106
+ localised either.
3107
+
3108
+ 2004-07-14 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3109
+
3110
+ * Removed superfluous '(void *)' cast which was causing compilation
3111
+ problems with gcc 3.4
3112
+ * Fixes problem reported by Jochen Immend�fer on comp.lang.ruby
3113
+ CCMAIL: kde-bindings@kde.org
3114
+
3115
+ 2004-07-11 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3116
+
3117
+ * Qt eucJP and Shift-JIS codecs used to support ruby $KCODE values
3118
+ of 's'
3119
+ for SJIS and 'e' for EUC
3120
+
3121
+ 2004-07-08 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3122
+
3123
+ * Added support for strings in QtRuby programs being written in
3124
+ UTF-8.
3125
+ Use the '-Ku' command line option or '$KCODE=u' in the program.
3126
+ * Removed recently added QChar marshalling as it wasn't very i18n
3127
+ friendly
3128
+
3129
+ 2004-07-07 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3130
+
3131
+ * Added QChar marshalling
3132
+
3133
+ 2004-07-06 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3134
+
3135
+ * Fix for passing C++ 'bool*' and 'bool&' argument types
3136
+ There is a similar problem for bool arg types as with ints, and the
3137
+ mutable
3138
+ Qt::Boolean class can be used like this:
3139
+
3140
+ # QFont getFont(bool * ok, const QFont&initial, QWidget* parent =
3141
+ 0);
3142
+
3143
+ ok = Qt::Boolean.new
3144
+ font = Qt::FontDialog.getFont(ok, Qt::Font.new("Helvetica
3145
+ [Cronyx]", 10), self)
3146
+ if !ok.nil?
3147
+ # font is set to the font the user selected
3148
+ else
3149
+ # the user canceled the dialog
3150
+ end
3151
+
3152
+ Use 'nil?' to test the value returned in the Boolean
3153
+ * Signal and slot type signatures are 'normalized' and any unwanted
3154
+ white space
3155
+ removed
3156
+ * Fixed problem with QByteArray arg type matching in overloaded
3157
+ method resolution
3158
+
3159
+ 2004-07-04 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3160
+
3161
+ * Fix for passing C++ 'int*' and 'int&' argument types
3162
+ Ruby passes numeric values by value, and so they can't be changed
3163
+ when passed to a
3164
+ method. The Qt::Integer class provides a mutable numeric type which
3165
+ does get updated
3166
+ when passed as an argument. For example, this C++
3167
+ method 'findByFileContent()':
3168
+
3169
+ # static Ptr findByFileContent( const QString &fileName, int
3170
+ *accuracy=0 );
3171
+
3172
+ acc = Qt::Integer.new(0)
3173
+ fc = KDE::MimeType.findByFileContent("mimetype.rb", acc)
3174
+
3175
+ It supports the arithmetic operators, and so expressions such
3176
+ as 'acc + 3'
3177
+ will work.
3178
+
3179
+ 2004-07-02 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3180
+
3181
+ * Replaced obsolete STR2CSTR() calls with StringValuePtr()
3182
+
3183
+ 2004-06-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3184
+
3185
+ * The internal findAllMethods() method now returns nil rather than an
3186
+ empty array
3187
+ if the given classid is greater than 'smoke->numClasses'.
3188
+ Otherwise, it wasn't
3189
+ possible to distinguish between a class with no methods, or
3190
+ reaching the end of
3191
+ the classes array.
3192
+
3193
+ 2004-06-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3194
+
3195
+ * Added QStrList marshalling
3196
+
3197
+ 2004-06-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3198
+
3199
+ * Improved Garbage Collection, dispose() and isDisposed() methods
3200
+ - When a ruby instance is garbage collected, the underlying C++
3201
+ instance will only be
3202
+ deleted if it isn't 'owned' by a parent object. Normally this
3203
+ will 'just work', but
3204
+ there are occasions when you need to delete the C++ ahead of
3205
+ garbage collection, and
3206
+ whether or not it has a parent. Use the dispose() and
3207
+ isDisposed() methods like
3208
+ this:
3209
+
3210
+ item0.takeItem(item1)
3211
+ item0.insertItem(item1)
3212
+
3213
+ item2.dispose
3214
+ if item2.isDisposed
3215
+ puts "item2 is disposed"
3216
+ end
3217
+
3218
+ - Fixes problem reported by Hans Fugel
3219
+
3220
+ 2004-06-26 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3221
+
3222
+ * The marshalling TypeHandler function pointers are now looked up in
3223
+ a
3224
+ QAsciiDict, rather than a ruby Hash.
3225
+ * Some unused functions removed
3226
+ * QtRuby version upped to 0.9.8
3227
+
3228
+ 2004-06-09 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3229
+
3230
+ * New flags were added for Smoke methods - mf_internal and
3231
+ mf_copyctor.
3232
+ This allows copy constructors which are only used internally by the
3233
+ ruby
3234
+ runtime, to be excluded from the standard api.
3235
+
3236
+
3237
+ 2004-05-12 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3238
+
3239
+ * When ARGV was passed to the Qt::Application constructor, it was
3240
+ being
3241
+ altered, and the name of the ruby program added as a first entry.
3242
+ The
3243
+ constructor now uses a copy of the array, and ARGV is left
3244
+ unchanged.
3245
+
3246
+ 2004-05-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3247
+
3248
+ * Added a '-kde' option to the rbuic tool to generate
3249
+ require 'Korundum'
3250
+ instead of require 'Qt' statements, and use KDE widgets.
3251
+
3252
+ 2004-04-30 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3253
+
3254
+ * Applied patch from Marek Janukowicz.
3255
+ * The patch fixes some perlisms, that caused errors on loading a Ruby
3256
+ file
3257
+ generated from .ui file for Qt::MainWindow subclass
3258
+
3259
+ 2004-04-20 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3260
+
3261
+ * The rbuic now correctly names KDE widgets with a KDE:: prefix
3262
+ * If the rbuic -x option is used, a KDE top level is generated if any
3263
+ KDE widgets have been found.
3264
+
3265
+ 2004-04-17 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3266
+
3267
+ * Fixed bug in rbuic generated code for setResizeMode()
3268
+
3269
+ 2004-04-05 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3270
+
3271
+ * Improved classname resolution for QListViewItem and QTableItem
3272
+ subclasses using rtti() calls
3273
+
3274
+ 2004-03-26 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3275
+
3276
+ * Ruby slots and signals are now inherited correctly
3277
+ * This causes problems with code generated by the rbuic utility
3278
+ * Fixes bug 78273 reported by Imobach Sosa
3279
+
3280
+ 2004-03-10 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3281
+
3282
+ * When a mutable, non-const QString, int*, int&, bool* or bool& is
3283
+ passed
3284
+ to a method, the corresponding ruby value is now updated after the
3285
+ method call.
3286
+ * Some f'ns are no longer static, so that the korundum extension can
3287
+ link
3288
+ against them.
3289
+
3290
+ 2004-03-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3291
+
3292
+ * The f'n new_qobject is no longer static, and can be called from
3293
+ korundum
3294
+
3295
+ 2004-03-01 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3296
+
3297
+ * Fixed bugs in QCString, QString and QByteArray marshalling.
3298
+ - When a C++ method with a mutable, non-const QCString arg type
3299
+ is called from ruby, the C++ arg value is copied back into the
3300
+ corresponding ruby arg VALUE after the call.
3301
+ - A pointer to a locally allocated QString was being returned,
3302
+ giving memory corruption problems.
3303
+ * The default debug level in qtruby.rb is DebugLevel::OFF, otherwise
3304
+ very verbose error messages are produced.
3305
+
3306
+ 2004-01-28 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3307
+
3308
+ * Fixed bug where a QCString was being ranked equally with a QString,
3309
+ when resolving ambiguous method overloading. Caused the KDE::URL
3310
+ constructor to fail with a string arg.
3311
+
3312
+ 2003-11-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3313
+
3314
+ * Added DOM:: namespace for the DOM:: classes in the Smoke library.
3315
+ * The scope operator in nested classnames is now '::' rather
3316
+ than '__', so changed the qtruby runtime to expect that.
3317
+
3318
+ 2003-11-13 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3319
+
3320
+ * Added the KillerFilter event filtering example from chapter 16
3321
+ of 'Programming with Qt'
3322
+ * Improved classname resolution via the Qt rtti mechanisms in
3323
+ QObject, QEvent and QCanvasItem. This fixed a problem in the
3324
+ KillerFilter example when a QMouseEvent was passed to the ruby
3325
+ event handler, it was being instantiated as a ruby Qt::Event,
3326
+ rather than a Qt::MouseEvent.
3327
+
3328
+ 2003-11-11 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3329
+
3330
+ * Improved nil argument matching, and nil can match any type now
3331
+ not just classes. Translated the code from the Qt.pm in PerlQt,
3332
+ after discussion on the kde-perl list.
3333
+ * Fixed bug in rbuic where a C++ 'QString::null' was "" in ruby, and
3334
+ should have been a nil.
3335
+
3336
+ 2003-11-08 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3337
+
3338
+ * Finally fixed huge leak, causing the progress.rb example to grow by
3339
+ 1 Mb a minute.
3340
+ * Added a cache from ruby classname to Smoke class id
3341
+ * Speeded up method selector look ups
3342
+ * Put some C++ code inside blocks to ensure that the destructor clean
3343
+ up code was called, when the current f'n longjmp's up the stack
3344
+ rather
3345
+ than returns normally.
3346
+ * QtRuby looking good, raised the version to 0.9.6 to celebrate
3347
+
3348
+ 2003-11-07 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3349
+
3350
+ * Fixed some memory leaks
3351
+ * Ensured that any instance 'owned' by ruby, ie with the the
3352
+ allocated
3353
+ flag set to true, is always added to the pointer_map.
3354
+ Otherwise, the same C++ instance can be wrapped twice and will be
3355
+ deleted
3356
+ twice.
3357
+
3358
+ 2003-11-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3359
+
3360
+ * When marshalling a const ref type to a ruby VALUE, it is now copied
3361
+ * Applied some fixes for construct_copy() from the PerlQt version of
3362
+ handlers.cpp
3363
+ * Fixed some minor bugs in the progress.rb Qt example
3364
+
3365
+ 2003-11-03 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3366
+
3367
+ * Added method selector caching for class methods and constructors,
3368
+ although performance still 'sedate' compared with C++ or Perl.
3369
+
3370
+ 2003-10-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3371
+
3372
+ * The smokeruby_mark() f'n now marks the QListViewItems in a
3373
+ QListView
3374
+ * Fixed a QLayoutItem crash in smokeruby_free()
3375
+
3376
+ 2003-10-27 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3377
+
3378
+ * The smokeruby_mark() f'n was completely wrong, as it is only called
3379
+ if
3380
+ the current object is already marked. So marking the current object
3381
+ doesn't make a lot of sense. Instead, if the instance is a kind of
3382
+ QObject then its childeren are marked.
3383
+ * The smokeruby_delete() object doesn't delete instances which have
3384
+ parents of one sort or another.
3385
+ * Made some fixes to the tutorial examples
3386
+ * Removed equality '==' operator overloading as it only expects a
3387
+ single
3388
+ arg in ruby, and not two.
3389
+
3390
+ 2003-10-22 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3391
+
3392
+ * Changed some error messages in do_method_missing() to be 'debug
3393
+ only' for now.
3394
+
3395
+ 2003-10-22 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3396
+
3397
+ * Got the checklists.rb example working after bug report from Mikhail
3398
+ Yakshin
3399
+ - Corrected some coding errors in the example itself.
3400
+ - The arg matching code in method_missing() has been improved and
3401
+ simplified.
3402
+ - In the overloaded arg type resolution matching, an enum is
3403
+ type 'long'
3404
+ - A class which matches exactly is a better match than a subclass.
3405
+ Multiple matches are allowed as long as there is a 'best match'.
3406
+ - Operator overloading now looks for methods of the
3407
+ form 'operator+=',
3408
+ 'operator-=' etc in the Smoke runtime.
3409
+
3410
+ 2003-10-14 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3411
+
3412
+ * Fixed serious random crash problem
3413
+ - qt_invoke() and qt_emit() were not calling super if a ruby signal
3414
+ or
3415
+ slot hadn't been found, which stopped C++ signals from working.
3416
+ - This prevented destroy() signals from invoking event filter list
3417
+ clean
3418
+ up when a QObject was deleted, leaving deleted instances in the
3419
+ list.
3420
+ - 'QUObject*' args are now marshalled as a ruby list with a single
3421
+ entry of a VALUE wrapping the pointer.
3422
+ * The ruby ALLOCA_N macro is no longer used as it is based on
3423
+ alloca(),
3424
+ which doesn't seem a good idea. malloc(), calloc() and free() are
3425
+ used
3426
+ instead
3427
+
3428
+ 2003-10-11 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3429
+
3430
+ * Added khtml:: namespace, although it isn't in the SmokeKDE runtime
3431
+ yet
3432
+ * Improved method_missing error messages if a method can't be
3433
+ resolved
3434
+
3435
+ 2003-10-09 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3436
+
3437
+ * Added KIO:: and KParts:: namespaces for the new classes in
3438
+ libsmokekde
3439
+
3440
+ 2003-10-08 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3441
+
3442
+ * Korundum KDE ruby extension
3443
+ - made various changes so it can be linked against the QtRuby code
3444
+
3445
+ 2003-09-18 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3446
+
3447
+ * Removed leading 'K' from class names of when adding to KDE::
3448
+ namespace.
3449
+ As per Germain Garand's suggestion on the kde-bindings list:
3450
+
3451
+ ..actually, I used the same scheme as for Qt when possible, that
3452
+ is:
3453
+ $class =~ s/^Q/Qt::/ or
3454
+ $class =~ s/^K/KDE::/ or
3455
+ $class = "KDE::" . $class
3456
+ unless $class eq "Qt";
3457
+
3458
+ 2003-09-18 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3459
+
3460
+ * Added support for KDE classes under module KDE:: for use with
3461
+ the new libsmokekde.so. You can now write KDE programs in Ruby,
3462
+ here is Hello World:
3463
+
3464
+ about = KDE::KAboutData.new("one", "two", "three")
3465
+ KDE::KCmdLineArgs.init(1, ["four"], about)
3466
+ a = KDE::KApplication.new()
3467
+ hello = KDE::KPushButton.new(nil) { setText "Hello World" }
3468
+ a.setMainWidget(hello)
3469
+ hello.show()
3470
+ a.exec()
3471
+
3472
+ 2003-09-14 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3473
+
3474
+ * The rbuic -embed option finally works. Fixed QByteArray
3475
+ marshalling.
3476
+
3477
+ 2003-09-13 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3478
+
3479
+ * Improved the rbuic -embed option, and added some fixes
3480
+
3481
+ 2003-09-12 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3482
+
3483
+ * More passing blocks to constructors fun! You can now also pass
3484
+ an arg to the block, and it will be run in the context of the arg:
3485
+
3486
+ w = MyWidget.new { |theWidget| theWidget.setCaption "foobar" }
3487
+
3488
+ I got this idea from the FXRuby bindings, from the ChangeLog:
3489
+
3490
+ "This approach has the advantage that the initialization code now has
3491
+ access to the outer scope, as blocks normally would. Thanks to
3492
+ Rich Kilmer for this suggestion."
3493
+
3494
+ If you don't pass an arg to the block, the block is run in the
3495
+ context
3496
+ of the new instance as before.
3497
+
3498
+ * Debugging left in handlers.cpp (must stop doing this)
3499
+
3500
+ 2003-09-12 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3501
+
3502
+ * Marshallers now return Qnil, rather than Qundef (for internal use
3503
+ only)
3504
+
3505
+ 2003-09-10 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3506
+
3507
+ * Improved garbage collection with various 'ad hoc' rules from the
3508
+ QtJava bindings about when it's ok/not ok to destruct an instance.
3509
+ Not always just a 'parent() != 0' check in Qt.
3510
+
3511
+ 2003-09-10 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3512
+
3513
+ * Added QByteArray <-> Ruby string marshaller
3514
+
3515
+ 2003-09-09 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3516
+
3517
+ * Blocks can now be passed to constructors, like this:
3518
+ w = MyWidget.new { setCaption("foobar") }
3519
+
3520
+ 2003-09-08 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3521
+
3522
+ * Added method selector caching, scribbling may be slightly faster..
3523
+
3524
+ 2003-09-08 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3525
+
3526
+ * GC getting closer to working. Debugging code improved.
3527
+
3528
+ 2003-09-08 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3529
+
3530
+ * From below 'watch out for extra crashes!' - indeed! Have now
3531
+ disabled
3532
+ smokeruby_free() and smokeruby_mark() until garbage collection
3533
+ works.
3534
+
3535
+ 2003-09-08 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3536
+
3537
+ * The pointer_map is now a QPtrDict rather than a ruby Hash, and
3538
+ the entries are weak references. An implementation was tried
3539
+ using the ruby WeakRef class, but it didn't work because
3540
+ rb_gc_mark()
3541
+ didn't prevent them being garbage collected.
3542
+ * smokeruby_free() and smokeruby_mark() have been implemented
3543
+ * The C++ instance for a ruby object is deleted in smokeruby_free(),
3544
+ so watch out for extra crashes!
3545
+ * Improved README with more details about QtRuby
3546
+
3547
+ 2003-09-07 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3548
+
3549
+ * Improved error message handling, changed rb_error() calls to
3550
+ rb_raise()
3551
+ * Decided changing method calls like foobar? to isFoobar() not a good
3552
+ idea,
3553
+ as the Qt property could just as also be hasFoobar() or foobar()
3554
+
3555
+ 2003-09-06 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3556
+
3557
+ * Set methods such as autoMask= are converted to setAutoMask()
3558
+ * Get methods such as modal? are converted to isModal()
3559
+
3560
+ 2003-08-31 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3561
+
3562
+ * rbuic code generation brought up to date wrt Qt 3.2 uic
3563
+ Main change is that a 'languageChanged()' method is generated
3564
+
3565
+ 2003-08-30 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3566
+
3567
+ * rbuic() code generation fixes
3568
+
3569
+ 2003-08-30 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3570
+
3571
+ * Added 'Run Selection' menu option to the QtRuby shell
3572
+
3573
+ 2003-08-30 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3574
+
3575
+ * Operator methods are now called 'operator..' in QGlobalSpace and
3576
+ not renamed
3577
+ * Added unary minus, and a test in opoverloading.rb
3578
+
3579
+ 2003-08-29 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3580
+
3581
+ * Updated TODO list, improved rbuic code generation for images
3582
+
3583
+ 2003-08-28 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3584
+
3585
+ * Improved operator overloading to work with operators not in
3586
+ QGlobalSpace
3587
+
3588
+ 2003-08-27 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3589
+
3590
+ * Changed the operator overloading implementation to be more like
3591
+ PerlQt
3592
+
3593
+ 2003-08-27 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3594
+
3595
+ * Translated the rbqtsh filePrint() method from perl
3596
+
3597
+ 2003-08-26 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3598
+
3599
+ * Added 'changed' attribute to the MetaInfo class, so that the C++
3600
+ metaObject
3601
+ is reconstructed if the slots or signals are changed.
3602
+ * Changed window title on rbqtsh to 'QtRuby'. The example slot now
3603
+ works
3604
+ correctly. Only just tried this utility - Wow Alex!!
3605
+
3606
+ 2003-08-26 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3607
+
3608
+ * findMethod() now looks in the QGlobalSpace pseudo class as well as
3609
+ the normal target class.
3610
+ * The bitBlt() code in the scribble example works correctly
3611
+
3612
+ 2003-08-25 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3613
+
3614
+ * Removed ugly _current_object global variable.
3615
+ The current target object is now passed to the MethodCall
3616
+ constructor.
3617
+
3618
+ 2003-08-25 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3619
+
3620
+ * Removed obsolete rb_enable_super() calls
3621
+ * Removed test for _current_object in class_method_missing()
3622
+ * Fixed missing index in signalInfo() method
3623
+ * Added Qt scribble example - TODO add Qt::PaintDevice.bitBlt() calls
3624
+ to SMOKE runtime
3625
+
3626
+ 2003-08-23 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3627
+
3628
+ * Added rbuic tool for ruby Qt Designer support
3629
+
3630
+ 2003-08-12 Alexander Kellett <lypanov@kde.org>
3631
+
3632
+ * Add debug level setting via Qt::debug_level
3633
+ * When calling .new on a Qt object with a incorrect prototype
3634
+ the list of appropriate constructors is printed
3635
+ * Fix a number of cases in which imperfect code would cause a crash
3636
+
3637
+ 2003-08-11 Alex Zepeda <zipzippy@sonic.net>
3638
+
3639
+ * Various fixes to get QStringList marshalling working
3640
+ * Treat Ruby strings as UTF-8 strings in order to fix the QFont
3641
+ examples
3642
+
3643
+ 2003-08-09 Alexander Kellett <lypanov@kde.org>
3644
+
3645
+ * Added support for operator overloading
3646
+
3647
+ 2003-08-07 Alexander Kellett <lypanov@kde.org>
3648
+
3649
+ * Added rbqtapi and rbqt tools (port of the PerlQt tools of the same
3650
+ name)
3651
+
3652
+ 2003-08-06 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3653
+
3654
+ * Added some TODO list entries, added Alex to the AUTHORS list
3655
+
3656
+ 2003-08-06 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3657
+
3658
+ * Fixed 'int&' marshalling so script name appears in window title
3659
+
3660
+ 2003-08-12 Alexander Kellett <lypanov@kde.org>
3661
+
3662
+ * Add several new marshalling types - QCanvasItemList for example,
3663
+ unfortuantely due to several improvements in Qt 3.2 these
3664
+ improvements will not be seen when compiling against Qt 3.1.2
3665
+
3666
+ 2003-08-05 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3667
+
3668
+ * Moved SLOT(), SIGNAL() and emit() to global scope
3669
+
3670
+ 2003-08-05 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3671
+
3672
+ * Removed redundant 'rb_eval_string("include Qt")' call from
3673
+ extension initialization.
3674
+
3675
+ 2003-08-05 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3676
+
3677
+ * Qt::Application constructor safer, but program name still not
3678
+ appearing in the window title
3679
+
3680
+ 2003-08-05 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3681
+
3682
+ * Fixed bug in resolution of overloaded Qt::Popup.insertItem()
3683
+ methods
3684
+
3685
+ 2003-08-05 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3686
+
3687
+ * Use new const_missing from ruby 1.8.x to allow for constant access
3688
+ from base class, for example "Qt::RichText"
3689
+ * QString::null now maps onto Qnil, rather than a zero length ruby
3690
+ string
3691
+
3692
+ 2003-08-04 Alexander Kellett <lypanov@kde.org>
3693
+
3694
+ * Allow for accumulative slots/signals declarations in a class
3695
+ * Minor build fixes
3696
+
3697
+ 2003-08-02 Alexander Kellett <lypanov@kde.org>
3698
+
3699
+ * Fix several deprecation warnings when running under 1.8.x
3700
+ * Several more build fixes
3701
+
3702
+ 2003-08-01 Alexander Kellett <lypanov@kde.org>
3703
+
3704
+ * Slightly improve ease of debugging of qtruby programs
3705
+ which subclass Qt base classes by print out some useful
3706
+ debugging informationn when/if method_missing ever
3707
+ fails to find a matching function in the baseclass.
3708
+
3709
+ 2003-08-01 Alex Zepeda <zipzippy@sonic.net>
3710
+
3711
+ * Remove need to manually run extconf.rb by some automation via a
3712
+ configure.in.in
3713
+ * Various other build fixes
3714
+
3715
+ 2003-07-31 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3716
+
3717
+ * Fixed bug in marshalling QString::null to a ruby VALUE
3718
+
3719
+ 2003-07-31 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3720
+
3721
+ * Changed require in Qt.cpp to 'Qt/Qt.rb' instead of 'lib/Qt/Qt.rb'
3722
+
3723
+ 2003-07-31 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3724
+
3725
+ * Fixed problem with non-working installed version, lib/Qt.rb moved
3726
+ to lib/Qt/Qt.rb
3727
+
3728
+ 2003-07-30 Richard Dale <Richard_Dale@tipitina.demon.co.uk>
3729
+
3730
+ * QtRuby - a Ruby SMOKE adaptor for Qt, initial checkin
3731
+
3732
+