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,35 @@
1
+ module Fox
2
+ #
3
+ # The FXImageView widget displays a scrollable view of an image.
4
+ #
5
+ # === Image alignment styles
6
+ #
7
+ # +IMAGEVIEW_NORMAL+:: Normal mode is centered
8
+ # +IMAGEVIEW_CENTER_X+:: Centered horizontally
9
+ # +IMAGEVIEW_LEFT+:: Left-aligned
10
+ # +IMAGEVIEW_RIGHT+:: Right-aligned
11
+ # +IMAGEVIEW_CENTER_Y+:: Centered vertically
12
+ # +IMAGEVIEW_TOP+:: Top-aligned
13
+ # +IMAGEVIEW_BOTTOM+:: Bottom-aligned
14
+ #
15
+ # === Events
16
+ #
17
+ # +SEL_RIGHTBUTTONPRESS+:: sent when the right mouse button goes down; the message data is an FXEvent instance.
18
+ # +SEL_RIGHTBUTTONRELEASE+:: sent when the right mouse button goes up; the message data is an FXEvent instance.
19
+ #
20
+ class FXImageView < FXScrollArea
21
+
22
+ # The image [FXImage]
23
+ attr_accessor :image
24
+
25
+ # Current alignment [Integer]
26
+ attr_accessor :alignment
27
+
28
+ #
29
+ # Return an initialized FXImageView instance.
30
+ #
31
+ def initialize(p, img=nil, target=nil, selector=0, opts=0, x=0, y=0, width=0, height=0) # :yields: theImageView
32
+ end
33
+ end
34
+ end
35
+
@@ -0,0 +1,77 @@
1
+ module Fox
2
+ #
3
+ # An FXInputDialog is a simple dialog which is used
4
+ # to obtain a text string, integer, or real number from the user.
5
+ # A "password" mode allows the key-in to remain hidden.
6
+ #
7
+ # === Input dialog options
8
+ #
9
+ # +INPUTDIALOG_STRING+:: Ask for a string
10
+ # +INPUTDIALOG_INTEGER+:: Ask for an integer number
11
+ # +INPUTDIALOG_REAL+:: Ask for a real number
12
+ # +INPUTDIALOG_PASSWORD+:: Do not reveal key-in
13
+ #
14
+ class FXInputDialog < FXDialogBox
15
+
16
+ # Input string [String]
17
+ attr_accessor :text
18
+
19
+ # Number of visible columns of text [Integer]
20
+ attr_accessor :numColumns
21
+
22
+ #
23
+ # Construct input dialog box with given caption, icon, and prompt text.
24
+ # If _owner_ is a window, the dialog box will float over that window.
25
+ # If _owner_ is the application, the dialog box will be free-floating.
26
+ #
27
+ def initialize(owner, caption, label, icon=nil, opts=INPUTDIALOG_STRING, x=0, y=0, width=0, height=0) # :yields: theInputDialog
28
+ end
29
+
30
+ #
31
+ # Change limits (where _lo_ and _hi_ are numbers).
32
+ #
33
+ def setLimits(lo, hi); end
34
+
35
+ #
36
+ # Return limits (a two-element array of floats).
37
+ #
38
+ def getLimits(); end
39
+
40
+ #
41
+ # Prompt the user for a string, with the text field initialized
42
+ # to the specified _initial_ value. Return the input value if the
43
+ # user clicks *OK*, else return +nil+.
44
+ #
45
+ def FXInputDialog.getString(initial, owner, caption, label, ic=nil); end
46
+
47
+ #
48
+ # Prompt for a string, in a free-floating window..
49
+ #
50
+ def FXInputDialog.getString(initial, app, caption, label, ic=nil); end
51
+
52
+ #
53
+ # Prompt the user for an integer number, starting from the specified _initial_ value.
54
+ # Return the input value if the user clicks *OK*, else return +nil+.
55
+ # The input is constrained between _lo_ and _hi_.
56
+ #
57
+ def FXInputDialog.getInteger(initial, owner, caption, label, ic=nil, lo=-2147483647, hi=2147483647); end
58
+
59
+ #
60
+ # Prompt for an integer, in a free-floating window..
61
+ #
62
+ def FXInputDialog.getInteger(initial, app, caption, label, ic=nil, lo=-2147483647, hi=2147483647); end
63
+
64
+ #
65
+ # Prompt the user for a real number, starting from the specified _initial_ value.
66
+ # Return the input value if the user clicks *OK*, else return +nil+.
67
+ # The input is constrained between _lo_ and _hi_.
68
+ #
69
+ def FXInputDialog.getReal(initial, owner, caption, label, ic=nil, lo=-1.797693134862315e+308, hi=1.797693134862315e+308); end
70
+
71
+ #
72
+ # Prompt for a real number, in a free-floating window..
73
+ #
74
+ def FXInputDialog.getReal(initial, owner, caption, label, ic=nil, lo=-1.797693134862315e+308, hi=1.797693134862315e+308); end
75
+ end
76
+ end
77
+
@@ -0,0 +1,70 @@
1
+ module Fox
2
+ #
3
+ # JPEG icon class
4
+ #
5
+ class FXJPGIcon < FXIcon
6
+
7
+ #
8
+ # Return the suggested file extension for this image type ("jpg").
9
+ #
10
+ def FXJPGIcon.fileExt; end
11
+
12
+ #
13
+ # Return the MIME type for this image type
14
+ #
15
+ def FXJPGIcon.mimeType; end
16
+
17
+ # Return +true+ if JPEG image file format is supported.
18
+ def FXJPGIcon.supported? ; end
19
+
20
+ # Image quality setting [Integer]
21
+ attr_accessor :quality
22
+
23
+ #
24
+ # Return an initialized FXJPGIcon instance.
25
+ #
26
+ # ==== Parameters:
27
+ #
28
+ # +a+:: an application instance [FXApp]
29
+ # +pix+:: a memory buffer formatted in JPEG file format [String]
30
+ # +clr+:: transparency color [FXColor]
31
+ # +opts+:: options [Integer]
32
+ # +width+:: width [Integer]
33
+ # +height+:: height [Integer]
34
+ #
35
+ def initialize(a, pix=nil, clr=0, opts=0, width=1, height=1) # :yields: theJPGIcon
36
+ end
37
+ end
38
+ #
39
+ # Load a JPEG file from a stream.
40
+ # If successful, returns an array containing the image pixel data (as a
41
+ # String), transparency color, image width, image height and quality.
42
+ # If it fails, the function returns +nil+.
43
+ #
44
+ # ==== Parameters:
45
+ #
46
+ # +store+:: stream from which to read the file data [FXStream]
47
+ #
48
+ def Fox.fxloadJPG(store); end
49
+
50
+ #
51
+ # Save a JPEG image to a stream.
52
+ # Returns +true+ on success, +false+ on failure.
53
+ #
54
+ # ==== Parameters:
55
+ #
56
+ # +store+:: stream to which to write the image data [FXStream]
57
+ # +data+:: the image pixel data [String]
58
+ # +transp+:: transparency color [FXColor]
59
+ # +width+:: width [Integer]
60
+ # +height+:: height [Integer]
61
+ # +quality+:: image quality [Integer]
62
+ #
63
+ def Fox.fxsaveJPG(store, data, transp, width, height, quality); end
64
+
65
+ #
66
+ # Return +true+ if _store_ (an FXStream instance) contains a JPEG image.
67
+ #
68
+ def Fox.fxcheckJPG(store); end
69
+ end
70
+
@@ -0,0 +1,38 @@
1
+ module Fox
2
+ #
3
+ # JPEG Image class
4
+ #
5
+ class FXJPGImage < FXImage
6
+
7
+ #
8
+ # Return the suggested file extension for this image type ("jpg").
9
+ #
10
+ def FXJPGImage.fileExt; end
11
+
12
+ #
13
+ # Return the MIME type for this image type
14
+ #
15
+ def FXJPGImage.mimeType; end
16
+
17
+ # Return +true+ if JPEG image file format is supported.
18
+ def FXJPGImage.supported? ; end
19
+
20
+ # Image quality
21
+ attr_accessor :quality
22
+
23
+ #
24
+ # Return an initialized FXJPGImage instance.
25
+ #
26
+ # ==== Parameters:
27
+ #
28
+ # +a+:: an application instance [FXApp]
29
+ # +pix+:: a memory buffer formatted in JPEG file format [String]
30
+ # +opts+:: options [Integer]
31
+ # +width+:: width [Integer]
32
+ # +height+:: height [Integer]
33
+ #
34
+ def initialize(a, pix=nil, opts=0, width=1, height=1) # :yields: theJPGImage
35
+ end
36
+ end
37
+ end
38
+
@@ -0,0 +1,76 @@
1
+ module Fox
2
+ #
3
+ # The knob widget is a valuator widget which provides simple linear value range.
4
+ # While being moved, the knob sends +SEL_CHANGED+ messages to its target;
5
+ # at the end of the interaction, a final +SEL_COMMAND+ message is sent.
6
+ # The message data represents the current knob value (an integer).
7
+ #
8
+ # === Events
9
+ #
10
+ # The following messages are sent by FXKnob to its target:
11
+ #
12
+ # +SEL_KEYPRESS+:: sent when a key goes down; the message data is an FXEvent instance.
13
+ # +SEL_KEYRELEASE+:: sent when a key goes up; the message data is an FXEvent instance.
14
+ # +SEL_LEFTBUTTONPRESS+:: sent when the left mouse button goes down; the message data is an FXEvent instance.
15
+ # +SEL_LEFTBUTTONRELEASE+:: sent when the left mouse button goes up; the message data is an FXEvent instance.
16
+ # +SEL_MIDDLEBUTTONPRESS+:: sent when the middle mouse button goes down; the message data is an FXEvent instance.
17
+ # +SEL_MIDDLEBUTTONRELEASE+:: sent when the middle mouse button goes up; the message data is an FXEvent instance.
18
+ # +SEL_COMMAND+::
19
+ # sent at the end of a knob move; the message data is the new value of the knob.
20
+ # +SEL_CHANGED+::
21
+ # sent continuously while the knob is being moved; the message data is an integer indicating
22
+ # the current knob value.
23
+ #
24
+ # === Knob Control styles
25
+ #
26
+ # +KNOB_NEEDLE+:: Use a needle as indicator
27
+ # +KNOB_DOT+:: Use a dot as indicator
28
+ # +KNOB_TICKS+:: Show ticks around the knob
29
+ # +KNOB_INDICATOR+:: Show only the indicator (like a speedometer)
30
+ # +KNOB_NORMAL+:: Normal knob looks
31
+ #
32
+ class FXKnob < FXFrame
33
+
34
+ # Knob value [Integer]
35
+ attr_accessor :value
36
+
37
+ # Knob range [Range]
38
+ attr_accessor :range
39
+
40
+ # Knob style [Integer]
41
+ attr_accessor :knobStyle
42
+
43
+ # Knob auto-increment/decrement value [Integer]
44
+ attr_accessor :increment
45
+
46
+ # Delta between ticks [Integer]
47
+ attr_accessor :tickDelta
48
+
49
+ # Indicator needle color [FXColor]
50
+ attr_accessor :lineColor
51
+
52
+ # Help text displayed on the status line [String]
53
+ attr_accessor :helpText
54
+
55
+ # Tooltip text value [String]
56
+ attr_accessor :tipText
57
+
58
+ #
59
+ # Return a new FXKnob instance.
60
+ #
61
+ def initialize(p, target=nil, selector=0, opts=KNOB_NORMAL, x=0, y=0, width=0, height=0, padLeft=DEFAULT_PAD, padRight=DEFAULT_PAD, padTop=DEFAULT_PAD, padBottom=DEFAULT_PAD) # :yields: theKnob
62
+ end
63
+
64
+ #
65
+ # Change the knob's movement limits (start and ending angles)
66
+ # Accept values in degrees from 0 (south) to 360.
67
+ #
68
+ def setLimits(start_angle, end_angle, notify=false); end
69
+
70
+ #
71
+ # Return the knob's current limits as a two-element array.
72
+ #
73
+ def getLimits(); end
74
+ end
75
+ end
76
+
@@ -0,0 +1,69 @@
1
+ module Fox
2
+ #
3
+ # A label widget can be used to place a text and/or icon for
4
+ # explanation purposes. The text label may have an optional tooltip
5
+ # and/or help string. Icon and label are placed relative to the widget
6
+ # using the justfication options, and relative to each other as determined
7
+ # by the icon relationship options. A large number of arrangements is
8
+ # possible.
9
+ #
10
+ # === Justification modes
11
+ #
12
+ # +JUSTIFY_NORMAL+:: Default justification is centered text
13
+ # +JUSTIFY_CENTER_X+:: Text is centered horizontally
14
+ # +JUSTIFY_LEFT+:: Text is left-justified
15
+ # +JUSTIFY_RIGHT+:: Text is right-justified
16
+ # +JUSTIFY_HZ_APART+:: Combination of +JUSTIFY_LEFT+ & +JUSTIFY_RIGHT+
17
+ # +JUSTIFY_CENTER_Y+:: Text is centered vertically
18
+ # +JUSTIFY_TOP+:: Text is aligned with label top
19
+ # +JUSTIFY_BOTTOM+:: Text is aligned with label bottom
20
+ # +JUSTIFY_VT_APART+:: Combination of +JUSTIFY_TOP+ & +JUSTIFY_BOTTOM+
21
+ #
22
+ # === Relationship options for icon-labels
23
+ #
24
+ # +ICON_UNDER_TEXT+:: Icon appears under text
25
+ # +ICON_AFTER_TEXT+:: Icon appears after text (to its right)
26
+ # +ICON_BEFORE_TEXT+:: Icon appears before text (to its left)
27
+ # +ICON_ABOVE_TEXT+:: Icon appears above text
28
+ # +ICON_BELOW_TEXT+:: Icon appears below text
29
+ # +TEXT_OVER_ICON+:: Same as +ICON_UNDER_TEXT+
30
+ # +TEXT_AFTER_ICON+:: Same as +ICON_BEFORE_TEXT+
31
+ # +TEXT_BEFORE_ICON+:: Same as +ICON_AFTER_TEXT+
32
+ # +TEXT_ABOVE_ICON+:: Same as +ICON_BELOW_TEXT+
33
+ # +TEXT_BELOW_ICON+:: Same as +ICON_ABOVE_TEXT+
34
+ #
35
+ # === Normal way to show label
36
+ #
37
+ # +LABEL_NORMAL+:: Same as <tt>JUSTIFY_NORMAL|ICON_BEFORE_TEXT</tt>
38
+ #
39
+ class FXLabel < FXFrame
40
+
41
+ # The text for this label [String]
42
+ attr_accessor :text
43
+
44
+ # The icon for this label [FXIcon]
45
+ attr_accessor :icon
46
+
47
+ # The text font [FXFont]
48
+ attr_accessor :font
49
+
50
+ # The text color [FXColor]
51
+ attr_accessor :textColor
52
+
53
+ # Text justification mode [Integer]
54
+ attr_accessor :justify
55
+
56
+ # Icon position [Integer]
57
+ attr_accessor :iconPosition
58
+
59
+ # Status line help text [String]
60
+ attr_accessor :helpText
61
+
62
+ # Tool tip message [String]
63
+ attr_accessor :tipText
64
+
65
+ # Construct label with given text and icon
66
+ def initialize(parent, text, icon=nil, opts=LABEL_NORMAL, x=0, y=0, width=0, height=0, padLeft=DEFAULT_PAD, padRight=DEFAULT_PAD, padTop=DEFAULT_PAD, padBottom=DEFAULT_PAD) # :yields: theLabel
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,440 @@
1
+ module Fox
2
+ #
3
+ # List item
4
+ #
5
+ class FXListItem < FXObject
6
+
7
+ # Text for this item [String]
8
+ attr_accessor :text
9
+
10
+ # Icon for this item [FXIcon]
11
+ attr_accessor :icon
12
+
13
+ # User data for this item [Object]
14
+ attr_accessor :data
15
+
16
+ # Indicates whether this item has the focus [Boolean]
17
+ attr_writer :focus
18
+
19
+ # Indicates whether this item is selected [Boolean]
20
+ attr_writer :selected
21
+
22
+ # Indicates whether this item is enabled [Boolean]
23
+ attr_writer :enabled
24
+
25
+ # Indicates whether this item is draggable [Boolean]
26
+ attr_writer :draggable
27
+
28
+ # Initialize
29
+ def initialize(text, icon=nil, data=nil) # :yields: theListItem
30
+ end
31
+
32
+ # Returns +true+ if this item has the focus
33
+ def hasFocus?() ; end
34
+
35
+ # Return +true+ if this item is selected
36
+ def selected?() ; end
37
+
38
+ # Return +true+ if this item is enabled
39
+ def enabled?() ; end
40
+
41
+ # Return +true+ if this item is draggable
42
+ def draggable?() ; end
43
+
44
+ # Return the width of this item for a specified list
45
+ def getWidth(list) ; end
46
+
47
+ # Return the height of this item for a specified list
48
+ def getHeight(list) ; end
49
+
50
+ # Create the item
51
+ def create() ; end
52
+
53
+ # Detach the item
54
+ def detach() ; end
55
+
56
+ # Destroy the item
57
+ def destroy( ); end
58
+ end
59
+
60
+ #
61
+ # A List Widget displays a list of items, each with a text and
62
+ # optional icon. When an item's selected state changes, the list sends
63
+ # a +SEL_SELECTED+ or +SEL_DESELECTED+ message. A change of the current
64
+ # item is signified by the +SEL_CHANGED+ message.
65
+ # The list sends +SEL_COMMAND+ messages when the user clicks on an item,
66
+ # and +SEL_CLICKED+, +SEL_DOUBLECLICKED+, and +SEL_TRIPLECLICKED+ when the user
67
+ # clicks once, twice, or thrice, respectively.
68
+ # When items are added, replaced, or removed, the list sends messages of
69
+ # the type +SEL_INSERTED+, +SEL_REPLACED+, or +SEL_DELETED+.
70
+ # In each of these cases, the index to the item, if any, is passed in the
71
+ # 3rd argument of the message.
72
+ #
73
+ # === Events
74
+ #
75
+ # The following messages are sent by FXList to its target:
76
+ #
77
+ # +SEL_CHANGED+:: sent when the current list item changes; the message data is an Integer indicating the index of the current item.
78
+ # +SEL_COMMAND+:: sent when the current list item changes; the message data is an Integer indicating the index of the current item.
79
+ # +SEL_KEYPRESS+:: sent when a key goes down; the message data is an FXEvent instance.
80
+ # +SEL_KEYRELEASE+:: sent when a key goes up; the message data is an FXEvent instance.
81
+ # +SEL_LEFTBUTTONPRESS+:: sent when the left mouse button goes down; the message data is an FXEvent instance.
82
+ # +SEL_LEFTBUTTONRELEASE+:: sent when the left mouse button goes up; the message data is an FXEvent instance.
83
+ # +SEL_RIGHTBUTTONPRESS+:: sent when the right mouse button goes down; the message data is an FXEvent instance.
84
+ # +SEL_RIGHTBUTTONRELEASE+:: sent when the right mouse button goes up; the message data is an FXEvent instance.
85
+ # +SEL_CLICKED+:: sent when a list item is single-clicked; the message data is an Integer indicating the index of the current item.
86
+ # +SEL_DOUBLECLICKED+:: sent when a list item is double-clicked; the message data is an Integer indicating the index of the current item.
87
+ # +SEL_TRIPLECLICKED+:: sent when a list item is triple-clicked; the message data is an Integer indicating the index of the current item.
88
+ # +SEL_SELECTED+:: sent when a list item is selected; the message data is an Integer indicating the index of the selected item.
89
+ # +SEL_DESELECTED+:: sent when a list item is deselected; the message data is an Integer indicating the index of the deselected item.
90
+ # +SEL_REPLACED+:: sent when a list item is about to be replaced; the message data is an Integer indicating the index of the item to be replaced.
91
+ # +SEL_INSERTED+:: sent after a list item is inserted; the message data is an Integer indicating the index of the item that was inserted.
92
+ # +SEL_DELETED+:: sent when a list item is about to be removed; the message data is an Integer indicating the index of the item to be removed.
93
+ #
94
+ # === List styles
95
+ #
96
+ # +LIST_EXTENDEDSELECT+:: Extended selection mode allows for drag-selection of ranges of items
97
+ # +LIST_SINGLESELECT+:: Single selection mode allows up to one item to be selected
98
+ # +LIST_BROWSESELECT+:: Browse selection mode enforces one single item to be selected at all times
99
+ # +LIST_MULTIPLESELECT+:: Multiple selection mode is used for selection of individual items
100
+ # +LIST_AUTOSELECT+:: Automatically select under cursor
101
+ # +LIST_NORMAL+:: same as +LIST_EXTENDEDSELECT+
102
+ #
103
+ # === Message identifiers
104
+ #
105
+ # +ID_TIPTIMER+::
106
+ # +ID_LOOKUPTIMER+::
107
+ #
108
+ class FXList < FXScrollArea
109
+
110
+ # Number of items in the list [Integer]
111
+ attr_reader :numItems
112
+
113
+ # Number of visible items [Integer]
114
+ attr_accessor :numVisible
115
+
116
+ # Index of current item, or -1 if no current item [Integer]
117
+ attr_accessor :currentItem
118
+
119
+ # Index of anchor item, or -1 if no anchor item [Integer]
120
+ attr_reader :anchorItem
121
+
122
+ # Index of item under the cursor, or -1 if none [Integer]
123
+ attr_reader :cursorItem
124
+
125
+ # Text font [FXFont]
126
+ attr_accessor :font
127
+
128
+ # Normal text color [FXColor]
129
+ attr_accessor :textColor
130
+
131
+ # Selected text background color [FXColor]
132
+ attr_accessor :selBackColor
133
+
134
+ # Selected text color [FXColor]
135
+ attr_accessor :selTextColor
136
+
137
+ # List style [Integer]
138
+ attr_accessor :listStyle
139
+
140
+ # Status line help text [String]
141
+ attr_accessor :helpText
142
+
143
+ # Construct a list with initially no items in it.
144
+ def initialize(p, target=nil, selector=0, opts=LIST_NORMAL, x=0, y=0, width=0, height=0) # :yields: theList
145
+ end
146
+
147
+ # Return the item at the given _index_; returns a reference to an FXListItem instance.
148
+ # Raises IndexError if _index_ is out of bounds.
149
+ def getItem(index) ; end
150
+
151
+ # Replace the item at _index_ with a (possibly subclassed) _item_, e.g.
152
+ #
153
+ # list.setItem(0, FXListItem.new("inky"))
154
+ #
155
+ # If _notify_ is +true+, a +SEL_REPLACED+ message is sent to the list's message target
156
+ # before the item is replaced.
157
+ # Raises IndexError if _index_ is out of bounds.
158
+ # Returns the integer index of the replaced item.
159
+ def setItem(index, item, notify=false) ; end
160
+
161
+ # Replace the _text_, _icon_, and user _data_ for the item at _index_, e.g.
162
+ #
163
+ # list.setItem(0, "inky")
164
+ #
165
+ # If _notify_ is +true+, a +SEL_REPLACED+ message is sent to the list's message target
166
+ # before the item is replaced.
167
+ # Raises IndexError if _index_ is out of bounds.
168
+ # Returns the integer index of the replaced item.
169
+ def setItem(index, text, icon=nil, data=nil, notify=false) ; end
170
+
171
+ #
172
+ # Fill list by appending items from array of strings, and return the number
173
+ # items added.
174
+ # If _notify_ is +true+, a +SEL_INSERTED+ message is sent to the list's
175
+ # message target after the item is added.
176
+ #
177
+ def fillItems(strings, icon=nil, ptr=nil, notify=false); end
178
+
179
+ # Insert a new (possibly subclassed) _item_ at the given _index_, e.g.
180
+ #
181
+ # list.insertItem(1, FXListItem.new("blinky"))
182
+ #
183
+ # If _notify_ is +true+, a +SEL_INSERTED+ message is sent to the list's message target
184
+ # after the item is inserted.
185
+ # Raises IndexError if _index_ is out of bounds.
186
+ # Returns the integer index of the inserted item.
187
+ def insertItem(index, item, notify=false) ; end
188
+
189
+ # Insert item at _index_ with given _text_, _icon_, and user _data_, e.g.
190
+ #
191
+ # list.insertItem(1, "blinky")
192
+ #
193
+ # If _notify_ is +true+, a +SEL_INSERTED+ message is sent to the list's message target
194
+ # after the item is inserted.
195
+ # Raises IndexError if _index_ is out of bounds.
196
+ # Returns the integer index of the inserted item.
197
+ def insertItem(index, text, icon=nil, data=nil, notify=false) ; end
198
+
199
+ # Append a (possibly subclassed) _item_ to the list, e.g.
200
+ #
201
+ # list.appendItem(FXListItem.new("pinky"))
202
+ #
203
+ # If _notify_ is +true+, a +SEL_INSERTED+ message is sent to the list's message target
204
+ # after the item is appended.
205
+ # Returns the integer index of the newly appended item.
206
+ def appendItem(item, notify=false) ; end
207
+
208
+ # Append a new item with given _text_ and optional _icon_ and user _data_, e.g.
209
+ #
210
+ # list.appendItem("pinky")
211
+ #
212
+ # If _notify_ is +true+, a +SEL_INSERTED+ message is sent to the list's message target
213
+ # after the item is appended.
214
+ # Returns the integer index of the newly appended item.
215
+ def appendItem(text, icon=nil, data=nil, notify=false) ; end
216
+
217
+ # Prepend a (possibly subclassed) _item_ to the list, e.g.
218
+ #
219
+ # list.prependItem(FXListItem.new("clyde"))
220
+ #
221
+ # If _notify_ is +true+, a +SEL_INSERTED+ message is sent to the list's message target
222
+ # after the item is prepended.
223
+ # Returns the integer index of the newly prepended item (which should
224
+ # always be zero, by definition).
225
+ def prependItem(item, notify=false) ; end
226
+
227
+ # Prepend a new item with given _text_ and optional _icon_ and user _data_, e.g.
228
+ #
229
+ # list.prependItem("clyde")
230
+ #
231
+ # If _notify_ is +true+, a +SEL_INSERTED+ message is sent to the list's message target
232
+ # after the item is prepended.
233
+ # Returns the integer index of the newly prepended item (which should
234
+ # always be zero, by definition).
235
+ def prependItem(text, icon=nil, data=nil, notify=false) ; end
236
+
237
+ #
238
+ # Move item from _oldIndex_ to _newIndex_ and return the new index of the
239
+ # item..
240
+ # If _notify_ is +true+ and this move causes the current item to change, a
241
+ # +SEL_CHANGED+ message is sent to the list's message target to indicate this
242
+ # change in the current item.
243
+ # Raises IndexError if either _oldIndex_ or _newIndex_ is out of bounds.
244
+ #
245
+ def moveItem(newIndex, oldIndex, notify=false); end
246
+
247
+ #
248
+ # Extract item from list and return a reference to the item.
249
+ # If _notify_ is +true+, a +SEL_DELETED+ message is sent to the list's
250
+ # message target before the item is extracted from the list.
251
+ # Raises IndexError if _index_ is out of bounds.
252
+ #
253
+ def extractItem(index, notify=false); end
254
+
255
+ # Remove item at _index_ from list.
256
+ # If _notify_ is +true+, a +SEL_DELETED+ message is sent to the list's message target
257
+ # before the item is removed.
258
+ # Raises IndexError if _index_ is out of bounds.
259
+ def removeItem(index, notify=false) ; end
260
+
261
+ # Remove all items from the list
262
+ # If _notify_ is +true+, a +SEL_DELETED+ message is sent to the list's message target
263
+ # before each item is removed.
264
+ def clearItems(notify=false) ; end
265
+
266
+ # Return width of item at _index_. Raises IndexError if _index_ is out of bounds.
267
+ def getItemWidth(index) ; end
268
+
269
+ # Return height of item at _index_. Raises IndexError if _index_ is out of bounds.
270
+ def getItemHeight(index) ; end
271
+
272
+ # Return index of item at (_x_, _y_), if any
273
+ def getItemAt(x, y) ; end
274
+
275
+ # Return item hit code: 0 no hit; 1 hit the icon; 2 hit the text
276
+ def hitItem(index, x, y) ; end
277
+
278
+ #
279
+ # Search items by _text_, beginning from item _start_. If the start
280
+ # item is -1 the search will start at the first item in the list.
281
+ # Flags may be +SEARCH_FORWARD+ or +SEARCH_BACKWARD+ to control the
282
+ # search direction; this can be combined with +SEARCH_NOWRAP+ or +SEARCH_WRAP+
283
+ # to control whether the search wraps at the start or end of the list.
284
+ # The option +SEARCH_IGNORECASE+ causes a case-insensitive match. Finally,
285
+ # passing +SEARCH_PREFIX+ causes searching for a prefix of the item name.
286
+ # Return -1 if no matching item is found.
287
+ #
288
+ def findItem(text, start=-1, flags=SEARCH_FORWARD|SEARCH_WRAP) ; end
289
+
290
+ #
291
+ # Search items by associated user _data_, beginning from item _start_.
292
+ # Returns the integer index of the matching item, or -1 if no match is
293
+ # found. If the start item is -1 the search will start at the first item in the list.
294
+ # Flags may be +SEARCH_FORWARD+ or +SEARCH_BACKWARD+ to control the
295
+ # search direction; this can be combined with +SEARCH_NOWRAP+ or +SEARCH_WRAP+
296
+ # to control whether the search wraps at the start or end of the list.
297
+ #
298
+ def findItemByData(data, start=-1, flags=SEARCH_FORWARD|SEARCH_WRAP); end
299
+
300
+ #
301
+ # Scroll to bring item into view. The argument is either a reference to
302
+ # an FXListItem instance, or the integer index of an item in the list.
303
+ # For the latter case, #makeItemVisible raises IndexError if the index
304
+ # is out of bounds.
305
+ #
306
+ def makeItemVisible(itemOrIndex) ; end
307
+
308
+ #
309
+ # Change item text and mark the list's layout as dirty; this is
310
+ # equivalent to:
311
+ #
312
+ # getItem(index).text = text
313
+ # recalc
314
+ #
315
+ # Raises IndexError if _index_ is out of bounds.
316
+ #
317
+ def setItemText(index, text) ; end
318
+
319
+ #
320
+ # Return item text; this is equivalent to:
321
+ #
322
+ # getItem(index).text
323
+ #
324
+ # Raises IndexError if _index_ is out of bounds.
325
+ #
326
+ def getItemText(index) ; end
327
+
328
+ #
329
+ # Change item icon and mark the list's layout as dirty; this is equivalent to:
330
+ #
331
+ # getItem(index).icon = icon
332
+ # recalc
333
+ #
334
+ # Raises IndexError if _index_ is out of bounds.
335
+ #
336
+ def setItemIcon(index, icon, owned=false) ; end
337
+
338
+ #
339
+ # Return item icon, if any. This is equivalent to:
340
+ #
341
+ # getItem(index).icon
342
+ #
343
+ # Raises IndexError if _index_ is out of bounds.
344
+ #
345
+ def getItemIcon(index) ; end
346
+
347
+ #
348
+ # Change item user data; this is equivalent to:
349
+ #
350
+ # getItem(index).data = data
351
+ #
352
+ # Raises IndexError if _index_ is out of bounds.
353
+ #
354
+ def setItemData(index, data) ; end
355
+
356
+ #
357
+ # Return item user data; this is equivalent to:
358
+ #
359
+ # getItem(index).data
360
+ #
361
+ # Raises IndexError if _index_ is out of bounds.
362
+ #
363
+ def getItemData(index) ; end
364
+
365
+ #
366
+ # Return +true+ if item is selected; this is equivalent to:
367
+ #
368
+ # getItem(index).selected?
369
+ #
370
+ # Raises IndexError if _index_ is out of bounds.
371
+ #
372
+ def itemSelected?(index) ; end
373
+
374
+ # Return +true+ if item is current. Raises IndexError if _index_ is out of bounds.
375
+ def itemCurrent?(index) ; end
376
+
377
+ # Return +true+ if item is visible. Raises IndexError if _index_ is out of bounds.
378
+ def itemVisible?(index) ; end
379
+
380
+ #
381
+ # Return +true+ if item is enabled; this is equivalent to:
382
+ #
383
+ # getItem(index).enabled?
384
+ #
385
+ # Raises IndexError if _index_ is out of bounds.
386
+ #
387
+ def itemEnabled?(index) ; end
388
+
389
+ # Repaint item. Raises IndexError if _index_ is out of bounds.
390
+ def updateItem(index) ; end
391
+
392
+ #
393
+ # Enable item. Raises IndexError if _index_ is out of bounds.
394
+ #
395
+ def enableItem(index) ; end
396
+
397
+ #
398
+ # Disable item. Raises IndexError if _index_ is out of bounds.
399
+ #
400
+ def disableItem(index) ; end
401
+
402
+ # Select item.
403
+ # If _notify_ is +true+, a +SEL_SELECTED+ message is sent to the list's message target
404
+ # after the item is selected.
405
+ # Raises IndexError if _index_ is out of bounds.
406
+ def selectItem(index, notify=false) ; end
407
+
408
+ # Deselect item.
409
+ # If _notify_ is +true+, a +SEL_DESELECTED+ message is sent to the list's message target
410
+ # after the item is deselected.
411
+ # Raises IndexError if _index_ is out of bounds.
412
+ def deselectItem(index, notify=false) ; end
413
+
414
+ # Toggle item selection state.
415
+ # If _notify_ is +true+, either a +SEL_SELECTED+ or +SEL_DESELECTED+ message is sent to the list's message target
416
+ # to indicate the item's new state.
417
+ # Raises IndexError if _index_ is out of bounds.
418
+ def toggleItem(index, notify=false) ; end
419
+
420
+ # Change current item.
421
+ # If _notify_ is +true+, a +SEL_CHANGED+ message is sent to the list's message target
422
+ # after the current item changes.
423
+ # Raises IndexError if _index_ is out of bounds.
424
+ def setCurrentItem(index, notify=false) ; end
425
+
426
+ # Extend selection from anchor item to _index_.
427
+ # If _notify_ is +true+, a series of +SEL_SELECTED+ and +SEL_DESELECTED+ messages
428
+ # are sent to the list's message target as the selected-state of different items changes.
429
+ # Raises IndexError if _index_ is out of bounds.
430
+ def extendSelection(index, notify=false) ; end
431
+
432
+ # Deselect all items.
433
+ # If _notify_ is +true+, a +SEL_DESELECTED+ message is sent to the list's message
434
+ # target for all the items that were selected before killSelection was called.
435
+ def killSelection(notify=false) ; end
436
+
437
+ # Sort items using current sort function
438
+ def sortItems() ; end
439
+ end
440
+ end