fxruby 1.6.19 → 1.6.20

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 (633) hide show
  1. data/History.txt +10 -0
  2. data/Manifest.txt +922 -0
  3. data/{LICENSE → README.txt} +27 -1
  4. data/Rakefile +191 -0
  5. data/TODO +47 -0
  6. data/doap.rdf +87 -0
  7. data/examples/icons/bluebullet14x14.gif +0 -0
  8. data/examples/icons/transpbullet14x14.gif +0 -0
  9. data/ext/fox16/FXRbApp.cpp +2 -2
  10. data/ext/fox16/FXRbDataTarget.cpp +2 -2
  11. data/ext/fox16/FXRbGLViewer.cpp +2 -2
  12. data/ext/fox16/FXRuby.cpp +7 -3
  13. data/ext/fox16/extconf.rb +18 -85
  14. data/ext/fox16/impl.cpp +0 -0
  15. data/ext/fox16/include/FXMemoryBuffer.h +2 -2
  16. data/ext/fox16/include/FXRb4Splitter.h +2 -2
  17. data/ext/fox16/include/FXRb7Segment.h +2 -2
  18. data/ext/fox16/include/FXRbAccelTable.h +2 -2
  19. data/ext/fox16/include/FXRbApp.h +2 -2
  20. data/ext/fox16/include/FXRbAppVirtuals.h +0 -0
  21. data/ext/fox16/include/FXRbArrowButton.h +2 -2
  22. data/ext/fox16/include/FXRbBMPIcon.h +2 -2
  23. data/ext/fox16/include/FXRbBMPImage.h +2 -2
  24. data/ext/fox16/include/FXRbBitmap.h +2 -2
  25. data/ext/fox16/include/FXRbBitmapFrame.h +1 -1
  26. data/ext/fox16/include/FXRbBitmapView.h +2 -2
  27. data/ext/fox16/include/FXRbBitmapVirtuals.h +0 -0
  28. data/ext/fox16/include/FXRbButton.h +2 -2
  29. data/ext/fox16/include/FXRbCURCursor.h +2 -2
  30. data/ext/fox16/include/FXRbCanvas.h +2 -2
  31. data/ext/fox16/include/FXRbCheckButton.h +2 -2
  32. data/ext/fox16/include/FXRbChoiceBox.h +1 -1
  33. data/ext/fox16/include/FXRbColorBar.h +2 -2
  34. data/ext/fox16/include/FXRbColorDialog.h +2 -2
  35. data/ext/fox16/include/FXRbColorList.h +2 -2
  36. data/ext/fox16/include/FXRbColorRing.h +2 -2
  37. data/ext/fox16/include/FXRbColorSelector.h +2 -2
  38. data/ext/fox16/include/FXRbColorWell.h +2 -2
  39. data/ext/fox16/include/FXRbColorWheel.h +2 -2
  40. data/ext/fox16/include/FXRbComboBox.h +2 -2
  41. data/ext/fox16/include/FXRbCommon.h +2 -2
  42. data/ext/fox16/include/FXRbComposite.h +2 -2
  43. data/ext/fox16/include/FXRbCursor.h +2 -2
  44. data/ext/fox16/include/FXRbCursorVirtuals.h +0 -0
  45. data/ext/fox16/include/FXRbDC.h +2 -2
  46. data/ext/fox16/include/FXRbDCPrint.h +2 -2
  47. data/ext/fox16/include/FXRbDCVirtuals.h +0 -0
  48. data/ext/fox16/include/FXRbDCWindow.h +2 -2
  49. data/ext/fox16/include/FXRbDataTarget.h +2 -2
  50. data/ext/fox16/include/FXRbDebugTarget.h +2 -2
  51. data/ext/fox16/include/FXRbDelegator.h +2 -2
  52. data/ext/fox16/include/FXRbDial.h +2 -2
  53. data/ext/fox16/include/FXRbDialogBox.h +2 -2
  54. data/ext/fox16/include/FXRbDialogBoxVirtuals.h +0 -0
  55. data/ext/fox16/include/FXRbDict.h +2 -2
  56. data/ext/fox16/include/FXRbDirBox.h +2 -2
  57. data/ext/fox16/include/FXRbDirDialog.h +2 -2
  58. data/ext/fox16/include/FXRbDirList.h +2 -2
  59. data/ext/fox16/include/FXRbDirSelector.h +2 -2
  60. data/ext/fox16/include/FXRbDockBar.h +1 -1
  61. data/ext/fox16/include/FXRbDockBarVirtuals.h +0 -0
  62. data/ext/fox16/include/FXRbDockHandler.h +2 -2
  63. data/ext/fox16/include/FXRbDockSite.h +0 -0
  64. data/ext/fox16/include/FXRbDockSiteVirtuals.h +0 -0
  65. data/ext/fox16/include/FXRbDockTitle.h +2 -2
  66. data/ext/fox16/include/FXRbDocument.h +2 -2
  67. data/ext/fox16/include/FXRbDragCorner.h +2 -2
  68. data/ext/fox16/include/FXRbDrawable.h +2 -2
  69. data/ext/fox16/include/FXRbDrawableVirtuals.h +0 -0
  70. data/ext/fox16/include/FXRbDriveBox.h +2 -2
  71. data/ext/fox16/include/FXRbFileDialog.h +2 -2
  72. data/ext/fox16/include/FXRbFileDict.h +2 -2
  73. data/ext/fox16/include/FXRbFileDictVirtuals.h +0 -0
  74. data/ext/fox16/include/FXRbFileList.h +2 -2
  75. data/ext/fox16/include/FXRbFileSelector.h +2 -2
  76. data/ext/fox16/include/FXRbFoldingItemVirtuals.h +0 -0
  77. data/ext/fox16/include/FXRbFoldingList.h +2 -2
  78. data/ext/fox16/include/FXRbFoldingListVirtuals.h +0 -0
  79. data/ext/fox16/include/FXRbFont.h +2 -2
  80. data/ext/fox16/include/FXRbFontDialog.h +2 -2
  81. data/ext/fox16/include/FXRbFontSelector.h +2 -2
  82. data/ext/fox16/include/FXRbFontVirtuals.h +0 -0
  83. data/ext/fox16/include/FXRbFrame.h +2 -2
  84. data/ext/fox16/include/FXRbGIFCursor.h +2 -2
  85. data/ext/fox16/include/FXRbGIFIcon.h +2 -2
  86. data/ext/fox16/include/FXRbGIFImage.h +2 -2
  87. data/ext/fox16/include/FXRbGLCanvas.h +2 -2
  88. data/ext/fox16/include/FXRbGLCanvasVirtuals.h +0 -0
  89. data/ext/fox16/include/FXRbGLContext.h +2 -2
  90. data/ext/fox16/include/FXRbGLObject.h +2 -2
  91. data/ext/fox16/include/FXRbGLObjectVirtuals.h +0 -0
  92. data/ext/fox16/include/FXRbGLShape.h +2 -2
  93. data/ext/fox16/include/FXRbGLShapeVirtuals.h +0 -0
  94. data/ext/fox16/include/FXRbGLViewer.h +2 -2
  95. data/ext/fox16/include/FXRbGLViewerVirtuals.h +0 -0
  96. data/ext/fox16/include/FXRbGLVisual.h +2 -2
  97. data/ext/fox16/include/FXRbGradientBar.h +1 -1
  98. data/ext/fox16/include/FXRbGroupBox.h +2 -2
  99. data/ext/fox16/include/FXRbHeader.h +2 -2
  100. data/ext/fox16/include/FXRbHeaderItemVirtuals.h +0 -0
  101. data/ext/fox16/include/FXRbHorizontalFrame.h +2 -2
  102. data/ext/fox16/include/FXRbICOIcon.h +2 -2
  103. data/ext/fox16/include/FXRbICOImage.h +2 -2
  104. data/ext/fox16/include/FXRbIcon.h +2 -2
  105. data/ext/fox16/include/FXRbIconItemVirtuals.h +0 -0
  106. data/ext/fox16/include/FXRbIconList.h +2 -2
  107. data/ext/fox16/include/FXRbIconListVirtuals.h +0 -0
  108. data/ext/fox16/include/FXRbIconSource.h +2 -2
  109. data/ext/fox16/include/FXRbIconSourceVirtuals.h +0 -0
  110. data/ext/fox16/include/FXRbId.h +2 -2
  111. data/ext/fox16/include/FXRbIdVirtuals.h +0 -0
  112. data/ext/fox16/include/FXRbImage.h +2 -2
  113. data/ext/fox16/include/FXRbImageFrame.h +1 -1
  114. data/ext/fox16/include/FXRbImageView.h +2 -2
  115. data/ext/fox16/include/FXRbImageVirtuals.h +0 -0
  116. data/ext/fox16/include/FXRbInputDialog.h +2 -2
  117. data/ext/fox16/include/FXRbJPGIcon.h +2 -2
  118. data/ext/fox16/include/FXRbJPGImage.h +2 -2
  119. data/ext/fox16/include/FXRbKnob.h +2 -2
  120. data/ext/fox16/include/FXRbLabel.h +2 -2
  121. data/ext/fox16/include/FXRbList.h +2 -2
  122. data/ext/fox16/include/FXRbListBox.h +2 -2
  123. data/ext/fox16/include/FXRbListBoxVirtuals.h +0 -0
  124. data/ext/fox16/include/FXRbListItemVirtuals.h +0 -0
  125. data/ext/fox16/include/FXRbListVirtuals.h +0 -0
  126. data/ext/fox16/include/FXRbMDIButton.h +2 -2
  127. data/ext/fox16/include/FXRbMDIChild.h +2 -2
  128. data/ext/fox16/include/FXRbMDIChildVirtuals.h +0 -0
  129. data/ext/fox16/include/FXRbMDIClient.h +2 -2
  130. data/ext/fox16/include/FXRbMDIClientVirtuals.h +0 -0
  131. data/ext/fox16/include/FXRbMainWindow.h +2 -2
  132. data/ext/fox16/include/FXRbMatrix.h +2 -2
  133. data/ext/fox16/include/FXRbMenuBar.h +1 -1
  134. data/ext/fox16/include/FXRbMenuButton.h +2 -2
  135. data/ext/fox16/include/FXRbMenuCaption.h +2 -2
  136. data/ext/fox16/include/FXRbMenuCascade.h +2 -2
  137. data/ext/fox16/include/FXRbMenuCheck.h +1 -1
  138. data/ext/fox16/include/FXRbMenuCommand.h +2 -2
  139. data/ext/fox16/include/FXRbMenuPane.h +2 -2
  140. data/ext/fox16/include/FXRbMenuRadio.h +1 -1
  141. data/ext/fox16/include/FXRbMenuSeparator.h +2 -2
  142. data/ext/fox16/include/FXRbMenuTitle.h +2 -2
  143. data/ext/fox16/include/FXRbMessageBox.h +2 -2
  144. data/ext/fox16/include/FXRbObject.h +2 -2
  145. data/ext/fox16/include/FXRbObjectVirtuals.h +0 -0
  146. data/ext/fox16/include/FXRbOptionMenu.h +2 -2
  147. data/ext/fox16/include/FXRbPCXIcon.h +2 -2
  148. data/ext/fox16/include/FXRbPCXImage.h +2 -2
  149. data/ext/fox16/include/FXRbPNGIcon.h +2 -2
  150. data/ext/fox16/include/FXRbPNGImage.h +2 -2
  151. data/ext/fox16/include/FXRbPPMIcon.h +2 -2
  152. data/ext/fox16/include/FXRbPPMImage.h +2 -2
  153. data/ext/fox16/include/FXRbPacker.h +2 -2
  154. data/ext/fox16/include/FXRbPicker.h +2 -2
  155. data/ext/fox16/include/FXRbPopup.h +2 -2
  156. data/ext/fox16/include/FXRbPopupVirtuals.h +0 -0
  157. data/ext/fox16/include/FXRbPrintDialog.h +2 -2
  158. data/ext/fox16/include/FXRbProgressBar.h +2 -2
  159. data/ext/fox16/include/FXRbProgressDialog.h +2 -2
  160. data/ext/fox16/include/FXRbRGBIcon.h +2 -2
  161. data/ext/fox16/include/FXRbRGBImage.h +2 -2
  162. data/ext/fox16/include/FXRbRadioButton.h +2 -2
  163. data/ext/fox16/include/FXRbRealSlider.h +2 -2
  164. data/ext/fox16/include/FXRbRealSpinner.h +2 -2
  165. data/ext/fox16/include/FXRbRealSpinnerVirtuals.h +0 -0
  166. data/ext/fox16/include/FXRbRecentFiles.h +2 -2
  167. data/ext/fox16/include/FXRbRegistry.h +2 -2
  168. data/ext/fox16/include/FXRbReplaceDialog.h +2 -2
  169. data/ext/fox16/include/FXRbRootWindow.h +2 -2
  170. data/ext/fox16/include/FXRbRuler.h +1 -1
  171. data/ext/fox16/include/FXRbRulerView.h +1 -1
  172. data/ext/fox16/include/FXRbScintilla.h +2 -2
  173. data/ext/fox16/include/FXRbScrollArea.h +2 -2
  174. data/ext/fox16/include/FXRbScrollAreaVirtuals.h +0 -0
  175. data/ext/fox16/include/FXRbScrollBar.h +1 -1
  176. data/ext/fox16/include/FXRbScrollPane.h +2 -2
  177. data/ext/fox16/include/FXRbScrollWindow.h +2 -2
  178. data/ext/fox16/include/FXRbSearchDialog.h +2 -2
  179. data/ext/fox16/include/FXRbSeparator.h +2 -2
  180. data/ext/fox16/include/FXRbSettings.h +2 -2
  181. data/ext/fox16/include/FXRbShell.h +2 -2
  182. data/ext/fox16/include/FXRbShutter.h +2 -2
  183. data/ext/fox16/include/FXRbShutterVirtuals.h +0 -0
  184. data/ext/fox16/include/FXRbSlider.h +2 -2
  185. data/ext/fox16/include/FXRbSpinner.h +2 -2
  186. data/ext/fox16/include/FXRbSpinnerVirtuals.h +0 -0
  187. data/ext/fox16/include/FXRbSplashWindow.h +2 -2
  188. data/ext/fox16/include/FXRbSplitter.h +2 -2
  189. data/ext/fox16/include/FXRbSpring.h +2 -2
  190. data/ext/fox16/include/FXRbStatusBar.h +1 -1
  191. data/ext/fox16/include/FXRbStatusLine.h +1 -1
  192. data/ext/fox16/include/FXRbStream.h +2 -2
  193. data/ext/fox16/include/FXRbStreamVirtuals.h +0 -0
  194. data/ext/fox16/include/FXRbStringDict.h +2 -2
  195. data/ext/fox16/include/FXRbSwitcher.h +2 -2
  196. data/ext/fox16/include/FXRbTGAIcon.h +2 -2
  197. data/ext/fox16/include/FXRbTGAImage.h +2 -2
  198. data/ext/fox16/include/FXRbTIFIcon.h +2 -2
  199. data/ext/fox16/include/FXRbTIFImage.h +2 -2
  200. data/ext/fox16/include/FXRbTabBar.h +2 -2
  201. data/ext/fox16/include/FXRbTabBarVirtuals.h +0 -0
  202. data/ext/fox16/include/FXRbTabBook.h +2 -2
  203. data/ext/fox16/include/FXRbTabItem.h +2 -2
  204. data/ext/fox16/include/FXRbTable.h +2 -2
  205. data/ext/fox16/include/FXRbTableItemVirtuals.h +0 -0
  206. data/ext/fox16/include/FXRbTableVirtuals.h +0 -0
  207. data/ext/fox16/include/FXRbText.h +2 -2
  208. data/ext/fox16/include/FXRbTextField.h +2 -2
  209. data/ext/fox16/include/FXRbTextVirtuals.h +0 -0
  210. data/ext/fox16/include/FXRbToggleButton.h +2 -2
  211. data/ext/fox16/include/FXRbToolBar.h +1 -1
  212. data/ext/fox16/include/FXRbToolBarGrip.h +1 -1
  213. data/ext/fox16/include/FXRbToolBarShell.h +1 -1
  214. data/ext/fox16/include/FXRbToolBarTab.h +1 -1
  215. data/ext/fox16/include/FXRbToolTip.h +1 -1
  216. data/ext/fox16/include/FXRbTopWindow.h +2 -2
  217. data/ext/fox16/include/FXRbTopWindowVirtuals.h +0 -0
  218. data/ext/fox16/include/FXRbTranslator.h +2 -2
  219. data/ext/fox16/include/FXRbTranslatorVirtuals.h +0 -0
  220. data/ext/fox16/include/FXRbTreeItemVirtuals.h +0 -0
  221. data/ext/fox16/include/FXRbTreeList.h +2 -2
  222. data/ext/fox16/include/FXRbTreeListBox.h +2 -2
  223. data/ext/fox16/include/FXRbTreeListBoxVirtuals.h +0 -0
  224. data/ext/fox16/include/FXRbTreeListVirtuals.h +0 -0
  225. data/ext/fox16/include/FXRbTriStateButton.h +2 -2
  226. data/ext/fox16/include/FXRbVerticalFrame.h +2 -2
  227. data/ext/fox16/include/FXRbVisual.h +2 -2
  228. data/ext/fox16/include/FXRbWindow.h +2 -2
  229. data/ext/fox16/include/FXRbWindowVirtuals.h +0 -0
  230. data/ext/fox16/include/FXRbWizard.h +1 -1
  231. data/ext/fox16/include/FXRbXBMIcon.h +2 -2
  232. data/ext/fox16/include/FXRbXBMImage.h +2 -2
  233. data/ext/fox16/include/FXRbXPMIcon.h +2 -2
  234. data/ext/fox16/include/FXRbXPMImage.h +2 -2
  235. data/ext/fox16/include/FXRuby.h +2 -2
  236. data/ext/fox16/include/impl.h +2 -2
  237. data/ext/fox16/make_impl.rb +121 -0
  238. data/ext/fox16/markfuncs.cpp +0 -0
  239. data/lib/fox16.rb +8 -0
  240. data/lib/fox16/bitmapview.rb +223 -0
  241. data/lib/fox16/scintilla.rb +103 -3
  242. data/lib/fox16/version.rb +1 -5
  243. data/rdoc-sources/Makefile +23 -0
  244. data/scripts/build-fox.rb +31 -0
  245. data/scripts/generate_kwargs_lib.rb +414 -0
  246. data/scripts/iface.rb +391 -0
  247. data/swig-interfaces/FX4Splitter.i +149 -0
  248. data/swig-interfaces/FX7Segment.i +141 -0
  249. data/swig-interfaces/FXAccelTable.i +100 -0
  250. data/swig-interfaces/FXApp.i +735 -0
  251. data/swig-interfaces/FXArrowButton.i +136 -0
  252. data/swig-interfaces/FXBMPIcon.i +88 -0
  253. data/swig-interfaces/FXBMPImage.i +54 -0
  254. data/swig-interfaces/FXBitmap.i +90 -0
  255. data/swig-interfaces/FXBitmapFrame.i +72 -0
  256. data/swig-interfaces/FXBitmapView.i +94 -0
  257. data/swig-interfaces/FXButton.i +130 -0
  258. data/swig-interfaces/FXCURCursor.i +49 -0
  259. data/swig-interfaces/FXCanvas.i +61 -0
  260. data/swig-interfaces/FXCheckButton.i +108 -0
  261. data/swig-interfaces/FXChoiceBox.i +91 -0
  262. data/swig-interfaces/FXColorBar.i +110 -0
  263. data/swig-interfaces/FXColorDialog.i +79 -0
  264. data/swig-interfaces/FXColorList.i +99 -0
  265. data/swig-interfaces/FXColorRing.i +148 -0
  266. data/swig-interfaces/FXColorSelector.i +157 -0
  267. data/swig-interfaces/FXColorWell.i +133 -0
  268. data/swig-interfaces/FXColorWheel.i +108 -0
  269. data/swig-interfaces/FXComboBox.i +280 -0
  270. data/swig-interfaces/FXComposeContext.i +66 -0
  271. data/swig-interfaces/FXComposite.i +103 -0
  272. data/swig-interfaces/FXCursor.i +120 -0
  273. data/swig-interfaces/FXDC.i +280 -0
  274. data/swig-interfaces/FXDCPrint.i +141 -0
  275. data/swig-interfaces/FXDCWindow.i +75 -0
  276. data/swig-interfaces/FXDataTarget.i +115 -0
  277. data/swig-interfaces/FXDebugTarget.i +60 -0
  278. data/swig-interfaces/FXDelegator.i +56 -0
  279. data/swig-interfaces/FXDial.i +168 -0
  280. data/swig-interfaces/FXDialogBox.i +131 -0
  281. data/swig-interfaces/FXDict.i +200 -0
  282. data/swig-interfaces/FXDirBox.i +68 -0
  283. data/swig-interfaces/FXDirDialog.i +97 -0
  284. data/swig-interfaces/FXDirList.i +274 -0
  285. data/swig-interfaces/FXDirSelector.i +142 -0
  286. data/swig-interfaces/FXDockBar.i +180 -0
  287. data/swig-interfaces/FXDockHandler.i +94 -0
  288. data/swig-interfaces/FXDockSite.i +91 -0
  289. data/swig-interfaces/FXDockTitle.i +91 -0
  290. data/swig-interfaces/FXDocument.i +70 -0
  291. data/swig-interfaces/FXDragCorner.i +72 -0
  292. data/swig-interfaces/FXDrawable.i +90 -0
  293. data/swig-interfaces/FXDriveBox.i +63 -0
  294. data/swig-interfaces/FXExtentd.i +131 -0
  295. data/swig-interfaces/FXExtentf.i +131 -0
  296. data/swig-interfaces/FXFileDialog.i +268 -0
  297. data/swig-interfaces/FXFileDict.i +121 -0
  298. data/swig-interfaces/FXFileList.i +345 -0
  299. data/swig-interfaces/FXFileSelector.i +347 -0
  300. data/swig-interfaces/FXFileStream.i +49 -0
  301. data/swig-interfaces/FXFoldingList.i +556 -0
  302. data/swig-interfaces/FXFont.i +333 -0
  303. data/swig-interfaces/FXFontDialog.i +63 -0
  304. data/swig-interfaces/FXFontSelector.i +127 -0
  305. data/swig-interfaces/FXFrame.i +245 -0
  306. data/swig-interfaces/FXGIFCursor.i +86 -0
  307. data/swig-interfaces/FXGIFIcon.i +54 -0
  308. data/swig-interfaces/FXGIFImage.i +54 -0
  309. data/swig-interfaces/FXGLCanvas.i +90 -0
  310. data/swig-interfaces/FXGLContext.i +85 -0
  311. data/swig-interfaces/FXGLObject.i +70 -0
  312. data/swig-interfaces/FXGLShape.i +152 -0
  313. data/swig-interfaces/FXGLViewer.i +691 -0
  314. data/swig-interfaces/FXGLVisual.i +136 -0
  315. data/swig-interfaces/FXGradientBar.i +310 -0
  316. data/swig-interfaces/FXGroupBox.i +94 -0
  317. data/swig-interfaces/FXHeader.i +432 -0
  318. data/swig-interfaces/FXHorizontalFrame.i +60 -0
  319. data/swig-interfaces/FXICOIcon.i +92 -0
  320. data/swig-interfaces/FXICOImage.i +54 -0
  321. data/swig-interfaces/FXIcon.i +128 -0
  322. data/swig-interfaces/FXIconDict.i +90 -0
  323. data/swig-interfaces/FXIconList.i +596 -0
  324. data/swig-interfaces/FXIconSource.i +55 -0
  325. data/swig-interfaces/FXId.i +103 -0
  326. data/swig-interfaces/FXImage.i +197 -0
  327. data/swig-interfaces/FXImageFrame.i +66 -0
  328. data/swig-interfaces/FXImageView.i +88 -0
  329. data/swig-interfaces/FXInputDialog.i +180 -0
  330. data/swig-interfaces/FXJPGIcon.i +101 -0
  331. data/swig-interfaces/FXJPGImage.i +67 -0
  332. data/swig-interfaces/FXKnob.i +182 -0
  333. data/swig-interfaces/FXLabel.i +199 -0
  334. data/swig-interfaces/FXList.i +476 -0
  335. data/swig-interfaces/FXListBox.i +234 -0
  336. data/swig-interfaces/FXMDIButton.i +173 -0
  337. data/swig-interfaces/FXMDIChild.i +242 -0
  338. data/swig-interfaces/FXMDIClient.i +149 -0
  339. data/swig-interfaces/FXMainWindow.i +53 -0
  340. data/swig-interfaces/FXMat3d.i +102 -0
  341. data/swig-interfaces/FXMat3f.i +102 -0
  342. data/swig-interfaces/FXMat4d.i +122 -0
  343. data/swig-interfaces/FXMat4f.i +138 -0
  344. data/swig-interfaces/FXMatrix.i +101 -0
  345. data/swig-interfaces/FXMemoryBuffer.i +64 -0
  346. data/swig-interfaces/FXMemoryStream.i +73 -0
  347. data/swig-interfaces/FXMenuBar.i +67 -0
  348. data/swig-interfaces/FXMenuButton.i +152 -0
  349. data/swig-interfaces/FXMenuCaption.i +176 -0
  350. data/swig-interfaces/FXMenuCascade.i +76 -0
  351. data/swig-interfaces/FXMenuCheck.i +90 -0
  352. data/swig-interfaces/FXMenuCommand.i +69 -0
  353. data/swig-interfaces/FXMenuPane.i +60 -0
  354. data/swig-interfaces/FXMenuRadio.i +93 -0
  355. data/swig-interfaces/FXMenuSeparator.i +65 -0
  356. data/swig-interfaces/FXMenuTitle.i +74 -0
  357. data/swig-interfaces/FXMessageBox.i +128 -0
  358. data/swig-interfaces/FXObject.i +169 -0
  359. data/swig-interfaces/FXOptionMenu.i +140 -0
  360. data/swig-interfaces/FXPCXIcon.i +91 -0
  361. data/swig-interfaces/FXPCXImage.i +55 -0
  362. data/swig-interfaces/FXPNGIcon.i +95 -0
  363. data/swig-interfaces/FXPNGImage.i +59 -0
  364. data/swig-interfaces/FXPPMIcon.i +91 -0
  365. data/swig-interfaces/FXPPMImage.i +55 -0
  366. data/swig-interfaces/FXPacker.i +255 -0
  367. data/swig-interfaces/FXPicker.i +54 -0
  368. data/swig-interfaces/FXPoint.i +52 -0
  369. data/swig-interfaces/FXPopup.i +162 -0
  370. data/swig-interfaces/FXPrintDialog.i +154 -0
  371. data/swig-interfaces/FXProgressBar.i +133 -0
  372. data/swig-interfaces/FXProgressDialog.i +105 -0
  373. data/swig-interfaces/FXQuatd.i +128 -0
  374. data/swig-interfaces/FXQuatf.i +122 -0
  375. data/swig-interfaces/FXRGBIcon.i +90 -0
  376. data/swig-interfaces/FXRGBImage.i +56 -0
  377. data/swig-interfaces/FXRadioButton.i +117 -0
  378. data/swig-interfaces/FXRanged.i +163 -0
  379. data/swig-interfaces/FXRangef.i +172 -0
  380. data/swig-interfaces/FXRealSlider.i +166 -0
  381. data/swig-interfaces/FXRealSpinner.i +215 -0
  382. data/swig-interfaces/FXRecentFiles.i +119 -0
  383. data/swig-interfaces/FXRectangle.i +104 -0
  384. data/swig-interfaces/FXRegion.i +88 -0
  385. data/swig-interfaces/FXRegistry.i +96 -0
  386. data/swig-interfaces/FXReplaceDialog.i +131 -0
  387. data/swig-interfaces/FXRootWindow.i +50 -0
  388. data/swig-interfaces/FXRuler.i +245 -0
  389. data/swig-interfaces/FXRulerView.i +233 -0
  390. data/swig-interfaces/FXScintilla.i +192 -0
  391. data/swig-interfaces/FXScrollArea.i +211 -0
  392. data/swig-interfaces/FXScrollBar.i +178 -0
  393. data/swig-interfaces/FXScrollPane.i +83 -0
  394. data/swig-interfaces/FXScrollWindow.i +67 -0
  395. data/swig-interfaces/FXSearchDialog.i +48 -0
  396. data/swig-interfaces/FXSeparator.i +138 -0
  397. data/swig-interfaces/FXSettings.i +160 -0
  398. data/swig-interfaces/FXShell.i +91 -0
  399. data/swig-interfaces/FXShutter.i +140 -0
  400. data/swig-interfaces/FXSize.i +71 -0
  401. data/swig-interfaces/FXSlider.i +181 -0
  402. data/swig-interfaces/FXSphered.i +126 -0
  403. data/swig-interfaces/FXSpheref.i +126 -0
  404. data/swig-interfaces/FXSpinner.i +212 -0
  405. data/swig-interfaces/FXSplashWindow.i +82 -0
  406. data/swig-interfaces/FXSplitter.i +123 -0
  407. data/swig-interfaces/FXSpring.i +79 -0
  408. data/swig-interfaces/FXStatusBar.i +68 -0
  409. data/swig-interfaces/FXStatusLine.i +100 -0
  410. data/swig-interfaces/FXStream.i +150 -0
  411. data/swig-interfaces/FXStringDict.i +61 -0
  412. data/swig-interfaces/FXSwitcher.i +110 -0
  413. data/swig-interfaces/FXTGAIcon.i +85 -0
  414. data/swig-interfaces/FXTGAImage.i +56 -0
  415. data/swig-interfaces/FXTIFIcon.i +73 -0
  416. data/swig-interfaces/FXTIFImage.i +93 -0
  417. data/swig-interfaces/FXTabBar.i +121 -0
  418. data/swig-interfaces/FXTabBook.i +70 -0
  419. data/swig-interfaces/FXTabItem.i +82 -0
  420. data/swig-interfaces/FXTable.i +861 -0
  421. data/swig-interfaces/FXText.i +763 -0
  422. data/swig-interfaces/FXTextField.i +290 -0
  423. data/swig-interfaces/FXToggleButton.i +136 -0
  424. data/swig-interfaces/FXToolBar.i +75 -0
  425. data/swig-interfaces/FXToolBarGrip.i +82 -0
  426. data/swig-interfaces/FXToolBarShell.i +98 -0
  427. data/swig-interfaces/FXToolBarTab.i +114 -0
  428. data/swig-interfaces/FXToolTip.i +93 -0
  429. data/swig-interfaces/FXTopWindow.i +263 -0
  430. data/swig-interfaces/FXTranslator.i +55 -0
  431. data/swig-interfaces/FXTreeList.i +549 -0
  432. data/swig-interfaces/FXTreeListBox.i +317 -0
  433. data/swig-interfaces/FXTriStateButton.i +77 -0
  434. data/swig-interfaces/FXURL.i +35 -0
  435. data/swig-interfaces/FXVec2d.i +87 -0
  436. data/swig-interfaces/FXVec2f.i +87 -0
  437. data/swig-interfaces/FXVec3d.i +111 -0
  438. data/swig-interfaces/FXVec3f.i +109 -0
  439. data/swig-interfaces/FXVec4d.i +115 -0
  440. data/swig-interfaces/FXVec4f.i +115 -0
  441. data/swig-interfaces/FXVerticalFrame.i +69 -0
  442. data/swig-interfaces/FXVisual.i +162 -0
  443. data/swig-interfaces/FXWindow.i +851 -0
  444. data/swig-interfaces/FXWizard.i +125 -0
  445. data/swig-interfaces/FXXBMIcon.i +56 -0
  446. data/swig-interfaces/FXXBMImage.i +118 -0
  447. data/swig-interfaces/FXXPMIcon.i +122 -0
  448. data/swig-interfaces/FXXPMImage.i +56 -0
  449. data/swig-interfaces/README +17 -0
  450. data/swig-interfaces/common.i +48 -0
  451. data/swig-interfaces/core.i +85 -0
  452. data/swig-interfaces/dcmodule.i +36 -0
  453. data/swig-interfaces/dialogs.i +49 -0
  454. data/swig-interfaces/exceptions.i +249 -0
  455. data/swig-interfaces/framesmodule.i +54 -0
  456. data/swig-interfaces/freefuncs.i +93 -0
  457. data/swig-interfaces/fx3d.i +60 -0
  458. data/swig-interfaces/fxdefs.i +419 -0
  459. data/swig-interfaces/handlers.i +615 -0
  460. data/swig-interfaces/iconlistmodule.i +37 -0
  461. data/swig-interfaces/icons.i +48 -0
  462. data/swig-interfaces/ignore-message-handlers.rb +16 -0
  463. data/swig-interfaces/image.i +49 -0
  464. data/swig-interfaces/labelmodule.i +47 -0
  465. data/swig-interfaces/layout.i +47 -0
  466. data/swig-interfaces/listmodule.i +37 -0
  467. data/swig-interfaces/macros.i +1326 -0
  468. data/swig-interfaces/markfuncs.i +210 -0
  469. data/swig-interfaces/mdi.i +38 -0
  470. data/swig-interfaces/menumodule.i +44 -0
  471. data/swig-interfaces/ruby-typemaps.i +772 -0
  472. data/swig-interfaces/scintilla.i +57 -0
  473. data/swig-interfaces/table-module.i +36 -0
  474. data/swig-interfaces/text-module.i +36 -0
  475. data/swig-interfaces/treelist-module.i +37 -0
  476. data/swig-interfaces/ui.i +63 -0
  477. data/{tests → test}/README +0 -0
  478. data/{tests → test}/TC_FXAccelTable.rb +0 -0
  479. data/{tests → test}/TC_FXApp.rb +0 -0
  480. data/{tests → test}/TC_FXArc.rb +0 -0
  481. data/{tests → test}/TC_FXBMPIcon.rb +0 -0
  482. data/{tests → test}/TC_FXBMPImage.rb +0 -0
  483. data/{tests → test}/TC_FXButton.rb +0 -0
  484. data/{tests → test}/TC_FXCheckButton.rb +0 -0
  485. data/{tests → test}/TC_FXComboBox.rb +0 -0
  486. data/{tests → test}/TC_FXDC.rb +0 -0
  487. data/{tests → test}/TC_FXDCPrint.rb +0 -0
  488. data/{tests → test}/TC_FXDCWindow.rb +0 -0
  489. data/{tests → test}/TC_FXDataTarget.rb +0 -0
  490. data/{tests → test}/TC_FXDialogBox.rb +0 -0
  491. data/{tests → test}/TC_FXDirList.rb +0 -0
  492. data/{tests → test}/TC_FXExtentd.rb +0 -0
  493. data/{tests → test}/TC_FXExtentf.rb +0 -0
  494. data/{tests → test}/TC_FXFileAssoc.rb +0 -0
  495. data/{tests → test}/TC_FXFileStream.rb +0 -0
  496. data/{tests → test}/TC_FXFoldingList.rb +0 -0
  497. data/{tests → test}/TC_FXFont.rb +0 -0
  498. data/{tests → test}/TC_FXFontDesc.rb +0 -0
  499. data/{tests → test}/TC_FXGLGroup.rb +0 -0
  500. data/{tests → test}/TC_FXGLShape.rb +0 -0
  501. data/{tests → test}/TC_FXGLViewer.rb +0 -0
  502. data/{tests → test}/TC_FXGradientBar.rb +0 -0
  503. data/{tests → test}/TC_FXHeader.rb +0 -0
  504. data/{tests → test}/TC_FXHiliteStyle.rb +0 -0
  505. data/{tests → test}/TC_FXIconDict.rb +0 -0
  506. data/{tests → test}/TC_FXIconList.rb +0 -0
  507. data/{tests → test}/TC_FXId.rb +0 -0
  508. data/{tests → test}/TC_FXImage.rb +0 -0
  509. data/{tests → test}/TC_FXLight.rb +0 -0
  510. data/{tests → test}/TC_FXList.rb +0 -0
  511. data/{tests → test}/TC_FXListBox.rb +0 -0
  512. data/{tests → test}/TC_FXMainWindow.rb +0 -0
  513. data/{tests → test}/TC_FXMat4f.rb +0 -0
  514. data/{tests → test}/TC_FXMaterial.rb +0 -0
  515. data/{tests → test}/TC_FXMemoryStream.rb +0 -0
  516. data/{tests → test}/TC_FXMenuCheck.rb +0 -0
  517. data/{tests → test}/TC_FXMenuCommand.rb +0 -0
  518. data/{tests → test}/TC_FXMenuRadio.rb +0 -0
  519. data/{tests → test}/TC_FXMessageBox.rb +0 -0
  520. data/{tests → test}/TC_FXPoint.rb +0 -0
  521. data/{tests → test}/TC_FXQuatf.rb +0 -0
  522. data/{tests → test}/TC_FXRadioButton.rb +0 -0
  523. data/{tests → test}/TC_FXRanged.rb +0 -0
  524. data/{tests → test}/TC_FXRangef.rb +0 -0
  525. data/{tests → test}/TC_FXRectangle.rb +0 -0
  526. data/{tests → test}/TC_FXRegion.rb +0 -0
  527. data/{tests → test}/TC_FXRegistry.rb +0 -0
  528. data/{tests → test}/TC_FXScrollArea.rb +0 -0
  529. data/{tests → test}/TC_FXScrollWindow.rb +0 -0
  530. data/{tests → test}/TC_FXSegment.rb +0 -0
  531. data/{tests → test}/TC_FXSettings.rb +0 -0
  532. data/{tests → test}/TC_FXShell.rb +0 -0
  533. data/{tests → test}/TC_FXSize.rb +0 -0
  534. data/{tests → test}/TC_FXStream.rb +0 -0
  535. data/{tests → test}/TC_FXTable.rb +0 -0
  536. data/{tests → test}/TC_FXTableItem.rb +0 -0
  537. data/{tests → test}/TC_FXText.rb +0 -0
  538. data/{tests → test}/TC_FXTopWindow.rb +0 -0
  539. data/{tests → test}/TC_FXTreeList.rb +0 -0
  540. data/{tests → test}/TC_FXTreeListBox.rb +0 -0
  541. data/{tests → test}/TC_FXUndoList.rb +0 -0
  542. data/{tests → test}/TC_FXVec2d.rb +0 -0
  543. data/{tests → test}/TC_FXVec2f.rb +0 -0
  544. data/{tests → test}/TC_FXVec3d.rb +0 -0
  545. data/{tests → test}/TC_FXVec3f.rb +0 -0
  546. data/{tests → test}/TC_FXVec4f.rb +0 -0
  547. data/{tests → test}/TC_FXViewport.rb +0 -0
  548. data/{tests → test}/TC_FXXBMIcon.rb +0 -0
  549. data/{tests → test}/TC_FXXBMImage.rb +0 -0
  550. data/{tests → test}/TC_FXXPMIcon.rb +0 -0
  551. data/{tests → test}/TC_FXXPMImage.rb +0 -0
  552. data/{tests → test}/TC_Misc.rb +0 -0
  553. data/{tests → test}/TC_downcast.rb +0 -0
  554. data/{tests → test}/TS_All.rb +0 -0
  555. data/{tests → test}/blankpage.ps +0 -0
  556. data/{tests → test}/howdypage.ps +0 -0
  557. data/{tests → test}/stress1.rb +0 -0
  558. data/{tests → test}/stress2.rb +0 -0
  559. data/{tests → test}/stress3.rb +0 -0
  560. data/{tests → test}/testcase.rb +0 -0
  561. metadata +718 -458
  562. data/doc/apes02.html +0 -21
  563. data/doc/apes03.html +0 -39
  564. data/doc/book.html +0 -3
  565. data/doc/build.html +0 -132
  566. data/doc/ch03s02.html +0 -23
  567. data/doc/ch03s03.html +0 -52
  568. data/doc/ch03s04.html +0 -36
  569. data/doc/ch03s05.html +0 -60
  570. data/doc/ch04s02.html +0 -71
  571. data/doc/ch04s03.html +0 -37
  572. data/doc/ch04s04.html +0 -72
  573. data/doc/ch05s02.html +0 -260
  574. data/doc/ch05s03.html +0 -127
  575. data/doc/changes.html +0 -777
  576. data/doc/clipboardtut.html +0 -67
  577. data/doc/differences.html +0 -190
  578. data/doc/dragdroptut.html +0 -263
  579. data/doc/events.html +0 -36
  580. data/doc/examples.html +0 -104
  581. data/doc/gems.html +0 -73
  582. data/doc/goals.html +0 -41
  583. data/doc/images/babelfish.png +0 -0
  584. data/doc/images/browser.png +0 -0
  585. data/doc/images/button.png +0 -0
  586. data/doc/images/call-chain-example.png +0 -0
  587. data/doc/images/colordialog.png +0 -0
  588. data/doc/images/datatarget.png +0 -0
  589. data/doc/images/dialog.png +0 -0
  590. data/doc/images/dilbert.png +0 -0
  591. data/doc/images/dirlist.png +0 -0
  592. data/doc/images/dropsite-droprejected.png +0 -0
  593. data/doc/images/foursplit.png +0 -0
  594. data/doc/images/gltest.png +0 -0
  595. data/doc/images/glviewer.png +0 -0
  596. data/doc/images/groupbox.png +0 -0
  597. data/doc/images/header.png +0 -0
  598. data/doc/images/hello-with-button.png +0 -0
  599. data/doc/images/hello-with-icon-1.png +0 -0
  600. data/doc/images/hello-with-icon-2.png +0 -0
  601. data/doc/images/hello-with-icon-3.png +0 -0
  602. data/doc/images/hello-with-tooltip.png +0 -0
  603. data/doc/images/hello-without-button.png +0 -0
  604. data/doc/images/hello.png +0 -0
  605. data/doc/images/hello2.png +0 -0
  606. data/doc/images/iconlist-bigicons.png +0 -0
  607. data/doc/images/iconlist-details.png +0 -0
  608. data/doc/images/image.png +0 -0
  609. data/doc/images/imageviewer.png +0 -0
  610. data/doc/images/inheritance.png +0 -0
  611. data/doc/images/mditest.png +0 -0
  612. data/doc/images/raabrowser.png +0 -0
  613. data/doc/images/scribble.png +0 -0
  614. data/doc/images/shutter.png +0 -0
  615. data/doc/images/splitter.png +0 -0
  616. data/doc/images/tabbook.png +0 -0
  617. data/doc/images/table.png +0 -0
  618. data/doc/images/tutorial1.png +0 -0
  619. data/doc/implementation.html +0 -16
  620. data/doc/infosources.html +0 -33
  621. data/doc/library.html +0 -30
  622. data/doc/opengl.html +0 -73
  623. data/doc/pt01.html +0 -3
  624. data/doc/pt02.html +0 -3
  625. data/doc/scintilla.html +0 -36
  626. data/doc/style.css +0 -247
  627. data/doc/subversion.html +0 -21
  628. data/doc/tutorial1.html +0 -90
  629. data/doc/unicode.html +0 -56
  630. data/web/community.html +0 -81
  631. data/web/documentation.html +0 -83
  632. data/web/downloads.html +0 -85
  633. data/web/index.html +0 -88
data/scripts/iface.rb ADDED
@@ -0,0 +1,391 @@
1
+ #! /usr/bin/env ruby
2
+
3
+ require "getoptlong"
4
+
5
+ ##
6
+ # IFace data stucture
7
+ #
8
+ class IFace
9
+ attr_accessor :cat
10
+
11
+ def initialize
12
+ @cat = []
13
+ changeCat(nil)
14
+ end
15
+
16
+ def changeCat(_name)
17
+ @currentCat = IFaceCat.new(_name)
18
+ @cat << @currentCat
19
+ end
20
+
21
+ def addEmpty
22
+ @currentCat.addEntry(IFaceEmpty.new)
23
+ end
24
+
25
+ def addComment(_text)
26
+ @currentCat.addEntry(IFaceComment.new(_text))
27
+ end
28
+
29
+ def addVal(_name, _code)
30
+ @currentCat.addEntry(IFaceVal.new(_name, _code))
31
+ end
32
+
33
+ def addFun(_name, _code, _return, _args)
34
+ @currentCat.addEntry(IFaceFun.new(_name, _code, _return, _args))
35
+ end
36
+
37
+ def addGet(_name, _code, _return, _args)
38
+ @currentCat.addEntry(IFaceGet.new(_name, _code, _return, _args))
39
+ end
40
+
41
+ def addSet(_name, _code, _return, _args)
42
+ @currentCat.addEntry(IFaceSet.new(_name, _code, _return, _args))
43
+ end
44
+
45
+ def addEvt(_name, _code, _return, _args)
46
+ @currentCat.addEntry(IFaceEvt.new(_name, _code, _return, _args))
47
+ end
48
+ end
49
+
50
+ class IFaceCat
51
+ attr_reader :name, :entries
52
+
53
+ def initialize(_name)
54
+ @name = _name
55
+ @entries = []
56
+ end
57
+
58
+ def addEntry(_entry)
59
+ @entries << _entry
60
+ end
61
+ end
62
+
63
+ class IFaceEmpty
64
+ def accept(visitor)
65
+ visitor.visitIFaceEmpty(self)
66
+ end
67
+ end
68
+
69
+ class IFaceComment
70
+ attr_reader :text
71
+
72
+ def initialize(_text)
73
+ @text = _text
74
+ end
75
+
76
+ def accept(visitor)
77
+ visitor.visitIFaceComment(self)
78
+ end
79
+ end
80
+
81
+ class IFaceVal
82
+ attr_reader :name, :code
83
+
84
+ def initialize(_name, _code)
85
+ @name = _name
86
+ @code = _code
87
+ end
88
+
89
+ def accept(visitor)
90
+ visitor.visitIFaceVal(self)
91
+ end
92
+ end
93
+
94
+ class IFaceFunArg
95
+ attr_reader :name, :type
96
+ def initialize(_name, _type)
97
+ @name = _name
98
+ @type = _type
99
+ end
100
+ end
101
+
102
+ class IFaceFun < IFaceVal
103
+ attr_reader :return, :args
104
+
105
+ def initialize(_name, _code, _return, _args)
106
+ super(_name, _code)
107
+ @return = _return
108
+ @args = []
109
+ _args.each do |arg|
110
+ @args << IFaceFunArg.new(arg[1], arg[0])
111
+ end
112
+ end
113
+
114
+ def accept(visitor)
115
+ visitor.visitIFaceFun(self)
116
+ end
117
+ end
118
+
119
+ class IFaceGet < IFaceFun
120
+ def initialize(_name, _code, _return, _args)
121
+ super
122
+ end
123
+
124
+ def accept(visitor)
125
+ visitor.visitIFaceGet(self)
126
+ end
127
+ end
128
+
129
+ class IFaceSet < IFaceFun
130
+ def initialize(_name, _code, _return, _args)
131
+ super
132
+ end
133
+
134
+ def accept(visitor)
135
+ visitor.visitIFaceSet(self)
136
+ end
137
+ end
138
+
139
+ class IFaceEvt < IFaceFun
140
+ def initialize(_name, _code, _return, _args)
141
+ super
142
+ end
143
+
144
+ def accept(visitor)
145
+ visitor.visitIFaceEvt(self)
146
+ end
147
+ end
148
+
149
+ ##
150
+ # IFace parser
151
+ #
152
+ class IFaceParser
153
+ def initialize(_input, _output)
154
+ @input = _input
155
+ @output = _output
156
+ @iface = IFace.new
157
+ end
158
+
159
+ def process
160
+ @input.each_line do |line|
161
+ case line
162
+ when /^##/
163
+ when /^$/
164
+ processEmpty
165
+ when /^#(.*)/
166
+ processComment $1
167
+ else
168
+ command, args = line.split(/\s+/, 2)
169
+ processCommand(command, args)
170
+ end
171
+ end
172
+ @iface
173
+ end
174
+
175
+ def processEmpty
176
+ @iface.addEmpty
177
+ end
178
+
179
+ def processComment(_comment)
180
+ @iface.addComment(_comment)
181
+ end
182
+
183
+ def processCommand(_cmd, _args)
184
+ unless _cmd.empty?
185
+ process = "process" + _cmd[0..0].upcase + _cmd[1..-1]
186
+ if respond_to?(process)
187
+ method(process).call(_args)
188
+ else
189
+ puts "*** Unknown cmd: #{_cmd} #{_args}"
190
+ end
191
+ end
192
+ end
193
+
194
+ def processCat(_cat)
195
+ @iface.changeCat(_cat)
196
+ end
197
+
198
+ def processVal(_val)
199
+ name, value = _val.split(/\s*=\s*/)
200
+ @iface.addVal(name, value)
201
+ end
202
+
203
+ def parseFun(_fun)
204
+ returnType, _fun = _fun.split(/\s+/, 2)
205
+ name, _fun = _fun.split(/\s*=\s*/, 2)
206
+ _fun =~ /(\d+)\s*\((.*)\)/
207
+ code = $1
208
+ _fun = $2.split(/\s*,\s*/, -1)
209
+ args = _fun.collect do |arg|
210
+ argType, argName = arg.split
211
+ argType, argName = nil, nil if argName == ""
212
+ [argType, argName]
213
+ end
214
+ [name, code, returnType, args]
215
+ end
216
+
217
+ def processFun(_fun)
218
+ name, code, returnType, args = parseFun(_fun)
219
+ @iface.addFun(name, code, returnType, args)
220
+ end
221
+
222
+ def processGet(_fun)
223
+ name, code, returnType, args = parseFun(_fun)
224
+ @iface.addGet(name, code, returnType, args)
225
+ end
226
+
227
+ def processSet(_fun)
228
+ name, code, returnType, args = parseFun(_fun)
229
+ @iface.addSet(name, code, returnType, args)
230
+ end
231
+
232
+ def processEvt(_fun)
233
+ name, code, returnType, args = parseFun(_fun)
234
+ @iface.addEvt(name, code, returnType, args)
235
+ end
236
+
237
+ def processEnu(_enu)
238
+ end
239
+
240
+ def processLex(_lex)
241
+ end
242
+ end
243
+
244
+ ##
245
+ # Code to generate Scintilla.rb from an IFace data structure
246
+ #
247
+ class ScintillaIFaceToRuby
248
+ def initialize(_iface, _output)
249
+ @iface = _iface
250
+ @output = _output
251
+ @reserved = Hash["end", "last", "setFocus", "setFocusFlag"]
252
+ end
253
+
254
+ def generateHeader
255
+ @output.puts("# This file is automatically generated from Scintilla.iface")
256
+ @output.puts("# DO NOT MODIFY")
257
+ @output.puts
258
+ end
259
+
260
+ def generate
261
+ generateHeader
262
+ @output.puts("module Fox")
263
+ @output.puts(" class FXScintilla")
264
+ @iface.cat.each do |cat|
265
+ @output.puts(" # #{cat.name}")
266
+ cat.entries.each do |entry|
267
+ entry.accept(self)
268
+ end
269
+ end
270
+ @output.puts(" end")
271
+ @output.puts("end")
272
+ end
273
+
274
+ def visitIFaceEmpty(_empty)
275
+ @output.puts
276
+ end
277
+
278
+ def visitIFaceComment(_comment)
279
+ @output.puts(" ##{_comment.text}")
280
+ end
281
+
282
+ def visitIFaceVal(_val)
283
+ return if _val.name == "KeyMod"
284
+ return if _val.name == "Lexer"
285
+ @output.puts(" #{name(_val.name)} = #{_val.code}")
286
+ end
287
+
288
+ def visitIFaceFun(_fun)
289
+ stringresult = _fun.args[1].type == "stringresult" and _fun.return == "int"
290
+ stringresult1 = (stringresult and _fun.args[0].name == nil)
291
+
292
+ name = name(_fun.name[0..0].downcase + _fun.name[1..-1])
293
+ @output.print(" def #{name}")
294
+ args = _fun.args.collect do |arg|
295
+ if stringresult and arg.type == "stringresult"
296
+ nil
297
+ else
298
+ name(arg.name)
299
+ end
300
+ end
301
+ args.compact!
302
+ @output.print("(#{args.join(', ')})") unless args.empty?
303
+ @output.puts
304
+
305
+ if stringresult and !stringresult1
306
+ @output.puts(" buffer = \"\".ljust(#{_fun.args[0].name})")
307
+ end
308
+
309
+ returnValue = "sendMessage(#{_fun.code}"
310
+ _fun.args.each do |arg|
311
+ if stringresult and !stringresult1 and arg.type == "stringresult"
312
+ returnValue += ", buffer"
313
+ else
314
+ returnValue += ", #{arg.name ? typeArg(arg.type, name(arg.name)) : 0}"
315
+ end
316
+ end
317
+ returnValue += ")"
318
+
319
+ if stringresult and !stringresult1
320
+ @output.puts(" #{returnValue}")
321
+ @output.puts(" buffer")
322
+ else
323
+ @output.puts(" #{typeRet(_fun.return, returnValue)}")
324
+ end
325
+ @output.puts(" end")
326
+ end
327
+
328
+ def visitIFaceGet(_get)
329
+ visitIFaceFun(_get)
330
+ end
331
+
332
+ def visitIFaceSet(_set)
333
+ visitIFaceFun(_set)
334
+ end
335
+
336
+ def visitIFaceEvt(_evt)
337
+ name = "SCN_" + _evt.name.upcase
338
+ @output.puts(" #{name} = #{_evt.code}")
339
+ end
340
+
341
+ def typeArg(_type, _value)
342
+ case _type
343
+ when "colour"
344
+ "#{_value} & 0xffffff"
345
+ else
346
+ _value
347
+ end
348
+ end
349
+
350
+ def typeRet(_type, _value)
351
+ case _type
352
+ when "bool"
353
+ "#{_value} == 1 ? true : false"
354
+ else
355
+ _value
356
+ end
357
+ end
358
+
359
+ def name(_name)
360
+ name = @reserved[_name]
361
+ name ? name : _name
362
+ end
363
+ end
364
+
365
+ def main
366
+ options = GetoptLong.new(["-i", GetoptLong::REQUIRED_ARGUMENT],
367
+ ["-o", GetoptLong::REQUIRED_ARGUMENT])
368
+
369
+ input = output = nil
370
+ options.each do |opt, arg|
371
+ case opt
372
+ when "-i"
373
+ input = File.open(arg, File::RDONLY)
374
+ when "-o"
375
+ output = File.open(arg, File::CREAT|File::WRONLY|File::TRUNC)
376
+ end
377
+ end
378
+ input = $stdin unless input
379
+ output = $stdout unless output
380
+
381
+ parser = IFaceParser.new(input, output)
382
+ iface = parser.process
383
+
384
+ gen = ScintillaIFaceToRuby.new(iface, output)
385
+ gen.generate
386
+ ensure
387
+ input.close
388
+ output.close
389
+ end
390
+
391
+ main
@@ -0,0 +1,149 @@
1
+ /***********************************************************************
2
+ * FXRuby -- the Ruby language bindings for the FOX GUI toolkit.
3
+ * Copyright (c) 2001-2009 by Lyle Johnson. All Rights Reserved.
4
+ *
5
+ * This library is free software; you can redistribute it and/or
6
+ * modify it under the terms of the GNU Lesser General Public
7
+ * License as published by the Free Software Foundation; either
8
+ * version 2.1 of the License, or (at your option) any later version.
9
+ *
10
+ * This library is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ * Lesser General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Lesser General Public
16
+ * License along with this library; if not, write to the Free Software
17
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
+ *
19
+ * For further information please contact the author by e-mail
20
+ * at "lyle@lylejohnson.name".
21
+ ***********************************************************************/
22
+
23
+ // Splitter options
24
+ enum {
25
+ FOURSPLITTER_TRACKING = 0x00008000, // Track continuously during split
26
+ FOURSPLITTER_NORMAL = 0
27
+ };
28
+
29
+
30
+ /**
31
+ * The Four-way splitter is a layout manager which manages
32
+ * four children like four panes in a window.
33
+ * You can use a four-way splitter for example in a CAD program
34
+ * where you may want to maintain three orthographic views, and
35
+ * one oblique view of a model.
36
+ * The four-way splitter allows interactive repartitioning of the
37
+ * panes by means of moving the central splitter bars.
38
+ * When the four-way splitter is itself resized, each child is
39
+ * proportionally resized, maintaining the same split-percentage.
40
+ */
41
+ class FX4Splitter : public FXComposite {
42
+ protected:
43
+ FX4Splitter();
44
+ FXuchar getMode(FXint x,FXint y);
45
+ void moveSplit(FXint x,FXint y);
46
+ void drawSplit(FXint x,FXint y);
47
+ void adjustLayout();
48
+ public:
49
+ long onLeftBtnPress(FXObject*,FXSelector,void* PTR_EVENT);
50
+ long onLeftBtnRelease(FXObject*,FXSelector,void* PTR_EVENT);
51
+ long onMotion(FXObject*,FXSelector,void* PTR_EVENT);
52
+ long onFocusUp(FXObject*,FXSelector,void* PTR_EVENT);
53
+ long onFocusDown(FXObject*,FXSelector,void* PTR_EVENT);
54
+ long onFocusLeft(FXObject*,FXSelector,void* PTR_EVENT);
55
+ long onFocusRight(FXObject*,FXSelector,void* PTR_EVENT);
56
+ long onCmdExpand(FXObject*,FXSelector,void*);
57
+ long onUpdExpand(FXObject*,FXSelector,void*);
58
+ public:
59
+ enum {
60
+ ExpandNone = 0, /// None expanded
61
+ ExpandTopLeft = 1, /// Expand top left child
62
+ ExpandTopRight = 2, /// Expand top right child
63
+ ExpandBottomLeft = 4, /// Expand bottom left child
64
+ ExpandBottomRight = 8, /// Expand bottom right child
65
+ ExpandTop = ExpandTopLeft|ExpandTopRight, /// Expand top children
66
+ ExpandBottom = ExpandBottomLeft|ExpandBottomRight, /// Expand bottom children
67
+ ExpandLeft = ExpandTopLeft|ExpandBottomLeft, /// Expand left children
68
+ ExpandRight = ExpandTopRight|ExpandBottomRight, /// Expand right children
69
+ ExpandAll = ExpandLeft|ExpandRight /// Expand all children
70
+ };
71
+ public:
72
+ enum {
73
+ ID_EXPAND_NONE=FXComposite::ID_LAST+ExpandNone,
74
+ ID_EXPAND_TOP=ID_EXPAND_NONE+ExpandTop,
75
+ ID_EXPAND_BOTTOM=ID_EXPAND_NONE+ExpandBottom,
76
+ ID_EXPAND_LEFT=ID_EXPAND_NONE+ExpandLeft,
77
+ ID_EXPAND_RIGHT=ID_EXPAND_NONE+ExpandRight,
78
+ ID_EXPAND_TOPLEFT=ID_EXPAND_NONE+ExpandTopLeft,
79
+ ID_EXPAND_TOPRIGHT=ID_EXPAND_NONE+ExpandTopRight,
80
+ ID_EXPAND_BOTTOMLEFT=ID_EXPAND_NONE+ExpandBottomLeft,
81
+ ID_EXPAND_BOTTOMRIGHT=ID_EXPAND_NONE+ExpandBottomRight,
82
+ ID_EXPAND_ALL=ID_EXPAND_NONE+ExpandAll,
83
+ ID_LAST
84
+ };
85
+ public:
86
+
87
+ %extend {
88
+ /// Create 4-way splitter, initially shown as four unexpanded panes
89
+ FX4Splitter(FXComposite* p,FXuint opts=FOURSPLITTER_NORMAL,FXint x=0,FXint y=0,FXint w=0,FXint h=0){
90
+ return new FXRb4Splitter(p,opts,x,y,w,h);
91
+ }
92
+
93
+ /// Create 4-way splitter, initially shown as four unexpanded panes; notifies target about size changes
94
+ FX4Splitter(FXComposite* p,FXObject* tgt,FXSelector sel,FXuint opts=FOURSPLITTER_NORMAL,FXint x=0,FXint y=0,FXint w=0,FXint h=0){
95
+ return new FXRb4Splitter(p,tgt,sel,opts,x,y,w,h);
96
+ }
97
+ }
98
+
99
+ /// Get top left child, if any
100
+ FXWindow *getTopLeft() const;
101
+
102
+ /// Get top right child, if any
103
+ FXWindow *getTopRight() const;
104
+
105
+ /// Get bottom left child, if any
106
+ FXWindow *getBottomLeft() const;
107
+
108
+ /// Get bottom right child, if any
109
+ FXWindow *getBottomRight() const;
110
+
111
+ /// Get horizontal split fraction
112
+ FXint getHSplit() const;
113
+
114
+ /// Get vertical split fraction
115
+ FXint getVSplit() const;
116
+
117
+ /// Change horizontal split fraction
118
+ void setHSplit(FXint s);
119
+
120
+ /// Change vertical split fraction
121
+ void setVSplit(FXint s);
122
+
123
+ /// Return current splitter style
124
+ FXuint getSplitterStyle() const;
125
+
126
+ /// Change splitter style
127
+ void setSplitterStyle(FXuint style);
128
+
129
+ /// Change splitter bar width
130
+ void setBarSize(FXint bs);
131
+
132
+ /// Get splitter bar width
133
+ FXint getBarSize() const;
134
+
135
+ /// Change set of expanded children
136
+ void setExpanded(FXuint set=FX4Splitter::ExpandAll);
137
+
138
+ /// Get expanded child, or -1 if not expanded
139
+ FXuint getExpanded() const;
140
+
141
+ /// Destructor
142
+ virtual ~FX4Splitter();
143
+ };
144
+
145
+ DECLARE_FXOBJECT_VIRTUALS(FX4Splitter)
146
+ DECLARE_FXID_VIRTUALS(FX4Splitter)
147
+ DECLARE_FXDRAWABLE_VIRTUALS(FX4Splitter)
148
+ DECLARE_FXWINDOW_VIRTUALS(FX4Splitter)
149
+