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,143 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'fox16'
4
+
5
+ include Fox
6
+
7
+ # A little dialog box to use in our tests
8
+ class FXTestDialog < FXDialogBox
9
+
10
+ def initialize(owner)
11
+ # Invoke base class initialize function first
12
+ super(owner, "Test of Dialog Box", DECOR_TITLE|DECOR_BORDER)
13
+
14
+ # Bottom buttons
15
+ buttons = FXHorizontalFrame.new(self,
16
+ LAYOUT_SIDE_BOTTOM|FRAME_NONE|LAYOUT_FILL_X|PACK_UNIFORM_WIDTH,
17
+ :padLeft => 40, :padRight => 40, :padTop => 20, :padBottom => 20)
18
+
19
+ # Separator
20
+ FXHorizontalSeparator.new(self,
21
+ LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|SEPARATOR_GROOVE)
22
+
23
+ # Contents
24
+ contents = FXHorizontalFrame.new(self,
25
+ LAYOUT_SIDE_TOP|FRAME_NONE|LAYOUT_FILL_X|LAYOUT_FILL_Y|PACK_UNIFORM_WIDTH)
26
+
27
+ submenu = FXMenuPane.new(self)
28
+ FXMenuCommand.new(submenu, "One")
29
+ FXMenuCommand.new(submenu, "Two")
30
+ FXMenuCommand.new(submenu, "Three")
31
+
32
+ # Menu
33
+ menu = FXMenuPane.new(self)
34
+ FXMenuCommand.new(menu, "&Accept", nil, self, ID_ACCEPT)
35
+ FXMenuCommand.new(menu, "&Cancel", nil, self, ID_CANCEL)
36
+ FXMenuCascade.new(menu, "Submenu", nil, submenu)
37
+ FXMenuCommand.new(menu, "&Quit\tCtl-Q", nil, getApp(), FXApp::ID_QUIT)
38
+
39
+ # Popup menu
40
+ pane = FXPopup.new(self)
41
+ %w{One Two Three Four Five Six Seven Eight Nine Ten}.each do |s|
42
+ FXOption.new(pane, s, :opts => JUSTIFY_HZ_APART|ICON_AFTER_TEXT)
43
+ end
44
+
45
+ # Option menu
46
+ FXOptionMenu.new(contents, pane, (FRAME_RAISED|FRAME_THICK|
47
+ JUSTIFY_HZ_APART|ICON_AFTER_TEXT|LAYOUT_CENTER_X|LAYOUT_CENTER_Y))
48
+
49
+ # Button to pop menu
50
+ FXMenuButton.new(contents, "&Menu", nil, menu, (MENUBUTTON_DOWN|
51
+ JUSTIFY_LEFT|LAYOUT_TOP|FRAME_RAISED|FRAME_THICK|ICON_AFTER_TEXT|
52
+ LAYOUT_CENTER_X|LAYOUT_CENTER_Y))
53
+
54
+ # Accept
55
+ accept = FXButton.new(buttons, "&Accept", nil, self, ID_ACCEPT,
56
+ FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y)
57
+
58
+ # Cancel
59
+ FXButton.new(buttons, "&Cancel", nil, self, ID_CANCEL,
60
+ FRAME_RAISED|FRAME_THICK|LAYOUT_RIGHT|LAYOUT_CENTER_Y)
61
+
62
+ accept.setDefault
63
+ accept.setFocus
64
+ end
65
+
66
+ end
67
+
68
+ # Subclassed main window
69
+ class DialogTester < FXMainWindow
70
+
71
+ def initialize(app)
72
+ # Invoke base class initialize first
73
+ super(app, "Dialog Test", :opts => DECOR_ALL, :width => 400, :height => 200)
74
+
75
+ # Tooltip
76
+ FXToolTip.new(getApp())
77
+
78
+ # Menubar
79
+ menubar = FXMenuBar.new(self, LAYOUT_SIDE_TOP|LAYOUT_FILL_X)
80
+
81
+ # Separator
82
+ FXHorizontalSeparator.new(self,
83
+ LAYOUT_SIDE_TOP|LAYOUT_FILL_X|SEPARATOR_GROOVE)
84
+
85
+ # File Menu
86
+ filemenu = FXMenuPane.new(self)
87
+ FXMenuCommand.new(filemenu, "&Quit", nil, getApp(), FXApp::ID_QUIT, 0)
88
+ FXMenuTitle.new(menubar, "&File", nil, filemenu)
89
+
90
+ # Contents
91
+ contents = FXHorizontalFrame.new(self,
92
+ LAYOUT_SIDE_TOP|FRAME_NONE|LAYOUT_FILL_X|LAYOUT_FILL_Y|PACK_UNIFORM_WIDTH)
93
+
94
+ # Button to pop normal dialog
95
+ nonModalButton = FXButton.new(contents,
96
+ "&Non-Modal Dialog...\tDisplay normal dialog",
97
+ :opts => FRAME_RAISED|FRAME_THICK|LAYOUT_CENTER_X|LAYOUT_CENTER_Y)
98
+ nonModalButton.connect(SEL_COMMAND, method(:onCmdShowDialog))
99
+
100
+ # Button to pop modal dialog
101
+ modalButton = FXButton.new(contents,
102
+ "&Modal Dialog...\tDisplay modal dialog",
103
+ :opts => FRAME_RAISED|FRAME_THICK|LAYOUT_CENTER_X|LAYOUT_CENTER_Y)
104
+ modalButton.connect(SEL_COMMAND, method(:onCmdShowDialogModal))
105
+
106
+ # Build a dialog box
107
+ @dialog = FXTestDialog.new(self)
108
+
109
+ end
110
+
111
+ # Show the non-modal dialog
112
+ def onCmdShowDialog(sender, sel, ptr)
113
+ @dialog.show
114
+ end
115
+
116
+ # Show a modal dialog
117
+ def onCmdShowDialogModal(sender, sel, ptr)
118
+ FXTestDialog.new(self).execute
119
+ return 1
120
+ end
121
+
122
+ # Start
123
+ def create
124
+ super
125
+ show(PLACEMENT_SCREEN)
126
+ end
127
+ end
128
+
129
+ def run
130
+ # Make an application
131
+ application = FXApp.new("Dialog", "FoxTest")
132
+
133
+ # Construct the application's main window
134
+ DialogTester.new(application)
135
+
136
+ # Create the application
137
+ application.create
138
+
139
+ # Run the application
140
+ application.run
141
+ end
142
+
143
+ run
@@ -0,0 +1,67 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'fox16'
4
+ require 'open-uri'
5
+ begin
6
+ require 'rubyful_soup'
7
+ rescue LoadError
8
+ require 'fox16/missingdep'
9
+ MSG = <<EOM
10
+ Sorry, this example depends on the RubyfulSoup extension. Please
11
+ check the Ruby Application Archives for an appropriate
12
+ download site.
13
+ EOM
14
+ missingDependency(MSG)
15
+ end
16
+
17
+ include Fox
18
+
19
+ class DailyDilbert < FXMainWindow
20
+
21
+ include Responder
22
+
23
+ def initialize(app)
24
+ # Invoke base class initialize first
25
+ super(app, "Daily Dilbert Viewer", :opts => DECOR_ALL, :width => 850, :height => 600, :padLeft => 0, :padRight => 0)
26
+
27
+ # Sunken border for image widget
28
+ imagebox = FXHorizontalFrame.new(self,
29
+ FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL_X|LAYOUT_FILL_Y)
30
+
31
+ # Make image widget
32
+ @imageview = FXImageView.new(imagebox,
33
+ :opts => LAYOUT_FILL_X|LAYOUT_FILL_Y|HSCROLLER_NEVER|VSCROLLER_NEVER)
34
+
35
+ # Construct a GIF image and store it in the image viewer
36
+ @imageview.image = FXGIFImage.new(getApp(), image_data)
37
+
38
+ # Resize main window client area to fit image size
39
+ resize(@imageview.contentWidth, @imageview.contentHeight)
40
+ end
41
+
42
+ def image_data
43
+ src = open("http://www.dilbert.com/").read
44
+ soup = BeautifulSoup.new(src)
45
+ url = soup.find('img', { :attrs => { 'alt' => /Today's Comic/ } })
46
+ open("http://www.dilbert.com" + url['src'], "rb").read
47
+ end
48
+
49
+ def create
50
+ super
51
+ show(PLACEMENT_SCREEN)
52
+ end
53
+ end
54
+
55
+ if __FILE__ == $0
56
+ # Make application
57
+ application = FXApp.new("DailyDilbert", "FoxTest")
58
+
59
+ # Make window
60
+ window = DailyDilbert.new(application)
61
+
62
+ # Create it
63
+ application.create
64
+
65
+ # Run
66
+ application.run
67
+ end
@@ -0,0 +1,63 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'fox16'
4
+
5
+ include Fox
6
+
7
+ class DirListWindow < FXMainWindow
8
+
9
+ def initialize(app)
10
+ # Invoke the base class initialize first
11
+ super(app, "Directory List", :opts => DECOR_ALL, :width => 800, :height => 600)
12
+
13
+ # Make menu bar
14
+ menubar = FXMenuBar.new(self, LAYOUT_FILL_X)
15
+ filemenu = FXMenuPane.new(self)
16
+ FXMenuCommand.new(filemenu, "&Quit\tCtl-Q", nil, getApp(), FXApp::ID_QUIT)
17
+ FXMenuTitle.new(menubar, "&File", nil, filemenu)
18
+ helpmenu = FXMenuPane.new(self)
19
+ FXMenuCommand.new(helpmenu, "&About FOX...").connect(SEL_COMMAND) {
20
+ FXMessageBox.information(self, MBOX_OK, "About FOX",
21
+ "FOX is a really, really cool C++ library...\n" +
22
+ "and FXRuby is an even cooler GUI for Ruby!")
23
+ }
24
+ FXMenuTitle.new(menubar, "&Help", nil, helpmenu, LAYOUT_RIGHT)
25
+
26
+ # Text field at bottom
27
+ text = FXTextField.new(self, 10,
28
+ :opts => LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|FRAME_SUNKEN|FRAME_THICK)
29
+
30
+ # Make contents
31
+ dirlist = FXDirList.new(self, :opts => (HSCROLLING_OFF|
32
+ TREELIST_SHOWS_LINES|TREELIST_SHOWS_BOXES|FRAME_SUNKEN|FRAME_THICK|
33
+ LAYOUT_FILL_X|LAYOUT_FILL_Y))
34
+
35
+ # Now make the directory list widget (dirlist) the message target
36
+ # for the text field. If you type a new directory name in the text
37
+ # field the directory list should navigate to that directory.
38
+ text.target = dirlist
39
+ text.selector = FXWindow::ID_SETVALUE
40
+ end
41
+
42
+ # Create and show the main window
43
+ def create
44
+ super
45
+ show(PLACEMENT_SCREEN)
46
+ end
47
+ end
48
+
49
+ def run
50
+ # Make application
51
+ application = FXApp.new("DirList", "FoxTest")
52
+
53
+ # Make window
54
+ DirListWindow.new(application)
55
+
56
+ # Create app
57
+ application.create
58
+
59
+ # Run
60
+ application.run
61
+ end
62
+
63
+ run
@@ -0,0 +1,97 @@
1
+ require 'fox16'
2
+
3
+ include Fox
4
+
5
+ class DragDropWindow < FXMainWindow
6
+
7
+ def initialize(anApp)
8
+ # Initialize base class
9
+ super(anApp, "Drag and Drop", :opts => DECOR_ALL, :width => 400, :height => 300)
10
+
11
+ # Fill main window with canvas
12
+ @canvas = FXCanvas.new(self, :opts => LAYOUT_FILL_X|LAYOUT_FILL_Y)
13
+ @canvas.backColor = "red"
14
+
15
+ # Enable canvas for drag-and-drop messages
16
+ @canvas.dropEnable
17
+
18
+ # Handle expose events on the canvas
19
+ @canvas.connect(SEL_PAINT) do |sender, sel, event|
20
+ FXDCWindow.new(@canvas, event) do |dc|
21
+ dc.foreground = @canvas.backColor
22
+ dc.fillRectangle(event.rect.x, event.rect.y, event.rect.w, event.rect.h)
23
+ end
24
+ end
25
+
26
+ # Handle left button press
27
+ @canvas.connect(SEL_LEFTBUTTONPRESS) do
28
+ #
29
+ # Capture (grab) the mouse when the button goes down, so that all future
30
+ # mouse events will be reported to this widget, even if those events occur
31
+ # outside of this widget.
32
+ #
33
+ @canvas.grab
34
+
35
+ # Advertise which drag types we can offer
36
+ dragTypes = [FXWindow.colorType]
37
+ @canvas.beginDrag(dragTypes)
38
+ end
39
+
40
+ # Handle mouse motion events
41
+ @canvas.connect(SEL_MOTION) do |sender, sel, event|
42
+ if @canvas.dragging?
43
+ @canvas.handleDrag(event.root_x, event.root_y)
44
+ unless @canvas.didAccept == DRAG_REJECT
45
+ @canvas.dragCursor = getApp().getDefaultCursor(DEF_SWATCH_CURSOR)
46
+ else
47
+ @canvas.dragCursor = getApp().getDefaultCursor(DEF_DNDSTOP_CURSOR)
48
+ end
49
+ end
50
+ end
51
+
52
+ # Handle SEL_DND_MOTION messages from the canvas
53
+ @canvas.connect(SEL_DND_MOTION) do
54
+ @canvas.acceptDrop if @canvas.offeredDNDType?(FROM_DRAGNDROP, FXWindow.colorType)
55
+ end
56
+
57
+ # Handle left button release
58
+ @canvas.connect(SEL_LEFTBUTTONRELEASE) do
59
+ @canvas.ungrab
60
+ @canvas.endDrag
61
+ end
62
+
63
+ # Handle SEL_DND_DROP message from the canvas
64
+ @canvas.connect(SEL_DND_DROP) do
65
+ # Try to obtain the data as color values first
66
+ data = @canvas.getDNDData(FROM_DRAGNDROP, FXWindow.colorType)
67
+
68
+ # Update canvas background color
69
+ @canvas.backColor = Fox.fxdecodeColorData(data) unless data.nil?
70
+ end
71
+
72
+ # Handle request for DND data
73
+ @canvas.connect(SEL_DND_REQUEST) do |sender, sel, event|
74
+ @canvas.setDNDData(FROM_DRAGNDROP, FXWindow.colorType, Fox.fxencodeColorData(@canvas.backColor)) if event.target == FXWindow.colorType
75
+ end
76
+ end
77
+
78
+ def create
79
+ # Create the main window and canvas
80
+ super
81
+
82
+ # Register the drag type for colors
83
+ FXWindow.colorType = getApp().registerDragType(FXWindow.colorTypeName)
84
+
85
+ # Show the main window
86
+ show(PLACEMENT_SCREEN)
87
+ end
88
+ end
89
+
90
+ if __FILE__ == $0
91
+ FXApp.new("DragDrop", "FXRuby") do |theApp|
92
+ DragDropWindow.new(theApp)
93
+ theApp.create
94
+ theApp.run
95
+ end
96
+ end
97
+
@@ -0,0 +1,80 @@
1
+ require 'fox16'
2
+
3
+ include Fox
4
+
5
+ class DragSource < FXMainWindow
6
+
7
+ def initialize(anApp)
8
+ # Initialize base class
9
+ super(anApp, "Drag Source", :opts => DECOR_ALL, :width => 400, :height => 300)
10
+
11
+ # Fill main window with canvas
12
+ @canvas = FXCanvas.new(self, :opts => LAYOUT_FILL_X|LAYOUT_FILL_Y)
13
+ @canvas.backColor = "red"
14
+
15
+ # Handle expose events on the canvas
16
+ @canvas.connect(SEL_PAINT) do |sender, sel, event|
17
+ FXDCWindow.new(@canvas, event) do |dc|
18
+ dc.foreground = @canvas.backColor
19
+ dc.fillRectangle(event.rect.x, event.rect.y, event.rect.w, event.rect.h)
20
+ end
21
+ end
22
+
23
+ # Handle left button press
24
+ @canvas.connect(SEL_LEFTBUTTONPRESS) do
25
+ #
26
+ # Capture (grab) the mouse when the button goes down, so that all future
27
+ # mouse events will be reported to this widget, even if those events occur
28
+ # outside of this widget.
29
+ #
30
+ @canvas.grab
31
+
32
+ # Advertise which drag types we can offer
33
+ dragTypes = [FXWindow.colorType]
34
+ @canvas.beginDrag(dragTypes)
35
+ end
36
+
37
+ # Handle mouse motion events
38
+ @canvas.connect(SEL_MOTION) do |sender, sel, event|
39
+ if @canvas.dragging?
40
+ @canvas.handleDrag(event.root_x, event.root_y)
41
+ unless @canvas.didAccept == DRAG_REJECT
42
+ @canvas.dragCursor = getApp().getDefaultCursor(DEF_SWATCH_CURSOR)
43
+ else
44
+ @canvas.dragCursor = getApp().getDefaultCursor(DEF_DNDSTOP_CURSOR)
45
+ end
46
+ end
47
+ end
48
+
49
+ # Handle left button release
50
+ @canvas.connect(SEL_LEFTBUTTONRELEASE) do
51
+ @canvas.ungrab
52
+ @canvas.endDrag
53
+ end
54
+
55
+ # Handle request for DND data
56
+ @canvas.connect(SEL_DND_REQUEST) do |sender, sel, event|
57
+ @canvas.setDNDData(FROM_DRAGNDROP, FXWindow.colorType, Fox.fxencodeColorData(@canvas.backColor)) if event.target == FXWindow.colorType
58
+ end
59
+ end
60
+
61
+ def create
62
+ # Create the main window and canvas
63
+ super
64
+
65
+ # Register the drag type for colors
66
+ FXWindow.colorType = getApp().registerDragType(FXWindow.colorTypeName)
67
+
68
+ # Show the main window
69
+ show(PLACEMENT_SCREEN)
70
+ end
71
+ end
72
+
73
+ if __FILE__ == $0
74
+ FXApp.new("DragSource", "FXRuby") do |theApp|
75
+ DragSource.new(theApp)
76
+ theApp.create
77
+ theApp.run
78
+ end
79
+ end
80
+