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
@@ -0,0 +1,59 @@
1
+ module Fox
2
+
3
+ class FXApp
4
+
5
+ alias addInputOrig addInput # :nodoc:
6
+
7
+ #
8
+ # Add a file descriptor _fileDesc_ to be watched for activity as determined
9
+ # by _mode_, where _mode_ is a bitwise OR (+INPUT_READ+, +INPUT_WRITE+, +INPUT_EXCEPT+).
10
+ # A message of type +SEL_IO_READ+, +SEL_IO_WRITE+, or +SEL_IO_EXCEPT+ will be sent
11
+ # to the target when the specified activity is detected on the file descriptor.
12
+ #
13
+ # There are several forms for #addInput; the original form (from FOX)
14
+ # takes four arguments:
15
+ #
16
+ # anApp.addInput(fileDesc, mode, anObject, aMessageId)
17
+ #
18
+ # A second form takes three arguments:
19
+ #
20
+ # anApp.addInput(fileDesc, mode, aMethod)
21
+ #
22
+ # For this form, _aMethod_ should have the standard argument list
23
+ # for a FOX message handler. That is, the method should take three
24
+ # arguments, for the message _sender_ (an FXObject), the message _selector_,
25
+ # and the message _data_ (if any).
26
+ #
27
+ # The last form of #addInput takes a block:
28
+ #
29
+ # anApp.addInput(fileDesc, mode) { |sender, sel, data|
30
+ # ... handle the I/O event ...
31
+ # }
32
+ #
33
+
34
+ def addInput(fd, mode, *args, &block)
35
+ params = {}
36
+ params = args.pop if args.last.is_a? Hash
37
+ tgt, sel = nil, 0
38
+ if args.length > 0
39
+ if args[0].respond_to? :call
40
+ tgt = FXPseudoTarget.new
41
+ tgt.pconnect(SEL_IO_READ, args[0], params)
42
+ tgt.pconnect(SEL_IO_WRITE, args[0], params)
43
+ tgt.pconnect(SEL_IO_EXCEPT, args[0], params)
44
+ else # it's some other kind of object
45
+ tgt = args[0]
46
+ sel = args[1]
47
+ end
48
+ else
49
+ tgt = FXPseudoTarget.new
50
+ tgt.pconnect(SEL_IO_READ, block, params)
51
+ tgt.pconnect(SEL_IO_WRITE, block, params)
52
+ tgt.pconnect(SEL_IO_EXCEPT, block, params)
53
+ end
54
+ addInputOrig(fd, mode, tgt, sel)
55
+ end
56
+
57
+ end # class FXApp
58
+
59
+ end # module Fox
data/lib/fox16/irb.rb ADDED
@@ -0,0 +1,178 @@
1
+ #! /usr/bin/env ruby
2
+
3
+ #
4
+ # This is version 0.1.1 of Gilles Filippini's FXIrb, an attempt to embed
5
+ # IRB into an FXRuby FXText widget. The master page for this is here:
6
+ #
7
+ # http://www.rubygarden.org/ruby?FXIrb
8
+ #
9
+ # TODO
10
+ # - handle user input redirection
11
+ # - ^D
12
+ # - readonly everywhere but for the command line
13
+ # - readline
14
+
15
+ require "irb"
16
+ require "singleton"
17
+ require "fcntl"
18
+
19
+ module IRB
20
+ def IRB.start_in_fxirb(redir)
21
+ IRB.initialize(nil)
22
+ IRB.parse_opts
23
+ IRB.load_modules
24
+
25
+ irb = Irb.new(nil, redir)
26
+
27
+ @CONF[:IRB_RC].call(irb.context) if @CONF[:IRB_RC]
28
+ @CONF[:MAIN_CONTEXT] = irb.context
29
+ trap("SIGINT") do
30
+ irb.signal_handle
31
+ end
32
+
33
+ catch(:IRB_EXIT) do
34
+ irb.eval_input
35
+ end
36
+ print "\n"
37
+ end
38
+ end
39
+
40
+ class Redirect < IRB::StdioInputMethod
41
+ def initialize(dest)
42
+ super()
43
+ @dest = dest
44
+ end
45
+
46
+ def gets
47
+ close
48
+ @dest.write(prompt)
49
+ str = @dest.gets(@prompt)
50
+ if /^exit/ =~ str
51
+ exit
52
+ end
53
+ @line[@line_no += 1] = str
54
+ end
55
+
56
+ def close
57
+ if @thread
58
+ $defout = @old_out.dup
59
+ $stderr = @old_err.dup
60
+ $stdin = @old_in.dup
61
+ @output[1].close
62
+ @thread.join
63
+ end
64
+ end
65
+
66
+ def redir
67
+ @output = IO.pipe
68
+ @old_out = $defout.dup
69
+ @old_err = $stderr.dup
70
+ @old_in = $stdin.dup
71
+ $stdin = @dest.input[0]
72
+ $defout = $stderr = @output[1]
73
+ @output[1].fcntl(Fcntl::F_SETFL, File::NONBLOCK)
74
+ @thread = Thread.new {
75
+ while not @output[0].eof?
76
+ select([@output[0]])
77
+ @dest.write(@output[0].read)
78
+ end
79
+ @output[0].close
80
+ }
81
+ end
82
+ end
83
+
84
+ module Fox
85
+ class FXIrb < FXText
86
+ include Singleton
87
+ include Responder
88
+
89
+ attr_reader :input
90
+
91
+ def FXIrb.init(p, tgt, sel, opts)
92
+ unless @__instance__
93
+ Thread.critical = true
94
+ begin
95
+ @__instance__ ||= new(p, tgt, sel, opts)
96
+ ensure
97
+ Thread.critical = false
98
+ end
99
+ end
100
+ return @__instance__
101
+ end
102
+
103
+ def initialize(p, tgt, sel, opts)
104
+ FXMAPFUNC(SEL_KEYRELEASE, 0, "onKeyRelease")
105
+
106
+ super
107
+ setFont(FXFont.new(FXApp.instance, "-misc-fixed-medium-r-semicondensed-*-*-120-*-*-c-*-iso8859-1"))
108
+ end
109
+
110
+ def create
111
+ super
112
+ setFocus
113
+ # IRB initialization
114
+ @redir = Redirect.new(self)
115
+ @input = IO.pipe
116
+ @irb = Thread.new {
117
+ IRB.start_in_fxirb(@redir)
118
+ }
119
+ end
120
+
121
+ def onKeyRelease(sender, sel, event)
122
+ if [Fox::KEY_Return, Fox::KEY_KP_Enter].include?(event.code)
123
+ newLineEntered
124
+ end
125
+ return 1
126
+ end
127
+
128
+ def newLineEntered
129
+ if @running
130
+ start = prevLine(getLength)
131
+ @input[1].puts(extractText(start, getLength - start))
132
+ else
133
+ processCommandLine(extractText(@anchor, getLength-@anchor))
134
+ end
135
+ end
136
+
137
+ def processCommandLine(cmd)
138
+ @redir.redir
139
+ @running = true
140
+ @input[1].puts cmd
141
+ end
142
+
143
+ def sendCommand(cmd)
144
+ setCursorPos(getLength)
145
+ makePositionVisible(getLength) unless isPosVisible(getLength)
146
+ cmd += "\n"
147
+ appendText(cmd)
148
+ processCommandLine(cmd)
149
+ end
150
+
151
+ def write(obj)
152
+ str = obj.to_s
153
+ appendText(str)
154
+ setCursorPos(getLength)
155
+ makePositionVisible(getLength) unless isPosVisible(getLength)
156
+ return str.length
157
+ end
158
+
159
+ def gets(prompt)
160
+ @running = false
161
+ @anchor = getLength
162
+ return @input[0].gets
163
+ end
164
+ end
165
+ end
166
+
167
+ # Stand alone run
168
+ if __FILE__ == $0
169
+ include Fox
170
+ application = FXApp.new("FXIrb", "ruby")
171
+ Thread.abort_on_exception = true
172
+ application.init(ARGV)
173
+ window = FXMainWindow.new(application, "FXIrb", nil, nil, DECOR_ALL, 0, 0, 580, 600)
174
+ FXIrb.init(window, nil, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y)
175
+ application.create
176
+ window.show(PLACEMENT_SCREEN)
177
+ application.run
178
+ end
@@ -0,0 +1,371 @@
1
+ module Fox
2
+
3
+ class FXComboBox
4
+
5
+ include Enumerable
6
+
7
+ #
8
+ # Calls block once for each item in the list, passing the item's text and
9
+ # user data as parameters.
10
+ #
11
+ def each # :yields: itemText, itemData
12
+ 0.upto(numItems - 1) do |i|
13
+ yield getItemText(i), getItemData(i)
14
+ end
15
+ self
16
+ end
17
+ end
18
+
19
+ class FXFoldingList
20
+
21
+ include Enumerable
22
+
23
+ #
24
+ # Calls block once for each root-level folding list item, passing a
25
+ # reference to that item as a parameter.
26
+ #
27
+ def each # :yields: aFoldingItem
28
+ current = firstItem
29
+ while current != nil
30
+ next_current = current.next
31
+ yield current
32
+ current = next_current
33
+ end
34
+ self
35
+ end
36
+ end
37
+
38
+ class FXFoldingItem
39
+
40
+ include Enumerable
41
+
42
+ #
43
+ # Calls block once for each child of this folding list item, passing a
44
+ # reference to that child item as a parameter.
45
+ #
46
+ def each # :yields: aFoldingItem
47
+ current = first
48
+ while current != nil
49
+ next_current = current.next
50
+ yield current
51
+ current = next_current
52
+ end
53
+ self
54
+ end
55
+ end
56
+
57
+ class FXHeader
58
+
59
+ include Enumerable
60
+
61
+ #
62
+ # Calls block once for each item in the list, passing a reference to that
63
+ # item as a parameter.
64
+ #
65
+ def each # :yields: aHeaderItem
66
+ 0.upto(numItems - 1) do |i|
67
+ yield getItem(i)
68
+ end
69
+ self
70
+ end
71
+ end
72
+
73
+ class FXIconList
74
+
75
+ include Enumerable
76
+
77
+ #
78
+ # Calls block once for each item in the list, passing a reference to that
79
+ # item as a parameter.
80
+ #
81
+ def each # :yields: anIconItem
82
+ 0.upto(numItems - 1) do |i|
83
+ yield getItem(i)
84
+ end
85
+ self
86
+ end
87
+ end
88
+
89
+ class FXList
90
+
91
+ include Enumerable
92
+
93
+ #
94
+ # Calls block once for each item in the list, passing a reference to that
95
+ # item as a parameter.
96
+ #
97
+ def each # :yields: aListItem
98
+ 0.upto(numItems - 1) do |i|
99
+ yield getItem(i)
100
+ end
101
+ self
102
+ end
103
+ end
104
+
105
+ class FXListBox
106
+
107
+ include Enumerable
108
+
109
+ #
110
+ # Calls block once for each item in the list, passing the item's text,
111
+ # icon and user data as parameters.
112
+ #
113
+ def each
114
+ 0.upto(numItems - 1) do |i|
115
+ yield getItemText(i), getItemIcon(i), getItemData(i)
116
+ end
117
+ self
118
+ end
119
+ end
120
+
121
+ class FXTable
122
+
123
+ include Enumerable
124
+
125
+ #
126
+ # Calls block once for each row in the table, passing an array of
127
+ # references (one element per column) as a parameter.
128
+ #
129
+ def each_row # :yields: itemArray
130
+ 0.upto(numRows - 1) do |i|
131
+ tableRow = []
132
+ 0.upto(numColumns - 1) do |j|
133
+ tableRow << getItem(i, j)
134
+ end
135
+ yield tableRow
136
+ end
137
+ self
138
+ end
139
+
140
+ #
141
+ # Calls block once for each column in the table, passing an array of
142
+ # references (one element per row) as a parameter.
143
+ #
144
+ def each_column # :yields: itemArray
145
+ 0.upto(numColumns - 1) do |j|
146
+ tableCol = []
147
+ 0.upto(numRows - 1) do |i|
148
+ tableCol << getItem(i, j)
149
+ end
150
+ yield tableCol
151
+ end
152
+ self
153
+ end
154
+
155
+ alias each each_row
156
+ end
157
+
158
+ class FXTreeItem
159
+
160
+ include Enumerable
161
+
162
+ #
163
+ # Calls block once for each child of this tree item, passing a
164
+ # reference to that child item as a parameter.
165
+ #
166
+ def each # :yields: aTreeItem
167
+ current = first
168
+ while current != nil
169
+ next_current = current.next
170
+ yield current
171
+ current = next_current
172
+ end
173
+ self
174
+ end
175
+ end
176
+
177
+ class FXTreeList
178
+
179
+ include Enumerable
180
+
181
+ #
182
+ # Calls block once for each root-level tree item, passing a
183
+ # reference to that item as a parameter.
184
+ #
185
+ def each # :yields: aTreeItem
186
+ current = firstItem
187
+ while current != nil
188
+ next_current = current.next
189
+ yield current
190
+ current = next_current
191
+ end
192
+ self
193
+ end
194
+ end
195
+
196
+ class FXTreeListBox
197
+
198
+ include Enumerable
199
+
200
+ #
201
+ # Calls block once for each root-level tree item, passing a
202
+ # reference to that item as a parameter.
203
+ #
204
+ def each # :yields: aTreeItem
205
+ current = firstItem
206
+ while current != nil
207
+ next_current = current.next
208
+ yield current
209
+ current = next_current
210
+ end
211
+ self
212
+ end
213
+ end
214
+
215
+ class FXStream
216
+ end
217
+
218
+ class FXFileStream
219
+ #
220
+ # Construct a new FXFileStream object with the specified data flow
221
+ # direction (<em>save_or_load</em>) and _container_ object.
222
+ # If an optional code block is given, it will be passed this file
223
+ # stream as an argument, and the file stream will automatically be
224
+ # closed when the block terminates.
225
+ # If no code block is provided, this method just returns the
226
+ # new file stream in an opened state.
227
+ #
228
+ # Raises FXStreamNoWriteError if <em>save_or_load</em> is +FXStreamSave+
229
+ # but the file cannot be opened for writing. Raises FXStreamNoReadError
230
+ # if <em>save_or_load</em> is +FXStreamLoad+ but the file cannot be opened
231
+ # for reading.
232
+ #
233
+
234
+ def FXFileStream.open(filename, save_or_load, size=8192, container=nil) # :yields: theFileStream
235
+ fstream = FXFileStream.new(container)
236
+ if fstream.open(filename, save_or_load, size)
237
+ if block_given?
238
+ begin
239
+ yield fstream
240
+ ensure
241
+ fstream.close
242
+ end
243
+ else
244
+ fstream
245
+ end
246
+ else
247
+ # FXFileStream#open returned false, so report error
248
+ raise FXStreamError.makeStreamError(fstream.status)
249
+ end
250
+ end
251
+ end
252
+
253
+ class FXMemoryStream
254
+ #
255
+ # Construct a new FXMemoryStream object with the specified data flow
256
+ # direction, data and container object.
257
+ # If an optional code block is given, it will be passed this memory
258
+ # stream as an argument, and the memory stream will automatically be
259
+ # closed when the block terminates.
260
+ # If no code block is provided, this method just returns the
261
+ # new memory stream in an opened state.
262
+ #
263
+ # Raises FXStreamAllocError if some kind of memory allocation failed
264
+ # while initializing the stream.
265
+ #
266
+ # ==== Parameters:
267
+ #
268
+ # +save_or_load+:: access mode, either +FXStreamSave+ or +FXStreamLoad+ [Integer]
269
+ # +data+:: memory buffer used for the stream, or +nil+ if the buffer is to be initially empty [String].
270
+ # +cont+:: the container object, or +nil+ if there is none [FXObject]
271
+ #
272
+ def FXMemoryStream.open(save_or_load, data, cont=nil) # :yields: theMemoryStream
273
+ stream = FXMemoryStream.new(cont)
274
+ if stream.open(save_or_load, data)
275
+ if block_given?
276
+ begin
277
+ yield stream
278
+ ensure
279
+ stream.close
280
+ end
281
+ else
282
+ stream
283
+ end
284
+ else
285
+ # FXFileStream#open returned false, so report error
286
+ raise FXStreamError.makeStreamError(stream.status)
287
+ end
288
+ end
289
+ end
290
+
291
+ class FXApp
292
+
293
+ alias beginWaitCursor0 beginWaitCursor # :nodoc:
294
+
295
+ #
296
+ # Changes the default application cursor to an hourglass shape,
297
+ # to provide a visual cue to the user that it's time to wait.
298
+ # To revert the default application cursor to its normal shape,
299
+ # call the #endWaitCursor method. For example,
300
+ #
301
+ # getApp().beginWaitCursor()
302
+ # ... time-consuming operation ...
303
+ # getApp().endWaitCursor()
304
+ #
305
+ # Invocations of #beginWaitCursor may be nested, and if so, the
306
+ # call to #endWaitCursor is matched with the most recent call to
307
+ # #beginWaitCursor.
308
+ #
309
+ # If an optional code block is provided, #endWaitCursor is
310
+ # automatically called after the block terminates, e.g.
311
+ #
312
+ # getApp().beginWaitCursor() {
313
+ # ... time-consuming operation ...
314
+ # ... endWaitCursor() is called automatically ...
315
+ # }
316
+ #
317
+ def beginWaitCursor
318
+ beginWaitCursor0
319
+ if block_given?
320
+ begin
321
+ yield
322
+ ensure
323
+ endWaitCursor
324
+ end
325
+ end
326
+ end
327
+ end
328
+
329
+ class FXDCPrint
330
+
331
+ alias beginPrint0 beginPrint # :nodoc:
332
+
333
+ #
334
+ # Begin print session described by _job_ (an FXPrinter instance).
335
+ # If an optional code block is provided, #endPrint is automatically
336
+ # called after the block terminates.
337
+ #
338
+ def beginPrint(job) # :yields: theDC
339
+ result = beginPrint0(job)
340
+ if block_given?
341
+ begin
342
+ yield self
343
+ ensure
344
+ endPrint
345
+ end
346
+ else
347
+ result
348
+ end
349
+ end
350
+
351
+ alias beginPage0 beginPage # :nodoc:
352
+
353
+ #
354
+ # Generate beginning of _page_ (the page number).
355
+ # If an optional code block is provided, #endPage is automatically
356
+ # called after the block terminates.
357
+ #
358
+ def beginPage(page=1) # :yields: theDC
359
+ result = beginPage0(page)
360
+ if block_given?
361
+ begin
362
+ yield self
363
+ ensure
364
+ endPage
365
+ end
366
+ else
367
+ result
368
+ end
369
+ end
370
+ end
371
+ end