fxruby 1.6.27-x64-mingw32

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 (915) hide show
  1. data.tar.gz.sig +0 -0
  2. data/.gemtest +0 -0
  3. data/.gitignore +14 -0
  4. data/.yardopts +12 -0
  5. data/History.txt +57 -0
  6. data/Manifest.txt +1214 -0
  7. data/README.rdoc +537 -0
  8. data/Rakefile +233 -0
  9. data/Rakefile.cross +421 -0
  10. data/TODO +47 -0
  11. data/doap.rdf.erb +87 -0
  12. data/examples/RAA.rb +25 -0
  13. data/examples/README +53 -0
  14. data/examples/WhatAQuietStiff.rb +356 -0
  15. data/examples/babelfish.rb +72 -0
  16. data/examples/bounce.rb +171 -0
  17. data/examples/browser.rb +191 -0
  18. data/examples/button.rb +168 -0
  19. data/examples/canvasdemo.rb +88 -0
  20. data/examples/charts.rb +35 -0
  21. data/examples/custom_table_item.rb +170 -0
  22. data/examples/datatarget.rb +223 -0
  23. data/examples/dctest.rb +696 -0
  24. data/examples/dialog.rb +143 -0
  25. data/examples/dilbert.rb +66 -0
  26. data/examples/dirlist.rb +63 -0
  27. data/examples/dragdrop.rb +97 -0
  28. data/examples/dragsource.rb +80 -0
  29. data/examples/dropsite.rb +59 -0
  30. data/examples/foursplit.rb +97 -0
  31. data/examples/gdchart.rb +76 -0
  32. data/examples/gembrowser.rb +289 -0
  33. data/examples/gltest.rb +330 -0
  34. data/examples/glviewer.rb +576 -0
  35. data/examples/groupbox.rb +392 -0
  36. data/examples/header.rb +149 -0
  37. data/examples/hello.rb +12 -0
  38. data/examples/hello2.rb +51 -0
  39. data/examples/iRAA.rb +153 -0
  40. data/examples/iconlist.rb +92 -0
  41. data/examples/icons/AngryGuyInBunnySuit.ico +0 -0
  42. data/examples/icons/FatBot.ico +0 -0
  43. data/examples/icons/FlippedySwitch.ico +0 -0
  44. data/examples/icons/LeGoon.ico +0 -0
  45. data/examples/icons/Net.ico +0 -0
  46. data/examples/icons/RedMacOS.ico +0 -0
  47. data/examples/icons/SawBlade.ico +0 -0
  48. data/examples/icons/backview.png +0 -0
  49. data/examples/icons/big.png +0 -0
  50. data/examples/icons/bigfolder.png +0 -0
  51. data/examples/icons/bigpenguin.png +0 -0
  52. data/examples/icons/bluebullet14x14.gif +0 -0
  53. data/examples/icons/bottomview.png +0 -0
  54. data/examples/icons/camera.png +0 -0
  55. data/examples/icons/capbutt.png +0 -0
  56. data/examples/icons/capnotlast.png +0 -0
  57. data/examples/icons/capproj.png +0 -0
  58. data/examples/icons/capround.png +0 -0
  59. data/examples/icons/colorpal.png +0 -0
  60. data/examples/icons/copy.png +0 -0
  61. data/examples/icons/cut.png +0 -0
  62. data/examples/icons/delimit.png +0 -0
  63. data/examples/icons/dippy.png +0 -0
  64. data/examples/icons/double_dash.png +0 -0
  65. data/examples/icons/filenew.png +0 -0
  66. data/examples/icons/fileopen.png +0 -0
  67. data/examples/icons/filesave.png +0 -0
  68. data/examples/icons/filesaveas.png +0 -0
  69. data/examples/icons/fonts.png +0 -0
  70. data/examples/icons/fox.png +0 -0
  71. data/examples/icons/foxicon.png +0 -0
  72. data/examples/icons/frontview.png +0 -0
  73. data/examples/icons/gem_big.png +0 -0
  74. data/examples/icons/gem_small.png +0 -0
  75. data/examples/icons/hello2.png +0 -0
  76. data/examples/icons/help.png +0 -0
  77. data/examples/icons/indent.png +0 -0
  78. data/examples/icons/jbevel.png +0 -0
  79. data/examples/icons/jmiter.png +0 -0
  80. data/examples/icons/jround.png +0 -0
  81. data/examples/icons/kill.png +0 -0
  82. data/examples/icons/leftview.png +0 -0
  83. data/examples/icons/light.png +0 -0
  84. data/examples/icons/minidoc.png +0 -0
  85. data/examples/icons/minifolder.png +0 -0
  86. data/examples/icons/minifolderopen.png +0 -0
  87. data/examples/icons/newfolder.png +0 -0
  88. data/examples/icons/nolight.png +0 -0
  89. data/examples/icons/onoff_dash.png +0 -0
  90. data/examples/icons/palette.png +0 -0
  91. data/examples/icons/parallel.png +0 -0
  92. data/examples/icons/paste.png +0 -0
  93. data/examples/icons/pattern.png +0 -0
  94. data/examples/icons/penguin.png +0 -0
  95. data/examples/icons/perspective.png +0 -0
  96. data/examples/icons/printicon.png +0 -0
  97. data/examples/icons/prop.png +0 -0
  98. data/examples/icons/redo.png +0 -0
  99. data/examples/icons/rightview.png +0 -0
  100. data/examples/icons/saveas.png +0 -0
  101. data/examples/icons/shutter1.png +0 -0
  102. data/examples/icons/shutter2.png +0 -0
  103. data/examples/icons/small.png +0 -0
  104. data/examples/icons/smoothlight.png +0 -0
  105. data/examples/icons/solid_line.png +0 -0
  106. data/examples/icons/tbuplevel.png +0 -0
  107. data/examples/icons/topview.png +0 -0
  108. data/examples/icons/transpbullet14x14.gif +0 -0
  109. data/examples/icons/undo.png +0 -0
  110. data/examples/icons/winapp.png +0 -0
  111. data/examples/icons/zoom.png +0 -0
  112. data/examples/image.rb +279 -0
  113. data/examples/imageviewer.rb +509 -0
  114. data/examples/inputs.rb +83 -0
  115. data/examples/mditest.rb +180 -0
  116. data/examples/pig.rb +77 -0
  117. data/examples/raabrowser.rb +122 -0
  118. data/examples/ratio.rb +80 -0
  119. data/examples/rmagick.rb +44 -0
  120. data/examples/rulerview.rb +27 -0
  121. data/examples/scintilla-test.rb +81 -0
  122. data/examples/scribble-orig.rb +186 -0
  123. data/examples/scribble.rb +162 -0
  124. data/examples/shutter.rb +158 -0
  125. data/examples/splitter.rb +211 -0
  126. data/examples/styledtext.rb +82 -0
  127. data/examples/tabbook.rb +165 -0
  128. data/examples/table.rb +182 -0
  129. data/examples/textedit/commands.rb +114 -0
  130. data/examples/textedit/helpwindow.rb +299 -0
  131. data/examples/textedit/prefdialog.rb +239 -0
  132. data/examples/textedit/textedit.rb +1763 -0
  133. data/examples/unicode.rb +36 -0
  134. data/ext/fox16_c/FXRbApp.cpp +128 -0
  135. data/ext/fox16_c/FXRbDataTarget.cpp +110 -0
  136. data/ext/fox16_c/FXRbGLViewer.cpp +89 -0
  137. data/ext/fox16_c/FXRuby.cpp +2063 -0
  138. data/ext/fox16_c/MANIFEST +190 -0
  139. data/ext/fox16_c/extconf.rb +153 -0
  140. data/ext/fox16_c/impl.cpp +1156 -0
  141. data/ext/fox16_c/include/FXMemoryBuffer.h +52 -0
  142. data/ext/fox16_c/include/FXRb4Splitter.h +54 -0
  143. data/ext/fox16_c/include/FXRb7Segment.h +51 -0
  144. data/ext/fox16_c/include/FXRbAccelTable.h +46 -0
  145. data/ext/fox16_c/include/FXRbApp.h +155 -0
  146. data/ext/fox16_c/include/FXRbAppVirtuals.h +15 -0
  147. data/ext/fox16_c/include/FXRbArrowButton.h +51 -0
  148. data/ext/fox16_c/include/FXRbBMPIcon.h +54 -0
  149. data/ext/fox16_c/include/FXRbBMPImage.h +54 -0
  150. data/ext/fox16_c/include/FXRbBitmap.h +133 -0
  151. data/ext/fox16_c/include/FXRbBitmapFrame.h +56 -0
  152. data/ext/fox16_c/include/FXRbBitmapView.h +56 -0
  153. data/ext/fox16_c/include/FXRbBitmapVirtuals.h +37 -0
  154. data/ext/fox16_c/include/FXRbButton.h +51 -0
  155. data/ext/fox16_c/include/FXRbCURCursor.h +60 -0
  156. data/ext/fox16_c/include/FXRbCanvas.h +51 -0
  157. data/ext/fox16_c/include/FXRbCheckButton.h +51 -0
  158. data/ext/fox16_c/include/FXRbChoiceBox.h +56 -0
  159. data/ext/fox16_c/include/FXRbColorBar.h +51 -0
  160. data/ext/fox16_c/include/FXRbColorDialog.h +53 -0
  161. data/ext/fox16_c/include/FXRbColorList.h +84 -0
  162. data/ext/fox16_c/include/FXRbColorRing.h +51 -0
  163. data/ext/fox16_c/include/FXRbColorSelector.h +51 -0
  164. data/ext/fox16_c/include/FXRbColorWell.h +51 -0
  165. data/ext/fox16_c/include/FXRbColorWheel.h +51 -0
  166. data/ext/fox16_c/include/FXRbComboBox.h +56 -0
  167. data/ext/fox16_c/include/FXRbCommon.h +99 -0
  168. data/ext/fox16_c/include/FXRbComposite.h +51 -0
  169. data/ext/fox16_c/include/FXRbCursor.h +87 -0
  170. data/ext/fox16_c/include/FXRbCursorVirtuals.h +6 -0
  171. data/ext/fox16_c/include/FXRbDC.h +427 -0
  172. data/ext/fox16_c/include/FXRbDCPrint.h +49 -0
  173. data/ext/fox16_c/include/FXRbDCVirtuals.h +187 -0
  174. data/ext/fox16_c/include/FXRbDCWindow.h +64 -0
  175. data/ext/fox16_c/include/FXRbDataTarget.h +65 -0
  176. data/ext/fox16_c/include/FXRbDebugTarget.h +46 -0
  177. data/ext/fox16_c/include/FXRbDelegator.h +46 -0
  178. data/ext/fox16_c/include/FXRbDial.h +51 -0
  179. data/ext/fox16_c/include/FXRbDialogBox.h +68 -0
  180. data/ext/fox16_c/include/FXRbDialogBoxVirtuals.h +3 -0
  181. data/ext/fox16_c/include/FXRbDict.h +46 -0
  182. data/ext/fox16_c/include/FXRbDirBox.h +52 -0
  183. data/ext/fox16_c/include/FXRbDirDialog.h +56 -0
  184. data/ext/fox16_c/include/FXRbDirList.h +79 -0
  185. data/ext/fox16_c/include/FXRbDirSelector.h +51 -0
  186. data/ext/fox16_c/include/FXRbDockBar.h +86 -0
  187. data/ext/fox16_c/include/FXRbDockBarVirtuals.h +10 -0
  188. data/ext/fox16_c/include/FXRbDockHandler.h +51 -0
  189. data/ext/fox16_c/include/FXRbDockSite.h +85 -0
  190. data/ext/fox16_c/include/FXRbDockSiteVirtuals.h +13 -0
  191. data/ext/fox16_c/include/FXRbDockTitle.h +51 -0
  192. data/ext/fox16_c/include/FXRbDocument.h +46 -0
  193. data/ext/fox16_c/include/FXRbDragCorner.h +51 -0
  194. data/ext/fox16_c/include/FXRbDrawable.h +64 -0
  195. data/ext/fox16_c/include/FXRbDrawableVirtuals.h +3 -0
  196. data/ext/fox16_c/include/FXRbDriveBox.h +52 -0
  197. data/ext/fox16_c/include/FXRbFileDialog.h +56 -0
  198. data/ext/fox16_c/include/FXRbFileDict.h +104 -0
  199. data/ext/fox16_c/include/FXRbFileDictVirtuals.h +9 -0
  200. data/ext/fox16_c/include/FXRbFileList.h +81 -0
  201. data/ext/fox16_c/include/FXRbFileSelector.h +51 -0
  202. data/ext/fox16_c/include/FXRbFoldingItemVirtuals.h +42 -0
  203. data/ext/fox16_c/include/FXRbFoldingList.h +270 -0
  204. data/ext/fox16_c/include/FXRbFoldingListVirtuals.h +43 -0
  205. data/ext/fox16_c/include/FXRbFont.h +183 -0
  206. data/ext/fox16_c/include/FXRbFontDialog.h +53 -0
  207. data/ext/fox16_c/include/FXRbFontSelector.h +51 -0
  208. data/ext/fox16_c/include/FXRbFontVirtuals.h +55 -0
  209. data/ext/fox16_c/include/FXRbFrame.h +51 -0
  210. data/ext/fox16_c/include/FXRbGIFCursor.h +60 -0
  211. data/ext/fox16_c/include/FXRbGIFIcon.h +54 -0
  212. data/ext/fox16_c/include/FXRbGIFImage.h +54 -0
  213. data/ext/fox16_c/include/FXRbGLCanvas.h +92 -0
  214. data/ext/fox16_c/include/FXRbGLCanvasVirtuals.h +13 -0
  215. data/ext/fox16_c/include/FXRbGLContext.h +58 -0
  216. data/ext/fox16_c/include/FXRbGLObject.h +103 -0
  217. data/ext/fox16_c/include/FXRbGLObjectVirtuals.h +22 -0
  218. data/ext/fox16_c/include/FXRbGLShape.h +81 -0
  219. data/ext/fox16_c/include/FXRbGLShapeVirtuals.h +8 -0
  220. data/ext/fox16_c/include/FXRbGLViewer.h +89 -0
  221. data/ext/fox16_c/include/FXRbGLViewerVirtuals.h +10 -0
  222. data/ext/fox16_c/include/FXRbGLVisual.h +56 -0
  223. data/ext/fox16_c/include/FXRbGradientBar.h +55 -0
  224. data/ext/fox16_c/include/FXRbGroupBox.h +51 -0
  225. data/ext/fox16_c/include/FXRbHeader.h +129 -0
  226. data/ext/fox16_c/include/FXRbHeaderItemVirtuals.h +22 -0
  227. data/ext/fox16_c/include/FXRbHorizontalFrame.h +51 -0
  228. data/ext/fox16_c/include/FXRbICOIcon.h +54 -0
  229. data/ext/fox16_c/include/FXRbICOImage.h +54 -0
  230. data/ext/fox16_c/include/FXRbIcon.h +57 -0
  231. data/ext/fox16_c/include/FXRbIconItemVirtuals.h +68 -0
  232. data/ext/fox16_c/include/FXRbIconList.h +288 -0
  233. data/ext/fox16_c/include/FXRbIconListVirtuals.h +35 -0
  234. data/ext/fox16_c/include/FXRbIconSource.h +127 -0
  235. data/ext/fox16_c/include/FXRbIconSourceVirtuals.h +37 -0
  236. data/ext/fox16_c/include/FXRbId.h +74 -0
  237. data/ext/fox16_c/include/FXRbIdVirtuals.h +9 -0
  238. data/ext/fox16_c/include/FXRbImage.h +162 -0
  239. data/ext/fox16_c/include/FXRbImageFrame.h +56 -0
  240. data/ext/fox16_c/include/FXRbImageView.h +55 -0
  241. data/ext/fox16_c/include/FXRbImageVirtuals.h +51 -0
  242. data/ext/fox16_c/include/FXRbInputDialog.h +56 -0
  243. data/ext/fox16_c/include/FXRbJPGIcon.h +54 -0
  244. data/ext/fox16_c/include/FXRbJPGImage.h +54 -0
  245. data/ext/fox16_c/include/FXRbKnob.h +51 -0
  246. data/ext/fox16_c/include/FXRbLabel.h +51 -0
  247. data/ext/fox16_c/include/FXRbList.h +226 -0
  248. data/ext/fox16_c/include/FXRbListBox.h +67 -0
  249. data/ext/fox16_c/include/FXRbListBoxVirtuals.h +4 -0
  250. data/ext/fox16_c/include/FXRbListItemVirtuals.h +33 -0
  251. data/ext/fox16_c/include/FXRbListVirtuals.h +30 -0
  252. data/ext/fox16_c/include/FXRbMDIButton.h +162 -0
  253. data/ext/fox16_c/include/FXRbMDIChild.h +82 -0
  254. data/ext/fox16_c/include/FXRbMDIChildVirtuals.h +12 -0
  255. data/ext/fox16_c/include/FXRbMDIClient.h +80 -0
  256. data/ext/fox16_c/include/FXRbMDIClientVirtuals.h +12 -0
  257. data/ext/fox16_c/include/FXRbMainWindow.h +54 -0
  258. data/ext/fox16_c/include/FXRbMatrix.h +51 -0
  259. data/ext/fox16_c/include/FXRbMenuBar.h +63 -0
  260. data/ext/fox16_c/include/FXRbMenuButton.h +51 -0
  261. data/ext/fox16_c/include/FXRbMenuCaption.h +51 -0
  262. data/ext/fox16_c/include/FXRbMenuCascade.h +51 -0
  263. data/ext/fox16_c/include/FXRbMenuCheck.h +49 -0
  264. data/ext/fox16_c/include/FXRbMenuCommand.h +49 -0
  265. data/ext/fox16_c/include/FXRbMenuPane.h +52 -0
  266. data/ext/fox16_c/include/FXRbMenuRadio.h +49 -0
  267. data/ext/fox16_c/include/FXRbMenuSeparator.h +51 -0
  268. data/ext/fox16_c/include/FXRbMenuTitle.h +51 -0
  269. data/ext/fox16_c/include/FXRbMessageBox.h +56 -0
  270. data/ext/fox16_c/include/FXRbObject.h +67 -0
  271. data/ext/fox16_c/include/FXRbObjectVirtuals.h +9 -0
  272. data/ext/fox16_c/include/FXRbOptionMenu.h +73 -0
  273. data/ext/fox16_c/include/FXRbPCXIcon.h +54 -0
  274. data/ext/fox16_c/include/FXRbPCXImage.h +54 -0
  275. data/ext/fox16_c/include/FXRbPNGIcon.h +54 -0
  276. data/ext/fox16_c/include/FXRbPNGImage.h +54 -0
  277. data/ext/fox16_c/include/FXRbPPMIcon.h +54 -0
  278. data/ext/fox16_c/include/FXRbPPMImage.h +54 -0
  279. data/ext/fox16_c/include/FXRbPacker.h +51 -0
  280. data/ext/fox16_c/include/FXRbPicker.h +51 -0
  281. data/ext/fox16_c/include/FXRbPopup.h +70 -0
  282. data/ext/fox16_c/include/FXRbPopupVirtuals.h +6 -0
  283. data/ext/fox16_c/include/FXRbPrintDialog.h +53 -0
  284. data/ext/fox16_c/include/FXRbProgressBar.h +51 -0
  285. data/ext/fox16_c/include/FXRbProgressDialog.h +53 -0
  286. data/ext/fox16_c/include/FXRbRGBIcon.h +54 -0
  287. data/ext/fox16_c/include/FXRbRGBImage.h +54 -0
  288. data/ext/fox16_c/include/FXRbRadioButton.h +51 -0
  289. data/ext/fox16_c/include/FXRbRealSlider.h +51 -0
  290. data/ext/fox16_c/include/FXRbRealSpinner.h +64 -0
  291. data/ext/fox16_c/include/FXRbRealSpinnerVirtuals.h +3 -0
  292. data/ext/fox16_c/include/FXRbRecentFiles.h +52 -0
  293. data/ext/fox16_c/include/FXRbRegistry.h +46 -0
  294. data/ext/fox16_c/include/FXRbReplaceDialog.h +53 -0
  295. data/ext/fox16_c/include/FXRbRootWindow.h +51 -0
  296. data/ext/fox16_c/include/FXRbRuler.h +56 -0
  297. data/ext/fox16_c/include/FXRbRulerView.h +54 -0
  298. data/ext/fox16_c/include/FXRbScintilla.h +52 -0
  299. data/ext/fox16_c/include/FXRbScrollArea.h +87 -0
  300. data/ext/fox16_c/include/FXRbScrollAreaVirtuals.h +13 -0
  301. data/ext/fox16_c/include/FXRbScrollBar.h +73 -0
  302. data/ext/fox16_c/include/FXRbScrollPane.h +52 -0
  303. data/ext/fox16_c/include/FXRbScrollWindow.h +57 -0
  304. data/ext/fox16_c/include/FXRbSearchDialog.h +53 -0
  305. data/ext/fox16_c/include/FXRbSeparator.h +95 -0
  306. data/ext/fox16_c/include/FXRbSettings.h +46 -0
  307. data/ext/fox16_c/include/FXRbShell.h +56 -0
  308. data/ext/fox16_c/include/FXRbShutter.h +86 -0
  309. data/ext/fox16_c/include/FXRbShutterVirtuals.h +3 -0
  310. data/ext/fox16_c/include/FXRbSlider.h +51 -0
  311. data/ext/fox16_c/include/FXRbSpinner.h +64 -0
  312. data/ext/fox16_c/include/FXRbSpinnerVirtuals.h +3 -0
  313. data/ext/fox16_c/include/FXRbSplashWindow.h +57 -0
  314. data/ext/fox16_c/include/FXRbSplitter.h +54 -0
  315. data/ext/fox16_c/include/FXRbSpring.h +51 -0
  316. data/ext/fox16_c/include/FXRbStatusBar.h +51 -0
  317. data/ext/fox16_c/include/FXRbStatusLine.h +51 -0
  318. data/ext/fox16_c/include/FXRbStream.h +101 -0
  319. data/ext/fox16_c/include/FXRbStreamVirtuals.h +9 -0
  320. data/ext/fox16_c/include/FXRbStringDict.h +46 -0
  321. data/ext/fox16_c/include/FXRbSwitcher.h +51 -0
  322. data/ext/fox16_c/include/FXRbTGAIcon.h +54 -0
  323. data/ext/fox16_c/include/FXRbTGAImage.h +54 -0
  324. data/ext/fox16_c/include/FXRbTIFIcon.h +54 -0
  325. data/ext/fox16_c/include/FXRbTIFImage.h +54 -0
  326. data/ext/fox16_c/include/FXRbTabBar.h +64 -0
  327. data/ext/fox16_c/include/FXRbTabBarVirtuals.h +3 -0
  328. data/ext/fox16_c/include/FXRbTabBook.h +52 -0
  329. data/ext/fox16_c/include/FXRbTabItem.h +51 -0
  330. data/ext/fox16_c/include/FXRbTable.h +509 -0
  331. data/ext/fox16_c/include/FXRbTableItemVirtuals.h +89 -0
  332. data/ext/fox16_c/include/FXRbTableVirtuals.h +89 -0
  333. data/ext/fox16_c/include/FXRbText.h +187 -0
  334. data/ext/fox16_c/include/FXRbTextField.h +51 -0
  335. data/ext/fox16_c/include/FXRbTextVirtuals.h +52 -0
  336. data/ext/fox16_c/include/FXRbToggleButton.h +51 -0
  337. data/ext/fox16_c/include/FXRbToolBar.h +63 -0
  338. data/ext/fox16_c/include/FXRbToolBarGrip.h +51 -0
  339. data/ext/fox16_c/include/FXRbToolBarShell.h +52 -0
  340. data/ext/fox16_c/include/FXRbToolBarTab.h +51 -0
  341. data/ext/fox16_c/include/FXRbToolTip.h +51 -0
  342. data/ext/fox16_c/include/FXRbTopWindow.h +91 -0
  343. data/ext/fox16_c/include/FXRbTopWindowVirtuals.h +15 -0
  344. data/ext/fox16_c/include/FXRbTranslator.h +61 -0
  345. data/ext/fox16_c/include/FXRbTranslatorVirtuals.h +4 -0
  346. data/ext/fox16_c/include/FXRbTreeItemVirtuals.h +42 -0
  347. data/ext/fox16_c/include/FXRbTreeList.h +277 -0
  348. data/ext/fox16_c/include/FXRbTreeListBox.h +64 -0
  349. data/ext/fox16_c/include/FXRbTreeListBoxVirtuals.h +4 -0
  350. data/ext/fox16_c/include/FXRbTreeListVirtuals.h +42 -0
  351. data/ext/fox16_c/include/FXRbTriStateButton.h +51 -0
  352. data/ext/fox16_c/include/FXRbVerticalFrame.h +51 -0
  353. data/ext/fox16_c/include/FXRbVisual.h +56 -0
  354. data/ext/fox16_c/include/FXRbWindow.h +248 -0
  355. data/ext/fox16_c/include/FXRbWindowVirtuals.h +94 -0
  356. data/ext/fox16_c/include/FXRbWizard.h +60 -0
  357. data/ext/fox16_c/include/FXRbXBMIcon.h +54 -0
  358. data/ext/fox16_c/include/FXRbXBMImage.h +54 -0
  359. data/ext/fox16_c/include/FXRbXPMIcon.h +54 -0
  360. data/ext/fox16_c/include/FXRbXPMImage.h +54 -0
  361. data/ext/fox16_c/include/FXRuby.h +881 -0
  362. data/ext/fox16_c/include/impl.h +215 -0
  363. data/ext/fox16_c/make_impl.rb +121 -0
  364. data/ext/fox16_c/markfuncs.cpp +1666 -0
  365. data/ext/fox16_c/unregisterOwnedObjects.cpp +120 -0
  366. data/index.html +14 -0
  367. data/lib/2.0/fox16_c.so +0 -0
  368. data/lib/fox16.rb +20 -0
  369. data/lib/fox16/accel_table.rb +83 -0
  370. data/lib/fox16/aliases.rb +5617 -0
  371. data/lib/fox16/bitmapview.rb +222 -0
  372. data/lib/fox16/calendar.rb +217 -0
  373. data/lib/fox16/canvas.rb +606 -0
  374. data/lib/fox16/chore.rb +105 -0
  375. data/lib/fox16/colors.rb +280 -0
  376. data/lib/fox16/core.rb +700 -0
  377. data/lib/fox16/dict.rb +35 -0
  378. data/lib/fox16/exceptions_for_fxerror.rb +17 -0
  379. data/lib/fox16/execute_nonmodal.rb +70 -0
  380. data/lib/fox16/glgroup.rb +166 -0
  381. data/lib/fox16/glshapes.rb +456 -0
  382. data/lib/fox16/input.rb +59 -0
  383. data/lib/fox16/irb.rb +179 -0
  384. data/lib/fox16/iterators.rb +420 -0
  385. data/lib/fox16/keys.rb +1374 -0
  386. data/lib/fox16/missingdep.rb +14 -0
  387. data/lib/fox16/pseudokeyboard.rb +40 -0
  388. data/lib/fox16/pseudomouse.rb +87 -0
  389. data/lib/fox16/responder.rb +70 -0
  390. data/lib/fox16/responder2.rb +132 -0
  391. data/lib/fox16/scintilla.rb +5017 -0
  392. data/lib/fox16/settings.rb +18 -0
  393. data/lib/fox16/signal.rb +71 -0
  394. data/lib/fox16/splashscreen.rb +83 -0
  395. data/lib/fox16/timeout.rb +136 -0
  396. data/lib/fox16/tkcompat.rb +56 -0
  397. data/lib/fox16/undolist.rb +455 -0
  398. data/lib/fox16/version.rb +5 -0
  399. data/rdoc-sources/FX4Splitter.rb +156 -0
  400. data/rdoc-sources/FX7Segment.rb +54 -0
  401. data/rdoc-sources/FXAccelTable.rb +84 -0
  402. data/rdoc-sources/FXApp.rb +542 -0
  403. data/rdoc-sources/FXArrowButton.rb +69 -0
  404. data/rdoc-sources/FXBMPIcon.rb +67 -0
  405. data/rdoc-sources/FXBMPImage.rb +30 -0
  406. data/rdoc-sources/FXBitmap.rb +115 -0
  407. data/rdoc-sources/FXBitmapFrame.rb +31 -0
  408. data/rdoc-sources/FXBitmapView.rb +44 -0
  409. data/rdoc-sources/FXButton.rb +59 -0
  410. data/rdoc-sources/FXCURCursor.rb +13 -0
  411. data/rdoc-sources/FXCanvas.rb +18 -0
  412. data/rdoc-sources/FXCheckButton.rb +58 -0
  413. data/rdoc-sources/FXChoiceBox.rb +49 -0
  414. data/rdoc-sources/FXColorBar.rb +48 -0
  415. data/rdoc-sources/FXColorDialog.rb +37 -0
  416. data/rdoc-sources/FXColorList.rb +55 -0
  417. data/rdoc-sources/FXColorRing.rb +49 -0
  418. data/rdoc-sources/FXColorSelector.rb +65 -0
  419. data/rdoc-sources/FXColorWell.rb +65 -0
  420. data/rdoc-sources/FXColorWheel.rb +57 -0
  421. data/rdoc-sources/FXComboBox.rb +214 -0
  422. data/rdoc-sources/FXComposite.rb +34 -0
  423. data/rdoc-sources/FXCursor.rb +67 -0
  424. data/rdoc-sources/FXDC.rb +720 -0
  425. data/rdoc-sources/FXDCPrint.rb +127 -0
  426. data/rdoc-sources/FXDCWindow.rb +33 -0
  427. data/rdoc-sources/FXDataTarget.rb +66 -0
  428. data/rdoc-sources/FXDebugTarget.rb +25 -0
  429. data/rdoc-sources/FXDelegator.rb +23 -0
  430. data/rdoc-sources/FXDial.rb +107 -0
  431. data/rdoc-sources/FXDialogBox.rb +32 -0
  432. data/rdoc-sources/FXDict.rb +78 -0
  433. data/rdoc-sources/FXDirBox.rb +55 -0
  434. data/rdoc-sources/FXDirDialog.rb +47 -0
  435. data/rdoc-sources/FXDirList.rb +149 -0
  436. data/rdoc-sources/FXDirSelector.rb +64 -0
  437. data/rdoc-sources/FXDockBar.rb +151 -0
  438. data/rdoc-sources/FXDockHandler.rb +26 -0
  439. data/rdoc-sources/FXDockSite.rb +104 -0
  440. data/rdoc-sources/FXDockTitle.rb +26 -0
  441. data/rdoc-sources/FXDocument.rb +29 -0
  442. data/rdoc-sources/FXDragCorner.rb +19 -0
  443. data/rdoc-sources/FXDrawable.rb +27 -0
  444. data/rdoc-sources/FXDriveBox.rb +46 -0
  445. data/rdoc-sources/FXExtentd.rb +85 -0
  446. data/rdoc-sources/FXExtentf.rb +85 -0
  447. data/rdoc-sources/FXFileDialog.rb +217 -0
  448. data/rdoc-sources/FXFileDict.rb +131 -0
  449. data/rdoc-sources/FXFileList.rb +208 -0
  450. data/rdoc-sources/FXFileSelector.rb +184 -0
  451. data/rdoc-sources/FXFileStream.rb +27 -0
  452. data/rdoc-sources/FXFoldingList.rb +504 -0
  453. data/rdoc-sources/FXFont.rb +361 -0
  454. data/rdoc-sources/FXFontDialog.rb +14 -0
  455. data/rdoc-sources/FXFontSelector.rb +37 -0
  456. data/rdoc-sources/FXFrame.rb +53 -0
  457. data/rdoc-sources/FXGIFCursor.rb +50 -0
  458. data/rdoc-sources/FXGIFIcon.rb +31 -0
  459. data/rdoc-sources/FXGIFImage.rb +29 -0
  460. data/rdoc-sources/FXGLCanvas.rb +45 -0
  461. data/rdoc-sources/FXGLContext.rb +40 -0
  462. data/rdoc-sources/FXGLObject.rb +75 -0
  463. data/rdoc-sources/FXGLShape.rb +69 -0
  464. data/rdoc-sources/FXGLViewer.rb +332 -0
  465. data/rdoc-sources/FXGLVisual.rb +95 -0
  466. data/rdoc-sources/FXGradientBar.rb +301 -0
  467. data/rdoc-sources/FXGroupBox.rb +36 -0
  468. data/rdoc-sources/FXHeader.rb +408 -0
  469. data/rdoc-sources/FXHorizontalFrame.rb +29 -0
  470. data/rdoc-sources/FXICOIcon.rb +65 -0
  471. data/rdoc-sources/FXICOImage.rb +31 -0
  472. data/rdoc-sources/FXIcon.rb +38 -0
  473. data/rdoc-sources/FXIconDict.rb +49 -0
  474. data/rdoc-sources/FXIconList.rb +450 -0
  475. data/rdoc-sources/FXIconSource.rb +100 -0
  476. data/rdoc-sources/FXId.rb +34 -0
  477. data/rdoc-sources/FXImage.rb +320 -0
  478. data/rdoc-sources/FXImageFrame.rb +36 -0
  479. data/rdoc-sources/FXImageView.rb +35 -0
  480. data/rdoc-sources/FXInputDialog.rb +80 -0
  481. data/rdoc-sources/FXJPGIcon.rb +71 -0
  482. data/rdoc-sources/FXJPGImage.rb +39 -0
  483. data/rdoc-sources/FXKnob.rb +76 -0
  484. data/rdoc-sources/FXLabel.rb +72 -0
  485. data/rdoc-sources/FXList.rb +443 -0
  486. data/rdoc-sources/FXListBox.rb +191 -0
  487. data/rdoc-sources/FXMDIButton.rb +67 -0
  488. data/rdoc-sources/FXMDIChild.rb +155 -0
  489. data/rdoc-sources/FXMDIClient.rb +65 -0
  490. data/rdoc-sources/FXMainWindow.rb +26 -0
  491. data/rdoc-sources/FXMatrix.rb +57 -0
  492. data/rdoc-sources/FXMemoryBuffer.rb +29 -0
  493. data/rdoc-sources/FXMemoryStream.rb +50 -0
  494. data/rdoc-sources/FXMenuBar.rb +23 -0
  495. data/rdoc-sources/FXMenuButton.rb +85 -0
  496. data/rdoc-sources/FXMenuCaption.rb +53 -0
  497. data/rdoc-sources/FXMenuCascade.rb +18 -0
  498. data/rdoc-sources/FXMenuCheck.rb +30 -0
  499. data/rdoc-sources/FXMenuCommand.rb +26 -0
  500. data/rdoc-sources/FXMenuPane.rb +13 -0
  501. data/rdoc-sources/FXMenuRadio.rb +33 -0
  502. data/rdoc-sources/FXMenuSeparator.rb +21 -0
  503. data/rdoc-sources/FXMenuTitle.rb +27 -0
  504. data/rdoc-sources/FXMessageBox.rb +73 -0
  505. data/rdoc-sources/FXObject.rb +28 -0
  506. data/rdoc-sources/FXOptionMenu.rb +83 -0
  507. data/rdoc-sources/FXPCXIcon.rb +63 -0
  508. data/rdoc-sources/FXPCXImage.rb +31 -0
  509. data/rdoc-sources/FXPNGIcon.rb +66 -0
  510. data/rdoc-sources/FXPNGImage.rb +34 -0
  511. data/rdoc-sources/FXPPMIcon.rb +36 -0
  512. data/rdoc-sources/FXPPMImage.rb +31 -0
  513. data/rdoc-sources/FXPacker.rb +63 -0
  514. data/rdoc-sources/FXPicker.rb +27 -0
  515. data/rdoc-sources/FXPopup.rb +53 -0
  516. data/rdoc-sources/FXPrintDialog.rb +36 -0
  517. data/rdoc-sources/FXProgressBar.rb +57 -0
  518. data/rdoc-sources/FXProgressDialog.rb +36 -0
  519. data/rdoc-sources/FXQuatd.rb +164 -0
  520. data/rdoc-sources/FXQuatf.rb +173 -0
  521. data/rdoc-sources/FXRGBIcon.rb +64 -0
  522. data/rdoc-sources/FXRGBImage.rb +31 -0
  523. data/rdoc-sources/FXRadioButton.rb +70 -0
  524. data/rdoc-sources/FXRanged.rb +100 -0
  525. data/rdoc-sources/FXRangef.rb +100 -0
  526. data/rdoc-sources/FXRealSlider.rb +101 -0
  527. data/rdoc-sources/FXRealSpinner.rb +140 -0
  528. data/rdoc-sources/FXRecentFiles.rb +77 -0
  529. data/rdoc-sources/FXRectangle.rb +149 -0
  530. data/rdoc-sources/FXRegion.rb +64 -0
  531. data/rdoc-sources/FXRegistry.rb +56 -0
  532. data/rdoc-sources/FXReplaceDialog.rb +56 -0
  533. data/rdoc-sources/FXRootWindow.rb +17 -0
  534. data/rdoc-sources/FXRuler.rb +130 -0
  535. data/rdoc-sources/FXRulerView.rb +225 -0
  536. data/rdoc-sources/FXScintilla.rb +121 -0
  537. data/rdoc-sources/FXScrollArea.rb +86 -0
  538. data/rdoc-sources/FXScrollBar.rb +107 -0
  539. data/rdoc-sources/FXScrollPane.rb +28 -0
  540. data/rdoc-sources/FXScrollWindow.rb +38 -0
  541. data/rdoc-sources/FXSearchDialog.rb +24 -0
  542. data/rdoc-sources/FXSeparator.rb +74 -0
  543. data/rdoc-sources/FXSettings.rb +248 -0
  544. data/rdoc-sources/FXShell.rb +8 -0
  545. data/rdoc-sources/FXShutter.rb +102 -0
  546. data/rdoc-sources/FXSize.rb +95 -0
  547. data/rdoc-sources/FXSlider.rb +98 -0
  548. data/rdoc-sources/FXSphered.rb +80 -0
  549. data/rdoc-sources/FXSpheref.rb +80 -0
  550. data/rdoc-sources/FXSpinner.rb +136 -0
  551. data/rdoc-sources/FXSplashWindow.rb +27 -0
  552. data/rdoc-sources/FXSplitter.rb +89 -0
  553. data/rdoc-sources/FXSpring.rb +61 -0
  554. data/rdoc-sources/FXStatusBar.rb +42 -0
  555. data/rdoc-sources/FXStatusLine.rb +60 -0
  556. data/rdoc-sources/FXStream.rb +142 -0
  557. data/rdoc-sources/FXStringDict.rb +38 -0
  558. data/rdoc-sources/FXSwitcher.rb +78 -0
  559. data/rdoc-sources/FXTGAIcon.rb +63 -0
  560. data/rdoc-sources/FXTGAImage.rb +31 -0
  561. data/rdoc-sources/FXTIFIcon.rb +70 -0
  562. data/rdoc-sources/FXTIFImage.rb +37 -0
  563. data/rdoc-sources/FXTabBar.rb +80 -0
  564. data/rdoc-sources/FXTabBook.rb +41 -0
  565. data/rdoc-sources/FXTabItem.rb +58 -0
  566. data/rdoc-sources/FXTable.rb +975 -0
  567. data/rdoc-sources/FXText.rb +581 -0
  568. data/rdoc-sources/FXTextField.rb +151 -0
  569. data/rdoc-sources/FXToggleButton.rb +70 -0
  570. data/rdoc-sources/FXToolBar.rb +61 -0
  571. data/rdoc-sources/FXToolBarGrip.rb +50 -0
  572. data/rdoc-sources/FXToolBarShell.rb +44 -0
  573. data/rdoc-sources/FXToolBarTab.rb +74 -0
  574. data/rdoc-sources/FXToolTip.rb +39 -0
  575. data/rdoc-sources/FXTopWindow.rb +163 -0
  576. data/rdoc-sources/FXTranslator.rb +32 -0
  577. data/rdoc-sources/FXTreeList.rb +514 -0
  578. data/rdoc-sources/FXTreeListBox.rb +219 -0
  579. data/rdoc-sources/FXTriStateButton.rb +49 -0
  580. data/rdoc-sources/FXVec2d.rb +96 -0
  581. data/rdoc-sources/FXVec2f.rb +96 -0
  582. data/rdoc-sources/FXVec3d.rb +118 -0
  583. data/rdoc-sources/FXVec3f.rb +118 -0
  584. data/rdoc-sources/FXVec4d.rb +139 -0
  585. data/rdoc-sources/FXVec4f.rb +139 -0
  586. data/rdoc-sources/FXVerticalFrame.rb +29 -0
  587. data/rdoc-sources/FXVisual.rb +79 -0
  588. data/rdoc-sources/FXWindow.rb +725 -0
  589. data/rdoc-sources/FXWizard.rb +59 -0
  590. data/rdoc-sources/FXXBMIcon.rb +37 -0
  591. data/rdoc-sources/FXXBMImage.rb +32 -0
  592. data/rdoc-sources/FXXPMIcon.rb +65 -0
  593. data/rdoc-sources/FXXPMImage.rb +31 -0
  594. data/rdoc-sources/Makefile +23 -0
  595. data/rdoc-sources/README.rdoc +53 -0
  596. data/rdoc-sources/fxdefs.rb +90 -0
  597. data/scripts/build-fox.rb +31 -0
  598. data/scripts/generate_kwargs_lib.rb +412 -0
  599. data/scripts/iface.rb +391 -0
  600. data/swig-interfaces/FX4Splitter.i +149 -0
  601. data/swig-interfaces/FX7Segment.i +141 -0
  602. data/swig-interfaces/FXAccelTable.i +100 -0
  603. data/swig-interfaces/FXApp.i +735 -0
  604. data/swig-interfaces/FXArrowButton.i +136 -0
  605. data/swig-interfaces/FXBMPIcon.i +88 -0
  606. data/swig-interfaces/FXBMPImage.i +54 -0
  607. data/swig-interfaces/FXBitmap.i +90 -0
  608. data/swig-interfaces/FXBitmapFrame.i +72 -0
  609. data/swig-interfaces/FXBitmapView.i +94 -0
  610. data/swig-interfaces/FXButton.i +130 -0
  611. data/swig-interfaces/FXCURCursor.i +49 -0
  612. data/swig-interfaces/FXCanvas.i +61 -0
  613. data/swig-interfaces/FXCheckButton.i +108 -0
  614. data/swig-interfaces/FXChoiceBox.i +91 -0
  615. data/swig-interfaces/FXColorBar.i +110 -0
  616. data/swig-interfaces/FXColorDialog.i +79 -0
  617. data/swig-interfaces/FXColorList.i +99 -0
  618. data/swig-interfaces/FXColorRing.i +148 -0
  619. data/swig-interfaces/FXColorSelector.i +157 -0
  620. data/swig-interfaces/FXColorWell.i +133 -0
  621. data/swig-interfaces/FXColorWheel.i +108 -0
  622. data/swig-interfaces/FXComboBox.i +280 -0
  623. data/swig-interfaces/FXComposeContext.i +66 -0
  624. data/swig-interfaces/FXComposite.i +103 -0
  625. data/swig-interfaces/FXCursor.i +120 -0
  626. data/swig-interfaces/FXDC.i +280 -0
  627. data/swig-interfaces/FXDCPrint.i +141 -0
  628. data/swig-interfaces/FXDCWindow.i +75 -0
  629. data/swig-interfaces/FXDataTarget.i +115 -0
  630. data/swig-interfaces/FXDebugTarget.i +60 -0
  631. data/swig-interfaces/FXDelegator.i +56 -0
  632. data/swig-interfaces/FXDial.i +168 -0
  633. data/swig-interfaces/FXDialogBox.i +131 -0
  634. data/swig-interfaces/FXDict.i +200 -0
  635. data/swig-interfaces/FXDirBox.i +68 -0
  636. data/swig-interfaces/FXDirDialog.i +97 -0
  637. data/swig-interfaces/FXDirList.i +274 -0
  638. data/swig-interfaces/FXDirSelector.i +142 -0
  639. data/swig-interfaces/FXDockBar.i +180 -0
  640. data/swig-interfaces/FXDockHandler.i +94 -0
  641. data/swig-interfaces/FXDockSite.i +91 -0
  642. data/swig-interfaces/FXDockTitle.i +91 -0
  643. data/swig-interfaces/FXDocument.i +70 -0
  644. data/swig-interfaces/FXDragCorner.i +72 -0
  645. data/swig-interfaces/FXDrawable.i +90 -0
  646. data/swig-interfaces/FXDriveBox.i +63 -0
  647. data/swig-interfaces/FXExtentd.i +131 -0
  648. data/swig-interfaces/FXExtentf.i +131 -0
  649. data/swig-interfaces/FXFileDialog.i +268 -0
  650. data/swig-interfaces/FXFileDict.i +121 -0
  651. data/swig-interfaces/FXFileList.i +345 -0
  652. data/swig-interfaces/FXFileSelector.i +347 -0
  653. data/swig-interfaces/FXFileStream.i +49 -0
  654. data/swig-interfaces/FXFoldingList.i +556 -0
  655. data/swig-interfaces/FXFont.i +333 -0
  656. data/swig-interfaces/FXFontDialog.i +63 -0
  657. data/swig-interfaces/FXFontSelector.i +127 -0
  658. data/swig-interfaces/FXFrame.i +245 -0
  659. data/swig-interfaces/FXGIFCursor.i +86 -0
  660. data/swig-interfaces/FXGIFIcon.i +54 -0
  661. data/swig-interfaces/FXGIFImage.i +54 -0
  662. data/swig-interfaces/FXGLCanvas.i +90 -0
  663. data/swig-interfaces/FXGLContext.i +85 -0
  664. data/swig-interfaces/FXGLObject.i +70 -0
  665. data/swig-interfaces/FXGLShape.i +152 -0
  666. data/swig-interfaces/FXGLViewer.i +691 -0
  667. data/swig-interfaces/FXGLVisual.i +136 -0
  668. data/swig-interfaces/FXGradientBar.i +310 -0
  669. data/swig-interfaces/FXGroupBox.i +94 -0
  670. data/swig-interfaces/FXHeader.i +432 -0
  671. data/swig-interfaces/FXHorizontalFrame.i +60 -0
  672. data/swig-interfaces/FXICOIcon.i +92 -0
  673. data/swig-interfaces/FXICOImage.i +54 -0
  674. data/swig-interfaces/FXIcon.i +128 -0
  675. data/swig-interfaces/FXIconDict.i +90 -0
  676. data/swig-interfaces/FXIconList.i +596 -0
  677. data/swig-interfaces/FXIconSource.i +55 -0
  678. data/swig-interfaces/FXId.i +103 -0
  679. data/swig-interfaces/FXImage.i +226 -0
  680. data/swig-interfaces/FXImageFrame.i +66 -0
  681. data/swig-interfaces/FXImageView.i +88 -0
  682. data/swig-interfaces/FXInputDialog.i +180 -0
  683. data/swig-interfaces/FXJPGIcon.i +101 -0
  684. data/swig-interfaces/FXJPGImage.i +67 -0
  685. data/swig-interfaces/FXKnob.i +182 -0
  686. data/swig-interfaces/FXLabel.i +199 -0
  687. data/swig-interfaces/FXList.i +476 -0
  688. data/swig-interfaces/FXListBox.i +234 -0
  689. data/swig-interfaces/FXMDIButton.i +173 -0
  690. data/swig-interfaces/FXMDIChild.i +242 -0
  691. data/swig-interfaces/FXMDIClient.i +149 -0
  692. data/swig-interfaces/FXMainWindow.i +53 -0
  693. data/swig-interfaces/FXMat3d.i +102 -0
  694. data/swig-interfaces/FXMat3f.i +102 -0
  695. data/swig-interfaces/FXMat4d.i +122 -0
  696. data/swig-interfaces/FXMat4f.i +138 -0
  697. data/swig-interfaces/FXMatrix.i +101 -0
  698. data/swig-interfaces/FXMemoryBuffer.i +64 -0
  699. data/swig-interfaces/FXMemoryStream.i +77 -0
  700. data/swig-interfaces/FXMenuBar.i +67 -0
  701. data/swig-interfaces/FXMenuButton.i +152 -0
  702. data/swig-interfaces/FXMenuCaption.i +176 -0
  703. data/swig-interfaces/FXMenuCascade.i +76 -0
  704. data/swig-interfaces/FXMenuCheck.i +90 -0
  705. data/swig-interfaces/FXMenuCommand.i +69 -0
  706. data/swig-interfaces/FXMenuPane.i +60 -0
  707. data/swig-interfaces/FXMenuRadio.i +93 -0
  708. data/swig-interfaces/FXMenuSeparator.i +65 -0
  709. data/swig-interfaces/FXMenuTitle.i +74 -0
  710. data/swig-interfaces/FXMessageBox.i +128 -0
  711. data/swig-interfaces/FXObject.i +169 -0
  712. data/swig-interfaces/FXOptionMenu.i +140 -0
  713. data/swig-interfaces/FXPCXIcon.i +91 -0
  714. data/swig-interfaces/FXPCXImage.i +55 -0
  715. data/swig-interfaces/FXPNGIcon.i +95 -0
  716. data/swig-interfaces/FXPNGImage.i +59 -0
  717. data/swig-interfaces/FXPPMIcon.i +91 -0
  718. data/swig-interfaces/FXPPMImage.i +55 -0
  719. data/swig-interfaces/FXPacker.i +255 -0
  720. data/swig-interfaces/FXPicker.i +54 -0
  721. data/swig-interfaces/FXPoint.i +52 -0
  722. data/swig-interfaces/FXPopup.i +162 -0
  723. data/swig-interfaces/FXPrintDialog.i +154 -0
  724. data/swig-interfaces/FXProgressBar.i +133 -0
  725. data/swig-interfaces/FXProgressDialog.i +105 -0
  726. data/swig-interfaces/FXQuatd.i +128 -0
  727. data/swig-interfaces/FXQuatf.i +122 -0
  728. data/swig-interfaces/FXRGBIcon.i +90 -0
  729. data/swig-interfaces/FXRGBImage.i +56 -0
  730. data/swig-interfaces/FXRadioButton.i +117 -0
  731. data/swig-interfaces/FXRanged.i +163 -0
  732. data/swig-interfaces/FXRangef.i +172 -0
  733. data/swig-interfaces/FXRealSlider.i +166 -0
  734. data/swig-interfaces/FXRealSpinner.i +215 -0
  735. data/swig-interfaces/FXRecentFiles.i +119 -0
  736. data/swig-interfaces/FXRectangle.i +104 -0
  737. data/swig-interfaces/FXRegion.i +88 -0
  738. data/swig-interfaces/FXRegistry.i +96 -0
  739. data/swig-interfaces/FXReplaceDialog.i +131 -0
  740. data/swig-interfaces/FXRootWindow.i +50 -0
  741. data/swig-interfaces/FXRuler.i +245 -0
  742. data/swig-interfaces/FXRulerView.i +233 -0
  743. data/swig-interfaces/FXScintilla.i +194 -0
  744. data/swig-interfaces/FXScrollArea.i +211 -0
  745. data/swig-interfaces/FXScrollBar.i +178 -0
  746. data/swig-interfaces/FXScrollPane.i +83 -0
  747. data/swig-interfaces/FXScrollWindow.i +67 -0
  748. data/swig-interfaces/FXSearchDialog.i +48 -0
  749. data/swig-interfaces/FXSeparator.i +138 -0
  750. data/swig-interfaces/FXSettings.i +160 -0
  751. data/swig-interfaces/FXShell.i +91 -0
  752. data/swig-interfaces/FXShutter.i +140 -0
  753. data/swig-interfaces/FXSize.i +71 -0
  754. data/swig-interfaces/FXSlider.i +181 -0
  755. data/swig-interfaces/FXSphered.i +126 -0
  756. data/swig-interfaces/FXSpheref.i +126 -0
  757. data/swig-interfaces/FXSpinner.i +212 -0
  758. data/swig-interfaces/FXSplashWindow.i +92 -0
  759. data/swig-interfaces/FXSplitter.i +123 -0
  760. data/swig-interfaces/FXSpring.i +79 -0
  761. data/swig-interfaces/FXStatusBar.i +68 -0
  762. data/swig-interfaces/FXStatusLine.i +100 -0
  763. data/swig-interfaces/FXStream.i +150 -0
  764. data/swig-interfaces/FXStringDict.i +61 -0
  765. data/swig-interfaces/FXSwitcher.i +110 -0
  766. data/swig-interfaces/FXTGAIcon.i +85 -0
  767. data/swig-interfaces/FXTGAImage.i +56 -0
  768. data/swig-interfaces/FXTIFIcon.i +73 -0
  769. data/swig-interfaces/FXTIFImage.i +93 -0
  770. data/swig-interfaces/FXTabBar.i +121 -0
  771. data/swig-interfaces/FXTabBook.i +70 -0
  772. data/swig-interfaces/FXTabItem.i +82 -0
  773. data/swig-interfaces/FXTable.i +861 -0
  774. data/swig-interfaces/FXText.i +763 -0
  775. data/swig-interfaces/FXTextField.i +290 -0
  776. data/swig-interfaces/FXToggleButton.i +136 -0
  777. data/swig-interfaces/FXToolBar.i +75 -0
  778. data/swig-interfaces/FXToolBarGrip.i +82 -0
  779. data/swig-interfaces/FXToolBarShell.i +98 -0
  780. data/swig-interfaces/FXToolBarTab.i +114 -0
  781. data/swig-interfaces/FXToolTip.i +93 -0
  782. data/swig-interfaces/FXTopWindow.i +263 -0
  783. data/swig-interfaces/FXTranslator.i +55 -0
  784. data/swig-interfaces/FXTreeList.i +549 -0
  785. data/swig-interfaces/FXTreeListBox.i +317 -0
  786. data/swig-interfaces/FXTriStateButton.i +77 -0
  787. data/swig-interfaces/FXURL.i +35 -0
  788. data/swig-interfaces/FXVec2d.i +87 -0
  789. data/swig-interfaces/FXVec2f.i +87 -0
  790. data/swig-interfaces/FXVec3d.i +111 -0
  791. data/swig-interfaces/FXVec3f.i +109 -0
  792. data/swig-interfaces/FXVec4d.i +115 -0
  793. data/swig-interfaces/FXVec4f.i +115 -0
  794. data/swig-interfaces/FXVerticalFrame.i +69 -0
  795. data/swig-interfaces/FXVisual.i +162 -0
  796. data/swig-interfaces/FXWindow.i +851 -0
  797. data/swig-interfaces/FXWizard.i +125 -0
  798. data/swig-interfaces/FXXBMIcon.i +56 -0
  799. data/swig-interfaces/FXXBMImage.i +118 -0
  800. data/swig-interfaces/FXXPMIcon.i +122 -0
  801. data/swig-interfaces/FXXPMImage.i +56 -0
  802. data/swig-interfaces/README +17 -0
  803. data/swig-interfaces/common.i +48 -0
  804. data/swig-interfaces/core.i +85 -0
  805. data/swig-interfaces/dcmodule.i +36 -0
  806. data/swig-interfaces/dialogs.i +49 -0
  807. data/swig-interfaces/exceptions.i +249 -0
  808. data/swig-interfaces/framesmodule.i +54 -0
  809. data/swig-interfaces/freefuncs.i +93 -0
  810. data/swig-interfaces/fx3d.i +60 -0
  811. data/swig-interfaces/fxdefs.i +419 -0
  812. data/swig-interfaces/handlers.i +615 -0
  813. data/swig-interfaces/iconlistmodule.i +37 -0
  814. data/swig-interfaces/icons.i +48 -0
  815. data/swig-interfaces/ignore-message-handlers.rb +16 -0
  816. data/swig-interfaces/image.i +49 -0
  817. data/swig-interfaces/labelmodule.i +47 -0
  818. data/swig-interfaces/layout.i +47 -0
  819. data/swig-interfaces/listmodule.i +37 -0
  820. data/swig-interfaces/macros.i +1326 -0
  821. data/swig-interfaces/markfuncs.i +210 -0
  822. data/swig-interfaces/mdi.i +38 -0
  823. data/swig-interfaces/menumodule.i +44 -0
  824. data/swig-interfaces/ruby-typemaps.i +778 -0
  825. data/swig-interfaces/scintilla.i +57 -0
  826. data/swig-interfaces/table-module.i +36 -0
  827. data/swig-interfaces/text-module.i +36 -0
  828. data/swig-interfaces/treelist-module.i +37 -0
  829. data/swig-interfaces/ui.i +63 -0
  830. data/test/README +19 -0
  831. data/test/TC_FXAccelTable.rb +57 -0
  832. data/test/TC_FXApp.rb +66 -0
  833. data/test/TC_FXArc.rb +26 -0
  834. data/test/TC_FXBMPIcon.rb +15 -0
  835. data/test/TC_FXBMPImage.rb +15 -0
  836. data/test/TC_FXButton.rb +82 -0
  837. data/test/TC_FXCheckButton.rb +57 -0
  838. data/test/TC_FXComboBox.rb +72 -0
  839. data/test/TC_FXDC.rb +372 -0
  840. data/test/TC_FXDCPrint.rb +102 -0
  841. data/test/TC_FXDCWindow.rb +25 -0
  842. data/test/TC_FXDataTarget.rb +24 -0
  843. data/test/TC_FXDialogBox.rb +12 -0
  844. data/test/TC_FXDirList.rb +30 -0
  845. data/test/TC_FXExtentd.rb +21 -0
  846. data/test/TC_FXExtentf.rb +21 -0
  847. data/test/TC_FXFileAssoc.rb +62 -0
  848. data/test/TC_FXFileStream.rb +89 -0
  849. data/test/TC_FXFoldingList.rb +32 -0
  850. data/test/TC_FXFont.rb +69 -0
  851. data/test/TC_FXFontDesc.rb +58 -0
  852. data/test/TC_FXGLGroup.rb +32 -0
  853. data/test/TC_FXGLShape.rb +28 -0
  854. data/test/TC_FXGLViewer.rb +29 -0
  855. data/test/TC_FXGradientBar.rb +89 -0
  856. data/test/TC_FXHeader.rb +82 -0
  857. data/test/TC_FXHiliteStyle.rb +23 -0
  858. data/test/TC_FXIconDict.rb +52 -0
  859. data/test/TC_FXIconList.rb +192 -0
  860. data/test/TC_FXId.rb +19 -0
  861. data/test/TC_FXImage.rb +188 -0
  862. data/test/TC_FXLight.rb +33 -0
  863. data/test/TC_FXList.rb +125 -0
  864. data/test/TC_FXListBox.rb +49 -0
  865. data/test/TC_FXMainWindow.rb +19 -0
  866. data/test/TC_FXMat4f.rb +228 -0
  867. data/test/TC_FXMaterial.rb +75 -0
  868. data/test/TC_FXMemoryStream.rb +97 -0
  869. data/test/TC_FXMenuCheck.rb +57 -0
  870. data/test/TC_FXMenuCommand.rb +12 -0
  871. data/test/TC_FXMenuRadio.rb +57 -0
  872. data/test/TC_FXMessageBox.rb +29 -0
  873. data/test/TC_FXPoint.rb +57 -0
  874. data/test/TC_FXQuatf.rb +93 -0
  875. data/test/TC_FXRadioButton.rb +57 -0
  876. data/test/TC_FXRanged.rb +42 -0
  877. data/test/TC_FXRangef.rb +42 -0
  878. data/test/TC_FXRectangle.rb +88 -0
  879. data/test/TC_FXRegion.rb +54 -0
  880. data/test/TC_FXRegistry.rb +27 -0
  881. data/test/TC_FXScrollArea.rb +32 -0
  882. data/test/TC_FXScrollWindow.rb +28 -0
  883. data/test/TC_FXSegment.rb +22 -0
  884. data/test/TC_FXSettings.rb +34 -0
  885. data/test/TC_FXShell.rb +30 -0
  886. data/test/TC_FXSize.rb +54 -0
  887. data/test/TC_FXStream.rb +11 -0
  888. data/test/TC_FXTable.rb +561 -0
  889. data/test/TC_FXTableItem.rb +48 -0
  890. data/test/TC_FXText.rb +105 -0
  891. data/test/TC_FXTopWindow.rb +36 -0
  892. data/test/TC_FXTreeList.rb +100 -0
  893. data/test/TC_FXTreeListBox.rb +41 -0
  894. data/test/TC_FXUndoList.rb +43 -0
  895. data/test/TC_FXVec2d.rb +142 -0
  896. data/test/TC_FXVec2f.rb +137 -0
  897. data/test/TC_FXVec3d.rb +150 -0
  898. data/test/TC_FXVec3f.rb +150 -0
  899. data/test/TC_FXVec4f.rb +158 -0
  900. data/test/TC_FXViewport.rb +30 -0
  901. data/test/TC_FXXBMIcon.rb +15 -0
  902. data/test/TC_FXXBMImage.rb +15 -0
  903. data/test/TC_FXXPMIcon.rb +15 -0
  904. data/test/TC_FXXPMImage.rb +15 -0
  905. data/test/TC_Misc.rb +161 -0
  906. data/test/TC_downcast.rb +15 -0
  907. data/test/TS_All.rb +9 -0
  908. data/test/blankpage.ps +166 -0
  909. data/test/howdypage.ps +181 -0
  910. data/test/stress1.rb +92 -0
  911. data/test/stress2.rb +51 -0
  912. data/test/stress3.rb +117 -0
  913. data/test/testcase.rb +37 -0
  914. metadata +1134 -0
  915. metadata.gz.sig +0 -0
data/TODO ADDED
@@ -0,0 +1,47 @@
1
+ Checklist for FXRuby-1.6.20 release
2
+ ===================================
3
+
4
+ * Review bug list for any low-hanging fruit [DONE]
5
+ * Complete and publish updates to the FXRuby User's Guide [DONE]
6
+ * Update copyright notices in all source files [DONE]
7
+ * Publish source gem [DONE]
8
+ * Publish binary gems for:
9
+ - Ruby 1.8.6 on mswin32
10
+ - Ruby 1.8.6/1.9.1 on MinGW [DONE]
11
+ - Ruby 1.8.7 on Mac OS 10.6 [DONE]
12
+ - Ruby 1.8.6 on Mac OS 10.5
13
+ - Ruby 1.8.6 on Linux [DONE]
14
+ * Update MacPorts
15
+ * Updated changes.html page [DONE]
16
+ * Announcement on FOX and FXRuby mailing lists
17
+ * Publish news item on RubyForge [DONE]
18
+ * Tag release in Git repository [DONE]
19
+ * Upload DOAP file to web site [DONE]
20
+
21
+ Other
22
+ =====
23
+
24
+ * Modify FXGradientBar so that it just stores a reference to the gradients
25
+ and doesn't own a copy (affects setGradients for example).
26
+
27
+ * Need tests and/or examples for all the new widgets; see previous list, plus:
28
+
29
+ - FXFoldingList
30
+ - FXGradientBar
31
+ - FXImageFrame
32
+ - FXRealSpinner
33
+ - FXRuler
34
+ - FXScrollPane
35
+ - FXSphered and FXSpheref
36
+ - FXSpring
37
+ - FXWizard
38
+ - FXXBMIcon
39
+ - FXXBMImage
40
+
41
+ * Can we replace all of the aliases (in aliases.rb) with something
42
+ based on method_missing? that automatically reroutes, for example,
43
+ a call to SomeClass#tooltip=() to a call to SomeClass#setTooltip()?
44
+
45
+ * Make FXDirItem#date (and anything else that deals with FXTime
46
+ values) return a Ruby Time object instead.
47
+
data/doap.rdf.erb ADDED
@@ -0,0 +1,87 @@
1
+ <?xml version="1.0" encoding="iso-8859-15"?>
2
+ <rdf:RDF
3
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
4
+ xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
5
+ xmlns:doap="http://usefulinc.com/ns/doap#"
6
+ xmlns:foaf="http://xmlns.com/foaf/0.1/">
7
+ <doap:Project>
8
+ <doap:name>FXRuby</doap:name>
9
+ <doap:shortname>FXRuby</doap:shortname>
10
+ <doap:homepage rdf:resource="http://github.com/larskanis/fxruby"/>
11
+ <doap:old-homepage rdf:resource="http://fxruby.sourceforge.net"/>
12
+ <doap:created>2001-01-01</doap:created>
13
+ <doap:description>FXRuby is an extension module for Ruby that provides an interface to the FOX GUI toolkit.</doap:description>
14
+ <doap:shortdesc>FXRuby is a Ruby interface to the FOX GUI toolkit.</doap:shortdesc>
15
+ <doap:wiki rdf:resource="http://fxruby.rubyforge.org/wiki/wiki.pl"/>
16
+ <doap:bug-database rdf:resource="http://rubyforge.org/tracker/?atid=1223&amp;group_id=300&amp;func=browse"/>
17
+ <doap:mailing-list rdf:resource="http://rubyforge.org/mailman/listinfo/fxruby-users"/>
18
+ <doap:screenshots rdf:resource="http://www.fxruby.org/doc/examples.html"/>
19
+ <doap:programming-language>Ruby</doap:programming-language>
20
+ <doap:license rdf:resource="http://usefulinc.com/doap/licenses/lgpl"/>
21
+ <doap:download-page rdf:resource="http://rubyforge.org/frs/?group_id=300"/>
22
+
23
+ <doap:maintainer>
24
+ <foaf:Person>
25
+ <foaf:name>Lyle Johnson</foaf:name>
26
+ <foaf:nick>lyle</foaf:nick>
27
+ <foaf:mbox_sha1sum>6a53ac5fe72eaa9e17d14207ed0bbdaa2fb8aed9</foaf:mbox_sha1sum>
28
+ <rdfs:seeAlso rdf:resource="http://lylejohnson.name/foaf.rdf"/>
29
+ </foaf:Person>
30
+ </doap:maintainer>
31
+
32
+ <doap:repository>
33
+ <doap:CVSRepository>
34
+ <doap:anon-root>:pserver:anonymous@rubyforge.org:/var/cvs/fxruby</doap:anon-root>
35
+ <doap:module>FXRuby</doap:module>
36
+ <doap:browse rdf:resource="http://rubyforge.org/cgi-bin/viewcvs/cgi/viewcvs.cgi/?cvsroot=fxruby"/>
37
+ </doap:CVSRepository>
38
+ </doap:repository>
39
+
40
+ <!-- Software Development :: Libraries :: Ruby Modules -->
41
+ <doap:category rdf:resource="http://freshmeat.net/browse/955/"/>
42
+
43
+ <!-- Software Development :: User Interfaces -->
44
+ <doap:category rdf:resource="http://freshmeat.net/browse/909/"/>
45
+
46
+ <!-- Software Development :: Widget Sets -->
47
+ <doap:category rdf:resource="http://freshmeat.net/browse/851/"/>
48
+
49
+ <!-- current fox release -->
50
+ <doap:release>
51
+ <doap:Version>
52
+ <doap:branch>fox</doap:branch>
53
+ <doap:created>2004-06-16</doap:created>
54
+ <doap:revision>1.0.29</doap:revision>
55
+ </doap:Version>
56
+ </doap:release>
57
+
58
+ <!-- current fox12 release -->
59
+ <doap:release>
60
+ <doap:Version>
61
+ <doap:branch>fox12</doap:branch>
62
+ <doap:created>2005-04-15</doap:created>
63
+ <doap:revision>1.2.6</doap:revision>
64
+ </doap:Version>
65
+ </doap:release>
66
+
67
+ <!-- current fox14 release -->
68
+ <doap:release>
69
+ <doap:Version>
70
+ <doap:branch>fox14</doap:branch>
71
+ <doap:created>2006-09-13</doap:created>
72
+ <doap:revision>1.4.7</doap:revision>
73
+ </doap:Version>
74
+ </doap:release>
75
+
76
+ <!-- current fox16 release -->
77
+ <doap:release>
78
+ <doap:Version>
79
+ <doap:branch>fox16</doap:branch>
80
+ <doap:created><%= Date.today %></doap:created>
81
+ <doap:revision><%= PKG_VERSION %></doap:revision>
82
+ </doap:Version>
83
+ </doap:release>
84
+
85
+ </doap:Project>
86
+ </rdf:RDF>
87
+
data/examples/RAA.rb ADDED
@@ -0,0 +1,25 @@
1
+ require 'soap/rpc/driver'
2
+ require 'iRAA'
3
+
4
+ module RAA
5
+ extend SOAP
6
+
7
+ class Driver
8
+ def initialize(server = 'http://raa.ruby-lang.org/soap/1.0/', proxy = nil)
9
+ @drv = SOAP::RPC::Driver.new(server, RAA::InterfaceNS)
10
+ @drv.httpproxy = proxy if proxy
11
+ @drv.mapping_registry = RAA::MappingRegistry
12
+ RAA::Methods.each do |name, *params|
13
+ @drv.add_method(name, params)
14
+ end
15
+ end
16
+
17
+ def setLogDev(logdev)
18
+ # ignored.
19
+ end
20
+
21
+ def method_missing(msg_id, *a, &b)
22
+ @drv.__send__(msg_id, *a, &b)
23
+ end
24
+ end
25
+ end
data/examples/README ADDED
@@ -0,0 +1,53 @@
1
+ This directory contains several example programs for FXRuby, and supporting
2
+ files for the same. Here is a partial list of the files you'll find here:
3
+
4
+ button.rb
5
+ Demonstrates the various layout and appearance options for the
6
+ FXButton widget.
7
+
8
+ dialog.rb
9
+ Simple example demonstrating how to create both modal and non-modal
10
+ dialogs.
11
+
12
+ dirlist.rb
13
+ Demonstrates the directory list (FXDirList) widget.
14
+
15
+ foursplit.rb
16
+ Demonstrates the 4-way splitter widget.
17
+
18
+ gltest.rb
19
+ Demonstrates the OpenGL canvas widget, and how to use both timers
20
+ and chores in FOX applications. This one also requires the OpenGL
21
+ extensions for Ruby; check the Ruby Application Archive for the
22
+ current release.
23
+
24
+ groupbox.rb
25
+ This is a kind of periodic table of widgets for FOX; it displays
26
+ a wide variety of the core widgets with different options.
27
+
28
+ header.rb
29
+ Demonstrates the header widget.
30
+
31
+ hello.rb
32
+ Minimalist FXRuby: the classic "Hello, World!" program
33
+
34
+ hello2.rb
35
+ The souped-up version of "Hello, World!", complete with a PNG icon
36
+ and tooltips.
37
+
38
+ imageviewer.rb
39
+ This is primarily a demonstration of the image view (FXImageView)
40
+ widget but it also provides a model for what could be a full-blown
41
+ FXRuby application. This example has a menu bar and toolbar (both
42
+ "floatable") and demonstrates how to use FOX's registry mechanism
43
+ for persistent application settings.
44
+ and tooltips.
45
+
46
+ scribble.rb
47
+ This is the Ruby version of the scribble program described in the
48
+ standard FOX documentation. It demonstrates the basics of drawing
49
+ into a 2-D canvas as well as FOX's GUI updating features.
50
+
51
+ shutter.rb
52
+ Demonstrates the shutter widget, similar to that found in a popular
53
+ office application.
@@ -0,0 +1,356 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ #
4
+ # Depends on Kou's RSS Parser module (http://raa.ruby-lang.org/list.rhtml?name=rss).
5
+ #
6
+ # Potential enhancements:
7
+ #
8
+ # - preference of whether the pictures are listed latest first, or
9
+ # oldest first.
10
+ # - option to always show the latest picture after a refresh
11
+ #
12
+
13
+ require 'fox16'
14
+ require 'open-uri'
15
+
16
+ begin
17
+ require 'rss/parser'
18
+ require 'rss/2.0'
19
+ rescue LoadError
20
+ require 'fox16/missingdep'
21
+ MSG = <<EOM
22
+ Sorry, this example depends on the RSS extension. Please
23
+ check the Ruby Application Archives for an appropriate
24
+ download site.
25
+ EOM
26
+ missingDependency(MSG)
27
+ end
28
+
29
+ include Fox
30
+
31
+ class WhatAQuietWindow < FXMainWindow
32
+
33
+ RSS_FEED_URL = "http://whytheluckystiff.net/quiet/quiet.xml"
34
+ DEFAULT_REFRESH_DELAY = 60 # in minutes
35
+
36
+ def initialize(app)
37
+ # Invoke base class initialize first
38
+ super(app, "What a Quiet Stiff", :opts => DECOR_ALL, :width => 850, :height => 600, :padLeft => 0, :padRight => 0)
39
+
40
+ # Icons for list items
41
+ File.open("icons/bluebullet14x14.gif", "rb") do |f|
42
+ bytes = f.read
43
+ @itemIcon = FXGIFIcon.new(getApp(), bytes)
44
+ end
45
+ File.open("icons/transpbullet14x14.gif", "rb") do |f|
46
+ bytes = f.read
47
+ @transpIcon = FXGIFIcon.new(getApp(), bytes)
48
+ end
49
+
50
+ # Menubar
51
+ menuBar = FXMenuBar.new(self, LAYOUT_SIDE_TOP|LAYOUT_FILL_X)
52
+
53
+ # File menu
54
+ fileMenu = FXMenuPane.new(self)
55
+ saveCmd = FXMenuCommand.new(fileMenu, "Save selected image...")
56
+ saveCmd.connect(SEL_COMMAND, method(:onCmdSave))
57
+ saveCmd.connect(SEL_UPDATE, method(:onUpdSave))
58
+ FXMenuCommand.new(fileMenu, "Preferences...").connect(SEL_COMMAND, method(:onCmdPreferences))
59
+ FXMenuCommand.new(fileMenu, "&Quit\tCtrl+Q").connect(SEL_COMMAND, method(:onQuit))
60
+ FXMenuTitle.new(menuBar, "&File", nil, fileMenu)
61
+
62
+ # Help menu
63
+ helpMenu = FXMenuPane.new(self)
64
+ FXMenuTitle.new(menuBar, "&Help", nil, helpMenu, LAYOUT_RIGHT)
65
+ aboutCmd = FXMenuCommand.new(helpMenu, "&About...")
66
+ aboutCmd.connect(SEL_COMMAND) do
67
+ FXMessageBox.information(self, MBOX_OK, "About This Program",
68
+ "What a Quiet Stiff\nA Sliding Surface for Found Imagery\nCourtesy of http://whytheluckystiff.net")
69
+ end
70
+
71
+ # Respond to window close
72
+ self.connect(SEL_CLOSE, method(:onQuit))
73
+
74
+ # Main contents area is split left-to-right.
75
+ splitter = FXSplitter.new(self, LAYOUT_FILL_X|LAYOUT_FILL_Y)
76
+
77
+ # Put the list in a sunken frame
78
+ listFrame = FXVerticalFrame.new(splitter,
79
+ FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL_X|LAYOUT_FILL_Y,
80
+ :padding => 00)
81
+
82
+ # List of items appears on the left.
83
+ @itemList = FXList.new(listFrame, :opts => LAYOUT_FILL_X|LAYOUT_FILL_Y)
84
+ @itemList.numVisible = 12
85
+ @itemList.connect(SEL_COMMAND) do |sender, sel, itemIndex|
86
+ @showLinkedImage = false
87
+ getApp().beginWaitCursor do
88
+ setImage(@itemList.getItemData(itemIndex))
89
+ @itemList.setItemIcon(itemIndex, @transpIcon)
90
+ end
91
+ end
92
+
93
+ # Sunken border for image widget
94
+ imagebox = FXHorizontalFrame.new(splitter,
95
+ FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL_X|LAYOUT_FILL_Y,
96
+ :padding => 0)
97
+
98
+ # Make image widget
99
+ @imageview = FXImageView.new(imagebox, :opts => LAYOUT_FILL_X|LAYOUT_FILL_Y)
100
+ @imageview.enable
101
+ @imageview.connect(SEL_LEFTBUTTONRELEASE) { toggleImage }
102
+
103
+ # Cache previously viewed images in a Hash
104
+ @cache = {}
105
+ @showLinkedImage = false
106
+
107
+ # Start out with the current feed's contents.
108
+ refreshList
109
+ end
110
+
111
+ # Return true if an item is selected, false otherwise.
112
+ def itemSelected?
113
+ begin
114
+ @itemList.itemSelected?(@itemList.currentItem)
115
+ rescue IndexError
116
+ false
117
+ end
118
+ end
119
+
120
+ #
121
+ # Enable or disable the "Save Image" command, depending on
122
+ # whether or not any items are selected.
123
+ #
124
+ def onUpdSave(sender, sel, ptr)
125
+ if itemSelected?
126
+ sender.handle(self, FXSEL(SEL_COMMAND, ID_ENABLE), nil)
127
+ else
128
+ sender.handle(self, FXSEL(SEL_COMMAND, ID_DISABLE), nil)
129
+ end
130
+ end
131
+
132
+ # Save the currently selected image to a file.
133
+ def onCmdSave(sender, sel, ptr)
134
+ saveDialog = FXFileDialog.new(self, "Save Image")
135
+ saveDialog.filename = @itemList.getItemText(@itemList.currentItem)
136
+ if saveDialog.execute != 0
137
+ if File.exists? saveDialog.filename
138
+ if MBOX_CLICKED_NO == FXMessageBox.question(self, MBOX_YES_NO,
139
+ "Overwrite Image", "Overwrite existing image?")
140
+ return 1
141
+ end
142
+ end
143
+ getApp().beginWaitCursor do
144
+ FXFileStream.open(saveDialog.filename, FXStreamSave) do |stream|
145
+ @imageview.image.restore
146
+ @imageview.image.savePixels(stream)
147
+ end
148
+ end
149
+ end
150
+ end
151
+
152
+ # Display the Preferences dialog box.
153
+ def onCmdPreferences(sender, sel, ptr)
154
+ refreshDelayTarget = FXDataTarget.new(@refreshDelay)
155
+
156
+ prefsDialog = FXDialogBox.new(self, "Preferences", :padding => 2)
157
+
158
+ buttons = FXHorizontalFrame.new(prefsDialog, LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X)
159
+ FXFrame.new(buttons, LAYOUT_FILL_X)
160
+ FXButton.new(buttons, "Cancel", nil, prefsDialog, FXDialogBox::ID_CANCEL,
161
+ LAYOUT_SIDE_RIGHT|LAYOUT_CENTER_Y|FRAME_RAISED|FRAME_THICK,
162
+ :padLeft => 20, :padRight => 20, :padTop => 4, :padBottom => 4)
163
+ FXButton.new(buttons, "OK", nil, prefsDialog, FXDialogBox::ID_ACCEPT,
164
+ LAYOUT_SIDE_RIGHT|LAYOUT_CENTER_Y|FRAME_RAISED|FRAME_THICK,
165
+ :padLeft => 30, :padRight => 30, :padTop => 4, :padBottom => 4)
166
+
167
+ FXHorizontalSeparator.new(prefsDialog, SEPARATOR_GROOVE|LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X)
168
+
169
+ contents = FXMatrix.new(prefsDialog, 2, MATRIX_BY_COLUMNS|LAYOUT_FILL_X|LAYOUT_FILL_Y)
170
+ FXLabel.new(contents, "Refresh Delay (minutes):", nil, LAYOUT_CENTER_Y)
171
+ FXTextField.new(contents, 5, refreshDelayTarget, FXDataTarget::ID_VALUE,
172
+ LAYOUT_CENTER_Y|FRAME_SUNKEN|FRAME_THICK|JUSTIFY_RIGHT)
173
+
174
+ if prefsDialog.execute != 0
175
+ @refreshDelay = refreshDelayTarget.value
176
+ end
177
+ end
178
+
179
+ #
180
+ # Given an RSS object, populate the list of images with one
181
+ # per item in the RSS.
182
+ #
183
+ def populateItemList(rss)
184
+ @itemList.clearItems
185
+ liveItems = {}
186
+ rss.items.each do |rssItem|
187
+ srcURL = getSourceURL(rssItem)
188
+ linkURL = getLinkURL(rssItem)
189
+ itemIcon = (@cache.key?(srcURL) || @cache.key?(linkURL)) ? @transpIcon : @itemIcon
190
+ @itemList.appendItem(rssItem.title, itemIcon, rssItem)
191
+ liveItems[srcURL] = 1 if @cache.key?(srcURL)
192
+ liveItems[linkURL] = 1 if @cache.key?(linkURL)
193
+ end
194
+ @cache.delete_if { |key, value| !liveItems.key?(key) }
195
+ end
196
+
197
+ def toggleImage
198
+ @showLinkedImage = !@showLinkedImage
199
+ if itemSelected?
200
+ itemIndex = @itemList.currentItem
201
+ getApp().beginWaitCursor do
202
+ setImage(@itemList.getItemData(itemIndex))
203
+ @itemList.setItemIcon(itemIndex, @transpIcon)
204
+ end
205
+ end
206
+ end
207
+
208
+ def setImage(rssItem)
209
+ url = getImageURL(rssItem)
210
+ img = @cache[url]
211
+ if img.nil?
212
+ img = makeImage(url)
213
+ img.create
214
+ @cache[url] = img
215
+ end
216
+ @imageview.image = img
217
+ end
218
+
219
+ def getRSSFeed(url)
220
+ rss = nil
221
+ open(url) do |f|
222
+ doc = f.read
223
+ begin
224
+ rss = RSS::Parser.parse(doc)
225
+ rescue RSS::InvalidRSSError
226
+ rss = RSS::Parser.parse(doc, false)
227
+ end
228
+ end
229
+ rss
230
+ end
231
+
232
+ # Return the URL listed in the src tag of the description's HTML text.
233
+ def getSourceURL(rssItem)
234
+ rssItem.description =~ /src="(.*?)"/
235
+ return $1
236
+ end
237
+
238
+ # Return the URL listed in the href tag of the description's HTML text.
239
+ def getLinkURL(rssItem)
240
+ rssItem.description =~ /href="(.*?)"/
241
+ return $1
242
+ end
243
+
244
+ # Return the appropriate URL given the current settings.
245
+ def getImageURL(rssItem)
246
+ @showLinkedImage ? getLinkURL(rssItem) : getSourceURL(rssItem)
247
+ end
248
+
249
+ def getImageData(url)
250
+ bytes = nil
251
+ open(url, "rb") do |f|
252
+ bytes = f.read
253
+ end
254
+ bytes
255
+ end
256
+
257
+ # This is a little weak...
258
+ def makeImage(url)
259
+ bytes = getImageData(url)
260
+ extension = url.split('.').last.upcase
261
+ case extension
262
+ when "GIF"
263
+ FXGIFImage.new(getApp(), bytes)
264
+ when "JPG"
265
+ FXJPGImage.new(getApp(), bytes)
266
+ when "PNG"
267
+ FXPNGImage.new(getApp(), bytes)
268
+ else
269
+ raise "Unrecognized file extension for: #{url}"
270
+ end
271
+ end
272
+
273
+ def resizeItemList
274
+ maxItemSize = 0
275
+ @itemList.each do |listItem|
276
+ itemSize = @itemList.font.getTextWidth(listItem.text)
277
+ maxItemSize = [maxItemSize, itemSize].max
278
+ end
279
+ @itemList.parent.width = maxItemSize
280
+ end
281
+
282
+ def refreshList
283
+ # Grab the latest RSS feed
284
+ @rss = getRSSFeed(RSS_FEED_URL)
285
+
286
+ # Repopulate the list with this set of items
287
+ populateItemList(@rss)
288
+ end
289
+
290
+ def onRefreshList(sender, sel, ptr)
291
+ # Refresh, then re-register the timeout
292
+ getApp().beginWaitCursor { refreshList }
293
+ getApp().addTimeout(1000*60*@refreshDelay, method(:onRefreshList))
294
+ end
295
+
296
+ def onQuit(sender, sel, ptr)
297
+ writeRegistry
298
+ getApp().exit(0)
299
+ end
300
+
301
+ def readRegistry
302
+ xx = getApp().reg().readIntEntry("SETTINGS", "x", 0)
303
+ yy = getApp().reg().readIntEntry("SETTINGS", "y", 0)
304
+ ww = getApp().reg().readIntEntry("SETTINGS", "width", 850)
305
+ hh = getApp().reg().readIntEntry("SETTINGS", "height", 600)
306
+ @refreshDelay = getApp().reg().readIntEntry("SETTINGS", "refreshDelay", DEFAULT_REFRESH_DELAY)
307
+ end
308
+
309
+ def writeRegistry
310
+ getApp().reg().writeIntEntry("SETTINGS", "x", x)
311
+ getApp().reg().writeIntEntry("SETTINGS", "y", y)
312
+ getApp().reg().writeIntEntry("SETTINGS", "width", width)
313
+ getApp().reg().writeIntEntry("SETTINGS", "height", height)
314
+ getApp().reg().writeIntEntry("SETTINGS", "refreshDelay", @refreshDelay)
315
+ end
316
+
317
+ def create
318
+ # Do base class create first
319
+ super
320
+
321
+ readRegistry
322
+
323
+ @itemIcon.create
324
+ @transpIcon.create
325
+
326
+ # Make the item list wide enough to show the longest item
327
+ resizeItemList
328
+
329
+ # Resize main window
330
+ # Resize main window client area to fit image size
331
+ # resize(@imageview.contentWidth, @imageview.contentHeight)
332
+
333
+ # Now show it
334
+ show(PLACEMENT_SCREEN)
335
+
336
+ # Start the updates timer
337
+ getApp().addTimeout(1000*60*@refreshDelay, method(:onRefreshList))
338
+ end
339
+ end
340
+
341
+ if __FILE__ == $0
342
+ # Make application
343
+ application = FXApp.new("WhatAQuietWindow", "FXRuby")
344
+
345
+ # Make window
346
+ window = WhatAQuietWindow.new(application)
347
+
348
+ # Handle interrupts to terminate program gracefully
349
+ application.addSignal("SIGINT", window.method(:onQuit))
350
+
351
+ # Create it
352
+ application.create
353
+
354
+ # Run
355
+ application.run
356
+ end