qtbindings 4.8.6.2 → 4.8.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (666) hide show
  1. checksums.yaml +4 -4
  2. data/COPYING.LIB.txt +510 -510
  3. data/COPYING.txt +286 -286
  4. data/KNOWN_ISSUES.txt +17 -17
  5. data/Rakefile +5 -5
  6. data/bin/rbqtapi +0 -0
  7. data/bin/rbrcc +0 -0
  8. data/bin/rbuic4 +0 -0
  9. data/bin/smokeapi +0 -0
  10. data/bin/smokedeptool +0 -0
  11. data/examples/designer/calculatorbuilder/calculatorbuilder.qrc +5 -5
  12. data/examples/designer/calculatorbuilder/calculatorform.rb +60 -60
  13. data/examples/designer/calculatorbuilder/calculatorform.ui +299 -299
  14. data/examples/designer/calculatorbuilder/main.rb +34 -34
  15. data/examples/designer/calculatorbuilder/makefile +2 -2
  16. data/examples/designer/calculatorform/calculatorform.rb +46 -46
  17. data/examples/designer/calculatorform/calculatorform.ui +277 -277
  18. data/examples/designer/calculatorform/main.rb +32 -32
  19. data/examples/designer/calculatorform/makefile +3 -3
  20. data/examples/desktop/screenshot/main.rb +32 -32
  21. data/examples/desktop/screenshot/screenshot.rb +157 -157
  22. data/examples/desktop/systray/images/bad.svg +64 -64
  23. data/examples/desktop/systray/images/heart.svg +55 -55
  24. data/examples/desktop/systray/images/trash.svg +58 -58
  25. data/examples/desktop/systray/main.rb +41 -41
  26. data/examples/desktop/systray/makefile +2 -2
  27. data/examples/desktop/systray/systray.qrc +7 -7
  28. data/examples/desktop/systray/window.rb +219 -219
  29. data/examples/dialogs/complexwizard/complexwizard.rb +140 -140
  30. data/examples/dialogs/complexwizard/licensewizard.rb +294 -294
  31. data/examples/dialogs/complexwizard/main.rb +31 -31
  32. data/examples/dialogs/configdialog/configdialog.rb +109 -109
  33. data/examples/dialogs/configdialog/main.rb +31 -31
  34. data/examples/dialogs/configdialog/pages.rb +140 -140
  35. data/examples/dialogs/extension/finddialog.rb +89 -89
  36. data/examples/dialogs/extension/main.rb +31 -31
  37. data/examples/dialogs/findfiles/main.rb +32 -32
  38. data/examples/dialogs/findfiles/window.rb +177 -177
  39. data/examples/dialogs/simplewizard/classwizard.rb +374 -374
  40. data/examples/dialogs/simplewizard/main.rb +31 -31
  41. data/examples/dialogs/simplewizard/simplewizard.rb +110 -110
  42. data/examples/dialogs/standarddialogs/dialog.rb +340 -340
  43. data/examples/dialogs/standarddialogs/main.rb +31 -31
  44. data/examples/dialogs/tabdialog/main.rb +38 -38
  45. data/examples/dialogs/tabdialog/tabdialog.rb +178 -178
  46. data/examples/draganddrop/draggableicons/dragwidget.rb +125 -125
  47. data/examples/draganddrop/draggableicons/main.rb +41 -41
  48. data/examples/draganddrop/draggabletext/draglabel.rb +51 -51
  49. data/examples/draganddrop/draggabletext/dragwidget.rb +94 -94
  50. data/examples/draganddrop/draggabletext/main.rb +33 -33
  51. data/examples/draganddrop/draggabletext/words.txt +41 -41
  52. data/examples/draganddrop/dropsite/dropsitewidget.rb +99 -99
  53. data/examples/draganddrop/dropsite/dropsitewindow.rb +114 -114
  54. data/examples/draganddrop/dropsite/main.rb +33 -33
  55. data/examples/draganddrop/fridgemagnets/draglabel.rb +78 -78
  56. data/examples/draganddrop/fridgemagnets/dragwidget.rb +130 -130
  57. data/examples/draganddrop/fridgemagnets/main.rb +33 -33
  58. data/examples/draganddrop/fridgemagnets/words.txt +48 -48
  59. data/examples/draganddrop/puzzle/main.rb +33 -33
  60. data/examples/draganddrop/puzzle/mainwindow.rb +136 -136
  61. data/examples/draganddrop/puzzle/pieceslist.rb +95 -95
  62. data/examples/draganddrop/puzzle/puzzlewidget.rb +190 -190
  63. data/examples/graphicsview/collidingmice/main.rb +53 -53
  64. data/examples/graphicsview/collidingmice/makefile +2 -2
  65. data/examples/graphicsview/collidingmice/mice.qrc +5 -5
  66. data/examples/graphicsview/collidingmice/mouse.rb +176 -176
  67. data/examples/graphicsview/dragdroprobot/coloritem.rb +86 -86
  68. data/examples/graphicsview/dragdroprobot/main.rb +57 -57
  69. data/examples/graphicsview/dragdroprobot/makefile +2 -2
  70. data/examples/graphicsview/dragdroprobot/robot.qrc +5 -5
  71. data/examples/graphicsview/dragdroprobot/robot.rb +246 -246
  72. data/examples/itemviews/chart/chart.qrc +5 -5
  73. data/examples/itemviews/chart/main.rb +33 -33
  74. data/examples/itemviews/chart/mainwindow.rb +151 -151
  75. data/examples/itemviews/chart/makefile +2 -2
  76. data/examples/itemviews/chart/mydata.cht +8 -8
  77. data/examples/itemviews/chart/pieview.rb +516 -516
  78. data/examples/itemviews/chart/qtdata.cht +14 -14
  79. data/examples/itemviews/dirview/main.rb +39 -39
  80. data/examples/itemviews/pixelator/imagemodel.rb +51 -51
  81. data/examples/itemviews/pixelator/images.qrc +5 -5
  82. data/examples/itemviews/pixelator/main.rb +34 -34
  83. data/examples/itemviews/pixelator/mainwindow.rb +218 -218
  84. data/examples/itemviews/pixelator/makefile +3 -3
  85. data/examples/itemviews/pixelator/pixeldelegate.rb +67 -67
  86. data/examples/itemviews/puzzle/main.rb +36 -36
  87. data/examples/itemviews/puzzle/mainwindow.rb +143 -143
  88. data/examples/itemviews/puzzle/piecesmodel.rb +174 -174
  89. data/examples/itemviews/puzzle/puzzlewidget.rb +192 -192
  90. data/examples/itemviews/simpledommodel/domitem.rb +62 -62
  91. data/examples/itemviews/simpledommodel/dommodel.rb +139 -139
  92. data/examples/itemviews/simpledommodel/main.rb +33 -33
  93. data/examples/itemviews/simpledommodel/mainwindow.rb +66 -66
  94. data/examples/itemviews/simpletreemodel/default.txt +40 -40
  95. data/examples/itemviews/simpletreemodel/main.rb +41 -41
  96. data/examples/itemviews/simpletreemodel/makefile +2 -2
  97. data/examples/itemviews/simpletreemodel/simpletreemodel.qrc +5 -5
  98. data/examples/itemviews/simpletreemodel/treeitem.rb +67 -67
  99. data/examples/itemviews/simpletreemodel/treemodel.rb +164 -164
  100. data/examples/itemviews/sortingmodel/default.txt +40 -40
  101. data/examples/itemviews/sortingmodel/main.rb +53 -53
  102. data/examples/itemviews/sortingmodel/treeitem.rb +73 -73
  103. data/examples/itemviews/sortingmodel/treemodel.rb +166 -166
  104. data/examples/itemviews/spinboxdelegate/main.rb +47 -47
  105. data/examples/itemviews/spinboxdelegate/spinboxdelegate.rb +62 -62
  106. data/examples/killerfilter/killerfilter.rb +55 -55
  107. data/examples/layouts/basiclayouts/dialog.rb +110 -110
  108. data/examples/layouts/basiclayouts/main.rb +31 -31
  109. data/examples/layouts/borderlayout/borderlayout.rb +190 -190
  110. data/examples/layouts/borderlayout/main.rb +32 -32
  111. data/examples/layouts/borderlayout/window.rb +52 -52
  112. data/examples/layouts/flowlayouts/flowlayout.rb +108 -108
  113. data/examples/layouts/flowlayouts/main.rb +32 -32
  114. data/examples/layouts/flowlayouts/window.rb +43 -43
  115. data/examples/mainwindows/application/main.rb +32 -32
  116. data/examples/mainwindows/application/mainwindow.rb +285 -285
  117. data/examples/mainwindows/dockwidgets/main.rb +32 -32
  118. data/examples/mainwindows/dockwidgets/mainwindow.rb +302 -302
  119. data/examples/mainwindows/mdi/main.rb +32 -32
  120. data/examples/mainwindows/mdi/mainwindow.rb +363 -363
  121. data/examples/mainwindows/mdi/mdichild.rb +152 -152
  122. data/examples/mainwindows/menus/main.rb +32 -32
  123. data/examples/mainwindows/menus/mainwindow.rb +327 -327
  124. data/examples/mainwindows/recentfiles/main.rb +32 -32
  125. data/examples/mainwindows/recentfiles/mainwindow.rb +258 -258
  126. data/examples/mainwindows/sdi/main.rb +32 -32
  127. data/examples/mainwindows/sdi/mainwindow.rb +335 -335
  128. data/examples/network/broadcastreceiver/main.rb +32 -32
  129. data/examples/network/broadcastreceiver/receiver.rb +64 -64
  130. data/examples/network/broadcastsender/main.rb +32 -32
  131. data/examples/network/broadcastsender/sender.rb +72 -72
  132. data/examples/network/fortuneclient/client.rb +149 -149
  133. data/examples/network/fortuneclient/main.rb +32 -32
  134. data/examples/network/fortuneserver/main.rb +32 -32
  135. data/examples/network/fortuneserver/server.rb +88 -88
  136. data/examples/network/ftp/ftpwindow.rb +259 -259
  137. data/examples/network/ftp/main.rb +32 -32
  138. data/examples/network/http/httpwindow.rb +187 -187
  139. data/examples/network/http/main.rb +32 -32
  140. data/examples/network/loopback/dialog.rb +163 -163
  141. data/examples/network/loopback/main.rb +32 -32
  142. data/examples/opengl/grabber/glwidget.rb +265 -265
  143. data/examples/opengl/grabber/main.rb +32 -32
  144. data/examples/opengl/grabber/mainwindow.rb +189 -189
  145. data/examples/opengl/hellogl/glwidget.rb +226 -226
  146. data/examples/opengl/hellogl/main.rb +32 -32
  147. data/examples/opengl/hellogl/window.rb +66 -66
  148. data/examples/opengl/textures/glwidget.rb +151 -151
  149. data/examples/opengl/textures/main.rb +32 -32
  150. data/examples/opengl/textures/window.rb +77 -77
  151. data/examples/painting/basicdrawing/main.rb +32 -32
  152. data/examples/painting/basicdrawing/renderarea.rb +166 -166
  153. data/examples/painting/basicdrawing/window.rb +215 -215
  154. data/examples/painting/concentriccircles/circlewidget.rb +88 -88
  155. data/examples/painting/concentriccircles/main.rb +32 -32
  156. data/examples/painting/concentriccircles/window.rb +72 -72
  157. data/examples/painting/fontsampler/main.rb +32 -32
  158. data/examples/painting/fontsampler/mainwindow.rb +369 -369
  159. data/examples/painting/fontsampler/mainwindowbase.ui +136 -136
  160. data/examples/painting/fontsampler/makefile +8 -8
  161. data/examples/painting/fontsampler/previewdialog.rb +257 -257
  162. data/examples/painting/fontsampler/previewdialogbase.ui +224 -224
  163. data/examples/painting/fontsampler/previewlabel.rb +43 -43
  164. data/examples/painting/imagecomposition/imagecomposer.rb +152 -152
  165. data/examples/painting/imagecomposition/imagecomposition.qrc +6 -6
  166. data/examples/painting/imagecomposition/main.rb +33 -33
  167. data/examples/painting/imagecomposition/makefile +2 -2
  168. data/examples/painting/painterpaths/main.rb +32 -32
  169. data/examples/painting/painterpaths/renderarea.rb +97 -97
  170. data/examples/painting/painterpaths/window.rb +247 -247
  171. data/examples/painting/svgviewer/files/bubbles.svg +212 -212
  172. data/examples/painting/svgviewer/files/cubic.svg +77 -77
  173. data/examples/painting/svgviewer/files/spheres.svg +79 -79
  174. data/examples/painting/svgviewer/main.rb +38 -38
  175. data/examples/painting/svgviewer/mainwindow.rb +99 -99
  176. data/examples/painting/svgviewer/makefile +2 -2
  177. data/examples/painting/svgviewer/svgview.rb +156 -156
  178. data/examples/painting/svgviewer/svgviewer.qrc +6 -6
  179. data/examples/painting/svgviewer/svgwindow.rb +87 -87
  180. data/examples/painting/transformations/main.rb +32 -32
  181. data/examples/painting/transformations/renderarea.rb +127 -127
  182. data/examples/painting/transformations/window.rb +153 -153
  183. data/examples/passivepopup/passivepopup.rb +38 -38
  184. data/examples/qdbus/chat/chat.rb +146 -146
  185. data/examples/qdbus/chat/chat_adaptor.rb +12 -12
  186. data/examples/qdbus/chat/chat_interface.rb +13 -13
  187. data/examples/qdbus/chat/chatmainwindow.ui +184 -184
  188. data/examples/qdbus/chat/chatsetnickname.ui +145 -145
  189. data/examples/qdbus/chat/makefile +8 -8
  190. data/examples/qdbus/complexpingpong/complexping.rb +92 -92
  191. data/examples/qdbus/complexpingpong/complexpong.rb +83 -83
  192. data/examples/qdbus/complexpingpong/ping-common.rb +1 -1
  193. data/examples/qdbus/listnames/listnames.rb +69 -69
  194. data/examples/qdbus/pingpong/ping-common.rb +1 -1
  195. data/examples/qdbus/pingpong/ping.rb +52 -52
  196. data/examples/qdbus/pingpong/pong.rb +55 -55
  197. data/examples/qdbus/remotecontrolledcar/car/car.rb +151 -151
  198. data/examples/qdbus/remotecontrolledcar/car/main.rb +50 -50
  199. data/examples/qdbus/remotecontrolledcar/controller/controller.rb +66 -66
  200. data/examples/qdbus/remotecontrolledcar/controller/controller.ui +61 -61
  201. data/examples/qdbus/remotecontrolledcar/controller/main.rb +32 -32
  202. data/examples/qdbus/remotecontrolledcar/controller/makefile +2 -2
  203. data/examples/qtscribble/scribble.rb +270 -270
  204. data/examples/richtext/calendar/main.rb +33 -33
  205. data/examples/richtext/calendar/mainwindow.rb +173 -173
  206. data/examples/richtext/orderform/detailsdialog.rb +130 -130
  207. data/examples/richtext/orderform/main.rb +34 -34
  208. data/examples/richtext/orderform/mainwindow.rb +194 -194
  209. data/examples/richtext/syntaxhighlighter/examples/example +79 -79
  210. data/examples/richtext/syntaxhighlighter/highlighter.rb +90 -90
  211. data/examples/richtext/syntaxhighlighter/main.rb +34 -34
  212. data/examples/richtext/syntaxhighlighter/mainwindow.rb +105 -105
  213. data/examples/ruboids/LICENSE.txt +58 -58
  214. data/examples/ruboids/Manifest +26 -26
  215. data/examples/ruboids/README +53 -53
  216. data/examples/ruboids/TODO +29 -29
  217. data/examples/ruboids/boids.properties +33 -33
  218. data/examples/ruboids/generateManifest.rb +42 -42
  219. data/examples/ruboids/release.rb +152 -152
  220. data/examples/ruboids/ruboids/Boid.rb +141 -141
  221. data/examples/ruboids/ruboids/BoidView.rb +159 -159
  222. data/examples/ruboids/ruboids/Camera.rb +24 -24
  223. data/examples/ruboids/ruboids/CameraDialog.rb +218 -218
  224. data/examples/ruboids/ruboids/Canvas.rb +143 -143
  225. data/examples/ruboids/ruboids/Cloud.rb +61 -61
  226. data/examples/ruboids/ruboids/CloudView.rb +54 -54
  227. data/examples/ruboids/ruboids/Flock.rb +47 -47
  228. data/examples/ruboids/ruboids/Graphics.rb +278 -278
  229. data/examples/ruboids/ruboids/Params.rb +87 -87
  230. data/examples/ruboids/ruboids/Point.rb +153 -153
  231. data/examples/ruboids/ruboids/Thing.rb +34 -34
  232. data/examples/ruboids/ruboids/Triangle.rb +21 -21
  233. data/examples/ruboids/ruboids/View.rb +88 -88
  234. data/examples/ruboids/ruboids/World.rb +82 -82
  235. data/examples/ruboids/ruboids/WorldWindow.rb +52 -52
  236. data/examples/ruboids/ruboids/info.rb +12 -12
  237. data/examples/ruboids/ruboids/ruboids.rb +29 -29
  238. data/examples/threading/main_thread.rb +19 -19
  239. data/examples/tutorial/t1/t1.rb +10 -10
  240. data/examples/tutorial/t10/cannon.rb +72 -72
  241. data/examples/tutorial/t10/lcdrange.rb +45 -45
  242. data/examples/tutorial/t10/t10.rb +55 -55
  243. data/examples/tutorial/t11/cannon.rb +124 -124
  244. data/examples/tutorial/t11/lcdrange.rb +45 -45
  245. data/examples/tutorial/t11/t11.rb +65 -65
  246. data/examples/tutorial/t12/cannon.rb +158 -158
  247. data/examples/tutorial/t12/lcdrange.rb +59 -59
  248. data/examples/tutorial/t12/t12.rb +66 -66
  249. data/examples/tutorial/t13/cannon.rb +208 -208
  250. data/examples/tutorial/t13/gamebrd.rb +113 -113
  251. data/examples/tutorial/t13/lcdrange.rb +60 -60
  252. data/examples/tutorial/t13/t13.rb +11 -11
  253. data/examples/tutorial/t14/cannon.rb +263 -263
  254. data/examples/tutorial/t14/gamebrd.rb +123 -123
  255. data/examples/tutorial/t14/lcdrange.rb +63 -63
  256. data/examples/tutorial/t14/t14.rb +11 -11
  257. data/examples/tutorial/t2/t2.rb +16 -16
  258. data/examples/tutorial/t3/t3.rb +18 -18
  259. data/examples/tutorial/t4/t4.rb +25 -25
  260. data/examples/tutorial/t5/t5.rb +37 -37
  261. data/examples/tutorial/t6/t6.rb +52 -52
  262. data/examples/tutorial/t7/lcdrange.rb +32 -32
  263. data/examples/tutorial/t7/t7.rb +42 -42
  264. data/examples/tutorial/t8/cannon.rb +38 -38
  265. data/examples/tutorial/t8/lcdrange.rb +45 -45
  266. data/examples/tutorial/t8/t8.rb +43 -43
  267. data/examples/tutorial/t9/cannon.rb +45 -45
  268. data/examples/tutorial/t9/lcdrange.rb +46 -46
  269. data/examples/tutorial/t9/t9.rb +43 -43
  270. data/examples/widgets/analogclock/analogclock.rb +94 -94
  271. data/examples/widgets/analogclock/main.rb +9 -9
  272. data/examples/widgets/calculator/button.rb +45 -45
  273. data/examples/widgets/calculator/calculator.rb +382 -382
  274. data/examples/widgets/calculator/main.rb +32 -32
  275. data/examples/widgets/charactermap/characterwidget.rb +109 -109
  276. data/examples/widgets/charactermap/main.rb +32 -32
  277. data/examples/widgets/charactermap/mainwindow.rb +118 -118
  278. data/examples/widgets/digitalclock/digitalclock.rb +30 -30
  279. data/examples/widgets/digitalclock/main.rb +9 -9
  280. data/examples/widgets/groupbox/main.rb +32 -32
  281. data/examples/widgets/groupbox/window.rb +134 -134
  282. data/examples/widgets/icons/iconpreviewarea.rb +110 -110
  283. data/examples/widgets/icons/iconsizespinbox.rb +39 -39
  284. data/examples/widgets/icons/imagedelegate.rb +73 -73
  285. data/examples/widgets/icons/main.rb +32 -32
  286. data/examples/widgets/icons/mainwindow.rb +351 -351
  287. data/examples/widgets/imageviewer/imageviewer.rb +219 -219
  288. data/examples/widgets/imageviewer/main.rb +32 -32
  289. data/examples/widgets/lineedits/main.rb +32 -32
  290. data/examples/widgets/lineedits/window.rb +199 -199
  291. data/examples/widgets/movie/main.rb +32 -32
  292. data/examples/widgets/movie/movieplayer.rb +201 -201
  293. data/examples/widgets/screenshot/main.rb +32 -32
  294. data/examples/widgets/screenshot/screenshot.rb +154 -154
  295. data/examples/widgets/scribble/main.rb +32 -32
  296. data/examples/widgets/scribble/mainwindow.rb +202 -202
  297. data/examples/widgets/scribble/scribblearea.rb +154 -154
  298. data/examples/widgets/sliders/main.rb +32 -32
  299. data/examples/widgets/sliders/slidersgroup.rb +97 -97
  300. data/examples/widgets/sliders/window.rb +124 -124
  301. data/examples/widgets/spinboxes/main.rb +32 -32
  302. data/examples/widgets/spinboxes/window.rb +213 -213
  303. data/examples/widgets/tetrix/main.rb +33 -33
  304. data/examples/widgets/tetrix/tetrixboard.rb +346 -346
  305. data/examples/widgets/tetrix/tetrixpiece.rb +135 -135
  306. data/examples/widgets/tetrix/tetrixwindow.rb +88 -88
  307. data/examples/widgets/tooltips/main.rb +32 -32
  308. data/examples/widgets/tooltips/shapeitem.rb +31 -31
  309. data/examples/widgets/tooltips/sortingbox.rb +222 -222
  310. data/examples/widgets/wiggly/dialog.rb +48 -48
  311. data/examples/widgets/wiggly/main.rb +9 -9
  312. data/examples/widgets/wiggly/wigglywidget.rb +75 -75
  313. data/examples/widgets/windowflags/controllerwindow.rb +195 -195
  314. data/examples/widgets/windowflags/main.rb +32 -32
  315. data/examples/widgets/windowflags/previewwindow.rb +103 -103
  316. data/examples/xml/dombookmarks/frank.xbel +230 -230
  317. data/examples/xml/dombookmarks/jennifer.xbel +93 -93
  318. data/examples/xml/dombookmarks/main.rb +34 -34
  319. data/examples/xml/dombookmarks/mainwindow.rb +129 -129
  320. data/examples/xml/dombookmarks/xbeltree.rb +172 -172
  321. data/examples/xml/saxbookmarks/frank.xbel +230 -230
  322. data/examples/xml/saxbookmarks/jennifer.xbel +93 -93
  323. data/examples/xml/saxbookmarks/main.rb +34 -34
  324. data/examples/xml/saxbookmarks/mainwindow.rb +144 -144
  325. data/examples/xml/saxbookmarks/xbelgenerator.rb +95 -95
  326. data/examples/xml/saxbookmarks/xbelhandler.rb +122 -122
  327. data/ext/CMakeLists.txt +3 -0
  328. data/ext/cmake/modules/BasicFindPackageVersion.cmake.in +30 -30
  329. data/ext/cmake/modules/CMakeCSharpCompiler.cmake.in +7 -7
  330. data/ext/cmake/modules/CMakeCSharpInformation.cmake +366 -366
  331. data/ext/cmake/modules/CMakeDetermineCSharpCompiler.cmake +85 -85
  332. data/ext/cmake/modules/CMakeTestCSharpCompiler.cmake +1 -1
  333. data/ext/cmake/modules/FindLibraryWithDebug.cmake +113 -113
  334. data/ext/cmake/modules/FindMono.cmake +36 -36
  335. data/ext/cmake/modules/FindPHP5.cmake +179 -179
  336. data/ext/cmake/modules/FindPerlMore.cmake +78 -78
  337. data/ext/cmake/modules/FindPhonon.cmake +71 -71
  338. data/ext/cmake/modules/FindQImageBlitz.cmake +51 -51
  339. data/ext/cmake/modules/FindQScintilla.cmake +57 -57
  340. data/ext/cmake/modules/FindQwt5.cmake +104 -104
  341. data/ext/cmake/modules/FindRuby.cmake +279 -279
  342. data/ext/cmake/modules/FindSmoke.cmake +78 -78
  343. data/ext/cmake/modules/MacroLogFeature.cmake +146 -146
  344. data/ext/cmake/modules/MacroOptionalAddBindings.cmake +47 -47
  345. data/ext/cmake/modules/MacroOptionalFindPackage.cmake +28 -28
  346. data/ext/cmake/modules/MacroPushRequiredVars.cmake +47 -47
  347. data/ext/cmake/modules/MacroWriteBasicCMakeVersionFile.cmake +22 -22
  348. data/ext/cmake/modules/SmokeConfig.cmake.in +109 -109
  349. data/ext/generator/CMakeLists.txt +38 -38
  350. data/ext/generator/cmake/BasicFindPackageVersion.cmake.in +30 -30
  351. data/ext/generator/cmake/CMakeLists.txt +24 -24
  352. data/ext/generator/cmake/FindLibraryWithDebug.cmake +113 -113
  353. data/ext/generator/cmake/FindPhonon.cmake +71 -71
  354. data/ext/generator/cmake/FindQImageBlitz.cmake +51 -51
  355. data/ext/generator/cmake/FindQScintilla.cmake +57 -57
  356. data/ext/generator/cmake/FindQwt5.cmake +104 -104
  357. data/ext/generator/cmake/HandleImportedTargetsInCMakeRequiredLibraries.cmake +85 -85
  358. data/ext/generator/cmake/MacroLogFeature.cmake +146 -146
  359. data/ext/generator/cmake/MacroOptionalAddBindings.cmake +47 -47
  360. data/ext/generator/cmake/MacroOptionalFindPackage.cmake +28 -28
  361. data/ext/generator/cmake/MacroWriteBasicCMakeVersionFile.cmake +22 -22
  362. data/ext/generator/cmake/SmokeConfig.cmake.in +109 -109
  363. data/ext/generator/config.h +25 -25
  364. data/ext/generator/generator_export.h +31 -31
  365. data/ext/generator/generatorenvironment.cpp +52 -52
  366. data/ext/generator/generatorenvironment.h +35 -35
  367. data/ext/generator/generatorpreprocessor.cpp +303 -303
  368. data/ext/generator/generatorpreprocessor.h +83 -83
  369. data/ext/generator/generators/CMakeLists.txt +4 -4
  370. data/ext/generator/generators/dump/CMakeLists.txt +15 -15
  371. data/ext/generator/generators/dump/generator_dump.cpp +36 -36
  372. data/ext/generator/generators/smoke/CMakeLists.txt +18 -18
  373. data/ext/generator/generators/smoke/generator_smoke.cpp +240 -240
  374. data/ext/generator/generators/smoke/globals.h +140 -140
  375. data/ext/generator/generators/smoke/helpers.cpp +793 -793
  376. data/ext/generator/generators/smoke/writeClasses.cpp +502 -502
  377. data/ext/generator/generators/smoke/writeSmokeDataFile.cpp +754 -754
  378. data/ext/generator/generatorvisitor.cpp +922 -922
  379. data/ext/generator/generatorvisitor.h +119 -119
  380. data/ext/generator/name_compiler.cpp +205 -205
  381. data/ext/generator/name_compiler.h +76 -76
  382. data/ext/generator/options.cpp +33 -33
  383. data/ext/generator/options.h +46 -46
  384. data/ext/generator/parser/CMakeLists.txt +50 -50
  385. data/ext/generator/parser/ast.cpp +21 -21
  386. data/ext/generator/parser/ast.h +923 -923
  387. data/ext/generator/parser/astutilities.h +65 -65
  388. data/ext/generator/parser/codegenerator.cpp +867 -867
  389. data/ext/generator/parser/codegenerator.h +180 -180
  390. data/ext/generator/parser/codemodel_fwd.h +76 -76
  391. data/ext/generator/parser/commentformatter.cpp +54 -54
  392. data/ext/generator/parser/commentformatter.h +45 -45
  393. data/ext/generator/parser/commentparser.cpp +109 -109
  394. data/ext/generator/parser/commentparser.h +84 -84
  395. data/ext/generator/parser/control.cpp +40 -40
  396. data/ext/generator/parser/control.h +51 -51
  397. data/ext/generator/parser/cppparser_export.h +33 -33
  398. data/ext/generator/parser/default_visitor.cpp +470 -470
  399. data/ext/generator/parser/default_visitor.h +116 -116
  400. data/ext/generator/parser/dumptree.cpp +146 -146
  401. data/ext/generator/parser/dumptree.h +50 -50
  402. data/ext/generator/parser/indexedstring.cpp +213 -213
  403. data/ext/generator/parser/indexedstring.h +147 -147
  404. data/ext/generator/parser/kdevelop-parser-rev +1 -1
  405. data/ext/generator/parser/kdevvarlengtharray.h +346 -346
  406. data/ext/generator/parser/lexer.cpp +964 -964
  407. data/ext/generator/parser/lexer.h +308 -308
  408. data/ext/generator/parser/listnode.cpp +20 -20
  409. data/ext/generator/parser/listnode.h +97 -97
  410. data/ext/generator/parser/memorypool.cpp +20 -20
  411. data/ext/generator/parser/memorypool.h +41 -41
  412. data/ext/generator/parser/name_compiler.cpp +190 -190
  413. data/ext/generator/parser/name_compiler.h +77 -77
  414. data/ext/generator/parser/parser.cpp +4708 -4708
  415. data/ext/generator/parser/parser.h +290 -290
  416. data/ext/generator/parser/parsesession.cpp +106 -106
  417. data/ext/generator/parser/parsesession.h +87 -87
  418. data/ext/generator/parser/problem.h +21 -21
  419. data/ext/generator/parser/rpp/CMakeLists.txt +45 -45
  420. data/ext/generator/parser/rpp/Makefile.am +13 -13
  421. data/ext/generator/parser/rpp/anchor.h +51 -51
  422. data/ext/generator/parser/rpp/appendedlist.h +363 -363
  423. data/ext/generator/parser/rpp/chartools.cpp +146 -146
  424. data/ext/generator/parser/rpp/chartools.h +99 -99
  425. data/ext/generator/parser/rpp/macrorepository.cpp +44 -44
  426. data/ext/generator/parser/rpp/macrorepository.h +59 -59
  427. data/ext/generator/parser/rpp/pp-configuration +86 -86
  428. data/ext/generator/parser/rpp/pp-engine.h +267 -267
  429. data/ext/generator/parser/rpp/pp-environment.cpp +271 -271
  430. data/ext/generator/parser/rpp/pp-environment.h +119 -119
  431. data/ext/generator/parser/rpp/pp-internal.cpp +38 -38
  432. data/ext/generator/parser/rpp/pp-internal.h +37 -37
  433. data/ext/generator/parser/rpp/pp-location.cpp +191 -191
  434. data/ext/generator/parser/rpp/pp-location.h +89 -89
  435. data/ext/generator/parser/rpp/pp-macro-expander.cpp +568 -568
  436. data/ext/generator/parser/rpp/pp-macro-expander.cpp.orig +558 -558
  437. data/ext/generator/parser/rpp/pp-macro-expander.h +130 -130
  438. data/ext/generator/parser/rpp/pp-macro.cpp +153 -153
  439. data/ext/generator/parser/rpp/pp-macro.h +176 -176
  440. data/ext/generator/parser/rpp/pp-scanner.cpp +311 -311
  441. data/ext/generator/parser/rpp/pp-scanner.h +97 -97
  442. data/ext/generator/parser/rpp/pp-stream.cpp +425 -425
  443. data/ext/generator/parser/rpp/pp-stream.h +183 -183
  444. data/ext/generator/parser/rpp/preprocessor.cpp +65 -65
  445. data/ext/generator/parser/rpp/preprocessor.h +80 -80
  446. data/ext/generator/parser/rpp/rpp.pri +2 -2
  447. data/ext/generator/parser/rpp/test/t001.cpp +23 -23
  448. data/ext/generator/parser/rpp/test/t002.cpp +15 -15
  449. data/ext/generator/parser/rpp/test/t003.cpp +10 -10
  450. data/ext/generator/parser/rpp/test/t004.cpp +9 -9
  451. data/ext/generator/parser/rpp/test/t005.cpp +10 -10
  452. data/ext/generator/parser/rpp/test/t006.cpp +10 -10
  453. data/ext/generator/parser/rpp/test/t007.cpp +6 -6
  454. data/ext/generator/parser/rpp/test/t008.cpp +6 -6
  455. data/ext/generator/parser/rpp/test/t009.cpp +5 -5
  456. data/ext/generator/parser/rpp/test/t010.cpp +15 -15
  457. data/ext/generator/parser/rpp/test/t011.cpp +9 -9
  458. data/ext/generator/parser/rpp/tests/CMakeLists.txt +17 -17
  459. data/ext/generator/parser/rpp/tests/main.cpp +69 -69
  460. data/ext/generator/parser/rxx.pri +50 -50
  461. data/ext/generator/parser/rxx_allocator.h +128 -128
  462. data/ext/generator/parser/safetycounter.h +57 -57
  463. data/ext/generator/parser/simplecursor.h +74 -74
  464. data/ext/generator/parser/stringhelpers.cpp +577 -577
  465. data/ext/generator/parser/stringhelpers.h +118 -118
  466. data/ext/generator/parser/symbol.h +140 -140
  467. data/ext/generator/parser/tests/CMakeLists.txt +46 -46
  468. data/ext/generator/parser/tests/test_generator.cpp +259 -259
  469. data/ext/generator/parser/tests/test_parser.cpp +474 -474
  470. data/ext/generator/parser/tests/test_pool.cpp +109 -109
  471. data/ext/generator/parser/tests/test_pool.h +35 -35
  472. data/ext/generator/parser/tests/testconfig.h.cmake +4 -4
  473. data/ext/generator/parser/tokens.cpp +367 -367
  474. data/ext/generator/parser/tokens.h +148 -148
  475. data/ext/generator/parser/type_compiler.cpp +135 -135
  476. data/ext/generator/parser/type_compiler.h +68 -68
  477. data/ext/generator/parser/visitor.cpp +115 -115
  478. data/ext/generator/parser/visitor.h +138 -138
  479. data/ext/generator/smoke.h +557 -557
  480. data/ext/generator/smokegen_string.h +43 -43
  481. data/ext/generator/type.cpp +204 -204
  482. data/ext/generator/type.h +497 -497
  483. data/ext/generator/type_compiler.cpp +277 -277
  484. data/ext/generator/type_compiler.h +80 -80
  485. data/ext/ruby/CMakeLists.txt +64 -64
  486. data/ext/ruby/qtdeclarative/CMakeLists.txt +17 -17
  487. data/ext/ruby/qtdeclarative/qtdeclarative.cpp +67 -67
  488. data/ext/ruby/qtdeclarative/qtdeclarative.rb +17 -17
  489. data/ext/ruby/qtdeclarative/qtdeclarativehandlers.cpp +36 -36
  490. data/ext/ruby/qtruby/AUTHORS +54 -54
  491. data/ext/ruby/qtruby/COPYING +355 -355
  492. data/ext/ruby/qtruby/COPYING.LIB +510 -510
  493. data/ext/ruby/qtruby/ChangeLog +3732 -3732
  494. data/ext/ruby/qtruby/INSTALL +79 -79
  495. data/ext/ruby/qtruby/README +264 -264
  496. data/ext/ruby/qtruby/TODO +8 -8
  497. data/ext/ruby/qtruby/bin/rbqtapi +152 -152
  498. data/ext/ruby/qtruby/rails_support/CMakeLists.txt +1 -1
  499. data/ext/ruby/qtruby/rails_support/active_item_model.rb +234 -234
  500. data/ext/ruby/qtruby/rails_support/active_table_model.rb +122 -122
  501. data/ext/ruby/qtruby/src/Qt.cpp +8 -8
  502. data/ext/ruby/qtruby/src/marshall_basetypes.h +208 -208
  503. data/ext/ruby/qtruby/src/marshall_complex.h +175 -175
  504. data/ext/ruby/qtruby/src/marshall_macros.h +647 -647
  505. data/ext/ruby/qtruby/src/marshall_types.cpp +815 -815
  506. data/ext/ruby/qtruby/src/marshall_types.h +240 -240
  507. data/ext/ruby/qtruby/src/qtruby.cpp +69 -12
  508. data/ext/ruby/qtruby/src/qtruby.h +1 -1
  509. data/ext/ruby/qtruby/test/opoverloading.rb +46 -46
  510. data/ext/ruby/qtruby/test/unittests.rb +151 -151
  511. data/ext/ruby/qtruby/tools/rbrcc/main.cpp +173 -173
  512. data/ext/ruby/qtruby/tools/rbrcc/rbrcc.pro +14 -14
  513. data/ext/ruby/qtruby/tools/rbrcc/rcc.cpp +648 -648
  514. data/ext/ruby/qtruby/tools/rbrcc/rcc.h +165 -165
  515. data/ext/ruby/qtruby/tools/rbuic/LICENSE.GPL +280 -280
  516. data/ext/ruby/qtruby/tools/rbuic/TODO +4 -4
  517. data/ext/ruby/qtruby/tools/rbuic/customwidgetsinfo.cpp +106 -106
  518. data/ext/ruby/qtruby/tools/rbuic/customwidgetsinfo.h +95 -95
  519. data/ext/ruby/qtruby/tools/rbuic/databaseinfo.cpp +102 -102
  520. data/ext/ruby/qtruby/tools/rbuic/databaseinfo.h +85 -85
  521. data/ext/ruby/qtruby/tools/rbuic/driver.cpp +384 -384
  522. data/ext/ruby/qtruby/tools/rbuic/driver.h +141 -141
  523. data/ext/ruby/qtruby/tools/rbuic/option.h +3 -0
  524. data/ext/ruby/qtruby/tools/rbuic/rbuic.pri +23 -23
  525. data/ext/ruby/qtruby/tools/rbuic/rbuic4.pro +43 -43
  526. data/ext/ruby/qtruby/tools/rbuic/ruby/rbextractimages.cpp +150 -150
  527. data/ext/ruby/qtruby/tools/rbuic/ruby/rbextractimages.h +83 -83
  528. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwritedeclaration.cpp +217 -217
  529. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwritedeclaration.h +85 -85
  530. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteicondata.cpp +185 -185
  531. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteicondata.h +86 -86
  532. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteicondeclaration.cpp +88 -88
  533. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteicondeclaration.h +83 -83
  534. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteiconinitialization.cpp +126 -126
  535. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteiconinitialization.h +87 -87
  536. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteinitialization.cpp +2478 -2478
  537. data/ext/ruby/qtruby/tools/rbuic/ruby/rbwriteinitialization.h +314 -314
  538. data/ext/ruby/qtruby/tools/rbuic/ruby/ruby.pri +18 -18
  539. data/ext/ruby/qtruby/tools/rbuic/treewalker.cpp +318 -318
  540. data/ext/ruby/qtruby/tools/rbuic/treewalker.h +139 -139
  541. data/ext/ruby/qtruby/tools/rbuic/ui4.cpp +7623 -7623
  542. data/ext/ruby/qtruby/tools/rbuic/ui4.h +3180 -3180
  543. data/ext/ruby/qtruby/tools/rbuic/utils.h +125 -125
  544. data/ext/ruby/qtruby/tools/rbuic/validator.cpp +100 -100
  545. data/ext/ruby/qtruby/tools/rbuic/validator.h +80 -80
  546. data/ext/ruby/qtscript/CMakeLists.txt +19 -19
  547. data/ext/ruby/qtscript/qtscript.cpp +83 -83
  548. data/ext/ruby/qtscript/qtscript.rb +40 -40
  549. data/ext/ruby/qtscript/qtscripthandlers.cpp +37 -37
  550. data/ext/ruby/qtscript/smokedata.cpp +1403 -1403
  551. data/ext/ruby/qttest/CMakeLists.txt +18 -18
  552. data/ext/ruby/qttest/ChangeLog +9 -9
  553. data/ext/ruby/qttest/examples/myfirsttest.rb +30 -30
  554. data/ext/ruby/qttest/qttest.cpp +83 -83
  555. data/ext/ruby/qttest/qttest.rb +166 -166
  556. data/ext/ruby/qttest/qttesthandlers.cpp +37 -37
  557. data/ext/ruby/qtuitools/CMakeLists.txt +16 -16
  558. data/ext/ruby/qtuitools/qtuitools.cpp +83 -83
  559. data/ext/ruby/qtuitools/qtuitools.rb +17 -17
  560. data/ext/ruby/qtuitools/qtuitoolshandlers.cpp +32 -32
  561. data/ext/ruby/qtwebkit/CMakeLists.txt +17 -17
  562. data/ext/ruby/qtwebkit/qtwebkit.cpp +67 -67
  563. data/ext/ruby/qtwebkit/qtwebkit.rb +17 -17
  564. data/ext/ruby/qtwebkit/qtwebkithandlers.cpp +40 -40
  565. data/ext/smoke/deptool/CMakeLists.txt +7 -7
  566. data/ext/smoke/deptool/main.cpp +128 -128
  567. data/ext/smoke/qtcore/CMakeLists.txt +88 -88
  568. data/ext/smoke/qtcore/QtGuess.txt +180 -180
  569. data/ext/smoke/qtcore/config.xml.cmake +10 -10
  570. data/ext/smoke/qtcore/qt-config.xml.cmake +21 -21
  571. data/ext/smoke/qtcore/qtcore_includes.h +1 -1
  572. data/ext/smoke/qtcore/smokeconfig.xml +193 -193
  573. data/ext/smoke/qtcore/tests/CMakeLists.txt +13 -13
  574. data/ext/smoke/qtcore/tests/test.cpp +846 -846
  575. data/ext/smoke/qtcore_smoke.h +16 -16
  576. data/ext/smoke/qtdbus/CMakeLists.txt +38 -38
  577. data/ext/smoke/qtdbus/config.xml.cmake +11 -11
  578. data/ext/smoke/qtdbus/qtdbus_includes.h +2 -2
  579. data/ext/smoke/qtdbus/smokeconfig.xml +65 -65
  580. data/ext/smoke/qtdbus_smoke.h +16 -16
  581. data/ext/smoke/qtdeclarative/CMakeLists.txt +45 -45
  582. data/ext/smoke/qtdeclarative/config.xml.cmake +12 -12
  583. data/ext/smoke/qtdeclarative/qtdeclarative_includes.h +3 -3
  584. data/ext/smoke/qtdeclarative/smokeconfig.xml +59 -59
  585. data/ext/smoke/qtdeclarative_smoke.h +16 -16
  586. data/ext/smoke/qtgui/CMakeLists.txt +76 -76
  587. data/ext/smoke/qtgui/config.xml.cmake +11 -11
  588. data/ext/smoke/qtgui/qtgui_includes.h +7 -7
  589. data/ext/smoke/qtgui/smokeconfig.xml +500 -500
  590. data/ext/smoke/qtgui_smoke.h +16 -16
  591. data/ext/smoke/qthelp/CMakeLists.txt +45 -45
  592. data/ext/smoke/qthelp/config.xml.cmake +13 -13
  593. data/ext/smoke/qthelp/qthelp_includes.h +3 -3
  594. data/ext/smoke/qthelp/smokeconfig.xml +54 -54
  595. data/ext/smoke/qthelp_smoke.h +16 -16
  596. data/ext/smoke/qtmultimedia/CMakeLists.txt +42 -42
  597. data/ext/smoke/qtmultimedia/config.xml.cmake +12 -12
  598. data/ext/smoke/qtmultimedia/qtmultimedia_includes.h +3 -3
  599. data/ext/smoke/qtmultimedia/smokeconfig.xml +51 -51
  600. data/ext/smoke/qtmultimedia_smoke.h +16 -16
  601. data/ext/smoke/qtnetwork/CMakeLists.txt +38 -38
  602. data/ext/smoke/qtnetwork/config.xml.cmake +11 -11
  603. data/ext/smoke/qtnetwork/qtnetwork_includes.h +2 -2
  604. data/ext/smoke/qtnetwork/smokeconfig.xml +81 -81
  605. data/ext/smoke/qtnetwork_smoke.h +16 -16
  606. data/ext/smoke/qtopengl/CMakeLists.txt +43 -43
  607. data/ext/smoke/qtopengl/config.xml.cmake +13 -13
  608. data/ext/smoke/qtopengl/qtopengl_includes.h +3 -3
  609. data/ext/smoke/qtopengl/smokeconfig.xml +58 -58
  610. data/ext/smoke/qtopengl_smoke.h +16 -16
  611. data/ext/smoke/qtscript/CMakeLists.txt +31 -31
  612. data/ext/smoke/qtscript/config.xml.cmake +11 -11
  613. data/ext/smoke/qtscript/qtscript_includes.h +14 -14
  614. data/ext/smoke/qtscript/smokeconfig.xml +39 -39
  615. data/ext/smoke/qtscript_smoke.h +16 -16
  616. data/ext/smoke/qtsql/CMakeLists.txt +45 -45
  617. data/ext/smoke/qtsql/config.xml.cmake +11 -11
  618. data/ext/smoke/qtsql/qtsql_includes.h +3 -3
  619. data/ext/smoke/qtsql/smokeconfig.xml +60 -60
  620. data/ext/smoke/qtsql_smoke.h +16 -16
  621. data/ext/smoke/qtsvg/CMakeLists.txt +43 -43
  622. data/ext/smoke/qtsvg/config.xml.cmake +12 -12
  623. data/ext/smoke/qtsvg/qtsvg_includes.h +3 -3
  624. data/ext/smoke/qtsvg/smokeconfig.xml +46 -46
  625. data/ext/smoke/qtsvg_smoke.h +16 -16
  626. data/ext/smoke/qttest/CMakeLists.txt +35 -35
  627. data/ext/smoke/qttest/config.xml.cmake +12 -12
  628. data/ext/smoke/qttest/qttest_includes.h +14 -14
  629. data/ext/smoke/qttest/smokeconfig.xml +36 -36
  630. data/ext/smoke/qttest_smoke.h +16 -16
  631. data/ext/smoke/qtuitools/CMakeLists.txt +30 -30
  632. data/ext/smoke/qtuitools/config.xml.cmake +12 -12
  633. data/ext/smoke/qtuitools/qtuitools_includes.h +1 -1
  634. data/ext/smoke/qtuitools/smokeconfig.xml +20 -20
  635. data/ext/smoke/qtuitools_smoke.h +16 -16
  636. data/ext/smoke/qtwebkit/CMakeLists.txt +36 -36
  637. data/ext/smoke/qtwebkit/config.xml.cmake +11 -11
  638. data/ext/smoke/qtwebkit/qtwebkit_includes.h +1 -1
  639. data/ext/smoke/qtwebkit/smokeconfig.xml +48 -48
  640. data/ext/smoke/qtwebkit_smoke.h +16 -16
  641. data/ext/smoke/qtxml/CMakeLists.txt +41 -41
  642. data/ext/smoke/qtxml/config.xml.cmake +11 -11
  643. data/ext/smoke/qtxml/qtxml_includes.h +2 -2
  644. data/ext/smoke/qtxml/smokeconfig.xml +70 -70
  645. data/ext/smoke/qtxml_smoke.h +16 -16
  646. data/ext/smoke/qtxmlpatterns/CMakeLists.txt +42 -42
  647. data/ext/smoke/qtxmlpatterns/config.xml.cmake +12 -12
  648. data/ext/smoke/qtxmlpatterns/qtxmlpatterns_includes.h +3 -3
  649. data/ext/smoke/qtxmlpatterns/smokeconfig.xml +80 -80
  650. data/ext/smoke/qtxmlpatterns_smoke.h +16 -16
  651. data/ext/smoke/smokeapi/CMakeLists.txt +9 -9
  652. data/ext/smoke/smokeapi/main.cpp +309 -309
  653. data/ext/smoke/smokebase/CMakeLists.txt +11 -11
  654. data/ext/smoke/smokebase/smokebase.cpp +6 -6
  655. data/ext/smoke/solid_smoke.h +16 -16
  656. data/extconf.rb +2 -2
  657. data/lib/Qt.rb +1 -1
  658. data/lib/Qt4.rb +111 -111
  659. data/lib/qtbindings_version.rb +2 -2
  660. data/lib/qtdeclarative/qtdeclarative.rb +17 -17
  661. data/lib/qtscript/qtscript.rb +40 -40
  662. data/lib/qttest/qttest.rb +166 -166
  663. data/lib/qtuitools/qtuitools.rb +17 -17
  664. data/lib/qtwebkit/qtwebkit.rb +17 -17
  665. data/qtbindings.gemspec +18 -18
  666. metadata +48 -48
@@ -1,119 +1,119 @@
1
- /*
2
- Copyright (C) 2009 Arno Rehn <arno@arnorehn.de>
3
-
4
- This program is free software; you can redistribute it and/or modify
5
- it under the terms of the GNU General Public License as published by
6
- the Free Software Foundation; either version 2 of the License, or
7
- (at your option) any later version.
8
-
9
- This program is distributed in the hope that it will be useful,
10
- but WITHOUT ANY WARRANTY; without even the implied warranty of
11
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- GNU General Public License for more details.
13
-
14
- You should have received a copy of the GNU General Public License along
15
- with this program; if not, write to the Free Software Foundation, Inc.,
16
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
- */
18
-
19
- #ifndef PARSERVISITOR_H
20
- #define PARSERVISITOR_H
21
-
22
- #include <QStringList>
23
- #include <QStack>
24
-
25
- #include <default_visitor.h>
26
- #include <parsesession.h>
27
- #include <lexer.h>
28
-
29
- #include "type.h"
30
-
31
- class NameCompiler;
32
- class TypeCompiler;
33
-
34
- struct QProperty
35
- {
36
- QString type;
37
- bool isPtr;
38
- QString name;
39
- QString read;
40
- QString write;
41
- };
42
-
43
- class GeneratorVisitor : public DefaultVisitor
44
- {
45
- public:
46
- GeneratorVisitor(ParseSession *session, const QString& header = QString());
47
- virtual ~GeneratorVisitor();
48
- BasicTypeDeclaration* resolveTypeInSuperClasses(const Class* klass, const QString& name);
49
- BasicTypeDeclaration* resolveType(const QString& name);
50
- BasicTypeDeclaration* resolveType(QString& name);
51
- QString resolveEnumMember(const QString& name);
52
- QString resolveEnumMember(const QString& parent, const QString& name);
53
- QPair<bool, bool> parseCv(const ListNode<std::size_t> *cv);
54
-
55
- protected:
56
- inline const Token& token(std::size_t token) { return m_session->token_stream->token(token); }
57
-
58
- virtual void visitAccessSpecifier(AccessSpecifierAST* node);
59
- virtual void visitBaseSpecifier(BaseSpecifierAST* node);
60
- virtual void visitClassSpecifier(ClassSpecifierAST* node);
61
- virtual void visitDeclarator(DeclaratorAST* node);
62
- virtual void visitElaboratedTypeSpecifier(ElaboratedTypeSpecifierAST* node);
63
- virtual void visitEnumSpecifier(EnumSpecifierAST *);
64
- virtual void visitEnumerator(EnumeratorAST *);
65
- virtual void visitFunctionDefinition(FunctionDefinitionAST* );
66
- virtual void visitInitializerClause(InitializerClauseAST *);
67
- virtual void visitNamespace(NamespaceAST* node);
68
- virtual void visitParameterDeclaration(ParameterDeclarationAST* node);
69
- virtual void visitSimpleDeclaration(SimpleDeclarationAST* node);
70
- virtual void visitSimpleTypeSpecifier(SimpleTypeSpecifierAST* node);
71
- virtual void visitTemplateDeclaration(TemplateDeclarationAST* node);
72
- virtual void visitTemplateArgument(TemplateArgumentAST* node);
73
- virtual void visitTypedef(TypedefAST* node);
74
- virtual void visitUsing(UsingAST* node);
75
- virtual void visitUsingDirective(UsingDirectiveAST* node);
76
-
77
- private:
78
- NameCompiler *nc;
79
- TypeCompiler *tc;
80
-
81
- ParseSession *m_session;
82
- QString m_header;
83
-
84
- bool createType;
85
- bool createTypedef;
86
- short inClass;
87
-
88
- bool inTemplate;
89
- bool isStatic;
90
- bool isVirtual;
91
- bool isExplicit;
92
- bool hasInitializer;
93
-
94
- Type currentType;
95
- Type* currentTypeRef;
96
-
97
- bool inMethod;
98
- Method currentMethod;
99
-
100
- Function currentFunction;
101
-
102
- Enum currentEnum;
103
- Enum* currentEnumRef;
104
-
105
- Class::Kind kind;
106
- QStack<Class*> klass;
107
- QStack<Access> access;
108
- QStack<bool> inSignals;
109
- QStack<bool> inSlots;
110
-
111
- QStack<QStringList> usingTypes;
112
- QStack<QStringList> usingNamespaces;
113
-
114
- QStringList nspace;
115
-
116
- QStack<QList<QProperty> > q_properties;
117
- };
118
-
119
- #endif // PARSERVISITOR_H
1
+ /*
2
+ Copyright (C) 2009 Arno Rehn <arno@arnorehn.de>
3
+
4
+ This program is free software; you can redistribute it and/or modify
5
+ it under the terms of the GNU General Public License as published by
6
+ the Free Software Foundation; either version 2 of the License, or
7
+ (at your option) any later version.
8
+
9
+ This program is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ GNU General Public License for more details.
13
+
14
+ You should have received a copy of the GNU General Public License along
15
+ with this program; if not, write to the Free Software Foundation, Inc.,
16
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
+ */
18
+
19
+ #ifndef PARSERVISITOR_H
20
+ #define PARSERVISITOR_H
21
+
22
+ #include <QStringList>
23
+ #include <QStack>
24
+
25
+ #include <default_visitor.h>
26
+ #include <parsesession.h>
27
+ #include <lexer.h>
28
+
29
+ #include "type.h"
30
+
31
+ class NameCompiler;
32
+ class TypeCompiler;
33
+
34
+ struct QProperty
35
+ {
36
+ QString type;
37
+ bool isPtr;
38
+ QString name;
39
+ QString read;
40
+ QString write;
41
+ };
42
+
43
+ class GeneratorVisitor : public DefaultVisitor
44
+ {
45
+ public:
46
+ GeneratorVisitor(ParseSession *session, const QString& header = QString());
47
+ virtual ~GeneratorVisitor();
48
+ BasicTypeDeclaration* resolveTypeInSuperClasses(const Class* klass, const QString& name);
49
+ BasicTypeDeclaration* resolveType(const QString& name);
50
+ BasicTypeDeclaration* resolveType(QString& name);
51
+ QString resolveEnumMember(const QString& name);
52
+ QString resolveEnumMember(const QString& parent, const QString& name);
53
+ QPair<bool, bool> parseCv(const ListNode<std::size_t> *cv);
54
+
55
+ protected:
56
+ inline const Token& token(std::size_t token) { return m_session->token_stream->token(token); }
57
+
58
+ virtual void visitAccessSpecifier(AccessSpecifierAST* node);
59
+ virtual void visitBaseSpecifier(BaseSpecifierAST* node);
60
+ virtual void visitClassSpecifier(ClassSpecifierAST* node);
61
+ virtual void visitDeclarator(DeclaratorAST* node);
62
+ virtual void visitElaboratedTypeSpecifier(ElaboratedTypeSpecifierAST* node);
63
+ virtual void visitEnumSpecifier(EnumSpecifierAST *);
64
+ virtual void visitEnumerator(EnumeratorAST *);
65
+ virtual void visitFunctionDefinition(FunctionDefinitionAST* );
66
+ virtual void visitInitializerClause(InitializerClauseAST *);
67
+ virtual void visitNamespace(NamespaceAST* node);
68
+ virtual void visitParameterDeclaration(ParameterDeclarationAST* node);
69
+ virtual void visitSimpleDeclaration(SimpleDeclarationAST* node);
70
+ virtual void visitSimpleTypeSpecifier(SimpleTypeSpecifierAST* node);
71
+ virtual void visitTemplateDeclaration(TemplateDeclarationAST* node);
72
+ virtual void visitTemplateArgument(TemplateArgumentAST* node);
73
+ virtual void visitTypedef(TypedefAST* node);
74
+ virtual void visitUsing(UsingAST* node);
75
+ virtual void visitUsingDirective(UsingDirectiveAST* node);
76
+
77
+ private:
78
+ NameCompiler *nc;
79
+ TypeCompiler *tc;
80
+
81
+ ParseSession *m_session;
82
+ QString m_header;
83
+
84
+ bool createType;
85
+ bool createTypedef;
86
+ short inClass;
87
+
88
+ bool inTemplate;
89
+ bool isStatic;
90
+ bool isVirtual;
91
+ bool isExplicit;
92
+ bool hasInitializer;
93
+
94
+ Type currentType;
95
+ Type* currentTypeRef;
96
+
97
+ bool inMethod;
98
+ Method currentMethod;
99
+
100
+ Function currentFunction;
101
+
102
+ Enum currentEnum;
103
+ Enum* currentEnumRef;
104
+
105
+ Class::Kind kind;
106
+ QStack<Class*> klass;
107
+ QStack<Access> access;
108
+ QStack<bool> inSignals;
109
+ QStack<bool> inSlots;
110
+
111
+ QStack<QStringList> usingTypes;
112
+ QStack<QStringList> usingNamespaces;
113
+
114
+ QStringList nspace;
115
+
116
+ QStack<QList<QProperty> > q_properties;
117
+ };
118
+
119
+ #endif // PARSERVISITOR_H
@@ -1,205 +1,205 @@
1
- /* This file is part of KDevelop
2
- Copyright 2002-2005 Roberto Raggi <roberto@kdevelop.org>
3
-
4
- This library is free software; you can redistribute it and/or
5
- modify it under the terms of the GNU Library General Public
6
- License version 2 as published by the Free Software Foundation.
7
-
8
- This library is distributed in the hope that it will be useful,
9
- but WITHOUT ANY WARRANTY; without even the implied warranty of
10
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
- Library General Public License for more details.
12
-
13
- You should have received a copy of the GNU Library General Public License
14
- along with this library; see the file COPYING.LIB. If not, write to
15
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16
- Boston, MA 02110-1301, USA.
17
- */
18
-
19
- //krazy:excludeall=cpp
20
-
21
- #include "name_compiler.h"
22
- #include "type_compiler.h"
23
- #include <lexer.h>
24
- #include <symbol.h>
25
- #include <parsesession.h>
26
- #include <tokens.h>
27
- #include "type_compiler.h"
28
-
29
- #include <QtCore/qdebug.h>
30
-
31
- ///@todo this is very expensive
32
- QString decode(ParseSession* session, AST* ast, bool without_spaces = false)
33
- {
34
- QString ret;
35
- if( without_spaces ) {
36
- //Decode operator-names without spaces for now, since we rely on it in other places.
37
- ///@todo change this, here and in all the places that rely on it. Operators should then by written like "operator [ ]"(space between each token)
38
- for( size_t a = ast->start_token; a < ast->end_token; a++ ) {
39
- ret += session->token_stream->token(a).symbolString();
40
- }
41
- } else {
42
- for( size_t a = ast->start_token; a < ast->end_token; a++ ) {
43
- ret += session->token_stream->token(a).symbolString() + ' ';
44
- }
45
- }
46
- return ret;
47
- }
48
-
49
- /*uint parseConstVolatile(ParseSession* session, const ListNode<std::size_t> *cv)
50
- {
51
- uint ret = AbstractType::NoModifiers;
52
-
53
- if (cv) {
54
- const ListNode<std::size_t> *it = cv->toFront();
55
- const ListNode<std::size_t> *end = it;
56
- do {
57
- int kind = session->token_stream->kind(it->element);
58
- if (kind == Token_const)
59
- ret |= AbstractType::ConstModifier;
60
- else if (kind == Token_volatile)
61
- ret |= AbstractType::VolatileModifier;
62
-
63
- it = it->next;
64
- } while (it != end);
65
- }
66
-
67
- return ret;
68
- }*/
69
-
70
- /*IndexedTypeIdentifier typeIdentifierFromTemplateArgument(ParseSession* session, TemplateArgumentAST *node)
71
- {
72
- IndexedTypeIdentifier id;
73
- if(node->expression) {
74
- id = IndexedTypeIdentifier(decode(session, node), true);
75
- }else if(node->type_id) {
76
- //Parse the pointer operators
77
- TypeCompiler tc(session);
78
- tc.run(node->type_id->type_specifier);
79
- id = IndexedTypeIdentifier(tc.identifier());
80
- //node->type_id->type_specifier->cv
81
-
82
- if(node->type_id->type_specifier)
83
- id.setIsConstant(parseConstVolatile(session, node->type_id->type_specifier->cv) & AbstractType::ConstModifier);
84
-
85
- if(node->type_id->declarator && node->type_id->declarator->ptr_ops)
86
- {
87
- const ListNode<PtrOperatorAST*> *it = node->type_id->declarator->ptr_ops->toFront();
88
- const ListNode<PtrOperatorAST*> *end = it; ///@todo check ordering, eventually walk the list in reversed order
89
- do
90
- {
91
- if(it->element && it->element->op) { ///@todo What about ptr-to-member?
92
- static IndexedString ref('&');
93
- if( session->token_stream->token(it->element->op).symbol() == ref) {
94
- //We're handling a 'reference'
95
- id.setIsReference(true);
96
- } else {
97
- //We're handling a real pointer
98
- id.setPointerDepth(id.pointerDepth()+1);
99
-
100
- if(it->element->cv) {
101
- id.setIsConstPointer(id.pointerDepth()-1, parseConstVolatile(session, it->element->cv) & AbstractType::ConstModifier);
102
- }
103
- }
104
- }
105
- it = it->next;
106
- }
107
- while (it != end);
108
- }
109
- }
110
- return id;
111
- }*/
112
-
113
- NameCompiler::NameCompiler(ParseSession* session, GeneratorVisitor* visitor)
114
- : m_session(session), m_visitor(visitor)
115
- {
116
- }
117
-
118
- void NameCompiler::internal_run(AST *node)
119
- {
120
- m_name.clear();
121
- m_castType = Type();
122
- m_templateArgs.clear();
123
- visit(node);
124
- }
125
-
126
- void NameCompiler::visitUnqualifiedName(UnqualifiedNameAST *node)
127
- {
128
- IndexedString tmp_name;
129
-
130
- if (node->id)
131
- tmp_name = m_session->token_stream->token(node->id).symbol();
132
-
133
- if (node->tilde)
134
- tmp_name = IndexedString('~' + tmp_name.byteArray());
135
-
136
- if (OperatorFunctionIdAST *op_id = node->operator_id)
137
- {
138
- #if defined(__GNUC__)
139
- #warning "NameCompiler::visitUnqualifiedName() -- implement me"
140
- #endif
141
- static QString operatorString("operator");
142
- QString tmp = operatorString;
143
-
144
- if (op_id->op && op_id->op->op) {
145
- tmp += decode(m_session, op_id->op, true);
146
- } else {
147
- TypeCompiler tc(m_session, m_visitor);
148
- tc.run(op_id->type_specifier);
149
- tc.run(op_id->ptr_ops);
150
- m_castType = tc.type();
151
- tmp += " " + tc.type().toString();
152
- }
153
-
154
- tmp_name = IndexedString(tmp);
155
- m_typeSpecifier = op_id->type_specifier;
156
- }
157
-
158
- m_currentIdentifier = tmp_name.str();
159
-
160
- if (node->template_arguments)
161
- {
162
- visitNodes(this, node->template_arguments);
163
- }/*else if(node->end_token == node->start_token + 3 && node->id == node->start_token && m_session->token_stream->token(node->id+1).symbol() == KDevelop::IndexedString('<')) {
164
- ///@todo Represent this nicer in the AST
165
- ///It's probably a type-specifier with instantiation of the default-parameter, like "Bla<>".
166
- m_currentIdentifier.appendTemplateIdentifier( IndexedTypeIdentifier() );
167
- }*/
168
-
169
- m_name.push_back(m_currentIdentifier);
170
- }
171
-
172
- TypeSpecifierAST* NameCompiler::lastTypeSpecifier() const {
173
- return m_typeSpecifier;
174
- }
175
-
176
- void NameCompiler::visitTemplateArgument(TemplateArgumentAST *node)
177
- {
178
- if (!node->type_id) {
179
- QString ret;
180
- for (int i = node->expression->start_token; i < node->expression->end_token; i++) {
181
- ret.append(m_session->token_stream->token(i).symbolString());
182
- }
183
- // TODO: Better use a new struct here - expressions aren't really types.
184
- m_templateArgs[m_name.count()] << Type(ret);
185
- return;
186
- }
187
- TypeCompiler tc(m_session, m_visitor);
188
- tc.run(node->type_id->type_specifier, node->type_id->declarator ? node->type_id->declarator : 0);
189
- m_templateArgs[m_name.count()] << tc.type();
190
- }
191
-
192
- /*const QualifiedIdentifier& NameCompiler::identifier() const
193
- {
194
- return *_M_name;
195
- }*/
196
-
197
- void NameCompiler::run(NameAST *node/*, QualifiedIdentifier* target*/)
198
- {
199
- // if(target)
200
- // _M_name = target;
201
- // else
202
- // _M_name = &m_localName;
203
-
204
- m_typeSpecifier = 0; internal_run(node); /*if(node && node->global) _M_name->setExplicitlyGlobal( node->global );*/
205
- }
1
+ /* This file is part of KDevelop
2
+ Copyright 2002-2005 Roberto Raggi <roberto@kdevelop.org>
3
+
4
+ This library is free software; you can redistribute it and/or
5
+ modify it under the terms of the GNU Library General Public
6
+ License version 2 as published by the Free Software Foundation.
7
+
8
+ This library is distributed in the hope that it will be useful,
9
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ Library General Public License for more details.
12
+
13
+ You should have received a copy of the GNU Library General Public License
14
+ along with this library; see the file COPYING.LIB. If not, write to
15
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16
+ Boston, MA 02110-1301, USA.
17
+ */
18
+
19
+ //krazy:excludeall=cpp
20
+
21
+ #include "name_compiler.h"
22
+ #include "type_compiler.h"
23
+ #include <lexer.h>
24
+ #include <symbol.h>
25
+ #include <parsesession.h>
26
+ #include <tokens.h>
27
+ #include "type_compiler.h"
28
+
29
+ #include <QtCore/qdebug.h>
30
+
31
+ ///@todo this is very expensive
32
+ QString decode(ParseSession* session, AST* ast, bool without_spaces = false)
33
+ {
34
+ QString ret;
35
+ if( without_spaces ) {
36
+ //Decode operator-names without spaces for now, since we rely on it in other places.
37
+ ///@todo change this, here and in all the places that rely on it. Operators should then by written like "operator [ ]"(space between each token)
38
+ for( size_t a = ast->start_token; a < ast->end_token; a++ ) {
39
+ ret += session->token_stream->token(a).symbolString();
40
+ }
41
+ } else {
42
+ for( size_t a = ast->start_token; a < ast->end_token; a++ ) {
43
+ ret += session->token_stream->token(a).symbolString() + ' ';
44
+ }
45
+ }
46
+ return ret;
47
+ }
48
+
49
+ /*uint parseConstVolatile(ParseSession* session, const ListNode<std::size_t> *cv)
50
+ {
51
+ uint ret = AbstractType::NoModifiers;
52
+
53
+ if (cv) {
54
+ const ListNode<std::size_t> *it = cv->toFront();
55
+ const ListNode<std::size_t> *end = it;
56
+ do {
57
+ int kind = session->token_stream->kind(it->element);
58
+ if (kind == Token_const)
59
+ ret |= AbstractType::ConstModifier;
60
+ else if (kind == Token_volatile)
61
+ ret |= AbstractType::VolatileModifier;
62
+
63
+ it = it->next;
64
+ } while (it != end);
65
+ }
66
+
67
+ return ret;
68
+ }*/
69
+
70
+ /*IndexedTypeIdentifier typeIdentifierFromTemplateArgument(ParseSession* session, TemplateArgumentAST *node)
71
+ {
72
+ IndexedTypeIdentifier id;
73
+ if(node->expression) {
74
+ id = IndexedTypeIdentifier(decode(session, node), true);
75
+ }else if(node->type_id) {
76
+ //Parse the pointer operators
77
+ TypeCompiler tc(session);
78
+ tc.run(node->type_id->type_specifier);
79
+ id = IndexedTypeIdentifier(tc.identifier());
80
+ //node->type_id->type_specifier->cv
81
+
82
+ if(node->type_id->type_specifier)
83
+ id.setIsConstant(parseConstVolatile(session, node->type_id->type_specifier->cv) & AbstractType::ConstModifier);
84
+
85
+ if(node->type_id->declarator && node->type_id->declarator->ptr_ops)
86
+ {
87
+ const ListNode<PtrOperatorAST*> *it = node->type_id->declarator->ptr_ops->toFront();
88
+ const ListNode<PtrOperatorAST*> *end = it; ///@todo check ordering, eventually walk the list in reversed order
89
+ do
90
+ {
91
+ if(it->element && it->element->op) { ///@todo What about ptr-to-member?
92
+ static IndexedString ref('&');
93
+ if( session->token_stream->token(it->element->op).symbol() == ref) {
94
+ //We're handling a 'reference'
95
+ id.setIsReference(true);
96
+ } else {
97
+ //We're handling a real pointer
98
+ id.setPointerDepth(id.pointerDepth()+1);
99
+
100
+ if(it->element->cv) {
101
+ id.setIsConstPointer(id.pointerDepth()-1, parseConstVolatile(session, it->element->cv) & AbstractType::ConstModifier);
102
+ }
103
+ }
104
+ }
105
+ it = it->next;
106
+ }
107
+ while (it != end);
108
+ }
109
+ }
110
+ return id;
111
+ }*/
112
+
113
+ NameCompiler::NameCompiler(ParseSession* session, GeneratorVisitor* visitor)
114
+ : m_session(session), m_visitor(visitor)
115
+ {
116
+ }
117
+
118
+ void NameCompiler::internal_run(AST *node)
119
+ {
120
+ m_name.clear();
121
+ m_castType = Type();
122
+ m_templateArgs.clear();
123
+ visit(node);
124
+ }
125
+
126
+ void NameCompiler::visitUnqualifiedName(UnqualifiedNameAST *node)
127
+ {
128
+ IndexedString tmp_name;
129
+
130
+ if (node->id)
131
+ tmp_name = m_session->token_stream->token(node->id).symbol();
132
+
133
+ if (node->tilde)
134
+ tmp_name = IndexedString('~' + tmp_name.byteArray());
135
+
136
+ if (OperatorFunctionIdAST *op_id = node->operator_id)
137
+ {
138
+ #if defined(__GNUC__)
139
+ #warning "NameCompiler::visitUnqualifiedName() -- implement me"
140
+ #endif
141
+ static QString operatorString("operator");
142
+ QString tmp = operatorString;
143
+
144
+ if (op_id->op && op_id->op->op) {
145
+ tmp += decode(m_session, op_id->op, true);
146
+ } else {
147
+ TypeCompiler tc(m_session, m_visitor);
148
+ tc.run(op_id->type_specifier);
149
+ tc.run(op_id->ptr_ops);
150
+ m_castType = tc.type();
151
+ tmp += " " + tc.type().toString();
152
+ }
153
+
154
+ tmp_name = IndexedString(tmp);
155
+ m_typeSpecifier = op_id->type_specifier;
156
+ }
157
+
158
+ m_currentIdentifier = tmp_name.str();
159
+
160
+ if (node->template_arguments)
161
+ {
162
+ visitNodes(this, node->template_arguments);
163
+ }/*else if(node->end_token == node->start_token + 3 && node->id == node->start_token && m_session->token_stream->token(node->id+1).symbol() == KDevelop::IndexedString('<')) {
164
+ ///@todo Represent this nicer in the AST
165
+ ///It's probably a type-specifier with instantiation of the default-parameter, like "Bla<>".
166
+ m_currentIdentifier.appendTemplateIdentifier( IndexedTypeIdentifier() );
167
+ }*/
168
+
169
+ m_name.push_back(m_currentIdentifier);
170
+ }
171
+
172
+ TypeSpecifierAST* NameCompiler::lastTypeSpecifier() const {
173
+ return m_typeSpecifier;
174
+ }
175
+
176
+ void NameCompiler::visitTemplateArgument(TemplateArgumentAST *node)
177
+ {
178
+ if (!node->type_id) {
179
+ QString ret;
180
+ for (int i = node->expression->start_token; i < node->expression->end_token; i++) {
181
+ ret.append(m_session->token_stream->token(i).symbolString());
182
+ }
183
+ // TODO: Better use a new struct here - expressions aren't really types.
184
+ m_templateArgs[m_name.count()] << Type(ret);
185
+ return;
186
+ }
187
+ TypeCompiler tc(m_session, m_visitor);
188
+ tc.run(node->type_id->type_specifier, node->type_id->declarator ? node->type_id->declarator : 0);
189
+ m_templateArgs[m_name.count()] << tc.type();
190
+ }
191
+
192
+ /*const QualifiedIdentifier& NameCompiler::identifier() const
193
+ {
194
+ return *_M_name;
195
+ }*/
196
+
197
+ void NameCompiler::run(NameAST *node/*, QualifiedIdentifier* target*/)
198
+ {
199
+ // if(target)
200
+ // _M_name = target;
201
+ // else
202
+ // _M_name = &m_localName;
203
+
204
+ m_typeSpecifier = 0; internal_run(node); /*if(node && node->global) _M_name->setExplicitlyGlobal( node->global );*/
205
+ }