fxruby 1.6.22.pre2 → 1.6.22.pre3

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 (475) hide show
  1. data/History.txt +1 -1
  2. data/README.txt +10 -10
  3. data/Rakefile +3 -2
  4. data/doap.rdf +2 -2
  5. data/examples/babelfish.rb +2 -2
  6. data/examples/bounce.rb +20 -20
  7. data/examples/charts.rb +2 -2
  8. data/examples/custom_table_item.rb +3 -3
  9. data/examples/datatarget.rb +2 -2
  10. data/examples/dctest.rb +51 -51
  11. data/examples/dialog.rb +14 -14
  12. data/examples/dilbert.rb +4 -4
  13. data/examples/dirlist.rb +6 -6
  14. data/examples/dragdrop.rb +7 -7
  15. data/examples/dragsource.rb +6 -6
  16. data/examples/dropsite.rb +5 -5
  17. data/examples/foursplit.rb +6 -6
  18. data/examples/gltest.rb +40 -40
  19. data/examples/glviewer.rb +16 -16
  20. data/examples/groupbox.rb +41 -41
  21. data/examples/header.rb +6 -6
  22. data/examples/hello2.rb +2 -2
  23. data/examples/iconlist.rb +10 -10
  24. data/examples/image.rb +26 -26
  25. data/examples/imageviewer.rb +31 -31
  26. data/examples/inputs.rb +2 -2
  27. data/examples/mditest.rb +12 -12
  28. data/examples/pig.rb +8 -8
  29. data/examples/raabrowser.rb +5 -5
  30. data/examples/ratio.rb +9 -9
  31. data/examples/rulerview.rb +2 -2
  32. data/examples/scintilla-test.rb +6 -6
  33. data/examples/scribble-orig.rb +3 -3
  34. data/examples/scribble.rb +3 -3
  35. data/examples/shutter.rb +6 -6
  36. data/examples/splitter.rb +15 -15
  37. data/examples/styledtext.rb +10 -10
  38. data/examples/tabbook.rb +14 -14
  39. data/examples/table.rb +21 -21
  40. data/examples/textedit/helpwindow.rb +6 -6
  41. data/examples/textedit/textedit.rb +72 -72
  42. data/ext/fox16/FXRuby.cpp +48 -5
  43. data/ext/fox16/core_wrap.cpp +1 -1
  44. data/ext/fox16/iconlist_wrap.cpp +1 -1
  45. data/ext/fox16/icons_wrap.cpp +1 -1
  46. data/ext/fox16/include/FXMemoryBuffer.h +3 -3
  47. data/ext/fox16/include/FXRbApp.h +1 -1
  48. data/ext/fox16/include/FXRbBitmap.h +1 -1
  49. data/ext/fox16/include/FXRbBitmapFrame.h +2 -2
  50. data/ext/fox16/include/FXRbBitmapVirtuals.h +2 -2
  51. data/ext/fox16/include/FXRbDCPrint.h +1 -1
  52. data/ext/fox16/include/FXRbDCVirtuals.h +24 -24
  53. data/ext/fox16/include/FXRbDCWindow.h +1 -1
  54. data/ext/fox16/include/FXRbDockBar.h +1 -1
  55. data/ext/fox16/include/FXRbFileDict.h +2 -2
  56. data/ext/fox16/include/FXRbFoldingList.h +1 -1
  57. data/ext/fox16/include/FXRbFontVirtuals.h +9 -9
  58. data/ext/fox16/include/FXRbGLViewerVirtuals.h +2 -2
  59. data/ext/fox16/include/FXRbIconItemVirtuals.h +8 -8
  60. data/ext/fox16/include/FXRbIconListVirtuals.h +7 -7
  61. data/ext/fox16/include/FXRbIconSourceVirtuals.h +1 -1
  62. data/ext/fox16/include/FXRbImageFrame.h +2 -2
  63. data/ext/fox16/include/FXRbImageVirtuals.h +1 -1
  64. data/ext/fox16/include/FXRbListVirtuals.h +4 -4
  65. data/ext/fox16/include/FXRbMenuBar.h +1 -1
  66. data/ext/fox16/include/FXRbPopupVirtuals.h +1 -1
  67. data/ext/fox16/include/FXRbRecentFiles.h +1 -1
  68. data/ext/fox16/include/FXRbRuler.h +3 -3
  69. data/ext/fox16/include/FXRbRulerView.h +3 -3
  70. data/ext/fox16/include/FXRbScintilla.h +1 -1
  71. data/ext/fox16/include/FXRbSeparator.h +2 -2
  72. data/ext/fox16/include/FXRbTableItemVirtuals.h +8 -8
  73. data/ext/fox16/include/FXRbTableVirtuals.h +13 -13
  74. data/ext/fox16/include/FXRbText.h +2 -2
  75. data/ext/fox16/include/FXRbTextVirtuals.h +3 -3
  76. data/ext/fox16/include/FXRbToolBar.h +1 -1
  77. data/ext/fox16/include/FXRbToolBarGrip.h +1 -1
  78. data/ext/fox16/include/FXRbToolBarTab.h +1 -1
  79. data/ext/fox16/include/FXRbTreeList.h +1 -1
  80. data/ext/fox16/include/FXRbTreeListVirtuals.h +4 -4
  81. data/ext/fox16/include/FXRbWindow.h +3 -3
  82. data/ext/fox16/include/FXRbWizard.h +2 -2
  83. data/ext/fox16/include/FXRuby.h +8 -4
  84. data/ext/fox16/librb.c +12 -12
  85. data/ext/fox16/list_wrap.cpp +1 -1
  86. data/ext/fox16/make_impl.rb +5 -5
  87. data/ext/fox16/markfuncs.cpp +228 -220
  88. data/ext/fox16/scintilla_wrap.cpp +1 -1
  89. data/ext/fox16/treelist_wrap.cpp +4 -4
  90. data/ext/fox16/ui_wrap.cpp +2 -2
  91. data/ext/fox16/unregisterOwnedObjects.cpp +3 -3
  92. data/lib/fox16/accel_table.rb +1 -1
  93. data/lib/fox16/aliases.rb +3 -3
  94. data/lib/fox16/calendar.rb +21 -21
  95. data/lib/fox16/chore.rb +2 -2
  96. data/lib/fox16/core.rb +70 -70
  97. data/lib/fox16/dict.rb +1 -1
  98. data/lib/fox16/execute_nonmodal.rb +1 -1
  99. data/lib/fox16/glgroup.rb +16 -16
  100. data/lib/fox16/glshapes.rb +26 -26
  101. data/lib/fox16/input.rb +4 -4
  102. data/lib/fox16/irb.rb +2 -2
  103. data/lib/fox16/iterators.rb +2 -2
  104. data/lib/fox16/keys.rb +34 -34
  105. data/lib/fox16/kwargs.rb +927 -927
  106. data/lib/fox16/pseudokeyboard.rb +1 -1
  107. data/lib/fox16/pseudomouse.rb +1 -1
  108. data/lib/fox16/responder2.rb +4 -4
  109. data/lib/fox16/scintilla.rb +2 -2
  110. data/lib/fox16/signal.rb +4 -4
  111. data/lib/fox16/splashscreen.rb +3 -3
  112. data/lib/fox16/timeout.rb +3 -3
  113. data/lib/fox16/undolist.rb +9 -9
  114. data/lib/fox16/version.rb +1 -1
  115. data/rdoc-sources/FX4Splitter.rb +9 -9
  116. data/rdoc-sources/FX7Segment.rb +9 -9
  117. data/rdoc-sources/FXAccelTable.rb +1 -1
  118. data/rdoc-sources/FXApp.rb +50 -50
  119. data/rdoc-sources/FXBMPIcon.rb +3 -3
  120. data/rdoc-sources/FXBMPImage.rb +2 -2
  121. data/rdoc-sources/FXBitmap.rb +11 -11
  122. data/rdoc-sources/FXBitmapFrame.rb +5 -5
  123. data/rdoc-sources/FXBitmapView.rb +2 -2
  124. data/rdoc-sources/FXButton.rb +2 -2
  125. data/rdoc-sources/FXCheckButton.rb +5 -5
  126. data/rdoc-sources/FXColorBar.rb +5 -5
  127. data/rdoc-sources/FXColorDialog.rb +2 -2
  128. data/rdoc-sources/FXColorList.rb +2 -2
  129. data/rdoc-sources/FXColorRing.rb +8 -8
  130. data/rdoc-sources/FXColorSelector.rb +4 -4
  131. data/rdoc-sources/FXColorWell.rb +4 -4
  132. data/rdoc-sources/FXColorWheel.rb +6 -6
  133. data/rdoc-sources/FXComboBox.rb +17 -17
  134. data/rdoc-sources/FXComposite.rb +2 -2
  135. data/rdoc-sources/FXCursor.rb +7 -7
  136. data/rdoc-sources/FXDC.rb +67 -67
  137. data/rdoc-sources/FXDCPrint.rb +22 -22
  138. data/rdoc-sources/FXDCWindow.rb +1 -1
  139. data/rdoc-sources/FXDataTarget.rb +2 -2
  140. data/rdoc-sources/FXDebugTarget.rb +1 -1
  141. data/rdoc-sources/FXDelegator.rb +1 -1
  142. data/rdoc-sources/FXDial.rb +8 -8
  143. data/rdoc-sources/FXDict.rb +7 -7
  144. data/rdoc-sources/FXDirBox.rb +3 -3
  145. data/rdoc-sources/FXDirDialog.rb +7 -7
  146. data/rdoc-sources/FXDirList.rb +21 -21
  147. data/rdoc-sources/FXDirSelector.rb +8 -8
  148. data/rdoc-sources/FXDockBar.rb +5 -5
  149. data/rdoc-sources/FXDockHandler.rb +3 -3
  150. data/rdoc-sources/FXDockSite.rb +2 -2
  151. data/rdoc-sources/FXDockTitle.rb +3 -3
  152. data/rdoc-sources/FXDocument.rb +3 -3
  153. data/rdoc-sources/FXDragCorner.rb +3 -3
  154. data/rdoc-sources/FXDrawable.rb +3 -3
  155. data/rdoc-sources/FXDriveBox.rb +4 -4
  156. data/rdoc-sources/FXExtentd.rb +2 -2
  157. data/rdoc-sources/FXExtentf.rb +2 -2
  158. data/rdoc-sources/FXFileDialog.rb +21 -21
  159. data/rdoc-sources/FXFileDict.rb +17 -17
  160. data/rdoc-sources/FXFileList.rb +32 -32
  161. data/rdoc-sources/FXFileSelector.rb +20 -20
  162. data/rdoc-sources/FXFileStream.rb +1 -1
  163. data/rdoc-sources/FXFoldingList.rb +53 -53
  164. data/rdoc-sources/FXFont.rb +38 -38
  165. data/rdoc-sources/FXFrame.rb +11 -11
  166. data/rdoc-sources/FXGIFCursor.rb +3 -3
  167. data/rdoc-sources/FXGLCanvas.rb +2 -2
  168. data/rdoc-sources/FXGLContext.rb +6 -6
  169. data/rdoc-sources/FXGLObject.rb +6 -6
  170. data/rdoc-sources/FXGLShape.rb +3 -3
  171. data/rdoc-sources/FXGLViewer.rb +54 -54
  172. data/rdoc-sources/FXGLVisual.rb +13 -13
  173. data/rdoc-sources/FXGradientBar.rb +15 -15
  174. data/rdoc-sources/FXGroupBox.rb +4 -4
  175. data/rdoc-sources/FXHeader.rb +44 -44
  176. data/rdoc-sources/FXICOIcon.rb +1 -1
  177. data/rdoc-sources/FXICOImage.rb +1 -1
  178. data/rdoc-sources/FXIconDict.rb +1 -1
  179. data/rdoc-sources/FXIconList.rb +69 -69
  180. data/rdoc-sources/FXIconSource.rb +2 -2
  181. data/rdoc-sources/FXId.rb +1 -1
  182. data/rdoc-sources/FXImage.rb +11 -11
  183. data/rdoc-sources/FXImageFrame.rb +3 -3
  184. data/rdoc-sources/FXImageView.rb +2 -2
  185. data/rdoc-sources/FXInputDialog.rb +6 -6
  186. data/rdoc-sources/FXJPGIcon.rb +3 -3
  187. data/rdoc-sources/FXJPGImage.rb +2 -2
  188. data/rdoc-sources/FXKnob.rb +9 -9
  189. data/rdoc-sources/FXLabel.rb +8 -8
  190. data/rdoc-sources/FXList.rb +28 -28
  191. data/rdoc-sources/FXListBox.rb +21 -21
  192. data/rdoc-sources/FXMDIChild.rb +11 -11
  193. data/rdoc-sources/FXMDIClient.rb +5 -5
  194. data/rdoc-sources/FXMatrix.rb +6 -6
  195. data/rdoc-sources/FXMemoryBuffer.rb +1 -1
  196. data/rdoc-sources/FXMemoryStream.rb +3 -3
  197. data/rdoc-sources/FXMenuBar.rb +1 -1
  198. data/rdoc-sources/FXMenuButton.rb +7 -7
  199. data/rdoc-sources/FXMenuCaption.rb +10 -10
  200. data/rdoc-sources/FXMenuCheck.rb +1 -1
  201. data/rdoc-sources/FXMenuRadio.rb +1 -1
  202. data/rdoc-sources/FXMenuSeparator.rb +1 -1
  203. data/rdoc-sources/FXMessageBox.rb +3 -3
  204. data/rdoc-sources/FXOptionMenu.rb +9 -9
  205. data/rdoc-sources/FXPCXIcon.rb +2 -2
  206. data/rdoc-sources/FXPCXImage.rb +1 -1
  207. data/rdoc-sources/FXPNGIcon.rb +3 -3
  208. data/rdoc-sources/FXPNGImage.rb +1 -1
  209. data/rdoc-sources/FXPPMIcon.rb +2 -2
  210. data/rdoc-sources/FXPPMImage.rb +1 -1
  211. data/rdoc-sources/FXPacker.rb +13 -13
  212. data/rdoc-sources/FXPopup.rb +11 -11
  213. data/rdoc-sources/FXProgressBar.rb +7 -7
  214. data/rdoc-sources/FXProgressDialog.rb +3 -3
  215. data/rdoc-sources/FXQuatd.rb +17 -17
  216. data/rdoc-sources/FXQuatf.rb +18 -18
  217. data/rdoc-sources/FXRGBIcon.rb +3 -3
  218. data/rdoc-sources/FXRGBImage.rb +1 -1
  219. data/rdoc-sources/FXRadioButton.rb +4 -4
  220. data/rdoc-sources/FXRanged.rb +1 -1
  221. data/rdoc-sources/FXRangef.rb +1 -1
  222. data/rdoc-sources/FXRealSlider.rb +7 -7
  223. data/rdoc-sources/FXRealSpinner.rb +11 -11
  224. data/rdoc-sources/FXRecentFiles.rb +8 -8
  225. data/rdoc-sources/FXRectangle.rb +12 -12
  226. data/rdoc-sources/FXRegion.rb +15 -15
  227. data/rdoc-sources/FXRegistry.rb +4 -4
  228. data/rdoc-sources/FXReplaceDialog.rb +3 -3
  229. data/rdoc-sources/FXRuler.rb +18 -18
  230. data/rdoc-sources/FXRulerView.rb +38 -38
  231. data/rdoc-sources/FXScintilla.rb +16 -16
  232. data/rdoc-sources/FXScrollArea.rb +9 -9
  233. data/rdoc-sources/FXScrollBar.rb +8 -8
  234. data/rdoc-sources/FXScrollPane.rb +1 -1
  235. data/rdoc-sources/FXScrollWindow.rb +5 -5
  236. data/rdoc-sources/FXSeparator.rb +1 -1
  237. data/rdoc-sources/FXSettings.rb +1 -1
  238. data/rdoc-sources/FXShutter.rb +3 -3
  239. data/rdoc-sources/FXSize.rb +4 -4
  240. data/rdoc-sources/FXSlider.rb +7 -7
  241. data/rdoc-sources/FXSphered.rb +21 -21
  242. data/rdoc-sources/FXSpheref.rb +20 -20
  243. data/rdoc-sources/FXSpinner.rb +12 -12
  244. data/rdoc-sources/FXSplashWindow.rb +1 -1
  245. data/rdoc-sources/FXSplitter.rb +6 -6
  246. data/rdoc-sources/FXSpring.rb +2 -2
  247. data/rdoc-sources/FXStatusBar.rb +4 -4
  248. data/rdoc-sources/FXStatusLine.rb +5 -5
  249. data/rdoc-sources/FXStream.rb +8 -8
  250. data/rdoc-sources/FXStringDict.rb +5 -5
  251. data/rdoc-sources/FXSwitcher.rb +2 -2
  252. data/rdoc-sources/FXTGAIcon.rb +3 -3
  253. data/rdoc-sources/FXTGAImage.rb +1 -1
  254. data/rdoc-sources/FXTIFIcon.rb +2 -2
  255. data/rdoc-sources/FXTIFImage.rb +2 -2
  256. data/rdoc-sources/FXTabBar.rb +2 -2
  257. data/rdoc-sources/FXTable.rb +131 -131
  258. data/rdoc-sources/FXText.rb +48 -48
  259. data/rdoc-sources/FXTextField.rb +9 -9
  260. data/rdoc-sources/FXToolBar.rb +1 -1
  261. data/rdoc-sources/FXToolBarGrip.rb +1 -1
  262. data/rdoc-sources/FXToolBarShell.rb +7 -7
  263. data/rdoc-sources/FXToolBarTab.rb +3 -3
  264. data/rdoc-sources/FXToolTip.rb +1 -1
  265. data/rdoc-sources/FXTopWindow.rb +17 -17
  266. data/rdoc-sources/FXTranslator.rb +5 -5
  267. data/rdoc-sources/FXTreeList.rb +50 -50
  268. data/rdoc-sources/FXTreeListBox.rb +16 -16
  269. data/rdoc-sources/FXVec2d.rb +5 -5
  270. data/rdoc-sources/FXVec2f.rb +5 -5
  271. data/rdoc-sources/FXVec3d.rb +8 -8
  272. data/rdoc-sources/FXVec3f.rb +8 -8
  273. data/rdoc-sources/FXVec4d.rb +8 -8
  274. data/rdoc-sources/FXVec4f.rb +8 -8
  275. data/rdoc-sources/FXVisual.rb +3 -3
  276. data/rdoc-sources/FXWindow.rb +99 -99
  277. data/rdoc-sources/FXWizard.rb +8 -8
  278. data/rdoc-sources/FXXBMIcon.rb +2 -2
  279. data/rdoc-sources/FXXBMImage.rb +1 -1
  280. data/rdoc-sources/FXXPMIcon.rb +2 -2
  281. data/rdoc-sources/FXXPMImage.rb +1 -1
  282. data/rdoc-sources/fxdefs.rb +17 -17
  283. data/scripts/generate_kwargs_lib.rb +22 -22
  284. data/scripts/iface.rb +1 -1
  285. data/swig-interfaces/FX4Splitter.i +5 -5
  286. data/swig-interfaces/FX7Segment.i +5 -5
  287. data/swig-interfaces/FXApp.i +10 -10
  288. data/swig-interfaces/FXBMPIcon.i +2 -2
  289. data/swig-interfaces/FXBitmap.i +3 -3
  290. data/swig-interfaces/FXBitmapFrame.i +1 -1
  291. data/swig-interfaces/FXBitmapView.i +1 -1
  292. data/swig-interfaces/FXCanvas.i +1 -1
  293. data/swig-interfaces/FXCheckButton.i +2 -2
  294. data/swig-interfaces/FXChoiceBox.i +2 -2
  295. data/swig-interfaces/FXColorBar.i +7 -7
  296. data/swig-interfaces/FXColorList.i +5 -5
  297. data/swig-interfaces/FXColorWell.i +1 -1
  298. data/swig-interfaces/FXColorWheel.i +6 -6
  299. data/swig-interfaces/FXComboBox.i +4 -4
  300. data/swig-interfaces/FXCursor.i +4 -4
  301. data/swig-interfaces/FXDC.i +23 -23
  302. data/swig-interfaces/FXDCPrint.i +5 -5
  303. data/swig-interfaces/FXDCWindow.i +8 -8
  304. data/swig-interfaces/FXDataTarget.i +5 -5
  305. data/swig-interfaces/FXDebugTarget.i +1 -1
  306. data/swig-interfaces/FXDelegator.i +3 -3
  307. data/swig-interfaces/FXDial.i +8 -8
  308. data/swig-interfaces/FXDialogBox.i +3 -3
  309. data/swig-interfaces/FXDict.i +14 -14
  310. data/swig-interfaces/FXDirBox.i +1 -1
  311. data/swig-interfaces/FXDirDialog.i +2 -2
  312. data/swig-interfaces/FXDirList.i +16 -16
  313. data/swig-interfaces/FXDirSelector.i +2 -2
  314. data/swig-interfaces/FXDockBar.i +1 -1
  315. data/swig-interfaces/FXDockHandler.i +1 -1
  316. data/swig-interfaces/FXDockSite.i +1 -1
  317. data/swig-interfaces/FXDockTitle.i +1 -1
  318. data/swig-interfaces/FXDocument.i +1 -1
  319. data/swig-interfaces/FXDragCorner.i +3 -3
  320. data/swig-interfaces/FXDriveBox.i +1 -1
  321. data/swig-interfaces/FXFileDialog.i +8 -8
  322. data/swig-interfaces/FXFileDict.i +2 -2
  323. data/swig-interfaces/FXFileList.i +11 -11
  324. data/swig-interfaces/FXFileSelector.i +4 -4
  325. data/swig-interfaces/FXFoldingList.i +7 -7
  326. data/swig-interfaces/FXFont.i +20 -20
  327. data/swig-interfaces/FXFrame.i +3 -3
  328. data/swig-interfaces/FXGLCanvas.i +3 -3
  329. data/swig-interfaces/FXGLContext.i +7 -7
  330. data/swig-interfaces/FXGLObject.i +1 -1
  331. data/swig-interfaces/FXGLShape.i +6 -6
  332. data/swig-interfaces/FXGLViewer.i +40 -40
  333. data/swig-interfaces/FXGLVisual.i +2 -2
  334. data/swig-interfaces/FXGradientBar.i +4 -4
  335. data/swig-interfaces/FXGroupBox.i +3 -3
  336. data/swig-interfaces/FXHeader.i +7 -7
  337. data/swig-interfaces/FXIcon.i +4 -4
  338. data/swig-interfaces/FXIconDict.i +1 -1
  339. data/swig-interfaces/FXIconList.i +46 -46
  340. data/swig-interfaces/FXImage.i +2 -2
  341. data/swig-interfaces/FXImageView.i +1 -1
  342. data/swig-interfaces/FXInputDialog.i +3 -3
  343. data/swig-interfaces/FXJPGIcon.i +3 -3
  344. data/swig-interfaces/FXJPGImage.i +2 -2
  345. data/swig-interfaces/FXKnob.i +2 -2
  346. data/swig-interfaces/FXLabel.i +2 -2
  347. data/swig-interfaces/FXList.i +35 -35
  348. data/swig-interfaces/FXListBox.i +5 -5
  349. data/swig-interfaces/FXMDIButton.i +5 -5
  350. data/swig-interfaces/FXMDIChild.i +12 -12
  351. data/swig-interfaces/FXMDIClient.i +2 -2
  352. data/swig-interfaces/FXMat4d.i +2 -2
  353. data/swig-interfaces/FXMat4f.i +5 -5
  354. data/swig-interfaces/FXMatrix.i +12 -12
  355. data/swig-interfaces/FXMemoryBuffer.i +4 -4
  356. data/swig-interfaces/FXMenuBar.i +3 -3
  357. data/swig-interfaces/FXMenuButton.i +7 -7
  358. data/swig-interfaces/FXMenuCaption.i +4 -4
  359. data/swig-interfaces/FXMenuCommand.i +1 -1
  360. data/swig-interfaces/FXMenuPane.i +1 -1
  361. data/swig-interfaces/FXMenuRadio.i +1 -1
  362. data/swig-interfaces/FXMenuSeparator.i +1 -1
  363. data/swig-interfaces/FXMessageBox.i +1 -1
  364. data/swig-interfaces/FXOptionMenu.i +6 -6
  365. data/swig-interfaces/FXPNGIcon.i +2 -2
  366. data/swig-interfaces/FXPPMIcon.i +2 -2
  367. data/swig-interfaces/FXPacker.i +6 -6
  368. data/swig-interfaces/FXPopup.i +13 -13
  369. data/swig-interfaces/FXProgressBar.i +12 -12
  370. data/swig-interfaces/FXProgressDialog.i +5 -5
  371. data/swig-interfaces/FXQuatd.i +7 -7
  372. data/swig-interfaces/FXQuatf.i +1 -1
  373. data/swig-interfaces/FXRadioButton.i +4 -4
  374. data/swig-interfaces/FXRanged.i +4 -4
  375. data/swig-interfaces/FXRangef.i +5 -5
  376. data/swig-interfaces/FXRealSlider.i +10 -10
  377. data/swig-interfaces/FXRealSpinner.i +17 -17
  378. data/swig-interfaces/FXRecentFiles.i +1 -1
  379. data/swig-interfaces/FXRegion.i +4 -4
  380. data/swig-interfaces/FXRegistry.i +3 -3
  381. data/swig-interfaces/FXReplaceDialog.i +1 -1
  382. data/swig-interfaces/FXScintilla.i +3 -3
  383. data/swig-interfaces/FXScrollArea.i +7 -7
  384. data/swig-interfaces/FXScrollBar.i +3 -3
  385. data/swig-interfaces/FXScrollWindow.i +6 -6
  386. data/swig-interfaces/FXSearchDialog.i +1 -1
  387. data/swig-interfaces/FXSeparator.i +3 -3
  388. data/swig-interfaces/FXSettings.i +3 -3
  389. data/swig-interfaces/FXShell.i +1 -1
  390. data/swig-interfaces/FXSlider.i +11 -11
  391. data/swig-interfaces/FXSphered.i +1 -1
  392. data/swig-interfaces/FXSpheref.i +1 -1
  393. data/swig-interfaces/FXSpinner.i +15 -15
  394. data/swig-interfaces/FXSplitter.i +6 -6
  395. data/swig-interfaces/FXStatusBar.i +4 -4
  396. data/swig-interfaces/FXStatusLine.i +5 -5
  397. data/swig-interfaces/FXStream.i +1 -1
  398. data/swig-interfaces/FXSwitcher.i +5 -5
  399. data/swig-interfaces/FXTabBar.i +2 -2
  400. data/swig-interfaces/FXTabBook.i +1 -1
  401. data/swig-interfaces/FXTabItem.i +4 -4
  402. data/swig-interfaces/FXTable.i +37 -37
  403. data/swig-interfaces/FXText.i +13 -13
  404. data/swig-interfaces/FXTextField.i +1 -1
  405. data/swig-interfaces/FXToggleButton.i +6 -6
  406. data/swig-interfaces/FXToolBar.i +4 -4
  407. data/swig-interfaces/FXToolBarGrip.i +3 -3
  408. data/swig-interfaces/FXToolBarShell.i +3 -3
  409. data/swig-interfaces/FXToolBarTab.i +5 -5
  410. data/swig-interfaces/FXToolTip.i +1 -1
  411. data/swig-interfaces/FXTopWindow.i +10 -10
  412. data/swig-interfaces/FXTreeList.i +28 -28
  413. data/swig-interfaces/FXTreeListBox.i +36 -36
  414. data/swig-interfaces/FXVec3d.i +2 -2
  415. data/swig-interfaces/FXVec3f.i +2 -2
  416. data/swig-interfaces/FXVec4d.i +1 -1
  417. data/swig-interfaces/FXVec4f.i +9 -9
  418. data/swig-interfaces/FXVerticalFrame.i +1 -1
  419. data/swig-interfaces/FXVisual.i +1 -1
  420. data/swig-interfaces/FXWindow.i +46 -46
  421. data/swig-interfaces/FXXPMIcon.i +1 -1
  422. data/swig-interfaces/FXXPMImage.i +1 -1
  423. data/swig-interfaces/exceptions.i +1 -1
  424. data/swig-interfaces/freefuncs.i +1 -1
  425. data/swig-interfaces/fxdefs.i +13 -13
  426. data/swig-interfaces/macros.i +79 -79
  427. data/test/TC_FXAccelTable.rb +3 -3
  428. data/test/TC_FXButton.rb +9 -9
  429. data/test/TC_FXCheckButton.rb +4 -4
  430. data/test/TC_FXComboBox.rb +1 -1
  431. data/test/TC_FXDC.rb +42 -42
  432. data/test/TC_FXDialogBox.rb +1 -1
  433. data/test/TC_FXExtentd.rb +2 -2
  434. data/test/TC_FXExtentf.rb +2 -2
  435. data/test/TC_FXFileAssoc.rb +5 -5
  436. data/test/TC_FXFileStream.rb +5 -5
  437. data/test/TC_FXFoldingList.rb +3 -3
  438. data/test/TC_FXFont.rb +3 -3
  439. data/test/TC_FXGLGroup.rb +1 -1
  440. data/test/TC_FXHeader.rb +3 -3
  441. data/test/TC_FXIconDict.rb +5 -5
  442. data/test/TC_FXIconList.rb +12 -12
  443. data/test/TC_FXImage.rb +16 -16
  444. data/test/TC_FXList.rb +5 -5
  445. data/test/TC_FXListBox.rb +1 -1
  446. data/test/TC_FXMainWindow.rb +2 -2
  447. data/test/TC_FXMat4f.rb +33 -33
  448. data/test/TC_FXMaterial.rb +5 -5
  449. data/test/TC_FXMemoryStream.rb +2 -2
  450. data/test/TC_FXMenuCheck.rb +5 -5
  451. data/test/TC_FXMessageBox.rb +3 -3
  452. data/test/TC_FXPoint.rb +1 -1
  453. data/test/TC_FXRadioButton.rb +4 -4
  454. data/test/TC_FXRanged.rb +3 -3
  455. data/test/TC_FXRangef.rb +3 -3
  456. data/test/TC_FXRegion.rb +1 -1
  457. data/test/TC_FXScrollArea.rb +1 -1
  458. data/test/TC_FXScrollWindow.rb +1 -1
  459. data/test/TC_FXSettings.rb +2 -2
  460. data/test/TC_FXShell.rb +2 -2
  461. data/test/TC_FXTopWindow.rb +2 -2
  462. data/test/TC_FXTreeList.rb +4 -4
  463. data/test/TC_FXTreeListBox.rb +3 -3
  464. data/test/TC_FXVec2d.rb +3 -3
  465. data/test/TC_FXVec2f.rb +3 -3
  466. data/test/TC_FXVec3d.rb +5 -5
  467. data/test/TC_FXVec3f.rb +5 -5
  468. data/test/TC_FXVec4f.rb +6 -6
  469. data/test/TC_Misc.rb +6 -2
  470. data/test/TS_All.rb +1 -17
  471. data/test/stress1.rb +5 -5
  472. data/test/stress2.rb +3 -3
  473. data/test/stress3.rb +12 -12
  474. data/test/testcase.rb +4 -4
  475. metadata +76 -76
@@ -101,7 +101,7 @@ class TextWindow < FXMainWindow
101
101
  FXMAPFUNC(SEL_CLOSE, ID_TITLE, :onCmdQuit)
102
102
  FXMAPFUNC(SEL_COMMAND, ID_PRINT, :onCmdPrint)
103
103
  FXMAPFUNC(SEL_COMMAND, ID_TREELIST, :onCmdTreeList)
104
-
104
+
105
105
  FXMAPFUNC(SEL_COMMAND, ID_TEXT_BACK, :onCmdTextBackColor)
106
106
  FXMAPFUNC(SEL_CHANGED, ID_TEXT_BACK, :onCmdTextBackColor)
107
107
  FXMAPFUNC(SEL_UPDATE, ID_TEXT_BACK, :onUpdTextBackColor)
@@ -117,7 +117,7 @@ class TextWindow < FXMainWindow
117
117
  FXMAPFUNC(SEL_COMMAND, ID_TEXT_CURSOR, :onCmdTextCursorColor)
118
118
  FXMAPFUNC(SEL_CHANGED, ID_TEXT_CURSOR, :onCmdTextCursorColor)
119
119
  FXMAPFUNC(SEL_UPDATE, ID_TEXT_CURSOR, :onUpdTextCursorColor)
120
-
120
+
121
121
  FXMAPFUNC(SEL_COMMAND, ID_DIR_BACK, :onCmdDirBackColor)
122
122
  FXMAPFUNC(SEL_CHANGED, ID_DIR_BACK, :onCmdDirBackColor)
123
123
  FXMAPFUNC(SEL_UPDATE, ID_DIR_BACK, :onUpdDirBackColor)
@@ -133,7 +133,7 @@ class TextWindow < FXMainWindow
133
133
  FXMAPFUNC(SEL_COMMAND, ID_DIR_LINES, :onCmdDirLineColor)
134
134
  FXMAPFUNC(SEL_CHANGED, ID_DIR_LINES, :onCmdDirLineColor)
135
135
  FXMAPFUNC(SEL_UPDATE, ID_DIR_LINES, :onUpdDirLineColor)
136
-
136
+
137
137
  FXMAPFUNC(SEL_COMMAND, ID_RECENTFILE, :onCmdRecentFile)
138
138
  FXMAPFUNC(SEL_UPDATE, ID_TOGGLE_WRAP, :onUpdWrap)
139
139
  FXMAPFUNC(SEL_COMMAND, ID_TOGGLE_WRAP, :onCmdWrap)
@@ -181,7 +181,7 @@ class TextWindow < FXMainWindow
181
181
 
182
182
  # Default font
183
183
  @font = nil
184
-
184
+
185
185
  # Make some icons
186
186
  @bigicon = loadIcon("big.png")
187
187
  @smallicon = loadIcon("small.png")
@@ -203,71 +203,71 @@ class TextWindow < FXMainWindow
203
203
  # Application icons
204
204
  setIcon(@bigicon)
205
205
  setMiniIcon(@smallicon)
206
-
206
+
207
207
  # Make main window; set myself as the target
208
208
  setTarget(self)
209
209
  setSelector(ID_TITLE)
210
-
210
+
211
211
  # Help window
212
212
  @helpwindow = HelpWindow.new(self)
213
-
213
+
214
214
  # Make menu bar
215
215
  dragshell1 = FXToolBarShell.new(self, FRAME_RAISED|FRAME_THICK)
216
216
  menubar = FXMenuBar.new(self, dragshell1, LAYOUT_SIDE_TOP|LAYOUT_FILL_X)
217
217
  FXToolBarGrip.new(menubar, menubar, FXMenuBar::ID_TOOLBARGRIP,
218
218
  TOOLBARGRIP_DOUBLE)
219
-
219
+
220
220
  # Tool bar
221
221
  dragshell2 = FXToolBarShell.new(self, FRAME_RAISED|FRAME_THICK)
222
222
  toolbar = FXToolBar.new(self, dragshell2,
223
223
  LAYOUT_SIDE_TOP|LAYOUT_FILL_X|PACK_UNIFORM_WIDTH|PACK_UNIFORM_HEIGHT)
224
224
  FXToolBarGrip.new(toolbar, toolbar, FXToolBar::ID_TOOLBARGRIP,
225
225
  TOOLBARGRIP_DOUBLE)
226
-
226
+
227
227
  # Status bar
228
228
  statusbar = FXStatusBar.new(self,
229
229
  LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|STATUSBAR_WITH_DRAGCORNER)
230
-
230
+
231
231
  # Info about the editor
232
232
  FXButton.new(statusbar, "\tThe FOX Text Editor\tAbout the FOX Text Editor.",
233
233
  @smallicon, self, ID_ABOUT, LAYOUT_FILL_Y|LAYOUT_RIGHT)
234
-
234
+
235
235
  # File menu
236
236
  filemenu = FXMenuPane.new(self)
237
237
  FXMenuTitle.new(menubar, "&File", nil, filemenu)
238
-
238
+
239
239
  # Edit Menu
240
240
  editmenu = FXMenuPane.new(self)
241
241
  FXMenuTitle.new(menubar, "&Edit", nil, editmenu)
242
-
242
+
243
243
  # Goto Menu
244
244
  gotomenu = FXMenuPane.new(self)
245
245
  FXMenuTitle.new(menubar, "&Goto", nil, gotomenu)
246
-
246
+
247
247
  # Search Menu
248
248
  searchmenu = FXMenuPane.new(self)
249
249
  FXMenuTitle.new(menubar, "&Search", nil, searchmenu)
250
-
250
+
251
251
  # Options Menu
252
252
  optionmenu = FXMenuPane.new(self)
253
253
  FXMenuTitle.new(menubar, "&Options", nil, optionmenu)
254
-
254
+
255
255
  # View menu
256
256
  viewmenu = FXMenuPane.new(self)
257
257
  FXMenuTitle.new(menubar, "&View", nil, viewmenu)
258
-
258
+
259
259
  # Help menu
260
260
  helpmenu = FXMenuPane.new(self)
261
261
  FXMenuTitle.new(menubar, "&Help", nil, helpmenu, LAYOUT_RIGHT)
262
-
262
+
263
263
  # Splitter
264
264
  splitter = FXSplitter.new(self,
265
265
  LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y|SPLITTER_TRACKING)
266
-
266
+
267
267
  # Sunken border for tree
268
268
  @treebox = FXVerticalFrame.new(splitter, LAYOUT_FILL_X|LAYOUT_FILL_Y,
269
269
  0, 0, 0, 0, 0, 0, 0, 0)
270
-
270
+
271
271
  # Make tree
272
272
  treeframe = FXHorizontalFrame.new(@treebox,
273
273
  FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL_X|LAYOUT_FILL_Y,
@@ -280,15 +280,15 @@ class TextWindow < FXMainWindow
280
280
  @filter = FXComboBox.new(filterframe, 25, self, ID_FILEFILTER,
281
281
  COMBOBOX_STATIC|LAYOUT_FILL_X|FRAME_SUNKEN|FRAME_THICK)
282
282
  @filter.numVisible = 4
283
-
283
+
284
284
  # Sunken border for text widget
285
285
  textbox = FXHorizontalFrame.new(splitter,
286
286
  FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL_X|LAYOUT_FILL_Y, 0,0,0,0, 0,0,0,0)
287
-
287
+
288
288
  # Make editor window
289
289
  @editor = FXText.new(textbox, self, ID_TEXT, LAYOUT_FILL_X|LAYOUT_FILL_Y)
290
290
  @editor.hiliteMatchTime = 300000
291
-
291
+
292
292
  # Show readonly state in status bar
293
293
  readonly = FXLabel.new(statusbar, nil, nil, FRAME_SUNKEN|LAYOUT_RIGHT|LAYOUT_CENTER_Y)
294
294
  readonly.padLeft = 2
@@ -297,7 +297,7 @@ class TextWindow < FXMainWindow
297
297
  readonly.padBottom = 1
298
298
  readonly.setTarget(self)
299
299
  readonly.setSelector(ID_READONLY)
300
-
300
+
301
301
  # Show insert mode in status bar
302
302
  overstrike = FXLabel.new(statusbar, nil, nil, FRAME_SUNKEN|LAYOUT_RIGHT|LAYOUT_CENTER_Y)
303
303
  overstrike.padLeft = 2
@@ -306,34 +306,34 @@ class TextWindow < FXMainWindow
306
306
  overstrike.padBottom = 1
307
307
  overstrike.setTarget(self)
308
308
  overstrike.setSelector(ID_OVERSTRIKE)
309
-
309
+
310
310
  # Show size of text in status bar
311
311
  numchars = FXTextField.new(statusbar, 6, self, ID_NUMCHARS,
312
312
  FRAME_SUNKEN|JUSTIFY_RIGHT|LAYOUT_RIGHT|LAYOUT_CENTER_Y,
313
313
  0, 0, 0, 0, 2, 2, 1, 1)
314
314
  numchars.backColor = statusbar.backColor
315
-
315
+
316
316
  # Caption before number
317
317
  FXLabel.new(statusbar, " Size:", nil, LAYOUT_RIGHT|LAYOUT_CENTER_Y)
318
-
318
+
319
319
  # Show column number in status bar
320
320
  columnno = FXTextField.new(statusbar, 4, @editor, FXText::ID_CURSOR_COLUMN,
321
321
  FRAME_SUNKEN|JUSTIFY_RIGHT|LAYOUT_RIGHT|LAYOUT_CENTER_Y,
322
322
  0, 0, 0, 0, 2, 2, 1, 1)
323
323
  columnno.backColor = statusbar.backColor
324
-
324
+
325
325
  # Caption before number
326
326
  FXLabel.new(statusbar, " Col:", nil, LAYOUT_RIGHT|LAYOUT_CENTER_Y)
327
-
327
+
328
328
  # Show line number in status bar
329
329
  rowno = FXTextField.new(statusbar, 4, @editor, FXText::ID_CURSOR_ROW,
330
330
  FRAME_SUNKEN|JUSTIFY_RIGHT|LAYOUT_RIGHT|LAYOUT_CENTER_Y,
331
331
  0, 0, 0, 0, 2, 2, 1, 1)
332
332
  rowno.backColor = statusbar.backColor
333
-
333
+
334
334
  # Caption before number
335
335
  FXLabel.new(statusbar, " Line:", nil, LAYOUT_RIGHT|LAYOUT_CENTER_Y)
336
-
336
+
337
337
  # Toobar buttons: File manipulation
338
338
  FXButton.new(toolbar, "New\tNew\tCreate new document.", @newicon,
339
339
  self, ID_NEW, (ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|
@@ -347,14 +347,14 @@ class TextWindow < FXMainWindow
347
347
  FXButton.new(toolbar, "Save as\tSave As\tSave document to another file.",
348
348
  @saveasicon, self, ID_SAVEAS, (ICON_ABOVE_TEXT|BUTTON_TOOLBAR|
349
349
  FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT))
350
-
350
+
351
351
  # Toobar buttons: Print
352
352
  FXFrame.new(toolbar,
353
353
  LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 0, 0, 5, 5)
354
354
  FXButton.new(toolbar, "Print\tPrint\tPrint document.", @printicon,
355
355
  self, ID_PRINT, (ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|
356
356
  LAYOUT_TOP|LAYOUT_LEFT))
357
-
357
+
358
358
  # Toobar buttons: Editing
359
359
  FXFrame.new(toolbar,
360
360
  LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 0, 0, 5, 5)
@@ -373,18 +373,18 @@ class TextWindow < FXMainWindow
373
373
  FXButton.new(toolbar, "Redo\tRedo\tRedo last undo.", @redoicon,
374
374
  @undolist, FXUndoList::ID_REDO, (ICON_ABOVE_TEXT|BUTTON_TOOLBAR|
375
375
  FRAME_RAISED|LAYOUT_TOP|LAYOUT_LEFT))
376
-
376
+
377
377
  # Color
378
378
  FXFrame.new(toolbar,
379
379
  LAYOUT_TOP|LAYOUT_LEFT|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT, 0, 0, 5, 5)
380
380
  FXButton.new(toolbar, "Fonts\tFonts\tDisplay font dialog.", @fontsicon,
381
381
  self, ID_FONT, (ICON_ABOVE_TEXT|BUTTON_TOOLBAR|FRAME_RAISED|
382
382
  LAYOUT_TOP|LAYOUT_LEFT))
383
-
383
+
384
384
  FXButton.new(toolbar, "Help\tHelp on editor\tDisplay help information.",
385
385
  @helpicon, self, ID_SHOW_HELP, (ICON_ABOVE_TEXT|BUTTON_TOOLBAR|
386
386
  FRAME_RAISED|LAYOUT_TOP|LAYOUT_RIGHT))
387
-
387
+
388
388
  # File Menu entries
389
389
  FXMenuCommand.new(filemenu, "&Open... \tCtl-O\tOpen document file.",
390
390
  @openicon, self, ID_OPEN)
@@ -410,7 +410,7 @@ class TextWindow < FXMainWindow
410
410
  @editor, FXText::ID_TOGGLE_EDITABLE)
411
411
  iconifyCmd = FXMenuCommand.new(filemenu, "&Iconify...\t\tIconify editor.")
412
412
  iconifyCmd.connect(SEL_COMMAND) { self.minimize }
413
-
413
+
414
414
  # Recent file menu; this automatically hides if there are no files
415
415
  sep1 = FXMenuSeparator.new(filemenu)
416
416
  sep1.setTarget(@mrufiles)
@@ -431,7 +431,7 @@ class TextWindow < FXMainWindow
431
431
  sep2.setTarget(@mrufiles)
432
432
  sep2.setSelector(FXRecentFiles::ID_ANYFILES)
433
433
  FXMenuCommand.new(filemenu, "&Quit\tCtl-Q", nil, self, ID_QUIT)
434
-
434
+
435
435
  # Edit Menu entries
436
436
  FXMenuCommand.new(editmenu, "&Undo\tCtl-Z\tUndo last change.", @undoicon,
437
437
  @undolist, FXUndoList::ID_UNDO)
@@ -471,7 +471,7 @@ class TextWindow < FXMainWindow
471
471
  FXMenuCommand.new(editmenu,
472
472
  "Shift tab right\t\tShift text right one tab position.", nil,
473
473
  @editor, FXText::ID_SHIFT_TABRIGHT)
474
-
474
+
475
475
  # Goto Menu entries
476
476
  FXMenuCommand.new(gotomenu,
477
477
  "&Goto...\tCtl-G\tGoto line number.", nil,
@@ -496,7 +496,7 @@ class TextWindow < FXMainWindow
496
496
  FXMenuCommand.new(searchmenu,
497
497
  "Goto matching (..)\tCtl-M\tGoto matching brace or parenthesis.", nil,
498
498
  @editor, FXText::ID_GOTO_MATCHING)
499
-
499
+
500
500
  # Search Menu entries
501
501
  FXMenuCommand.new(searchmenu,
502
502
  "Select matching (..)\tShift-Ctl-M\tSelect matching brace or parenthesis.", nil,
@@ -526,7 +526,7 @@ class TextWindow < FXMainWindow
526
526
  FXMenuCommand.new(searchmenu,
527
527
  "R&eplace...\tCtl-R\tSearch for a string.", nil,
528
528
  @editor, FXText::ID_REPLACE)
529
-
529
+
530
530
  # Options menu
531
531
  FXMenuCommand.new(optionmenu,
532
532
  "Preferences...\t\tChange preferences.", nil,
@@ -542,7 +542,7 @@ class TextWindow < FXMainWindow
542
542
  FXMenuCommand.new(optionmenu,
543
543
  "Save Settings...\t\tSave settings now.", nil,
544
544
  self, TextWindow::ID_SAVE_SETTINGS)
545
-
545
+
546
546
  # View Menu entries
547
547
  FXMenuCommand.new(viewmenu,
548
548
  "Hidden files\t\tShow hidden files and directories.", nil,
@@ -554,34 +554,34 @@ class TextWindow < FXMainWindow
554
554
  toolbar, FXWindow::ID_TOGGLESHOWN)
555
555
  FXMenuCommand.new(viewmenu, "Status line\t\tDisplay status line.", nil,
556
556
  statusbar, FXWindow::ID_TOGGLESHOWN)
557
-
557
+
558
558
  # Help Menu entries
559
559
  FXMenuCommand.new(helpmenu, "&Help...\t\tDisplay help information.",
560
560
  @helpicon, self, ID_SHOW_HELP, 0)
561
561
  FXMenuSeparator.new(helpmenu)
562
562
  FXMenuCommand.new(helpmenu, "&About TextEdit...\t\tDisplay about panel.",
563
563
  @smallicon, self, ID_ABOUT, 0)
564
-
564
+
565
565
  # Make a tool tip
566
566
  FXToolTip.new(getApp(), 0)
567
-
567
+
568
568
  # Recent files
569
569
  @mrufiles = FXRecentFiles.new
570
570
  @mrufiles.setTarget(self)
571
571
  @mrufiles.setSelector(ID_RECENTFILE)
572
-
572
+
573
573
  # Add some alternative accelerators
574
574
  if getAccelTable()
575
575
  getAccelTable().addAccel(MKUINT(KEY_Z, CONTROLMASK|SHIFTMASK),
576
576
  @undolist,
577
577
  MKUINT(FXUndoList::ID_REDO, SEL_COMMAND))
578
578
  end
579
-
579
+
580
580
  # Initialize file name
581
581
  @filename = "untitled"
582
582
  @filetime = nil
583
583
  @filenameset = false
584
-
584
+
585
585
  # Initialize other stuff
586
586
  @searchpath = "/usr/include"
587
587
  setPatterns(["All Files (*)"])
@@ -752,7 +752,7 @@ class TextWindow < FXMainWindow
752
752
 
753
753
  # File patterns
754
754
  patterns = getApp().reg().readStringEntry("SETTINGS", "filepatterns", "All Files (*)")
755
- setPatterns(patterns.split("\n"))
755
+ setPatterns(patterns.split("\n"))
756
756
  setCurrentPattern(getApp().reg().readIntEntry("SETTINGS", "filepatternno", 0))
757
757
 
758
758
  # Search path
@@ -764,57 +764,57 @@ class TextWindow < FXMainWindow
764
764
  @editor.selBackColor = textselback
765
765
  @editor.selTextColor = textselfore
766
766
  @editor.cursorColor = textcursor
767
-
767
+
768
768
  @dirlist.textColor = dirfore
769
769
  @dirlist.backColor = dirback
770
770
  @dirlist.selBackColor = dirselback
771
771
  @dirlist.selTextColor = dirselfore
772
772
  @dirlist.lineColor = dirlines
773
-
773
+
774
774
  # Change delimiters
775
775
  @editor.delimiters = delimiters
776
-
776
+
777
777
  # Hide tree if asked for
778
778
  @treebox.hide if hidetree
779
-
779
+
780
780
  # Set tree width
781
781
  @treebox.width = treewidth
782
-
782
+
783
783
  # Open toward file
784
784
  @dirlist.currentFile = @filename
785
-
785
+
786
786
  # Wrap mode
787
787
  if wrapping
788
788
  @editor.textStyle |= TEXT_WORDWRAP
789
789
  else
790
790
  @editor.textStyle &= ~TEXT_WORDWRAP
791
791
  end
792
-
792
+
793
793
  # Wrap fixed mode
794
794
  if fixedwrap
795
795
  @editor.textStyle |= TEXT_FIXEDWRAP
796
796
  else
797
797
  @editor.textStyle &= ~TEXT_FIXEDWRAP
798
798
  end
799
-
799
+
800
800
  # Autoindent
801
801
  if autoindent
802
802
  @editor.textStyle |= TEXT_AUTOINDENT
803
803
  else
804
804
  @editor.textStyle &= ~TEXT_AUTOINDENT
805
805
  end
806
-
806
+
807
807
  # Hard tabs
808
808
  if hardtabs
809
809
  @editor.textStyle &= ~TEXT_NO_TABS
810
810
  else
811
811
  @editor.textStyle |= TEXT_NO_TABS
812
812
  end
813
-
813
+
814
814
  # Wrap and tab columns
815
815
  @editor.wrapColumns = wrapcols
816
816
  @editor.tabColumns = tabcols
817
-
817
+
818
818
  # Reposition window
819
819
  position(xx, yy, ww, hh)
820
820
  end
@@ -828,54 +828,54 @@ class TextWindow < FXMainWindow
828
828
  getApp().reg().writeColorEntry("SETTINGS", "textselbackground", @editor.selBackColor)
829
829
  getApp().reg().writeColorEntry("SETTINGS", "textselforeground", @editor.selTextColor)
830
830
  getApp().reg().writeColorEntry("SETTINGS", "textcursor", @editor.cursorColor)
831
-
831
+
832
832
  # Colors of directory
833
833
  getApp().reg().writeColorEntry("SETTINGS", "browserbackground", @dirlist.backColor)
834
834
  getApp().reg().writeColorEntry("SETTINGS", "browserforeground", @dirlist.textColor)
835
835
  getApp().reg().writeColorEntry("SETTINGS", "browserselbackground", @dirlist.selBackColor)
836
836
  getApp().reg().writeColorEntry("SETTINGS", "browserselforeground", @dirlist.selTextColor)
837
837
  getApp().reg().writeColorEntry("SETTINGS", "browserlines", @dirlist.lineColor)
838
-
838
+
839
839
  # Delimiters
840
840
  getApp().reg().writeStringEntry("SETTINGS", "delimiters", @editor.delimiters)
841
-
841
+
842
842
  # Write new window size back to registry
843
843
  getApp().reg().writeIntEntry("SETTINGS", "x", getX())
844
844
  getApp().reg().writeIntEntry("SETTINGS", "y", getY())
845
845
  getApp().reg().writeIntEntry("SETTINGS", "width", getWidth())
846
846
  getApp().reg().writeIntEntry("SETTINGS", "height", getHeight())
847
-
847
+
848
848
  # Were showing hidden files
849
849
  getApp().reg().writeIntEntry("SETTINGS", "showhiddenfiles", @dirlist.hiddenFilesShown? ? 1 : 0)
850
-
850
+
851
851
  # Was tree shown?
852
852
  getApp().reg().writeIntEntry("SETTINGS", "hidetree", @treebox.shown() ? 0 : 1)
853
-
853
+
854
854
  # Width of tree
855
855
  getApp().reg().writeIntEntry("SETTINGS", "treewidth", @treebox.getWidth())
856
-
856
+
857
857
  # Wrap mode
858
858
  getApp().reg().writeIntEntry("SETTINGS", "wordwrap", (@editor.textStyle & TEXT_WORDWRAP) != 0 ? 1 : 0)
859
859
  getApp().reg().writeIntEntry("SETTINGS", "fixedwrap", (@editor.textStyle & TEXT_FIXEDWRAP) != 0 ? 1 : 0)
860
860
  getApp().reg().writeIntEntry("SETTINGS", "wrapcols", @editor.getWrapColumns())
861
-
861
+
862
862
  # Tab settings, autoindent
863
863
  getApp().reg().writeIntEntry("SETTINGS", "autoindent", (@editor.textStyle & TEXT_AUTOINDENT) != 0 ? 1 : 0)
864
864
  getApp().reg().writeIntEntry("SETTINGS", "hardtabs", (@editor.textStyle & TEXT_NO_TABS) == 0 ? 1 : 0)
865
865
  getApp().reg().writeIntEntry("SETTINGS", "tabcols", @editor.getTabColumns())
866
-
866
+
867
867
  # Strip returns
868
868
  getApp().reg().writeIntEntry("SETTINGS", "stripreturn", @stripcr ? 1 : 0)
869
869
  getApp().reg().writeIntEntry("SETTINGS", "stripspaces", @stripsp ? 1 : 0)
870
-
870
+
871
871
  # File patterns
872
872
  getApp().reg().writeIntEntry("SETTINGS", "filepatternno", getCurrentPattern())
873
873
  patterns = getPatterns().join("\n")
874
874
  getApp().reg().writeStringEntry("SETTINGS", "filepatterns", patterns)
875
-
875
+
876
876
  # Search path
877
877
  getApp().reg().writeStringEntry("SETTINGS", "searchpath", @searchpath)
878
-
878
+
879
879
  # Font
880
880
  getApp().reg().writeStringEntry("SETTINGS", "font", @editor.font.font)
881
881
  end
data/ext/fox16/FXRuby.cpp CHANGED
@@ -85,11 +85,15 @@ static st_table * FXRuby_Objects;
85
85
  * struct. It identifies the Ruby instance associated with a C++ object.
86
86
  * It also indicates whether this is merely a "borrowed" reference to
87
87
  * some C++ object (i.e. it's not one we need to destroy later).
88
+ *
89
+ * in_gc is set for FXWindows that are in garbage collection and must
90
+ * not call ruby code anymore.
88
91
  */
89
92
 
90
93
  struct FXRubyObjDesc {
91
94
  VALUE obj;
92
95
  bool borrowed;
96
+ bool in_gc;
93
97
  };
94
98
 
95
99
 
@@ -108,9 +112,12 @@ VALUE FXRbNewPointerObj(void *ptr,swig_type_info* ty){
108
112
  FXRubyObjDesc *desc;
109
113
  if(FXMALLOC(&desc,FXRubyObjDesc,1)){
110
114
  obj=SWIG_Ruby_NewPointerObj(ptr,ty,1);
115
+ FXTRACE((1,"FXRbNewPointerObj(rubyObj=%d,foxObj=%p)\n",static_cast<int>(obj),ptr));
111
116
  desc->obj=obj;
112
117
  desc->borrowed=true;
113
- st_insert(FXRuby_Objects,reinterpret_cast<st_data_t>(ptr),reinterpret_cast<st_data_t>(desc));
118
+ desc->in_gc=false;
119
+ int overwritten = st_insert(FXRuby_Objects,reinterpret_cast<st_data_t>(ptr),reinterpret_cast<st_data_t>(desc));
120
+ FXASSERT(!overwritten);
114
121
  return obj;
115
122
  }
116
123
  else{
@@ -140,6 +147,25 @@ bool FXRbIsBorrowed(void* ptr){
140
147
  }
141
148
  }
142
149
 
150
+ bool FXRbSetInGC(const void* ptr, bool enabled){
151
+ FXASSERT(ptr!=0);
152
+ FXRubyObjDesc *desc;
153
+ if(st_lookup(FXRuby_Objects,reinterpret_cast<st_data_t>(ptr),reinterpret_cast<st_data_t *>(&desc))!=0){
154
+ desc->in_gc=enabled;
155
+ return enabled;
156
+ }
157
+ return false;
158
+ }
159
+
160
+ bool FXRbIsInGC(const void* ptr){
161
+ FXASSERT(ptr!=0);
162
+ FXRubyObjDesc *desc;
163
+ if(st_lookup(FXRuby_Objects,reinterpret_cast<st_data_t>(ptr),reinterpret_cast<st_data_t *>(&desc))!=0){
164
+ return desc->in_gc;
165
+ }
166
+ return false;
167
+ }
168
+
143
169
 
144
170
  /**
145
171
  * FXRbConvertPtr() is just a wrapper around SWIG_Ruby_ConvertPtr().
@@ -208,18 +234,34 @@ void FXRbRegisterRubyObj(VALUE rubyObj,const void* foxObj) {
208
234
  FXASSERT(foxObj!=0);
209
235
  FXRubyObjDesc* desc;
210
236
  FXTRACE((1,"FXRbRegisterRubyObj(rubyObj=%d,foxObj=%p)\n",static_cast<int>(rubyObj),foxObj));
211
- if(FXMALLOC(&desc,FXRubyObjDesc,1)){
237
+ if(st_lookup(FXRuby_Objects,reinterpret_cast<st_data_t>(const_cast<void*>(foxObj)),reinterpret_cast<st_data_t *>(&desc))!=0){
238
+ FXASSERT(desc->borrowed);
239
+ /* There is already a Ruby object registered for this foxObj.
240
+ * This can happen, if libfox calls methods out of the C++ object constructor,
241
+ * that can be overwritten in Ruby (like changeFocus) with the object as
242
+ * parameter. FXFileSelector is one example.
243
+ * To avoid double references to the same foxObj from different Ruby objects,
244
+ * we decouple the foxObj from previoius ruby object and point to the new one.
245
+ */
246
+ DATA_PTR(desc->obj) = 0;
212
247
  desc->obj=rubyObj;
213
248
  desc->borrowed=false;
214
- st_insert(FXRuby_Objects,reinterpret_cast<st_data_t>(const_cast<void*>(foxObj)),reinterpret_cast<st_data_t>(desc));
215
249
  }
216
250
  else{
217
- FXASSERT(FALSE);
251
+ if(FXMALLOC(&desc,FXRubyObjDesc,1)){
252
+ desc->obj=rubyObj;
253
+ desc->borrowed=false;
254
+ desc->in_gc=false;
255
+ int overwritten = st_insert(FXRuby_Objects,reinterpret_cast<st_data_t>(const_cast<void*>(foxObj)),reinterpret_cast<st_data_t>(desc));
256
+ FXASSERT(!overwritten);
257
+ }
258
+ else{
259
+ FXASSERT(FALSE);
260
+ }
218
261
  }
219
262
  FXASSERT(FXRbGetRubyObj(foxObj,false)==rubyObj);
220
263
  }
221
264
 
222
-
223
265
  /**
224
266
  * Remove this mapping between a Ruby instance and a C++ object
225
267
  */
@@ -1301,6 +1343,7 @@ void FXRbRange2LoHi(VALUE range,FXdouble& lo,FXdouble& hi){
1301
1343
  void FXRbCallVoidMethod(FXObject* recv, ID func) {
1302
1344
  VALUE obj=FXRbGetRubyObj(recv,false);
1303
1345
  FXASSERT(!NIL_P(obj));
1346
+ FXASSERT(!FXRbIsInGC(recv));
1304
1347
  rb_funcall(obj,func,0,NULL);
1305
1348
  }
1306
1349
 
@@ -712,7 +712,7 @@ static FXuint _MKUINT(FXushort l,FXushort h){
712
712
  static FXuint _FXSEL(FXushort type,FXushort id){
713
713
  return FXSEL(type,id);
714
714
  }
715
-
715
+
716
716
  static FXushort _FXSELTYPE(FXuint s){
717
717
  return FXSELTYPE(s);
718
718
  }
@@ -703,7 +703,7 @@ FXint FXIconList_setItem__SWIG_1(FXIconList *self,FXint index,FXString const &te
703
703
 
704
704
  // Do the deed
705
705
  FXint result=self->setItem(index,text,big,mini,ITEMDATA,notify);
706
-
706
+
707
707
  // Now zero-out pointers held by still-alive Ruby objects
708
708
  FXRbUnregisterRubyObj(oldItem);
709
709
 
@@ -1098,7 +1098,7 @@ static void free_FXXPMIcon(FXXPMIcon *);
1098
1098
  FXint width;
1099
1099
  FXint height;
1100
1100
  VALUE ary=Qnil;
1101
-
1101
+
1102
1102
  // Confirm that the input is an array of strings
1103
1103
  Check_Type(strArray,T_ARRAY);
1104
1104
  len=RARRAY_LEN(strArray);
@@ -38,13 +38,13 @@ private:
38
38
  public:
39
39
  // Create an memory buffer object
40
40
  FXMemoryBuffer(FXColor *data,FXuint sz) : buffer(data),size(sz){}
41
-
41
+
42
42
  // Returns a pointer to the data
43
43
  FXColor* getData() const { return buffer; }
44
-
44
+
45
45
  // Returns the size (in bytes)
46
46
  FXuint getSize() const { return size; }
47
-
47
+
48
48
  // Destructor
49
49
  ~FXMemoryBuffer(){}
50
50
  };
@@ -129,7 +129,7 @@ public:
129
129
  public:
130
130
  // Constructor
131
131
  FXRbApp(const FXchar* name,const FXchar* vendor);
132
-
132
+
133
133
  // Construct and call init()
134
134
  static FXRbApp* constructAndInit(const FXchar* name,const FXchar* vendor);
135
135
 
@@ -103,7 +103,7 @@ inline void cls ## _setData(cls* self,FXuchar* pix,FXuint opts,FXint w,FXint h){
103
103
  void cls::setData(FXuchar* pix,FXuint opts,FXint w,FXint h){ \
104
104
  FXRbCallVoidMethod(this,rb_intern("setData"),pix,opts,w,h); \
105
105
  }
106
-
106
+
107
107
 
108
108
 
109
109
  class FXRbBitmap : public FXBitmap {
@@ -23,7 +23,7 @@
23
23
  /***********************************************************************
24
24
  * $Id: FXRbBitmapFrame.h 2190 2005-08-24 07:58:47Z lyle $
25
25
  ***********************************************************************/
26
-
26
+
27
27
  #ifndef FXRBBITMAPFRAME_H
28
28
  #define FXRBBITMAPFRAME_H
29
29
 
@@ -46,7 +46,7 @@ public:
46
46
 
47
47
  // Mark dependencies for the GC
48
48
  static void markfunc(FXBitmapFrame* self);
49
-
49
+
50
50
  /// Destroy the widget, but do not destroy the bitmap
51
51
  virtual ~FXRbBitmapFrame(){
52
52
  FXRbUnregisterRubyObj(this);
@@ -4,7 +4,7 @@ public:
4
4
 
5
5
  // Overrides the base class version of render()
6
6
  virtual void render();
7
-
7
+
8
8
  // Overrides the base class version of release()
9
9
  virtual void release();
10
10
 
@@ -28,7 +28,7 @@ public:
28
28
 
29
29
  /// Fill bitmap with uniform value
30
30
  virtual void fill(FXbool color);
31
-
31
+
32
32
  // Overrides the base class version of setData()
33
33
  virtual void setData(FXuchar *pix,FXuint opts=0);
34
34
 
@@ -45,5 +45,5 @@ public:
45
45
  FXRbUnregisterAppSensitiveObject(this);
46
46
  }
47
47
  };
48
-
48
+
49
49
  #endif