fxruby 1.6.13-mswin32

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 (496) hide show
  1. data/LICENSE +456 -0
  2. data/README +39 -0
  3. data/doc/apes02.html +21 -0
  4. data/doc/apes03.html +39 -0
  5. data/doc/book.html +3 -0
  6. data/doc/build.html +133 -0
  7. data/doc/ch03s02.html +23 -0
  8. data/doc/ch03s03.html +52 -0
  9. data/doc/ch03s04.html +36 -0
  10. data/doc/ch03s05.html +60 -0
  11. data/doc/ch04s02.html +71 -0
  12. data/doc/ch04s03.html +37 -0
  13. data/doc/ch04s04.html +72 -0
  14. data/doc/ch05s02.html +260 -0
  15. data/doc/ch05s03.html +127 -0
  16. data/doc/changes.html +685 -0
  17. data/doc/clipboardtut.html +67 -0
  18. data/doc/differences.html +190 -0
  19. data/doc/dragdroptut.html +263 -0
  20. data/doc/events.html +36 -0
  21. data/doc/examples.html +104 -0
  22. data/doc/gems.html +73 -0
  23. data/doc/goals.html +41 -0
  24. data/doc/images/babelfish.png +0 -0
  25. data/doc/images/browser.png +0 -0
  26. data/doc/images/button.png +0 -0
  27. data/doc/images/call-chain-example.png +0 -0
  28. data/doc/images/colordialog.png +0 -0
  29. data/doc/images/datatarget.png +0 -0
  30. data/doc/images/dialog.png +0 -0
  31. data/doc/images/dilbert.png +0 -0
  32. data/doc/images/dirlist.png +0 -0
  33. data/doc/images/dropsite-droprejected.png +0 -0
  34. data/doc/images/foursplit.png +0 -0
  35. data/doc/images/gltest.png +0 -0
  36. data/doc/images/glviewer.png +0 -0
  37. data/doc/images/groupbox.png +0 -0
  38. data/doc/images/header.png +0 -0
  39. data/doc/images/hello-with-button.png +0 -0
  40. data/doc/images/hello-with-icon-1.png +0 -0
  41. data/doc/images/hello-with-icon-2.png +0 -0
  42. data/doc/images/hello-with-icon-3.png +0 -0
  43. data/doc/images/hello-with-tooltip.png +0 -0
  44. data/doc/images/hello-without-button.png +0 -0
  45. data/doc/images/hello.png +0 -0
  46. data/doc/images/hello2.png +0 -0
  47. data/doc/images/iconlist-bigicons.png +0 -0
  48. data/doc/images/iconlist-details.png +0 -0
  49. data/doc/images/image.png +0 -0
  50. data/doc/images/imageviewer.png +0 -0
  51. data/doc/images/inheritance.png +0 -0
  52. data/doc/images/mditest.png +0 -0
  53. data/doc/images/raabrowser.png +0 -0
  54. data/doc/images/scribble.png +0 -0
  55. data/doc/images/shutter.png +0 -0
  56. data/doc/images/splitter.png +0 -0
  57. data/doc/images/tabbook.png +0 -0
  58. data/doc/images/table.png +0 -0
  59. data/doc/images/tutorial1.png +0 -0
  60. data/doc/implementation.html +16 -0
  61. data/doc/infosources.html +33 -0
  62. data/doc/library.html +30 -0
  63. data/doc/opengl.html +73 -0
  64. data/doc/pt01.html +3 -0
  65. data/doc/pt02.html +3 -0
  66. data/doc/scintilla.html +36 -0
  67. data/doc/style.css +247 -0
  68. data/doc/subversion.html +21 -0
  69. data/doc/tutorial1.html +90 -0
  70. data/doc/unicode.html +56 -0
  71. data/examples/RAA.rb +25 -0
  72. data/examples/README +53 -0
  73. data/examples/babelfish.rb +93 -0
  74. data/examples/bounce.rb +159 -0
  75. data/examples/browser.rb +191 -0
  76. data/examples/button.rb +168 -0
  77. data/examples/datatarget.rb +223 -0
  78. data/examples/dctest.rb +696 -0
  79. data/examples/dialog.rb +143 -0
  80. data/examples/dilbert.rb +67 -0
  81. data/examples/dirlist.rb +63 -0
  82. data/examples/dragdrop.rb +97 -0
  83. data/examples/dragsource.rb +80 -0
  84. data/examples/dropsite.rb +59 -0
  85. data/examples/foursplit.rb +97 -0
  86. data/examples/gltest.rb +330 -0
  87. data/examples/glviewer.rb +576 -0
  88. data/examples/groupbox.rb +392 -0
  89. data/examples/header.rb +149 -0
  90. data/examples/hello.rb +12 -0
  91. data/examples/hello2.rb +51 -0
  92. data/examples/iRAA.rb +153 -0
  93. data/examples/iconlist.rb +92 -0
  94. data/examples/icons/AngryGuyInBunnySuit.ico +0 -0
  95. data/examples/icons/FatBot.ico +0 -0
  96. data/examples/icons/FlippedySwitch.ico +0 -0
  97. data/examples/icons/LeGoon.ico +0 -0
  98. data/examples/icons/Net.ico +0 -0
  99. data/examples/icons/RedMacOS.ico +0 -0
  100. data/examples/icons/SawBlade.ico +0 -0
  101. data/examples/icons/backview.png +0 -0
  102. data/examples/icons/big.png +0 -0
  103. data/examples/icons/bigfolder.png +0 -0
  104. data/examples/icons/bigpenguin.png +0 -0
  105. data/examples/icons/bottomview.png +0 -0
  106. data/examples/icons/camera.png +0 -0
  107. data/examples/icons/capbutt.png +0 -0
  108. data/examples/icons/capnotlast.png +0 -0
  109. data/examples/icons/capproj.png +0 -0
  110. data/examples/icons/capround.png +0 -0
  111. data/examples/icons/colorpal.png +0 -0
  112. data/examples/icons/copy.png +0 -0
  113. data/examples/icons/cut.png +0 -0
  114. data/examples/icons/delimit.png +0 -0
  115. data/examples/icons/dippy.png +0 -0
  116. data/examples/icons/double_dash.png +0 -0
  117. data/examples/icons/filenew.png +0 -0
  118. data/examples/icons/fileopen.png +0 -0
  119. data/examples/icons/filesave.png +0 -0
  120. data/examples/icons/filesaveas.png +0 -0
  121. data/examples/icons/fonts.png +0 -0
  122. data/examples/icons/fox.png +0 -0
  123. data/examples/icons/foxicon.png +0 -0
  124. data/examples/icons/frontview.png +0 -0
  125. data/examples/icons/gem_big.png +0 -0
  126. data/examples/icons/gem_small.png +0 -0
  127. data/examples/icons/hello2.png +0 -0
  128. data/examples/icons/help.png +0 -0
  129. data/examples/icons/indent.png +0 -0
  130. data/examples/icons/jbevel.png +0 -0
  131. data/examples/icons/jmiter.png +0 -0
  132. data/examples/icons/jround.png +0 -0
  133. data/examples/icons/kill.png +0 -0
  134. data/examples/icons/leftview.png +0 -0
  135. data/examples/icons/light.png +0 -0
  136. data/examples/icons/minidoc.png +0 -0
  137. data/examples/icons/minifolder.png +0 -0
  138. data/examples/icons/minifolderopen.png +0 -0
  139. data/examples/icons/newfolder.png +0 -0
  140. data/examples/icons/nolight.png +0 -0
  141. data/examples/icons/onoff_dash.png +0 -0
  142. data/examples/icons/palette.png +0 -0
  143. data/examples/icons/parallel.png +0 -0
  144. data/examples/icons/paste.png +0 -0
  145. data/examples/icons/pattern.png +0 -0
  146. data/examples/icons/penguin.png +0 -0
  147. data/examples/icons/perspective.png +0 -0
  148. data/examples/icons/printicon.png +0 -0
  149. data/examples/icons/prop.png +0 -0
  150. data/examples/icons/redo.png +0 -0
  151. data/examples/icons/rightview.png +0 -0
  152. data/examples/icons/saveas.png +0 -0
  153. data/examples/icons/shutter1.png +0 -0
  154. data/examples/icons/shutter2.png +0 -0
  155. data/examples/icons/small.png +0 -0
  156. data/examples/icons/smoothlight.png +0 -0
  157. data/examples/icons/solid_line.png +0 -0
  158. data/examples/icons/tbuplevel.png +0 -0
  159. data/examples/icons/topview.png +0 -0
  160. data/examples/icons/undo.png +0 -0
  161. data/examples/icons/winapp.png +0 -0
  162. data/examples/icons/zoom.png +0 -0
  163. data/examples/image.rb +279 -0
  164. data/examples/imageviewer.rb +509 -0
  165. data/examples/inputs.rb +83 -0
  166. data/examples/mditest.rb +180 -0
  167. data/examples/pig.rb +77 -0
  168. data/examples/raabrowser.rb +122 -0
  169. data/examples/ratio.rb +80 -0
  170. data/examples/rulerview.rb +27 -0
  171. data/examples/scintilla-test.rb +81 -0
  172. data/examples/scribble-orig.rb +186 -0
  173. data/examples/scribble.rb +162 -0
  174. data/examples/shutter.rb +158 -0
  175. data/examples/splitter.rb +211 -0
  176. data/examples/styledtext.rb +82 -0
  177. data/examples/tabbook.rb +165 -0
  178. data/examples/table.rb +187 -0
  179. data/examples/textedit/commands.rb +114 -0
  180. data/examples/textedit/helpwindow.rb +299 -0
  181. data/examples/textedit/prefdialog.rb +239 -0
  182. data/examples/textedit/textedit.rb +1763 -0
  183. data/examples/unicode.rb +36 -0
  184. data/ext/fox16/fox16.so +0 -0
  185. data/index.html +14 -0
  186. data/lib/fox16/aliases.rb +5598 -0
  187. data/lib/fox16/calendar.rb +217 -0
  188. data/lib/fox16/chore.rb +105 -0
  189. data/lib/fox16/colors.rb +280 -0
  190. data/lib/fox16/core.rb +681 -0
  191. data/lib/fox16/dict.rb +35 -0
  192. data/lib/fox16/execute_nonmodal.rb +70 -0
  193. data/lib/fox16/glgroup.rb +166 -0
  194. data/lib/fox16/glshapes.rb +456 -0
  195. data/lib/fox16/input.rb +59 -0
  196. data/lib/fox16/irb.rb +178 -0
  197. data/lib/fox16/iterators.rb +371 -0
  198. data/lib/fox16/keys.rb +1374 -0
  199. data/lib/fox16/kwargs.rb +2725 -0
  200. data/lib/fox16/missingdep.rb +14 -0
  201. data/lib/fox16/pseudokeyboard.rb +40 -0
  202. data/lib/fox16/pseudomouse.rb +87 -0
  203. data/lib/fox16/responder.rb +70 -0
  204. data/lib/fox16/responder2.rb +131 -0
  205. data/lib/fox16/scintilla.rb +3641 -0
  206. data/lib/fox16/settings.rb +18 -0
  207. data/lib/fox16/signal.rb +71 -0
  208. data/lib/fox16/splashscreen.rb +82 -0
  209. data/lib/fox16/timeout.rb +136 -0
  210. data/lib/fox16/undolist.rb +455 -0
  211. data/lib/fox16/version.rb +9 -0
  212. data/rdoc-sources/FX4Splitter.rb +156 -0
  213. data/rdoc-sources/FX7Segment.rb +54 -0
  214. data/rdoc-sources/FXAccelTable.rb +102 -0
  215. data/rdoc-sources/FXApp.rb +545 -0
  216. data/rdoc-sources/FXArrowButton.rb +69 -0
  217. data/rdoc-sources/FXBMPIcon.rb +67 -0
  218. data/rdoc-sources/FXBMPImage.rb +30 -0
  219. data/rdoc-sources/FXBitmap.rb +115 -0
  220. data/rdoc-sources/FXBitmapFrame.rb +31 -0
  221. data/rdoc-sources/FXBitmapView.rb +44 -0
  222. data/rdoc-sources/FXButton.rb +59 -0
  223. data/rdoc-sources/FXCURCursor.rb +13 -0
  224. data/rdoc-sources/FXCanvas.rb +18 -0
  225. data/rdoc-sources/FXCheckButton.rb +58 -0
  226. data/rdoc-sources/FXChoiceBox.rb +49 -0
  227. data/rdoc-sources/FXColorBar.rb +48 -0
  228. data/rdoc-sources/FXColorDialog.rb +37 -0
  229. data/rdoc-sources/FXColorList.rb +55 -0
  230. data/rdoc-sources/FXColorRing.rb +49 -0
  231. data/rdoc-sources/FXColorSelector.rb +65 -0
  232. data/rdoc-sources/FXColorWell.rb +65 -0
  233. data/rdoc-sources/FXColorWheel.rb +57 -0
  234. data/rdoc-sources/FXComboBox.rb +211 -0
  235. data/rdoc-sources/FXComposite.rb +34 -0
  236. data/rdoc-sources/FXCursor.rb +67 -0
  237. data/rdoc-sources/FXDC.rb +720 -0
  238. data/rdoc-sources/FXDCPrint.rb +127 -0
  239. data/rdoc-sources/FXDCWindow.rb +33 -0
  240. data/rdoc-sources/FXDataTarget.rb +66 -0
  241. data/rdoc-sources/FXDebugTarget.rb +25 -0
  242. data/rdoc-sources/FXDelegator.rb +23 -0
  243. data/rdoc-sources/FXDial.rb +107 -0
  244. data/rdoc-sources/FXDialogBox.rb +32 -0
  245. data/rdoc-sources/FXDict.rb +79 -0
  246. data/rdoc-sources/FXDirBox.rb +55 -0
  247. data/rdoc-sources/FXDirDialog.rb +47 -0
  248. data/rdoc-sources/FXDirList.rb +149 -0
  249. data/rdoc-sources/FXDirSelector.rb +64 -0
  250. data/rdoc-sources/FXDockBar.rb +151 -0
  251. data/rdoc-sources/FXDockHandler.rb +26 -0
  252. data/rdoc-sources/FXDockSite.rb +104 -0
  253. data/rdoc-sources/FXDockTitle.rb +26 -0
  254. data/rdoc-sources/FXDocument.rb +29 -0
  255. data/rdoc-sources/FXDragCorner.rb +19 -0
  256. data/rdoc-sources/FXDrawable.rb +27 -0
  257. data/rdoc-sources/FXDriveBox.rb +46 -0
  258. data/rdoc-sources/FXExtentd.rb +85 -0
  259. data/rdoc-sources/FXExtentf.rb +85 -0
  260. data/rdoc-sources/FXFileDialog.rb +217 -0
  261. data/rdoc-sources/FXFileDict.rb +131 -0
  262. data/rdoc-sources/FXFileList.rb +208 -0
  263. data/rdoc-sources/FXFileSelector.rb +184 -0
  264. data/rdoc-sources/FXFileStream.rb +27 -0
  265. data/rdoc-sources/FXFoldingList.rb +504 -0
  266. data/rdoc-sources/FXFont.rb +361 -0
  267. data/rdoc-sources/FXFontDialog.rb +14 -0
  268. data/rdoc-sources/FXFontSelector.rb +37 -0
  269. data/rdoc-sources/FXFrame.rb +53 -0
  270. data/rdoc-sources/FXGIFCursor.rb +50 -0
  271. data/rdoc-sources/FXGIFIcon.rb +31 -0
  272. data/rdoc-sources/FXGIFImage.rb +29 -0
  273. data/rdoc-sources/FXGLCanvas.rb +45 -0
  274. data/rdoc-sources/FXGLContext.rb +40 -0
  275. data/rdoc-sources/FXGLObject.rb +75 -0
  276. data/rdoc-sources/FXGLShape.rb +69 -0
  277. data/rdoc-sources/FXGLViewer.rb +332 -0
  278. data/rdoc-sources/FXGLVisual.rb +94 -0
  279. data/rdoc-sources/FXGradientBar.rb +301 -0
  280. data/rdoc-sources/FXGroupBox.rb +33 -0
  281. data/rdoc-sources/FXHeader.rb +408 -0
  282. data/rdoc-sources/FXHorizontalFrame.rb +29 -0
  283. data/rdoc-sources/FXICOIcon.rb +65 -0
  284. data/rdoc-sources/FXICOImage.rb +31 -0
  285. data/rdoc-sources/FXIcon.rb +38 -0
  286. data/rdoc-sources/FXIconDict.rb +48 -0
  287. data/rdoc-sources/FXIconList.rb +447 -0
  288. data/rdoc-sources/FXIconSource.rb +100 -0
  289. data/rdoc-sources/FXId.rb +34 -0
  290. data/rdoc-sources/FXImage.rb +286 -0
  291. data/rdoc-sources/FXImageFrame.rb +36 -0
  292. data/rdoc-sources/FXImageView.rb +35 -0
  293. data/rdoc-sources/FXInputDialog.rb +77 -0
  294. data/rdoc-sources/FXJPGIcon.rb +70 -0
  295. data/rdoc-sources/FXJPGImage.rb +38 -0
  296. data/rdoc-sources/FXKnob.rb +76 -0
  297. data/rdoc-sources/FXLabel.rb +69 -0
  298. data/rdoc-sources/FXList.rb +440 -0
  299. data/rdoc-sources/FXListBox.rb +191 -0
  300. data/rdoc-sources/FXMDIButton.rb +67 -0
  301. data/rdoc-sources/FXMDIChild.rb +155 -0
  302. data/rdoc-sources/FXMDIClient.rb +65 -0
  303. data/rdoc-sources/FXMainWindow.rb +26 -0
  304. data/rdoc-sources/FXMatrix.rb +57 -0
  305. data/rdoc-sources/FXMemoryBuffer.rb +28 -0
  306. data/rdoc-sources/FXMemoryStream.rb +50 -0
  307. data/rdoc-sources/FXMenuBar.rb +23 -0
  308. data/rdoc-sources/FXMenuButton.rb +84 -0
  309. data/rdoc-sources/FXMenuCaption.rb +50 -0
  310. data/rdoc-sources/FXMenuCascade.rb +18 -0
  311. data/rdoc-sources/FXMenuCheck.rb +30 -0
  312. data/rdoc-sources/FXMenuCommand.rb +26 -0
  313. data/rdoc-sources/FXMenuPane.rb +13 -0
  314. data/rdoc-sources/FXMenuRadio.rb +33 -0
  315. data/rdoc-sources/FXMenuSeparator.rb +21 -0
  316. data/rdoc-sources/FXMenuTitle.rb +27 -0
  317. data/rdoc-sources/FXMessageBox.rb +72 -0
  318. data/rdoc-sources/FXObject.rb +28 -0
  319. data/rdoc-sources/FXOptionMenu.rb +83 -0
  320. data/rdoc-sources/FXPCXIcon.rb +63 -0
  321. data/rdoc-sources/FXPCXImage.rb +31 -0
  322. data/rdoc-sources/FXPNGIcon.rb +66 -0
  323. data/rdoc-sources/FXPNGImage.rb +34 -0
  324. data/rdoc-sources/FXPPMIcon.rb +36 -0
  325. data/rdoc-sources/FXPPMImage.rb +31 -0
  326. data/rdoc-sources/FXPacker.rb +63 -0
  327. data/rdoc-sources/FXPicker.rb +27 -0
  328. data/rdoc-sources/FXPopup.rb +53 -0
  329. data/rdoc-sources/FXPrintDialog.rb +36 -0
  330. data/rdoc-sources/FXProgressBar.rb +57 -0
  331. data/rdoc-sources/FXProgressDialog.rb +36 -0
  332. data/rdoc-sources/FXQuatd.rb +164 -0
  333. data/rdoc-sources/FXQuatf.rb +173 -0
  334. data/rdoc-sources/FXRGBIcon.rb +64 -0
  335. data/rdoc-sources/FXRGBImage.rb +31 -0
  336. data/rdoc-sources/FXRadioButton.rb +70 -0
  337. data/rdoc-sources/FXRanged.rb +100 -0
  338. data/rdoc-sources/FXRangef.rb +100 -0
  339. data/rdoc-sources/FXRealSlider.rb +101 -0
  340. data/rdoc-sources/FXRealSpinner.rb +140 -0
  341. data/rdoc-sources/FXRecentFiles.rb +77 -0
  342. data/rdoc-sources/FXRectangle.rb +149 -0
  343. data/rdoc-sources/FXRegion.rb +64 -0
  344. data/rdoc-sources/FXRegistry.rb +56 -0
  345. data/rdoc-sources/FXReplaceDialog.rb +56 -0
  346. data/rdoc-sources/FXRootWindow.rb +17 -0
  347. data/rdoc-sources/FXRuler.rb +130 -0
  348. data/rdoc-sources/FXRulerView.rb +225 -0
  349. data/rdoc-sources/FXScintilla.rb +121 -0
  350. data/rdoc-sources/FXScrollArea.rb +86 -0
  351. data/rdoc-sources/FXScrollBar.rb +107 -0
  352. data/rdoc-sources/FXScrollPane.rb +28 -0
  353. data/rdoc-sources/FXScrollWindow.rb +38 -0
  354. data/rdoc-sources/FXSearchDialog.rb +24 -0
  355. data/rdoc-sources/FXSeparator.rb +74 -0
  356. data/rdoc-sources/FXSettings.rb +248 -0
  357. data/rdoc-sources/FXShell.rb +8 -0
  358. data/rdoc-sources/FXShutter.rb +102 -0
  359. data/rdoc-sources/FXSize.rb +95 -0
  360. data/rdoc-sources/FXSlider.rb +98 -0
  361. data/rdoc-sources/FXSphered.rb +80 -0
  362. data/rdoc-sources/FXSpheref.rb +80 -0
  363. data/rdoc-sources/FXSpinner.rb +136 -0
  364. data/rdoc-sources/FXSplashWindow.rb +27 -0
  365. data/rdoc-sources/FXSplitter.rb +89 -0
  366. data/rdoc-sources/FXSpring.rb +61 -0
  367. data/rdoc-sources/FXStatusBar.rb +42 -0
  368. data/rdoc-sources/FXStatusLine.rb +60 -0
  369. data/rdoc-sources/FXStream.rb +142 -0
  370. data/rdoc-sources/FXStringDict.rb +38 -0
  371. data/rdoc-sources/FXSwitcher.rb +78 -0
  372. data/rdoc-sources/FXTGAIcon.rb +63 -0
  373. data/rdoc-sources/FXTGAImage.rb +31 -0
  374. data/rdoc-sources/FXTIFIcon.rb +70 -0
  375. data/rdoc-sources/FXTIFImage.rb +37 -0
  376. data/rdoc-sources/FXTabBar.rb +80 -0
  377. data/rdoc-sources/FXTabBook.rb +41 -0
  378. data/rdoc-sources/FXTabItem.rb +58 -0
  379. data/rdoc-sources/FXTable.rb +967 -0
  380. data/rdoc-sources/FXText.rb +578 -0
  381. data/rdoc-sources/FXTextField.rb +151 -0
  382. data/rdoc-sources/FXToggleButton.rb +69 -0
  383. data/rdoc-sources/FXToolBar.rb +61 -0
  384. data/rdoc-sources/FXToolBarGrip.rb +50 -0
  385. data/rdoc-sources/FXToolBarShell.rb +44 -0
  386. data/rdoc-sources/FXToolBarTab.rb +74 -0
  387. data/rdoc-sources/FXToolTip.rb +36 -0
  388. data/rdoc-sources/FXTopWindow.rb +163 -0
  389. data/rdoc-sources/FXTranslator.rb +32 -0
  390. data/rdoc-sources/FXTreeList.rb +514 -0
  391. data/rdoc-sources/FXTreeListBox.rb +219 -0
  392. data/rdoc-sources/FXTriStateButton.rb +49 -0
  393. data/rdoc-sources/FXVec2d.rb +96 -0
  394. data/rdoc-sources/FXVec2f.rb +96 -0
  395. data/rdoc-sources/FXVec3d.rb +113 -0
  396. data/rdoc-sources/FXVec3f.rb +113 -0
  397. data/rdoc-sources/FXVec4d.rb +129 -0
  398. data/rdoc-sources/FXVec4f.rb +129 -0
  399. data/rdoc-sources/FXVerticalFrame.rb +29 -0
  400. data/rdoc-sources/FXVisual.rb +79 -0
  401. data/rdoc-sources/FXWindow.rb +725 -0
  402. data/rdoc-sources/FXWizard.rb +59 -0
  403. data/rdoc-sources/FXXBMIcon.rb +37 -0
  404. data/rdoc-sources/FXXBMImage.rb +32 -0
  405. data/rdoc-sources/FXXPMIcon.rb +65 -0
  406. data/rdoc-sources/FXXPMImage.rb +31 -0
  407. data/rdoc-sources/README.rdoc +53 -0
  408. data/rdoc-sources/fxdefs.rb +90 -0
  409. data/tests/README +19 -0
  410. data/tests/TC_FXAccelTable.rb +43 -0
  411. data/tests/TC_FXApp.rb +15 -0
  412. data/tests/TC_FXArc.rb +26 -0
  413. data/tests/TC_FXBMPIcon.rb +15 -0
  414. data/tests/TC_FXBMPImage.rb +15 -0
  415. data/tests/TC_FXButton.rb +72 -0
  416. data/tests/TC_FXCheckButton.rb +57 -0
  417. data/tests/TC_FXComboBox.rb +52 -0
  418. data/tests/TC_FXDC.rb +372 -0
  419. data/tests/TC_FXDCPrint.rb +102 -0
  420. data/tests/TC_FXDCWindow.rb +23 -0
  421. data/tests/TC_FXDataTarget.rb +24 -0
  422. data/tests/TC_FXDirList.rb +30 -0
  423. data/tests/TC_FXFileAssoc.rb +62 -0
  424. data/tests/TC_FXFileStream.rb +90 -0
  425. data/tests/TC_FXFoldingList.rb +32 -0
  426. data/tests/TC_FXFont.rb +69 -0
  427. data/tests/TC_FXFontDesc.rb +58 -0
  428. data/tests/TC_FXGLGroup.rb +32 -0
  429. data/tests/TC_FXGLShape.rb +28 -0
  430. data/tests/TC_FXGLViewer.rb +20 -0
  431. data/tests/TC_FXGradientBar.rb +89 -0
  432. data/tests/TC_FXHeader.rb +82 -0
  433. data/tests/TC_FXIconDict.rb +52 -0
  434. data/tests/TC_FXIconList.rb +192 -0
  435. data/tests/TC_FXId.rb +19 -0
  436. data/tests/TC_FXImage.rb +155 -0
  437. data/tests/TC_FXLight.rb +33 -0
  438. data/tests/TC_FXList.rb +116 -0
  439. data/tests/TC_FXListBox.rb +49 -0
  440. data/tests/TC_FXMat4f.rb +228 -0
  441. data/tests/TC_FXMaterial.rb +89 -0
  442. data/tests/TC_FXMemoryStream.rb +97 -0
  443. data/tests/TC_FXMenuCheck.rb +57 -0
  444. data/tests/TC_FXMenuCommand.rb +12 -0
  445. data/tests/TC_FXMenuRadio.rb +57 -0
  446. data/tests/TC_FXPoint.rb +57 -0
  447. data/tests/TC_FXQuatf.rb +77 -0
  448. data/tests/TC_FXRadioButton.rb +57 -0
  449. data/tests/TC_FXRangef.rb +48 -0
  450. data/tests/TC_FXRectangle.rb +88 -0
  451. data/tests/TC_FXRegion.rb +54 -0
  452. data/tests/TC_FXRegistry.rb +27 -0
  453. data/tests/TC_FXScrollArea.rb +28 -0
  454. data/tests/TC_FXScrollWindow.rb +28 -0
  455. data/tests/TC_FXSegment.rb +22 -0
  456. data/tests/TC_FXSettings.rb +34 -0
  457. data/tests/TC_FXShell.rb +26 -0
  458. data/tests/TC_FXSize.rb +54 -0
  459. data/tests/TC_FXStream.rb +11 -0
  460. data/tests/TC_FXTable.rb +368 -0
  461. data/tests/TC_FXTableItem.rb +48 -0
  462. data/tests/TC_FXText.rb +96 -0
  463. data/tests/TC_FXTopWindow.rb +32 -0
  464. data/tests/TC_FXTreeList.rb +100 -0
  465. data/tests/TC_FXTreeListBox.rb +41 -0
  466. data/tests/TC_FXUndoList.rb +43 -0
  467. data/tests/TC_FXVec2d.rb +142 -0
  468. data/tests/TC_FXVec2f.rb +137 -0
  469. data/tests/TC_FXVec3d.rb +150 -0
  470. data/tests/TC_FXVec3f.rb +150 -0
  471. data/tests/TC_FXVec4f.rb +158 -0
  472. data/tests/TC_FXViewport.rb +30 -0
  473. data/tests/TC_FXXBMIcon.rb +15 -0
  474. data/tests/TC_FXXBMImage.rb +15 -0
  475. data/tests/TC_FXXPMIcon.rb +15 -0
  476. data/tests/TC_FXXPMImage.rb +15 -0
  477. data/tests/TC_Misc.rb +157 -0
  478. data/tests/TC_downcast.rb +15 -0
  479. data/tests/TS_All.rb +25 -0
  480. data/tests/blankpage.ps +166 -0
  481. data/tests/howdypage.ps +181 -0
  482. data/tests/stress1.rb +94 -0
  483. data/tests/stress2.rb +51 -0
  484. data/tests/stress3.rb +117 -0
  485. data/tests/testcase.rb +37 -0
  486. data/web/art/fxrubylogo.png +0 -0
  487. data/web/art/fxrubylogo_small.png +0 -0
  488. data/web/art/line.gif +0 -0
  489. data/web/art/oul_grey.gif +0 -0
  490. data/web/art/our.gif +0 -0
  491. data/web/downloads.html +93 -0
  492. data/web/home.html +113 -0
  493. data/web/menu.html +50 -0
  494. data/web/styles.css +167 -0
  495. data/web/top.html +15 -0
  496. metadata +548 -0
data/doc/changes.html ADDED
@@ -0,0 +1,685 @@
1
+ <html><head>
2
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
3
+ <title>Chapter&nbsp;10.&nbsp;Change History</title><link rel="stylesheet" href="style.css" type="text/css"><meta name="generator" content="DocBook v5 XSL Stylesheets V1.72.0"><link rel="start" href="book.html" title="Developing Graphical User Interfaces with FXRuby"><link rel="up" href="pt01.html" title="Part&nbsp;I.&nbsp;The Basics"><link rel="prev" href="infosources.html" title="Chapter&nbsp;9.&nbsp;Other Sources of Information"><link rel="next" href="pt02.html" title="Part&nbsp;II.&nbsp;Appendices"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&nbsp;10.&nbsp;Change History</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="infosources.html">Prev</a>&nbsp;</td><th width="60%" align="center">Part&nbsp;I.&nbsp;The Basics</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="pt02.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="changes"></a>Chapter&nbsp;10.&nbsp;Change History</h2></div></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2394"></a>Changes For Version 1.6.13 (November 9, 2007)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Calls to the <code class="methodname">extractText</code> method for the
4
+ <code class="classname">FXTable</code> class were causing various
5
+ memory-related errors on certain platforms (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=15444group_id=300&amp;atid=1223" target="_top">RubyForge
6
+ Bug #15444</a>). This problem has been fixed.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.28 and
7
+ FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2413"></a>Changes For Version 1.6.12 (October 19, 2007)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>The API documentation for <code class="classname">FXMDIClient</code>
8
+ referred to the non-existent instance method
9
+ <code class="methodname">activeChild=</code> (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=10259&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
10
+ Bug #10259</a>). This method has been added.</p></li><li style="list-style-type: disc"><p>The API documentation for <code class="classname">FXMDIClient</code>
11
+ also referred to the non-existent instance methods
12
+ <code class="methodname">getMDIChildFirst</code> and
13
+ <code class="methodname">getMDIChildLast</code>. These entries have been
14
+ removed.</p></li><li style="list-style-type: disc"><p>The API documentation for <code class="classname">FXMDIChild</code>
15
+ referred to non-existent instance methods
16
+ <code class="methodname">getMDINext</code> and
17
+ <code class="methodname">getMDIPrev</code> (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=10436&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
18
+ Bug #10436</a>). The documentation has been corrected.</p></li><li style="list-style-type: disc"><p>Added the <em class="parameter"><code>:repeat</code></em> parameter for the
19
+ <code class="methodname">addChore</code> and
20
+ <code class="methodname">addTimeout</code> methods. See the documentation for
21
+ more details, and <code class="filename">gltest.rb</code> for an example of its
22
+ use.</p></li><li style="list-style-type: disc"><p>Corrected a number of minor typos in the API
23
+ documentation.</p></li><li style="list-style-type: disc"><p>Corrected a typo in the <code class="filename">imageviewer.rb</code>
24
+ example.</p></li><li style="list-style-type: disc"><p>Modified the <code class="filename">inputs.rb</code> example program to
25
+ use <code class="methodname">Pipe.read_nonblock()</code> instead of
26
+ <code class="methodname">Pipe.read()</code>.</p></li><li style="list-style-type: disc"><p>Fixed a bug in the implementation of the
27
+ <code class="methodname">findText</code> method for the
28
+ <code class="classname">FXText</code> class, when used with the
29
+ <code class="constant">SEARCH_REGEX</code> option.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.28 and
30
+ FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2507"></a>Changes For Version 1.6.11 (April 18, 2007)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Added <code class="methodname">editable</code> as an alias for
31
+ <code class="methodname">FXTextField#editable?</code>.</p></li><li style="list-style-type: disc"><p>Added <code class="methodname">each_child_recursive</code> instance
32
+ method for the <code class="classname">FXWindow</code> class. This method
33
+ performs a depth-first traversal of the widget tree starting at the
34
+ receiver window.</p></li><li style="list-style-type: disc"><p>Corrected some errors in the keyword arguments support for the
35
+ <code class="classname">FXVec2d</code>, <code class="classname">FXVec2f</code>,
36
+ <code class="classname">FXVec3d</code>, <code class="classname">FVec3f</code>,
37
+ <code class="classname">FXVec4d</code> and <code class="classname">FXVec4f</code>
38
+ classes.</p></li><li style="list-style-type: disc"><p>Corrected an error in the keyword arguments support for the
39
+ <code class="classname">FXIconDict</code> class.</p></li><li style="list-style-type: disc"><p>Modified the gem specification so that the RDoc generated during
40
+ a gem install is consistent with that generated by other methods (see
41
+ <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=10035&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
42
+ Bug #10035</a>).</p></li><li style="list-style-type: disc"><p>Changes to the <code class="filename">iterators</code> library in version
43
+ 1.6.6 introduced a bug in the <code class="methodname">each</code> method for
44
+ the <code class="classname">FXFoldingList</code>,
45
+ <code class="classname">FXTreeList</code> and
46
+ <code class="classname">FXTreeListBox</code> classes (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=10175&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
47
+ Bug #10175</a>). This problem has been fixed.</p></li><li style="list-style-type: disc"><p>Applied submitted patches for building FXRuby against Ruby 1.9
48
+ (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=10181&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
49
+ Bug #10181</a>). Please note that building FXRuby against the Ruby
50
+ 1.9 code base is still officially unsupported; however, I'm glad to
51
+ accept patches that will help make this possible.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.25 and
52
+ FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2592"></a>Changes For Version 1.6.9 (April 8, 2007)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>A bug was discovered in the keyword arguments library support
53
+ for the <code class="classname">FXMenuBar</code> class (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=9927&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
54
+ Bug #9927</a>). This problem has been fixed.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.25 and
55
+ FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2608"></a>Changes For Version 1.6.8 (April 5, 2007)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Due to an internal bookkeeping error, applications like the
56
+ <code class="filename">glviewer.rb</code> example program which create multiple
57
+ <code class="classname">FXGLViewer</code> instances could cause an assertion
58
+ to fail. When this assertion fails on Windows, the program simply
59
+ crashes (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=9775&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
60
+ Bug #9775</a>). This problem has been fixed.</p></li><li style="list-style-type: disc"><p>The keyword arguments library, introduced in version 1.6.5, is
61
+ now included automatically when you load FXRuby; it is no longer
62
+ necessary to explicitly require it.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.25 and
63
+ FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2630"></a>Changes For Version 1.6.7 (March 31, 2007)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.25 and
64
+ FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2637"></a>Changes For Version 1.6.6 (February 10, 2007)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Somewhere along the way, the RAA browser example program got
65
+ broken due to changes in the SOAP interface to RAA (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=7977&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
66
+ Bug #7977</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>Some debugging code that was meant to detect errors in FXRuby
67
+ message data conversion was inadvertently causing some user
68
+ applications to crash when running under Windows (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=8049&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
69
+ Bug #8049</a>). This debugging code has been changed to avoid the
70
+ problem.</p></li><li style="list-style-type: disc"><p>Modified the implementations of the each iterator methods for
71
+ <code class="classname">FXFoldingList</code>,
72
+ <code class="classname">FXFoldingItem</code>,
73
+ <code class="classname">FXTreeItem</code>, <code class="classname">FXTreeList</code>
74
+ and <code class="classname">FXTreeListBox</code> (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=8090&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
75
+ Bug #8090</a>). The new implementation is a bit more robust in
76
+ terms of modifications (such as deletion) of the iterated-over
77
+ elements.</p></li><li style="list-style-type: disc"><p>A bug in the new keyword arguments library (introduced in
78
+ version 1.6.5) caused the <code class="methodname">initialize</code> method
79
+ for the <code class="classname">FXDCWindow</code> class to do the wrong thing
80
+ (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=8441&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
81
+ Bug #8441</a>). This has been corrected.</p></li><li style="list-style-type: disc"><p>A different bug in the keyword arguments library caused the
82
+ <code class="methodname">initialize</code> method for the
83
+ <code class="classname">FXFont</code> class to do the wrong thing (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=8517&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
84
+ Bug #8517</a>). This also has been corrected.</p></li><li style="list-style-type: disc"><p>Yet another bug in the keyword arguments library broke the part
85
+ of the code that used to yield <code class="constant">self</code> to an
86
+ optional block attached to the call to <code class="methodname">new</code>
87
+ (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=8518&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
88
+ Bug #8518</a>). This has been corrected.</p></li><li style="list-style-type: disc"><p>Most of the FXRuby example programs have been updated to use the
89
+ keyword arguments library.</p></li><li style="list-style-type: disc"><p>Added a new "virtual" keyword argument
90
+ <code class="constant">:padding</code> that can be used in place of (or in
91
+ addition to) the <code class="constant">:padLeft</code>,
92
+ <code class="constant">:padRight</code>, <code class="constant">:padTop</code> and
93
+ <code class="constant">:padBottom</code> arguments for a constructor. When a
94
+ <code class="constant">:padding</code> value is passed in to the arguments
95
+ hash, that value will be used for any of the four regular padding
96
+ values that aren't otherwise specified. See the example programs for,
97
+ you know, examples.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.20 and
98
+ FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2737"></a>Changes For Version 1.6.5 (January 20, 2007)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Clicking outside of the visible cells for an
99
+ <code class="classname">FXTable</code> when there was no current selection
100
+ caused the code to raise an exception (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=5907&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
101
+ Bug #5907</a>). This problem has been fixed.</p></li><li style="list-style-type: disc"><p>The <code class="methodname">hasTimeout?</code> method for the
102
+ <code class="classname">FXApp</code> class was implemented incorrectly (see
103
+ <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=7564&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
104
+ Bug #7564</a>). This problem has been fixed.</p></li><li style="list-style-type: disc"><p>The <code class="classname">FXFoldingList</code> and
105
+ <code class="classname">FXFoldingItem</code> classes did not have each
106
+ iterator methods like most of the other list-based widgets (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=7978&amp;group_id=300&amp;atid=1225" target="_top">RubyForge
107
+ Patch #7978</a>). These have been added.</p></li><li style="list-style-type: disc"><p>The API documentation for <code class="classname">FXMDIClient</code>
108
+ claimed that <code class="classname">FXScrollArea</code> was its base class
109
+ (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=7979&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
110
+ Bug #7979</a>). This has been corrected; the base class for
111
+ <code class="classname">FXMDIClient</code> is
112
+ <code class="classname">FXComposite</code>.</p></li><li style="list-style-type: disc"><p>There was a small typo in the documentation for the
113
+ <code class="classname">FXFoldingList</code> class options (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=7981&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
114
+ Bug #7981</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>Added preliminary support for keyword-style arguments, as
115
+ described in the <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.fxruby.org/doc/differences.html" target="_top">"Differences Between
116
+ FOX and FXRuby"</a> section of the <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.fxruby.org/doc/book.html" target="_top">FXRuby User's
117
+ Guide</a>.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.20 and
118
+ FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2813"></a>Changes For Version 1.6.4 (November 30, 2006)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>A change made in Ruby 1.8.5 for cyclic requires led to a problem
119
+ that caused the Ruby interpreter to emit a large number of warnings
120
+ (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/?func=detail&amp;aid=5633&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
121
+ Bug #5633</a>). This problem has been fixed.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.16 and
122
+ FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2826"></a>Changes For Version 1.6.3 (October 27, 2006)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Widgets of some classes (namely
123
+ <code class="classname">FXTopWindow</code> and
124
+ <code class="classname">FXMDIChild</code>) weren't properly sending a
125
+ <code class="constant">SEL_CLOSE</code> message to their message targets (see
126
+ <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=5498&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
127
+ Bug #5498</a>). Thanks to a change in FOX version 1.6.16, this
128
+ problem has been fixed.</p></li><li style="list-style-type: disc"><p>The <code class="methodname">getControlFor</code> method for the
129
+ <code class="classname">FXComboTableItem</code> class was coded incorrectly
130
+ (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=5906&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
131
+ Bug #5906</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>There was a minor typo in the API documentation for the
132
+ <span class="application"><code class="classname">FXTriStateButton</code></span>
133
+ class (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=5962&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
134
+ Bug #5962</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The <code class="methodname">each_row</code> and
135
+ <code class="methodname">each_column</code> iterator methods for the
136
+ <code class="classname">FXTable</code> class were incorrectly coded (see
137
+ <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=6036&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
138
+ Bug #6036</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The <code class="methodname">new</code> class methods for
139
+ <code class="classname">FXColorItem</code>, <code class="classname">FXDirItem</code>,
140
+ <code class="classname">FXFileItem</code>,
141
+ <code class="classname">FXFoldingItem</code>,
142
+ <code class="classname">FXHeaderItem</code>,
143
+ <code class="classname">FXIconItem</code>, <code class="classname">FXListItem</code>
144
+ and <code class="classname">FXTreeItem</code> were all raising exceptions when
145
+ a non-<code class="constant">nil</code> value was passed in for the last
146
+ argument (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=6197&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
147
+ Bug #6197</a>). A similar problem was present for various instance
148
+ methods in the <code class="classname">FXColorList</code>,
149
+ <code class="classname">FXListBox</code> and
150
+ <code class="classname">FXMDIClient</code> classes. These problems have been
151
+ fixed.</p></li><li style="list-style-type: disc"><p>A few problems were discovered for the
152
+ <code class="filename">inputs.rb</code> example program (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=6209&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
153
+ Bug #6209</a>). These problems have been fixed.</p></li><li style="list-style-type: disc"><p>Several instance methods for the <code class="classname">FXTable</code>
154
+ class were not actually present under their documented names (see
155
+ <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=6211&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
156
+ Bug #6211</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The build script was not compatible with changes made in the
157
+ recently-released FXScintilla 1.71 (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=6313&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
158
+ Bug #6313</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.16 and
159
+ FXScintilla version 1.71.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e2954"></a>Changes For Version 1.6.2 (September 13, 2006)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>The <code class="methodname">expandTree()</code> and
160
+ <code class="methodname">collapseTree()</code> methods for the
161
+ <code class="classname">FXFoldingList</code> class were incorrectly identified
162
+ as <code class="methodname">expandFolding()</code> and
163
+ <code class="methodname">collapseFolding()</code> in the API documentation
164
+ (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=5354&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
165
+ Bug #5354</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The <code class="classname">FXDockTitle</code> class was not supported
166
+ (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=5632&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
167
+ Bug #5632</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The API documentation for the <code class="classname">FXGLCanvas</code>
168
+ class claimed it had a <code class="methodname">shared?</code> method, but it
169
+ didn't (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=5591&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
170
+ Bug #5591</a>). Now it does.</p></li><li style="list-style-type: disc"><p>The <code class="classname">FXGradientBar</code> class was not supported
171
+ (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=5746&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
172
+ Bug #5746</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.14 and
173
+ FXScintilla version 1.67 (from CVS).</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3012"></a>Changes For Version 1.4.7 (September 13, 2006)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>The <code class="methodname">children</code> instance method for the
174
+ <code class="classname">FXWindow</code> class always returned an array of
175
+ <code class="classname">FXWindow</code> instances, even if the actual types
176
+ should have been instances of subclasses of
177
+ <code class="classname">FXWindow</code> (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=4342&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
178
+ Bug #4342</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The <code class="filename">dilbert.rb</code> example program was broken
179
+ due to a change in the Dilbert.com web site structure (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=4597&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
180
+ Bug #4597</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The <code class="methodname">expandTree()</code> and
181
+ <code class="methodname">collapseTree()</code> methods for the
182
+ <code class="classname">FXFoldingList</code> class were incorrectly identified
183
+ as <code class="methodname">expandFolding()</code> and
184
+ <code class="methodname">collapseFolding()</code> in the API documentation
185
+ (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=5354&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
186
+ Bug #5354</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The <code class="classname">FXDockTitle</code> class was not supported
187
+ (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=5632&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
188
+ Bug #5632</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The API documentation for the <code class="classname">FXGLCanvas</code>
189
+ class claimed it had a <code class="methodname">shared?</code> method, but it
190
+ didn't (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=5591&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
191
+ Bug #5591</a>). Now it does.</p></li><li style="list-style-type: disc"><p>The <code class="classname">FXGradientBar</code> class was not supported
192
+ (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=5746&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
193
+ Bug #5746</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.4.34 and
194
+ FXScintilla version 1.63.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3097"></a>Changes For Version 1.6.1 (July 21, 2006)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>The message data sent along for the
195
+ <code class="constant">SEL_INSERTED</code>, <code class="constant">SEL_DELETED</code>
196
+ and <code class="constant">SEL_REPLACED</code> messages from an a
197
+ <code class="classname">FXText</code> widget to its target was not being
198
+ converted properly (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=4666&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
199
+ Bug #4666</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The code related to the localization of application messages in
200
+ FOX wasn't implemented properly in FXRuby, and as a result,
201
+ constructing certain dialogs (like the color dialog) could cause a
202
+ program to crash (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=5000&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
203
+ Bug #5000</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The "Stop Spin" button in the gltest.rb example program didn't
204
+ stop the cubes from spinning after either the "Spin Timer" or "Spin
205
+ Chore" option was selected (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=5001&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
206
+ Bug #5001</a>). This was actually a symptom of a larger problem,
207
+ that FXRuby wasn't properly handling timers and chores. These problems
208
+ have been fixed.</p></li><li style="list-style-type: disc"><p>Setting the current item for an
209
+ <code class="classname">FXComboBox</code> to -1 (to indicate that there's no
210
+ current item) would cause FXRuby to erroneously raise an
211
+ <code class="classname">IndexError</code> (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=5007&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
212
+ Bug #5007</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The documentation for the <code class="methodname">reparent</code>
213
+ instance method for the <code class="classname">FXWindow</code> class was
214
+ incorrect (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=5035&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
215
+ Bug #5035</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The <code class="filename">textedit.rb</code> example program was not up
216
+ to date with some of the changes for FOX 1.6. This example has been
217
+ updated.</p></li><li style="list-style-type: disc"><p>The new <code class="methodname">font</code> method for the
218
+ <code class="classname">FXFont</code> class was not documented. This has been
219
+ fixed.</p></li><li style="list-style-type: disc"><p>The <code class="filename">dilbert.rb</code> example program has been
220
+ modified to use the RubyfulSoup HTML library instead of the
221
+ html-parser library.</p></li><li style="list-style-type: disc"><p>As discussed in various forums (see for example <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/182827" target="_top">this
222
+ post</a>), the <code class="methodname">autorequire</code> directive for
223
+ RubyGems specifications is now deprecated. As a result, this has been
224
+ removed from the FXRuby gem specification. This change will break any
225
+ code that was using a statement like:</p><pre class="programlisting">require_gem 'fxruby'</pre><p>as
226
+ the sole means for loading FXRuby. Such programs should instead
227
+ use:</p><pre class="programlisting">require 'fox16'</pre><p>which will work
228
+ for either gem based or non-gem based installations.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.8 and
229
+ FXScintilla version 1.67 (from CVS).</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3194"></a>Changes For Version 1.6.0 (May 29, 2006)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>This is the first release of FXRuby compatible with FOX version
230
+ 1.6. One of the most signficant changes for FOX 1.6 has been the
231
+ addition of Unicode support; all FOX widgets and internal string
232
+ processing routines are now Unicode aware. For a comprehensive
233
+ overview of the changes made to FOX since version 1.4 (including those
234
+ made in the FOX 1.5 development series), please refer to the <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.fox-toolkit.com/news.html" target="_top">News archives</a> at
235
+ the FOX web site.</p></li><li style="list-style-type: disc"><p>Added the <code class="methodname">allowSide</code>,
236
+ <code class="methodname">disallowSide</code> and
237
+ <code class="methodname">allowedSide?</code> methods for the
238
+ <code class="classname">FXDockBar</code> class, as complements to the
239
+ <code class="methodname">allowedSides</code> accessor methods (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=2307&amp;group_id=300&amp;atid=1226" target="_top">RubyForge
240
+ Feature Request #2307</a>).</p></li><li style="list-style-type: disc"><p>Added the <code class="methodname">visible=</code> and
241
+ <code class="methodname">visible?</code> accessor methods for the
242
+ <code class="classname">FXWindow</code> class, as complements to the
243
+ <code class="methodname">show</code>, <code class="methodname">hide</code> and
244
+ <code class="methodname">shown?</code> methods (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=3579&amp;group_id=300&amp;atid=1226" target="_top">RubyForge
245
+ Feature Request #3579</a>).</p></li><li style="list-style-type: disc"><p>The <code class="filename">browser.rb</code> example was making use of a
246
+ deprecated API (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=4325&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
247
+ Bug #4325</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The <code class="methodname">children</code> instance method for the
248
+ <code class="classname">FXWindow</code> class always returned an array of
249
+ <code class="classname">FXWindow</code> instances, even if the actual types
250
+ should have been instances of subclasses of
251
+ <code class="classname">FXWindow</code> (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=4342&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
252
+ Bug #4342</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The <code class="filename">dilbert.rb</code> example program was broken
253
+ due to a change in the Dilbert.com web site structure (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=4597&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
254
+ Bug #4597</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.6.5 and
255
+ FXScintilla version 1.67 (from CVS).</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3288"></a>Changes For Version 1.4.6 (April 26, 2006)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>FXRuby would not compile properly on some x86-64 systems (see
256
+ <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=3729&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
257
+ Bug #3729</a>). This error has been corrected. Thanks to Javier
258
+ Goizueta for initially reporting this problem, and especially to
259
+ Tobias Peters for providing a patch.</p></li><li style="list-style-type: disc"><p>The <code class="classname">FXIconDict</code> widget was accidentally
260
+ "lost" in the transition between FXRuby versions 1.2 and 1.4 (see
261
+ <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=4117&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
262
+ Bug #4117</a>). This error has been corrected. Thanks to Manfred
263
+ Usselmann for reporting this problem.</p></li><li style="list-style-type: disc"><p>The <code class="classname">FXSwitcher</code> widget was not sending the
264
+ appropriate message data to its message target for the
265
+ <code class="constant">SEL_COMMAND</code> message type (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=4157&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
266
+ Bug #4157</a>). This error has been corrected. Thanks to Manfred
267
+ Usselmann for reporting this problem.</p></li><li style="list-style-type: disc"><p>The <code class="classname">FXSeparator</code> class wasn't implemented
268
+ properly (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=4158&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
269
+ Bug #4158</a>). This error has been corrected. Thanks to Gerard
270
+ Menochet for reporting this problem.</p></li><li style="list-style-type: disc"><p>The <code class="methodname">findItemByData</code> method was
271
+ implemented incorrectly for the <code class="classname">FXComboBox</code>,
272
+ <code class="classname">FXFoldingList</code>,
273
+ <code class="classname">FXIconList</code>, <code class="classname">FXList</code> and
274
+ <code class="classname">FXListBox</code> classes (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=4172&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
275
+ Bug #4172</a>). This error has been corrected. Thanks to Gerard
276
+ Menochet for reporting this problem.</p></li><li style="list-style-type: disc"><p>The <code class="classname">FXListBox</code> widget was not sending the
277
+ appropriate message data to its message target for the
278
+ <code class="constant">SEL_COMMAND</code> message type (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=4255&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
279
+ Bug #4255</a>). This error has been corrected. Thanks to Gerard
280
+ Menochet for reporting this problem.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.4.29 and
281
+ FXScintilla version 1.63.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3367"></a>Changes For Version 1.4.5 (April 10, 2006)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>The <code class="classname">FXTextField</code> class was not properly
282
+ responding to the <code class="constant">ID_INSERT_STRING</code> command (see
283
+ <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=3320&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
284
+ Bug #3320</a>). This error has been corrected. Thanks to Uwe Hartl
285
+ for reporting this problem.</p></li><li style="list-style-type: disc"><p>The <code class="methodname">text</code> and
286
+ <code class="methodname">getText</code> methods for the
287
+ <code class="classname">FXMenuCaption</code> class were returning
288
+ <code class="constant">nil</code> instead of the actual value (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=3458&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
289
+ Bug #3458</a>). This error has been corrected. Thanks to Meinrad
290
+ Recheis (Henon) for reporting this problem.</p></li><li style="list-style-type: disc"><p>The API documentation for the <code class="classname">FXMDIChild</code>
291
+ class erroneously listed <code class="constant">SEL_CLOSEALL</code> as one of
292
+ the message types that an MDI child window might send to its message
293
+ target (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=3508&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
294
+ Bug #3508</a>). This error has been corrected. Thanks to Meinrad
295
+ Recheis (Henon) for reporting this problem.</p></li><li style="list-style-type: disc"><p>Calling the <code class="methodname">selectRange</code> method for
296
+ class <code class="classname">FXTable</code> would cause a fatal error instead
297
+ of merely raising an <code class="classname">IndexError</code> exception (see
298
+ <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=3615&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
299
+ Bug #3615</a>). This error has been corrected. Thanks to Meinrad
300
+ Recheis (Henon) for reporting this problem.</p></li><li style="list-style-type: disc"><p>Due to an error in the SWIG interface files, the
301
+ <code class="classname">FXChoiceBox</code> class was basically unusable (see
302
+ <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=3676&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
303
+ Bug #3676</a>). This error has been corrected. Thanks to Uwe Hartl
304
+ for reporting this problem.</p></li><li style="list-style-type: disc"><p>The API documentation for the
305
+ <code class="classname">FXRealSlider</code> and
306
+ <code class="classname">FXRealSpinner</code> classes erroneously claimed that
307
+ the message data for the <code class="constant">SEL_COMMAND</code> and
308
+ <code class="constant">SEL_CHANGED</code> messages sent by these widgets to
309
+ their targets were integers (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=3749&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
310
+ Bug #3749</a>). Along the same lines, the message data for those
311
+ widgets wasn't being converted correctly (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=3750&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
312
+ Bug #3750</a>). Both of these errors have been corrected. Thanks
313
+ to Meinrad Recheis (Henon) for reporting these problems.</p></li><li style="list-style-type: disc"><p>The API documentation for the Fox module incorrectly listed the
314
+ names of the <code class="methodname">FXSELTYPE</code> and
315
+ <code class="methodname">FXSELID</code> methods as
316
+ <code class="methodname">SELTYPE</code> and <code class="methodname">SELID</code>
317
+ (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=3940&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
318
+ Bug #3940</a>). This error has been corrected. Thanks to Joel
319
+ VanderWerf for reporting this problem.</p></li><li style="list-style-type: disc"><p>The <code class="classname">FXTableItem</code> constructor was supposed
320
+ to (optionally) accept a reference to an arbitrary Ruby object as its
321
+ third argument, but this wasn't working properly (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=4005&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
322
+ Bug #4005</a>). This error has been corrected. Thanks to Mark
323
+ Volkman for reporting this problem.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.4.29 and
324
+ FXScintilla version 1.63.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3488"></a>Changes For Version 1.4.4 (January 21, 2006)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>The build instructions for Unix platforms had not been updated
325
+ recently and as such contained some errors (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=3014&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
326
+ Bug #3014</a>). These errors have been corrected. Thanks to Dave
327
+ Burns for reporting this problem.</p></li><li style="list-style-type: disc"><p>The <code class="methodname">extendSelection</code> method for the
328
+ <code class="classname">FXTable</code> class was raising an exception if an
329
+ out of bounds row or column index was passed in (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=3050&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
330
+ Bug #3050</a>). This has been changed so that
331
+ <code class="methodname">extendSelection</code> instead returns false for out
332
+ of bounds arguments. Thanks to Leonid Moiseichuk for reporting this
333
+ problem.</p></li><li style="list-style-type: disc"><p>The <code class="methodname">each_child</code> iterator method for the
334
+ <code class="classname">FXWindow</code> class would fail if the child window
335
+ was destroyed in the block (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=3134&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
336
+ Bug #3134</a>). Thanks to Liam Irish for reporting this problem
337
+ and providing a patch.</p></li><li style="list-style-type: disc"><p>The message data for the <code class="constant">SEL_REPLACED</code>
338
+ message sent by the <code class="classname">FXTable</code> class to its target
339
+ was not being handled properly (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=3244&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
340
+ Bug #3244</a>). There were also problems with the message data for
341
+ the <code class="constant">SEL_SELECTED</code> and
342
+ <code class="constant">SEL_DESELECTED</code> messages. Furthermore, the
343
+ <code class="constant">SEL_REPLACED</code> message was not documented in the
344
+ RDoc documentation for the <code class="classname">FXTable</code> class. All
345
+ of these problems have been corrected. Thanks to _blackdog for
346
+ reporting this problem.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.4.29 and
347
+ FXScintilla version 1.63.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3552"></a>Changes For Version 1.4.3 (November 7, 2005)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>The <code class="constant">TOGGLEBUTTON_KEEPSTATE</code> option for the
348
+ <code class="classname">FXToggleButton</code> class was not documented (see
349
+ <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=2286&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
350
+ Bug #2286</a>). This oversight has been corrected. Thanks to Tim
351
+ Smith for reporting this problem.</p></li><li style="list-style-type: disc"><p>The <code class="filename">scintilla.rb</code> library file was not up to
352
+ date with the latest FXScintilla release, and as a result it was
353
+ missing some methods (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=2479&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
354
+ Bug #2479</a>). This oversight has been corrected. Thanks to Maxim
355
+ Kulkin for reporting this problem.</p></li><li style="list-style-type: disc"><p>Due to changes in the APIs for timers and chores, the mechanisms
356
+ for removing chores and timeouts were broken (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=2563&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
357
+ Bug #2563</a>). This bug has been fixed. Thanks to "moinker" for
358
+ reporting this problem.</p></li><li style="list-style-type: disc"><p>An error in the test setup caused all of the tests for the
359
+ <code class="classname">FXList</code> class to fail (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=2564&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
360
+ Bug #2564</a>). This bug has been fixed. Thanks to Peter for
361
+ reporting this problem.</p></li><li style="list-style-type: disc"><p>Due to a bug in the test suite runner script, not all test cases
362
+ were being exercised (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=2565&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
363
+ Bug #2565</a>). This bug has been fixed.</p></li><li style="list-style-type: disc"><p>Calling the <code class="methodname">getPixel</code> method for the
364
+ <code class="classname">FXImage</code> class when the client-side pixel buffer
365
+ for the image has already been released would cause a program to crash
366
+ (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=2611&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
367
+ Bug #2611</a>). Now, <code class="methodname">getPixel</code> will raise
368
+ an exception if it's called after the pixel buffer has been released.
369
+ The documentation for <code class="methodname">getPixel</code> has been
370
+ updated accordingly. Thanks to Gonzalo Garramuno for reporting this
371
+ problem.</p></li><li style="list-style-type: disc"><p>The <code class="methodname">makePositionVisible</code> method for the
372
+ <code class="classname">FXTable</code> class was raising an exception when
373
+ passed out-of-bounds values for the row or column index (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=2660&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
374
+ Bug #2660</a>). This could happen, for example, if you were to
375
+ click in a table area outside of the regular cells (which indirectly
376
+ triggers a call to <code class="methodname">makePositionVisible</code>). This
377
+ was actually inconsistent with standard FOX behavior, which simply
378
+ ignores out of bounds values for that method's arguments. This bug has
379
+ been fixed, and the documentation for
380
+ <code class="methodname">makePositionVisible</code> has been updated
381
+ accordingly. Thanks to Ralf Jonas for reporting this problem.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.4.21 and
382
+ FXScintilla version 1.63.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3637"></a>Changes For Version 1.4.2 (August 22, 2005)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Due to a bug in the implementation, the
383
+ <code class="methodname">checked?</code> method for the
384
+ <code class="classname">FXCheckButton</code> class always returned
385
+ <code class="constant">false</code> (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1852&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
386
+ Bug #1852</a>). This bug has been fixed. Thanks to Meinrad Recheis
387
+ for reporting this problem.</p></li><li style="list-style-type: disc"><p>The API documentation for the <code class="classname">FXTable</code>
388
+ class listed several obsolete attributes (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1928&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
389
+ Bug #1928</a>). Those errors have been corrected. Thanks to Pavel
390
+ Sokolov for reporting these problems.</p></li><li style="list-style-type: disc"><p>There were a number of bugs in the
391
+ <code class="filename">textedit.rb</code> example program (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1979&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
392
+ Bug #1979</a>), and those bugs have been fixed. Thanks to Claude
393
+ Marinier for reporting these problems.</p></li><li style="list-style-type: disc"><p>The API documentation for the <code class="classname">FXTreeList</code>
394
+ class' <code class="methodname">new</code> method still showed the number of
395
+ visible items (<em class="parameter"><code>nvis</code></em>) as its second argument
396
+ (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=2171&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
397
+ Bug #2171</a>). This problem has been corrected. Thanks to Bill
398
+ Atkins for reporting this problem.</p></li><li style="list-style-type: disc"><p>The API documentation for the <code class="classname">FXTopWindow</code>
399
+ class had a number of errors (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=2269&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
400
+ Bug #2269</a>). This problem has been corrected.</p></li><li style="list-style-type: disc"><p>The API documentation for the <code class="classname">FXTreeList</code>
401
+ class still listed the obsolete <code class="methodname">reparentItem</code>
402
+ method (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=2270&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
403
+ Bug #2270</a>). This problem has been corrected. Thanks to Jacob
404
+ Hansen for reporting this problem.</p></li><li style="list-style-type: disc"><p>Due to a bug in how the SWIG typemaps for the
405
+ <span class="type">FXlong</span> type were defined, some methods for the
406
+ <code class="classname">FXFileStream</code> class were broken (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=2275&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
407
+ Bug #2275</a>). This problem has been corrected. Thanks to Gonzalo
408
+ Garramuno for reporting this problem.</p></li><li style="list-style-type: disc"><p>Merged in all of the fixes for FXRuby 1.2.6.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.4.17 and
409
+ FXScintilla version 1.63.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3728"></a>Changes For Version 1.4.1 (August 20, 2005)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>This is the second release of FXRuby which is compatible with
410
+ FOX 1.4, and as such should be considered an "unstable" release. For a
411
+ history of the changes made during the FOX 1.3 and 1.4 development,
412
+ see the <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.fox-toolkit.com/news.html" target="_top">News</a>
413
+ page at the FOX Web site.</p></li><li style="list-style-type: disc"><p>The unit tests (in the <code class="filename">tests</code> subdirectory)
414
+ had not been updated to require the <code class="constant">fox14</code>
415
+ feature, and were still looking at <code class="constant">fox12</code>. This
416
+ has been corrected.</p></li><li style="list-style-type: disc"><p>A number of minor problems were corrected for the Windows build
417
+ of FXRuby.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.4.17 and
418
+ FXScintilla version 1.63.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3756"></a>Changes For Version 1.4.0 (August 19, 2005)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>This is the first release of FXRuby which is compatible with FOX
419
+ 1.4, and as such should be considered an "unstable" release. For a
420
+ history of the changes made during the FOX 1.3 and 1.4 development,
421
+ see the <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.fox-toolkit.com/news.html" target="_top">News</a>
422
+ page at the FOX Web site.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3766"></a>Changes For Version 1.2.6 (April 15, 2005)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Some additional problems related to calling the
423
+ <code class="methodname">setTableSize</code> method for an
424
+ <code class="classname">FXTable</code> were discovered (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1597&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
425
+ Bug #1597</a>). This problem has been corrected. Thanks to Joel
426
+ VanderWerf for reporting this problem.</p></li><li style="list-style-type: disc"><p>The <code class="filename">iconlist.rb</code> example program had a
427
+ "Sort" pulldown menu filled with a number of commands that didn't
428
+ really do anything, including sorting the items (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1654&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
429
+ Bug #1654</a>). This pulldown menu has been removed from that
430
+ example.</p></li><li style="list-style-type: disc"><p>The API documentation for the <code class="classname">FXDC</code> class
431
+ erroneously referred to the <code class="methodname">font</code> attribute as
432
+ <code class="methodname">textFont</code> (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1667&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
433
+ Bug #1667</a>). This problem has been corrected. Thanks to Meinrad
434
+ Recheis for reporting this problem.</p></li><li style="list-style-type: disc"><p>The <code class="methodname">checked?</code>,
435
+ <code class="methodname">unchecked?</code> and
436
+ <code class="methodname">maybe?</code> methods for the
437
+ <code class="classname">FXMenuCheck</code> class were missing (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1677&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
438
+ Bug #1677</a>). This problem has been corrected. Thanks to Oliver
439
+ Smith for reporting this problem.</p></li><li style="list-style-type: disc"><p>The API documentation for the
440
+ <code class="classname">FXScrollArea</code> class incorrectly spelled the
441
+ names of the <code class="methodname">horizontalScrollBar</code> and
442
+ <code class="methodname">verticalScrollBar</code> methods as
443
+ <code class="methodname">horizontalScrollbar</code> and
444
+ <code class="methodname">verticalScrollbar</code> (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1678&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
445
+ Bug #1678</a>). The documentation has been corrected. Thanks to
446
+ Jannis Pohlmann for reporting this mistake.</p></li><li style="list-style-type: disc"><p>Some code in the <code class="filename">groupbox.rb</code> example
447
+ program was calling the <code class="methodname">getRootWindow</code> method,
448
+ but that method has been renamed to <code class="methodname">getRoot</code>
449
+ (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1692&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
450
+ Bug #1692</a>). This problem has been corrected. Thanks to
451
+ Jaroslav Stika for reporting this problem.</p></li><li style="list-style-type: disc"><p>The <code class="methodname">hasChar?</code> method for the
452
+ <code class="classname">FXFont</code> class was spelled without a trailing
453
+ question mark, but it seems more Ruby-like that it should, so we've
454
+ added an alias for that (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1714&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
455
+ Bug #1714</a>). This method also now accepts a string of size 1
456
+ (i.e. a single character) as its input, as an alternative to an
457
+ ordinal value. Thanks to Meinrad Recheis for these suggestions.</p></li><li style="list-style-type: disc"><p>The API documentation for the <code class="classname">FXImage</code>
458
+ class mistakenly listed <code class="constant">IMAGE_ALPHA</code> as a valid
459
+ image rendering hint, but this flag is no longer needed since FOX
460
+ images now always contain an alpha channel (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1715&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
461
+ Bug #1715</a>). The documentation has been corrected. Thanks to
462
+ Meinrad Recheis for reporting this mistake.</p></li><li style="list-style-type: disc"><p>Due to an error in the SWIG interface files, the
463
+ <code class="methodname">data</code> method for the
464
+ <code class="classname">FXSettings</code> class was not being wrapped
465
+ properly. As a result, this method was unavailable and in turn led to
466
+ other dependent methods (like <code class="methodname">each_section</code>)
467
+ to be unavailable as well (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1771&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
468
+ Bug #1771</a>). This error has been corrected. Thanks to Jannis
469
+ Pohlmann for reporting this problem.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.2.16 and
470
+ FXScintilla version 1.62.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3902"></a>Changes For Version 1.2.5 (March 1, 2005)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>The change made for FXRuby version 1.2.4 regarding garbage
471
+ collection for table items corrected only one of the problems
472
+ described in <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1445&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
473
+ Bug #1445</a>; There was still a problem related to the
474
+ "destructive" effects of the <code class="methodname">setTableSize</code>
475
+ method for the <code class="classname">FXTable</code> class. This problem has
476
+ now been corrected as well. Thanks to David Peoples, Jamey Cribbs and
477
+ Joel VanderWerf for their assistance in helping me to track down this
478
+ problem.</p></li><li style="list-style-type: disc"><p>The <code class="methodname">extractText</code> and
479
+ <code class="methodname">overlayText</code> methods for the
480
+ <code class="classname">FXTable</code> class were implemented incorrectly and
481
+ weren't listed in the API documentation. These problems have been
482
+ corrected.</p></li><li style="list-style-type: disc"><p>The checks for out-of-bounds indices in the
483
+ <code class="methodname">getColumnX</code>,
484
+ <code class="methodname">setColumnX</code>, <code class="methodname">getRowY</code>,
485
+ <code class="methodname">setRowY</code> and
486
+ <code class="methodname">updateRange</code> methods for the
487
+ <code class="classname">FXTable</code> class were incorrect. These have been
488
+ fixed.</p></li><li style="list-style-type: disc"><p>The <code class="methodname">setTableSize</code> method for the
489
+ <code class="classname">FXTable</code> class now raises
490
+ <code class="classname">ArgError</code> if either the number of rows or
491
+ columns passed in as arguments is less than zero.</p></li><li style="list-style-type: disc"><p>A typo in one of the source files was causing the build to fail
492
+ when compiled against Ruby versions 1.8.1 or earlier (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1551&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
493
+ Bug #1551</a>). This error has been corrected. Thanks to Alex
494
+ McGuire for reporting this problem.</p></li><li style="list-style-type: disc"><p>The <code class="methodname">selectItem</code> method for the
495
+ <code class="classname">FXTable</code> class was removed in FOX 1.2, so we've
496
+ added a convenience method for this that just calls the
497
+ <code class="methodname">selectRange</code> method under the hood (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1562&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
498
+ Bug #1562</a>). Thanks to Joel VanderWerf for this
499
+ suggestion.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.2.13 and
500
+ FXScintilla version 1.62.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e3987"></a>Changes For Version 1.2.4 (February 23, 2005)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Due to a change in some of the internal Ruby C APIs, a
501
+ compile-time error for FXRuby was introduced in some of the Ruby 1.8.2
502
+ preview releases (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1039&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
503
+ Bug #1039</a>). One should not see any compile-time errors when
504
+ compiling FXRuby (versions 1.2.3 or later) against the Ruby 1.8.2
505
+ final release, but I've neverthless made a change to how those
506
+ internal APIs are used, to avoid any potential problems. Thanks to the
507
+ many users who pointed out this problem.</p></li><li style="list-style-type: disc"><p>Joel VanderWerf suggested some enhancements to the
508
+ <code class="filename">image.rb</code> example program in order to improve its
509
+ startup time (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1281&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
510
+ Bug #1281</a>). Those changes have been incorporated. Thanks to
511
+ Joel for this suggestion.</p></li><li style="list-style-type: disc"><p>One change for the <code class="classname">FXImage</code> class between
512
+ FOX versions 1.0 and 1.2 is the nature of the pixel buffer that's
513
+ passed to the <code class="classname">FXImage</code> constructor. Previously,
514
+ this pixel buffer was expected to be a string of bytes; now it's
515
+ expected to be an array of <span class="type">FXColor</span> values. This
516
+ modification was not implemented correctly for FXRuby versions 1.2.3
517
+ and earlier (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1427&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
518
+ Bug #1427</a>). This bug has been corrected, and the example
519
+ program (<code class="filename">image.rb</code>) and test cases have been
520
+ updated as well. Thanks to Oliver Smith and others for reporting this
521
+ problem.</p></li><li style="list-style-type: disc"><p>A couple of different problems, reported by Patrick Fernie and
522
+ David Peoples, exposed a flaw in how FXRuby manages the links between
523
+ FOX objects and their Ruby peers when the FOX objects are destroyed
524
+ (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1445&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
525
+ Bug #1445</a>). Without going into all the gory details, let's
526
+ just say that since we have no explicit control over when Ruby's
527
+ garbage collector decides to "collect" those Ruby peers that point to
528
+ C++ objects that have been destroyed, we need to take steps to
529
+ neutralize those Ruby peer objects so that they can't cause your
530
+ application to crash in the meantime; I've implemented a fix to take
531
+ care of this situation. Thanks to Patrick and David for reporting
532
+ these problems.</p></li><li style="list-style-type: disc"><p>The API documentation for FXRuby 1.2 still contained references
533
+ to the old "spellings" of the <code class="methodname">fxparseAccel</code>
534
+ and <code class="methodname">fxparseHotKey</code> method names, which were
535
+ all lowercase (i.e. <code class="methodname">fxparseaccel</code> and
536
+ <code class="methodname">fxparsehotkey</code>). (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1470&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
537
+ Bug #1470</a>). These errors have been corrected.</p></li><li style="list-style-type: disc"><p>Added the <code class="methodname">FXScrollArea#scrollCorner</code>
538
+ method, which returns a reference to the scroll corner for any window
539
+ derived from <code class="classname">FXScrollArea</code> (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=843&amp;group_id=300&amp;atid=1226" target="_top">RubyForge
540
+ Feature Request #1226</a>). Thanks to Brian Sheehan for this
541
+ suggestion.</p></li><li style="list-style-type: disc"><p>Added the <code class="methodname">FXMemoryBuffer#to_a</code> method,
542
+ which is just an alias for the <code class="methodname">data</code> accessor
543
+ method that returns a copy of the data buffer as an array (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1295&amp;group_id=300&amp;atid=1226" target="_top">RubyForge
544
+ Feature Request #1295</a>). Thanks to Meinrad Recheis for this
545
+ suggestion.</p></li><li style="list-style-type: disc"><p>Added the <code class="methodname">appendRows</code> and
546
+ <code class="methodname">appendColumns</code> methods to the
547
+ <code class="classname">FXTable</code> class (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1426&amp;group_id=300&amp;atid=1226" target="_top">RubyForge
548
+ Feature Request #1295</a>). Thanks to Brett Hallett for this
549
+ suggestion.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.2.13 and
550
+ FXScintilla version 1.62.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4090"></a>Changes For Version 1.2.3 (January 22, 2005)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>Since group boxes containing radio buttons no longer enforce the
551
+ radio behavior of radio buttons (i.e. keeping only one radio button
552
+ selected at a time), some of the example programs were no longer
553
+ working as desired (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=751&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
554
+ Bug #751</a> and <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1280&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
555
+ Bug #1280</a>). This problem has been corrected. Thanks to Yuri
556
+ Leikind and Barry DeZonia for reporting this problem.</p></li><li style="list-style-type: disc"><p>Bob Sidebotham reported a little typo in the
557
+ <code class="filename">table.rb</code> example program (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=990&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
558
+ Bug #990</a>). This has been corrected.</p></li><li style="list-style-type: disc"><p>The API documentation for <code class="classname">FXList</code> did not
559
+ reflect the changes for FOX 1.2; the
560
+ <code class="methodname">retrieveItem()</code> has been renamed to
561
+ <code class="methodname">getItem()</code> and
562
+ <code class="methodname">insertItem()</code> has been renamed to
563
+ <code class="methodname">setItem()</code> (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1037&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
564
+ Bug #1037</a> and <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1257&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
565
+ Bug #1257</a>). This has been corrected. Thanks to Remy Drouilhet
566
+ and Stephan Kamper for reporting this problem.</p></li><li style="list-style-type: disc"><p>The Windows installer was missing some of the documentation
567
+ files (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1139&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
568
+ Bug #1139</a>). This has been corrected. Thanks to Curt Hibbs and
569
+ Mark Smith for reporting this problem.</p></li><li style="list-style-type: disc"><p>The <code class="filename">browser.rb</code> example program was broken
570
+ (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1146&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
571
+ Bug #1146</a>). This has been corrected. Thanks to Stefan Lang for
572
+ reporting this problem.</p></li><li style="list-style-type: disc"><p>The attribute setter for
573
+ <code class="methodname">FXHeaderItem#justification</code> was defined
574
+ incorrectly (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1276&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
575
+ Bug #1276</a>). This has been corrected. Thanks to Joel VanderWerf
576
+ for reporting this problem (and providing a patch to fix it).</p></li><li style="list-style-type: disc"><p>The <code class="methodname">filenames</code> alias for the
577
+ <code class="methodname">FXFileDialog#getFilenames()</code> instance method
578
+ was missing (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1277&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
579
+ Bug #1277</a>). This error has been corrected. Thanks to Barry
580
+ DeZonia for reporting this problem.</p></li><li style="list-style-type: disc"><p>The API documentation for the
581
+ <code class="classname">FXFileDialog</code> class methods
582
+ <code class="methodname">getOpenFilenames()</code>,
583
+ <code class="methodname">getOpenDirectory()</code>,
584
+ <code class="methodname">getOpenFilename()</code> and
585
+ <code class="methodname">getSaveFilename()</code> was extremely inadequate
586
+ (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1279&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
587
+ Bug #1279</a>). This documentation has been improved. Thanks to
588
+ Barry DeZonia for reporting this problem.</p></li><li style="list-style-type: disc"><p>Brett Hallett contributed a Ruby port of the "ratio" example
589
+ program from the regular FOX distribution, for demonstrating the use
590
+ of the new <code class="classname">FXSpring</code> layout manager (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1282&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
591
+ Bug #1282</a>). Many thanks to Brett for this addition!</p></li><li style="list-style-type: disc"><p>Joel VanderWerf contributed code to simplify how programs
592
+ interact with modal and non-modal dialog boxes (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1283&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
593
+ Bug #1283</a>). See the API documentation for the new
594
+ <code class="methodname">FXDialogBox#execute_modal</code> and
595
+ <code class="methodname">FXDialogBox#execute_nonmodal</code> methods for
596
+ examples of their use.</p></li><li style="list-style-type: disc"><p>The attribute setters for
597
+ <code class="methodname">FXRealSpinner#selBackColor</code> and
598
+ <code class="methodname">FXSpinner#selBackColor</code> were defined
599
+ incorrectly (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1297&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
600
+ Bug #1297</a>). These have been corrected. Thanks to Meinrad
601
+ Recheis for reporting this problem.</p></li><li style="list-style-type: disc"><p>The <code class="methodname">tooltipPause</code> attribute reader for
602
+ the <code class="classname">FXApp</code> class was missing (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1306&amp;group_id=300&amp;atid=1225" target="_top">RubyForge
603
+ Patch #1306</a>). Thanks to Joel VanderWerf for reporting this
604
+ omission and providing a patch to fix it.</p></li><li style="list-style-type: disc"><p>The API documentation for the
605
+ <code class="classname">FXToolBarTab</code> class was missing (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1322&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
606
+ Bug #1322</a>). Thanks to Joel VanderWerf for reporting this
607
+ omission.</p></li><li style="list-style-type: disc"><p>The attribute accessors for
608
+ <code class="methodname">FXText#visibleRows</code> and
609
+ <code class="methodname">FXText#visibleColumns</code> were defined and
610
+ documented incorrectly (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=1325&amp;group_id=300&amp;atid=1223" target="_top">RubyForge
611
+ Bug #1325</a>). These have been corrected. Thanks to Karl El-Koura
612
+ for reporting this problem.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.2.13 and
613
+ FXScintilla version 1.62.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4262"></a>Changes For Version 1.2.2 (October 1, 2004)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>In order to avoid versioning problems when dealing with a mix of
614
+ applications based on either FXRuby 1.0 or 1.2, the feature name for
615
+ FXRuby has been changed from "fox" to "fox12". For most application
616
+ developers, this means that you will need to modify the source code
617
+ for applications targeted at FXRuby 1.2 to begin with the line</p><pre class="programlisting">require 'fox12'</pre><p>Note that no
618
+ changes should be required for legacy applications targeted at FXRuby
619
+ 1.0.</p></li><li style="list-style-type: disc"><p>Made a number of updates to the documentation, to reflect API
620
+ changes for FXRuby 1.2.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.2.9 and
621
+ FXScintilla version 1.61.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4279"></a>Changes For Version 1.2a2 (July 10, 2004)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>This is the second "alpha" release of FXRuby 1.2. This release
622
+ should be compatible with any FOX library version 1.2; it is not
623
+ compatible with any previous FOX library versions. As this is an alpha
624
+ release, users should expect a certain amount of instability, bugs,
625
+ etc.</p></li><li style="list-style-type: disc"><p>For this release, all of the FOX 1.2 classes are available with
626
+ the exception of the <code class="classname">FXBitmapView</code> class. There
627
+ is a small problem with how the <code class="classname">FXBitmapView</code>
628
+ class is declared in the FOX 1.2 header files, and I'm trying to
629
+ decide how best to resolve that problem. The goal is to have this
630
+ problem resolved by the next alpha release of FXRuby.</p></li><li style="list-style-type: disc"><p>For this release, all of the RDoc-based online documentation has
631
+ been brought up to date with the new APIs.</p></li><li style="list-style-type: disc"><p>Portions of the FXRuby User's Guide were still out of date with
632
+ respect to the new APIs (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=988623&amp;group_id=20243&amp;atid=120243" target="_top">SourceForge
633
+ Bug #988623</a>). This has been fixed.</p></li><li style="list-style-type: disc"><p>The <code class="filename">mditest.rb</code> example program was not up
634
+ to date with the new APIs. This has been fixed.</p></li><li style="list-style-type: disc"><p>The <code class="filename">glviewer.rb</code> example program was not up
635
+ to date with the new APIs (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=986479&amp;group_id=20243&amp;atid=120243" target="_top">SourceForge
636
+ Bug #986479</a>). This has been fixed. Thanks to Remy Drouilhet
637
+ for reporting this problem and suggesting the fixes.</p></li><li style="list-style-type: disc"><p>The <code class="methodname">FXGLGroup#bounds</code> method was defined
638
+ incorrectly (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=986476&amp;group_id=20243&amp;atid=120243" target="_top">SourceForge
639
+ Bug #986476</a>). This has been fixed. Thanks to Remy Drouilhet
640
+ for reporting this problem and suggesting the fix.</p></li><li style="list-style-type: disc"><p>The <code class="filename">scintilla-test.rb</code> example program was
641
+ not up to date with the new APIs (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=986172&amp;group_id=20243&amp;atid=120243" target="_top">SourceForge
642
+ Bug #986172</a>). This has been fixed. Thanks to Peter Watkins for
643
+ reporting this problem and submitting a corrected version of the
644
+ program.</p></li><li style="list-style-type: disc"><p>There was a small typo in the table.rb example program (see
645
+ <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=988152&amp;group_id=20243&amp;atid=120243" target="_top">SourceForge
646
+ Bug #988152</a>). This has been fixed. Thanks to Jamey Cribbs for
647
+ reporting this problem and suggesting the fix.</p></li><li style="list-style-type: disc"><p>Due to an oversight on my part, one of the overloaded
648
+ constructors for the <code class="classname">FXRegion</code> class wasn't
649
+ wrapped properly (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=986181&amp;group_id=20243&amp;atid=120243" target="_top">SourceForge
650
+ Bug #986181</a>). This has been fixed. Thanks to Bil Bas for
651
+ reporting this problem.</p></li><li style="list-style-type: disc"><p>Removed some obsolete aliases for the old leading and trailing
652
+ rows and columns for the <code class="classname">FXTable</code> class (see
653
+ <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=986181&amp;group_id=20243&amp;atid=120243" target="_top">SourceForge
654
+ Bug #988038</a>). Thanks to Yuri Leikind for reporting this
655
+ problem.</p></li><li style="list-style-type: disc"><p>Added <code class="classname">FXTable</code> instance methods
656
+ <code class="methodname">horizontalGridShown=()</code> and
657
+ <code class="methodname">verticalGridShown=()</code> to complement the
658
+ already available <code class="methodname">horizontalGridShown?</code> and
659
+ <code class="methodname">verticalGridShown?</code> methods.</p></li><li style="list-style-type: disc"><p>The binary gem for the 1.2a1 release on Windows didn't have PNG
660
+ or JPEG image support built-in (see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=986180&amp;group_id=20243&amp;atid=120243" target="_top">SourceForge
661
+ Bug #986180</a>). This has been fixed. Thanks to Bil Bas for
662
+ reporting this problem.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.2.7 and
663
+ FXScintilla version 1.61.</p></li></ul></div></div><div class="simplesect" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e4388"></a>Changes For Version 1.2a1 (June 28, 2004)</h2></div></div></div><div class="itemizedlist"><ul type="bullet"><li style="list-style-type: disc"><p>This is the first "alpha" release of FXRuby 1.2. This release
664
+ should be compatible with any FOX library version 1.2; it is not
665
+ compatible with any previous FOX library versions. As this is an alpha
666
+ release, users should expect a certain amount of instability, bugs,
667
+ etc.</p><p>The intent of this first alpha release is twofold. The primary
668
+ intent is allow application developers who have current projects based
669
+ on FXRuby 1.0 to begin the process of updating their applications for
670
+ compatibility with FXRuby 1.2. For this release, all of the classes
671
+ that existed in FXRuby 1.0 have been updated for compatibility with
672
+ FOX 1.2, and so developers should at least be able to begin to "port"
673
+ their applications forward now. Note that there have been a number of
674
+ changes for FOX 1.2 and FXRuby 1.2, both in terms of API changes and
675
+ less obvious "behavioral" changes. For a detailed summary of these
676
+ changes, please see <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.knology.net/~lyle/fox/1.2/WhatsNew.html" target="_top">"What's New
677
+ in FOX 1.2"</a> (also available as a <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.knology.net/~lyle/fox/1.2/WhatsNew.pdf" target="_top">PDF</a>).
678
+ Note that few, if any, of the new classes introduced in FOX 1.2 are
679
+ available in this first alpha release of FXRuby 1.2. Support for those
680
+ new classes should come along quickly in subsequent alpha releases of
681
+ FXRuby 1.2.</p><p>The secondary intent of this first alpha release is to introduce
682
+ the new <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://rubygems.rubyforge.org" target="_top">RubyGems</a>-based packaging
683
+ of FXRuby and to begin to work out the inevitable kinks in that
684
+ system.</p></li><li style="list-style-type: disc"><p>The binary gem for Windows was built with FOX version 1.2.4 and
685
+ FXScintilla version 1.57.</p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="infosources.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="pt01.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="pt02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&nbsp;9.&nbsp;Other Sources of Information&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="book.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;Part&nbsp;II.&nbsp;Appendices</td></tr></table></div></body></html>