fxruby 1.2.2

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 (692) hide show
  1. data/ANNOUNCE +25 -0
  2. data/ChangeLog +10606 -0
  3. data/INSTALL +50 -0
  4. data/LICENSE +456 -0
  5. data/README +39 -0
  6. data/doc/apes02.html +21 -0
  7. data/doc/apes03.html +39 -0
  8. data/doc/book.html +3 -0
  9. data/doc/build.html +144 -0
  10. data/doc/ch03s02.html +24 -0
  11. data/doc/ch03s03.html +53 -0
  12. data/doc/ch03s04.html +37 -0
  13. data/doc/ch03s05.html +61 -0
  14. data/doc/ch04s02.html +72 -0
  15. data/doc/ch04s03.html +37 -0
  16. data/doc/ch04s04.html +72 -0
  17. data/doc/ch05s02.html +262 -0
  18. data/doc/ch05s03.html +128 -0
  19. data/doc/changes.html +75 -0
  20. data/doc/clipboardtut.html +68 -0
  21. data/doc/cvs.html +35 -0
  22. data/doc/differences.html +11 -0
  23. data/doc/dragdroptut.html +266 -0
  24. data/doc/events.html +36 -0
  25. data/doc/examples.html +104 -0
  26. data/doc/gems.html +73 -0
  27. data/doc/goals.html +39 -0
  28. data/doc/images/babelfish.png +0 -0
  29. data/doc/images/browser.png +0 -0
  30. data/doc/images/button.png +0 -0
  31. data/doc/images/call-chain-example.png +0 -0
  32. data/doc/images/colordialog.png +0 -0
  33. data/doc/images/datatarget.png +0 -0
  34. data/doc/images/dialog.png +0 -0
  35. data/doc/images/dilbert.png +0 -0
  36. data/doc/images/dirlist.png +0 -0
  37. data/doc/images/dropsite-droprejected.png +0 -0
  38. data/doc/images/foursplit.png +0 -0
  39. data/doc/images/gltest.png +0 -0
  40. data/doc/images/glviewer.png +0 -0
  41. data/doc/images/groupbox.png +0 -0
  42. data/doc/images/header.png +0 -0
  43. data/doc/images/hello-with-button.png +0 -0
  44. data/doc/images/hello-with-icon-1.png +0 -0
  45. data/doc/images/hello-with-icon-2.png +0 -0
  46. data/doc/images/hello-with-icon-3.png +0 -0
  47. data/doc/images/hello-with-tooltip.png +0 -0
  48. data/doc/images/hello-without-button.png +0 -0
  49. data/doc/images/hello.png +0 -0
  50. data/doc/images/hello2.png +0 -0
  51. data/doc/images/iconlist-bigicons.png +0 -0
  52. data/doc/images/iconlist-details.png +0 -0
  53. data/doc/images/image.png +0 -0
  54. data/doc/images/imageviewer.png +0 -0
  55. data/doc/images/inheritance.png +0 -0
  56. data/doc/images/mditest.png +0 -0
  57. data/doc/images/raabrowser.png +0 -0
  58. data/doc/images/scribble.png +0 -0
  59. data/doc/images/shutter.png +0 -0
  60. data/doc/images/splitter.png +0 -0
  61. data/doc/images/tabbook.png +0 -0
  62. data/doc/images/table.png +0 -0
  63. data/doc/images/tutorial1.png +0 -0
  64. data/doc/implementation.html +16 -0
  65. data/doc/infosources.html +33 -0
  66. data/doc/library.html +30 -0
  67. data/doc/opengl.html +73 -0
  68. data/doc/pt01.html +3 -0
  69. data/doc/pt02.html +3 -0
  70. data/doc/scintilla.html +36 -0
  71. data/doc/todo.html +40 -0
  72. data/doc/tutorial1.html +97 -0
  73. data/examples/RAA.rb +25 -0
  74. data/examples/README +53 -0
  75. data/examples/babelfish.rb +107 -0
  76. data/examples/bounce.rb +159 -0
  77. data/examples/browser.rb +191 -0
  78. data/examples/button.rb +160 -0
  79. data/examples/datatarget.rb +223 -0
  80. data/examples/dctest.rb +702 -0
  81. data/examples/dialog.rb +148 -0
  82. data/examples/dilbert.rb +105 -0
  83. data/examples/dirlist.rb +63 -0
  84. data/examples/dragdrop.rb +101 -0
  85. data/examples/dragsource.rb +81 -0
  86. data/examples/dropsite.rb +61 -0
  87. data/examples/foursplit.rb +103 -0
  88. data/examples/gltest.rb +342 -0
  89. data/examples/glviewer.rb +579 -0
  90. data/examples/groupbox.rb +422 -0
  91. data/examples/header.rb +150 -0
  92. data/examples/hello.rb +12 -0
  93. data/examples/hello2.rb +51 -0
  94. data/examples/iRAA.rb +153 -0
  95. data/examples/iconlist.rb +104 -0
  96. data/examples/icons/AngryGuyInBunnySuit.ico +0 -0
  97. data/examples/icons/FatBot.ico +0 -0
  98. data/examples/icons/FlippedySwitch.ico +0 -0
  99. data/examples/icons/LeGoon.ico +0 -0
  100. data/examples/icons/Net.ico +0 -0
  101. data/examples/icons/RedMacOS.ico +0 -0
  102. data/examples/icons/SawBlade.ico +0 -0
  103. data/examples/icons/backview.png +0 -0
  104. data/examples/icons/big.png +0 -0
  105. data/examples/icons/bigfolder.png +0 -0
  106. data/examples/icons/bigpenguin.png +0 -0
  107. data/examples/icons/bottomview.png +0 -0
  108. data/examples/icons/camera.png +0 -0
  109. data/examples/icons/capbutt.png +0 -0
  110. data/examples/icons/capnotlast.png +0 -0
  111. data/examples/icons/capproj.png +0 -0
  112. data/examples/icons/capround.png +0 -0
  113. data/examples/icons/colorpal.png +0 -0
  114. data/examples/icons/copy.png +0 -0
  115. data/examples/icons/cut.png +0 -0
  116. data/examples/icons/delimit.png +0 -0
  117. data/examples/icons/dippy.png +0 -0
  118. data/examples/icons/double_dash.png +0 -0
  119. data/examples/icons/filenew.png +0 -0
  120. data/examples/icons/fileopen.png +0 -0
  121. data/examples/icons/filesave.png +0 -0
  122. data/examples/icons/filesaveas.png +0 -0
  123. data/examples/icons/fonts.png +0 -0
  124. data/examples/icons/fox.png +0 -0
  125. data/examples/icons/foxicon.png +0 -0
  126. data/examples/icons/frontview.png +0 -0
  127. data/examples/icons/gem_big.png +0 -0
  128. data/examples/icons/gem_small.png +0 -0
  129. data/examples/icons/hello2.png +0 -0
  130. data/examples/icons/help.png +0 -0
  131. data/examples/icons/indent.png +0 -0
  132. data/examples/icons/jbevel.png +0 -0
  133. data/examples/icons/jmiter.png +0 -0
  134. data/examples/icons/jround.png +0 -0
  135. data/examples/icons/kill.png +0 -0
  136. data/examples/icons/leftview.png +0 -0
  137. data/examples/icons/light.png +0 -0
  138. data/examples/icons/minidoc.png +0 -0
  139. data/examples/icons/minifolder.png +0 -0
  140. data/examples/icons/minifolderopen.png +0 -0
  141. data/examples/icons/newfolder.png +0 -0
  142. data/examples/icons/nolight.png +0 -0
  143. data/examples/icons/onoff_dash.png +0 -0
  144. data/examples/icons/palette.png +0 -0
  145. data/examples/icons/parallel.png +0 -0
  146. data/examples/icons/paste.png +0 -0
  147. data/examples/icons/pattern.png +0 -0
  148. data/examples/icons/penguin.png +0 -0
  149. data/examples/icons/perspective.png +0 -0
  150. data/examples/icons/printicon.png +0 -0
  151. data/examples/icons/prop.png +0 -0
  152. data/examples/icons/redo.png +0 -0
  153. data/examples/icons/rightview.png +0 -0
  154. data/examples/icons/saveas.png +0 -0
  155. data/examples/icons/shutter1.png +0 -0
  156. data/examples/icons/shutter2.png +0 -0
  157. data/examples/icons/small.png +0 -0
  158. data/examples/icons/smoothlight.png +0 -0
  159. data/examples/icons/solid_line.png +0 -0
  160. data/examples/icons/tbuplevel.png +0 -0
  161. data/examples/icons/topview.png +0 -0
  162. data/examples/icons/undo.png +0 -0
  163. data/examples/icons/winapp.png +0 -0
  164. data/examples/icons/zoom.png +0 -0
  165. data/examples/image.rb +281 -0
  166. data/examples/imageviewer.rb +513 -0
  167. data/examples/inputs.rb +84 -0
  168. data/examples/mditest.rb +180 -0
  169. data/examples/pig.rb +77 -0
  170. data/examples/raabrowser.rb +132 -0
  171. data/examples/scintilla-test.rb +81 -0
  172. data/examples/scribble-orig.rb +186 -0
  173. data/examples/scribble.rb +166 -0
  174. data/examples/shutter.rb +158 -0
  175. data/examples/splitter.rb +211 -0
  176. data/examples/styledtext.rb +92 -0
  177. data/examples/tabbook.rb +124 -0
  178. data/examples/table.rb +187 -0
  179. data/examples/textedit/commands.rb +117 -0
  180. data/examples/textedit/helpwindow.rb +295 -0
  181. data/examples/textedit/prefdialog.rb +235 -0
  182. data/examples/textedit/textedit.rb +1767 -0
  183. data/ext/fox12/FXRbApp.cpp +127 -0
  184. data/ext/fox12/FXRbDataTarget.cpp +106 -0
  185. data/ext/fox12/FXRbGLViewer.cpp +89 -0
  186. data/ext/fox12/FXRuby.cpp +1818 -0
  187. data/ext/fox12/MANIFEST +189 -0
  188. data/ext/fox12/core_wrap.cpp +10119 -0
  189. data/ext/fox12/dc_wrap.cpp +2638 -0
  190. data/ext/fox12/dialogs_wrap.cpp +6244 -0
  191. data/ext/fox12/extconf.rb +176 -0
  192. data/ext/fox12/frames_wrap.cpp +8274 -0
  193. data/ext/fox12/fx3d_wrap.cpp +9315 -0
  194. data/ext/fox12/iconlist_wrap.cpp +3742 -0
  195. data/ext/fox12/icons_wrap.cpp +4040 -0
  196. data/ext/fox12/image_wrap.cpp +4026 -0
  197. data/ext/fox12/impl.cpp +1064 -0
  198. data/ext/fox12/include/FXMemoryBuffer.h +52 -0
  199. data/ext/fox12/include/FXRb4Splitter.h +54 -0
  200. data/ext/fox12/include/FXRbAccelTable.h +46 -0
  201. data/ext/fox12/include/FXRbApp.h +137 -0
  202. data/ext/fox12/include/FXRbAppVirtuals.h +15 -0
  203. data/ext/fox12/include/FXRbArrowButton.h +51 -0
  204. data/ext/fox12/include/FXRbBMPIcon.h +54 -0
  205. data/ext/fox12/include/FXRbBMPImage.h +54 -0
  206. data/ext/fox12/include/FXRbBitmap.h +115 -0
  207. data/ext/fox12/include/FXRbBitmapFrame.h +56 -0
  208. data/ext/fox12/include/FXRbBitmapView.h +52 -0
  209. data/ext/fox12/include/FXRbBitmapVirtuals.h +27 -0
  210. data/ext/fox12/include/FXRbButton.h +51 -0
  211. data/ext/fox12/include/FXRbCURCursor.h +60 -0
  212. data/ext/fox12/include/FXRbCanvas.h +51 -0
  213. data/ext/fox12/include/FXRbCheckButton.h +51 -0
  214. data/ext/fox12/include/FXRbColorBar.h +51 -0
  215. data/ext/fox12/include/FXRbColorDialog.h +53 -0
  216. data/ext/fox12/include/FXRbColorSelector.h +51 -0
  217. data/ext/fox12/include/FXRbColorWell.h +51 -0
  218. data/ext/fox12/include/FXRbColorWheel.h +51 -0
  219. data/ext/fox12/include/FXRbComboBox.h +56 -0
  220. data/ext/fox12/include/FXRbCommon.h +86 -0
  221. data/ext/fox12/include/FXRbComposite.h +51 -0
  222. data/ext/fox12/include/FXRbCursor.h +87 -0
  223. data/ext/fox12/include/FXRbCursorVirtuals.h +6 -0
  224. data/ext/fox12/include/FXRbDC.h +385 -0
  225. data/ext/fox12/include/FXRbDCPrint.h +49 -0
  226. data/ext/fox12/include/FXRbDCVirtuals.h +166 -0
  227. data/ext/fox12/include/FXRbDCWindow.h +64 -0
  228. data/ext/fox12/include/FXRbDataTarget.h +65 -0
  229. data/ext/fox12/include/FXRbDebugTarget.h +46 -0
  230. data/ext/fox12/include/FXRbDelegator.h +46 -0
  231. data/ext/fox12/include/FXRbDial.h +51 -0
  232. data/ext/fox12/include/FXRbDialogBox.h +68 -0
  233. data/ext/fox12/include/FXRbDialogBoxVirtuals.h +3 -0
  234. data/ext/fox12/include/FXRbDict.h +46 -0
  235. data/ext/fox12/include/FXRbDirBox.h +51 -0
  236. data/ext/fox12/include/FXRbDirDialog.h +53 -0
  237. data/ext/fox12/include/FXRbDirList.h +79 -0
  238. data/ext/fox12/include/FXRbDirSelector.h +51 -0
  239. data/ext/fox12/include/FXRbDocument.h +46 -0
  240. data/ext/fox12/include/FXRbDragCorner.h +51 -0
  241. data/ext/fox12/include/FXRbDrawable.h +64 -0
  242. data/ext/fox12/include/FXRbDrawableVirtuals.h +3 -0
  243. data/ext/fox12/include/FXRbDriveBox.h +51 -0
  244. data/ext/fox12/include/FXRbFileDialog.h +56 -0
  245. data/ext/fox12/include/FXRbFileDict.h +104 -0
  246. data/ext/fox12/include/FXRbFileDictVirtuals.h +9 -0
  247. data/ext/fox12/include/FXRbFileList.h +81 -0
  248. data/ext/fox12/include/FXRbFileSelector.h +51 -0
  249. data/ext/fox12/include/FXRbFoldingItemVirtuals.h +45 -0
  250. data/ext/fox12/include/FXRbFoldingList.h +183 -0
  251. data/ext/fox12/include/FXRbFont.h +70 -0
  252. data/ext/fox12/include/FXRbFontDialog.h +53 -0
  253. data/ext/fox12/include/FXRbFontSelector.h +51 -0
  254. data/ext/fox12/include/FXRbFrame.h +51 -0
  255. data/ext/fox12/include/FXRbGIFCursor.h +60 -0
  256. data/ext/fox12/include/FXRbGIFIcon.h +54 -0
  257. data/ext/fox12/include/FXRbGIFImage.h +54 -0
  258. data/ext/fox12/include/FXRbGLCanvas.h +92 -0
  259. data/ext/fox12/include/FXRbGLCanvasVirtuals.h +13 -0
  260. data/ext/fox12/include/FXRbGLContext.h +58 -0
  261. data/ext/fox12/include/FXRbGLObject.h +103 -0
  262. data/ext/fox12/include/FXRbGLObjectVirtuals.h +22 -0
  263. data/ext/fox12/include/FXRbGLShape.h +81 -0
  264. data/ext/fox12/include/FXRbGLShapeVirtuals.h +8 -0
  265. data/ext/fox12/include/FXRbGLViewer.h +83 -0
  266. data/ext/fox12/include/FXRbGLViewerVirtuals.h +6 -0
  267. data/ext/fox12/include/FXRbGLVisual.h +56 -0
  268. data/ext/fox12/include/FXRbGradientBar.h +55 -0
  269. data/ext/fox12/include/FXRbGroupBox.h +51 -0
  270. data/ext/fox12/include/FXRbHeader.h +125 -0
  271. data/ext/fox12/include/FXRbHeaderItemVirtuals.h +22 -0
  272. data/ext/fox12/include/FXRbHorizontalFrame.h +51 -0
  273. data/ext/fox12/include/FXRbICOIcon.h +54 -0
  274. data/ext/fox12/include/FXRbICOImage.h +54 -0
  275. data/ext/fox12/include/FXRbIcon.h +57 -0
  276. data/ext/fox12/include/FXRbIconItemVirtuals.h +71 -0
  277. data/ext/fox12/include/FXRbIconList.h +266 -0
  278. data/ext/fox12/include/FXRbIconListVirtuals.h +21 -0
  279. data/ext/fox12/include/FXRbId.h +74 -0
  280. data/ext/fox12/include/FXRbIdVirtuals.h +9 -0
  281. data/ext/fox12/include/FXRbImage.h +162 -0
  282. data/ext/fox12/include/FXRbImageFrame.h +56 -0
  283. data/ext/fox12/include/FXRbImageView.h +52 -0
  284. data/ext/fox12/include/FXRbImageVirtuals.h +51 -0
  285. data/ext/fox12/include/FXRbInputDialog.h +53 -0
  286. data/ext/fox12/include/FXRbJPGIcon.h +54 -0
  287. data/ext/fox12/include/FXRbJPGImage.h +54 -0
  288. data/ext/fox12/include/FXRbLabel.h +51 -0
  289. data/ext/fox12/include/FXRbList.h +204 -0
  290. data/ext/fox12/include/FXRbListBox.h +56 -0
  291. data/ext/fox12/include/FXRbListItemVirtuals.h +36 -0
  292. data/ext/fox12/include/FXRbListVirtuals.h +18 -0
  293. data/ext/fox12/include/FXRbMDIButton.h +162 -0
  294. data/ext/fox12/include/FXRbMDIChild.h +82 -0
  295. data/ext/fox12/include/FXRbMDIChildVirtuals.h +12 -0
  296. data/ext/fox12/include/FXRbMDIClient.h +80 -0
  297. data/ext/fox12/include/FXRbMDIClientVirtuals.h +12 -0
  298. data/ext/fox12/include/FXRbMainWindow.h +54 -0
  299. data/ext/fox12/include/FXRbMatrix.h +51 -0
  300. data/ext/fox12/include/FXRbMenuBar.h +63 -0
  301. data/ext/fox12/include/FXRbMenuButton.h +51 -0
  302. data/ext/fox12/include/FXRbMenuCaption.h +51 -0
  303. data/ext/fox12/include/FXRbMenuCascade.h +51 -0
  304. data/ext/fox12/include/FXRbMenuCheck.h +49 -0
  305. data/ext/fox12/include/FXRbMenuCommand.h +49 -0
  306. data/ext/fox12/include/FXRbMenuPane.h +52 -0
  307. data/ext/fox12/include/FXRbMenuRadio.h +49 -0
  308. data/ext/fox12/include/FXRbMenuSeparator.h +51 -0
  309. data/ext/fox12/include/FXRbMenuTitle.h +51 -0
  310. data/ext/fox12/include/FXRbMessageBox.h +56 -0
  311. data/ext/fox12/include/FXRbObject.h +67 -0
  312. data/ext/fox12/include/FXRbObjectVirtuals.h +9 -0
  313. data/ext/fox12/include/FXRbOptionMenu.h +73 -0
  314. data/ext/fox12/include/FXRbPCXIcon.h +54 -0
  315. data/ext/fox12/include/FXRbPCXImage.h +54 -0
  316. data/ext/fox12/include/FXRbPNGIcon.h +54 -0
  317. data/ext/fox12/include/FXRbPNGImage.h +54 -0
  318. data/ext/fox12/include/FXRbPPMIcon.h +54 -0
  319. data/ext/fox12/include/FXRbPPMImage.h +54 -0
  320. data/ext/fox12/include/FXRbPacker.h +51 -0
  321. data/ext/fox12/include/FXRbPicker.h +51 -0
  322. data/ext/fox12/include/FXRbPopup.h +70 -0
  323. data/ext/fox12/include/FXRbPopupVirtuals.h +6 -0
  324. data/ext/fox12/include/FXRbPrintDialog.h +53 -0
  325. data/ext/fox12/include/FXRbProgressBar.h +51 -0
  326. data/ext/fox12/include/FXRbProgressDialog.h +53 -0
  327. data/ext/fox12/include/FXRbRGBIcon.h +54 -0
  328. data/ext/fox12/include/FXRbRGBImage.h +54 -0
  329. data/ext/fox12/include/FXRbRadioButton.h +51 -0
  330. data/ext/fox12/include/FXRbRealSlider.h +51 -0
  331. data/ext/fox12/include/FXRbRealSpinner.h +64 -0
  332. data/ext/fox12/include/FXRbRealSpinnerVirtuals.h +3 -0
  333. data/ext/fox12/include/FXRbRecentFiles.h +49 -0
  334. data/ext/fox12/include/FXRbRegistry.h +46 -0
  335. data/ext/fox12/include/FXRbReplaceDialog.h +53 -0
  336. data/ext/fox12/include/FXRbRootWindow.h +51 -0
  337. data/ext/fox12/include/FXRbRuler.h +56 -0
  338. data/ext/fox12/include/FXRbScintilla.h +52 -0
  339. data/ext/fox12/include/FXRbScrollArea.h +82 -0
  340. data/ext/fox12/include/FXRbScrollAreaVirtuals.h +13 -0
  341. data/ext/fox12/include/FXRbScrollBar.h +73 -0
  342. data/ext/fox12/include/FXRbScrollPane.h +52 -0
  343. data/ext/fox12/include/FXRbScrollWindow.h +52 -0
  344. data/ext/fox12/include/FXRbSearchDialog.h +53 -0
  345. data/ext/fox12/include/FXRbSeparator.h +95 -0
  346. data/ext/fox12/include/FXRbSettings.h +46 -0
  347. data/ext/fox12/include/FXRbShell.h +56 -0
  348. data/ext/fox12/include/FXRbShutter.h +86 -0
  349. data/ext/fox12/include/FXRbShutterVirtuals.h +3 -0
  350. data/ext/fox12/include/FXRbSlider.h +51 -0
  351. data/ext/fox12/include/FXRbSpinner.h +64 -0
  352. data/ext/fox12/include/FXRbSpinnerVirtuals.h +3 -0
  353. data/ext/fox12/include/FXRbSplitter.h +54 -0
  354. data/ext/fox12/include/FXRbSpring.h +51 -0
  355. data/ext/fox12/include/FXRbStatusBar.h +51 -0
  356. data/ext/fox12/include/FXRbStatusLine.h +51 -0
  357. data/ext/fox12/include/FXRbStream.h +101 -0
  358. data/ext/fox12/include/FXRbStreamVirtuals.h +9 -0
  359. data/ext/fox12/include/FXRbStringDict.h +46 -0
  360. data/ext/fox12/include/FXRbSwitcher.h +51 -0
  361. data/ext/fox12/include/FXRbTGAIcon.h +54 -0
  362. data/ext/fox12/include/FXRbTGAImage.h +54 -0
  363. data/ext/fox12/include/FXRbTIFIcon.h +54 -0
  364. data/ext/fox12/include/FXRbTIFImage.h +54 -0
  365. data/ext/fox12/include/FXRbTabBar.h +64 -0
  366. data/ext/fox12/include/FXRbTabBarVirtuals.h +3 -0
  367. data/ext/fox12/include/FXRbTabBook.h +52 -0
  368. data/ext/fox12/include/FXRbTabItem.h +51 -0
  369. data/ext/fox12/include/FXRbTable.h +416 -0
  370. data/ext/fox12/include/FXRbTableItemVirtuals.h +68 -0
  371. data/ext/fox12/include/FXRbTableVirtuals.h +73 -0
  372. data/ext/fox12/include/FXRbText.h +89 -0
  373. data/ext/fox12/include/FXRbTextField.h +51 -0
  374. data/ext/fox12/include/FXRbTextVirtuals.h +9 -0
  375. data/ext/fox12/include/FXRbToggleButton.h +51 -0
  376. data/ext/fox12/include/FXRbToolBar.h +80 -0
  377. data/ext/fox12/include/FXRbToolBarGrip.h +51 -0
  378. data/ext/fox12/include/FXRbToolBarShell.h +52 -0
  379. data/ext/fox12/include/FXRbToolBarTab.h +51 -0
  380. data/ext/fox12/include/FXRbToolBarVirtuals.h +6 -0
  381. data/ext/fox12/include/FXRbToolTip.h +51 -0
  382. data/ext/fox12/include/FXRbTopWindow.h +91 -0
  383. data/ext/fox12/include/FXRbTopWindowVirtuals.h +15 -0
  384. data/ext/fox12/include/FXRbTreeItemVirtuals.h +42 -0
  385. data/ext/fox12/include/FXRbTreeList.h +249 -0
  386. data/ext/fox12/include/FXRbTreeListBox.h +53 -0
  387. data/ext/fox12/include/FXRbTreeListVirtuals.h +30 -0
  388. data/ext/fox12/include/FXRbTriStateButton.h +51 -0
  389. data/ext/fox12/include/FXRbVerticalFrame.h +51 -0
  390. data/ext/fox12/include/FXRbVisual.h +56 -0
  391. data/ext/fox12/include/FXRbWindow.h +200 -0
  392. data/ext/fox12/include/FXRbWindowVirtuals.h +69 -0
  393. data/ext/fox12/include/FXRbWizard.h +60 -0
  394. data/ext/fox12/include/FXRbXBMIcon.h +54 -0
  395. data/ext/fox12/include/FXRbXBMImage.h +54 -0
  396. data/ext/fox12/include/FXRbXPMIcon.h +54 -0
  397. data/ext/fox12/include/FXRbXPMImage.h +54 -0
  398. data/ext/fox12/include/FXRuby.h +728 -0
  399. data/ext/fox12/include/impl.h +201 -0
  400. data/ext/fox12/include/inlinestubs.h +1063 -0
  401. data/ext/fox12/label_wrap.cpp +4945 -0
  402. data/ext/fox12/layout_wrap.cpp +5061 -0
  403. data/ext/fox12/librb.c +636 -0
  404. data/ext/fox12/list_wrap.cpp +2212 -0
  405. data/ext/fox12/markfuncs.cpp +1568 -0
  406. data/ext/fox12/mdi_wrap.cpp +4521 -0
  407. data/ext/fox12/menu_wrap.cpp +4673 -0
  408. data/ext/fox12/scintilla_wrap.cpp +2245 -0
  409. data/ext/fox12/table_wrap.cpp +3581 -0
  410. data/ext/fox12/text_wrap.cpp +3539 -0
  411. data/ext/fox12/treelist_wrap.cpp +5609 -0
  412. data/ext/fox12/ui_wrap.cpp +10017 -0
  413. data/index.html +14 -0
  414. data/lib/fox12/aliases.rb +5211 -0
  415. data/lib/fox12/calendar.rb +218 -0
  416. data/lib/fox12/chore.rb +51 -0
  417. data/lib/fox12/colors.rb +282 -0
  418. data/lib/fox12/core.rb +249 -0
  419. data/lib/fox12/dict.rb +35 -0
  420. data/lib/fox12/glgroup.rb +165 -0
  421. data/lib/fox12/glshapes.rb +457 -0
  422. data/lib/fox12/input.rb +56 -0
  423. data/lib/fox12/irb.rb +179 -0
  424. data/lib/fox12/iterators.rb +331 -0
  425. data/lib/fox12/keys.rb +1376 -0
  426. data/lib/fox12/missingdep.rb +16 -0
  427. data/lib/fox12/pseudokeyboard.rb +36 -0
  428. data/lib/fox12/pseudomouse.rb +84 -0
  429. data/lib/fox12/responder.rb +72 -0
  430. data/lib/fox12/responder2.rb +122 -0
  431. data/lib/fox12/scintilla.rb +2629 -0
  432. data/lib/fox12/settings.rb +18 -0
  433. data/lib/fox12/signal.rb +68 -0
  434. data/lib/fox12/timeout.rb +58 -0
  435. data/lib/fox12/undolist.rb +456 -0
  436. data/lib/fox12/version.rb +11 -0
  437. data/rdoc-sources/FX4Splitter.rb +138 -0
  438. data/rdoc-sources/FXAccelTable.rb +67 -0
  439. data/rdoc-sources/FXApp.rb +557 -0
  440. data/rdoc-sources/FXArrowButton.rb +69 -0
  441. data/rdoc-sources/FXBMPIcon.rb +45 -0
  442. data/rdoc-sources/FXBMPImage.rb +20 -0
  443. data/rdoc-sources/FXBitmap.rb +78 -0
  444. data/rdoc-sources/FXBitmapFrame.rb +29 -0
  445. data/rdoc-sources/FXBitmapView.rb +41 -0
  446. data/rdoc-sources/FXButton.rb +43 -0
  447. data/rdoc-sources/FXCURCursor.rb +13 -0
  448. data/rdoc-sources/FXCanvas.rb +18 -0
  449. data/rdoc-sources/FXCheckButton.rb +57 -0
  450. data/rdoc-sources/FXColorBar.rb +43 -0
  451. data/rdoc-sources/FXColorDialog.rb +36 -0
  452. data/rdoc-sources/FXColorSelector.rb +65 -0
  453. data/rdoc-sources/FXColorWell.rb +57 -0
  454. data/rdoc-sources/FXColorWheel.rb +35 -0
  455. data/rdoc-sources/FXComboBox.rb +153 -0
  456. data/rdoc-sources/FXComposite.rb +34 -0
  457. data/rdoc-sources/FXCursor.rb +67 -0
  458. data/rdoc-sources/FXDC.rb +667 -0
  459. data/rdoc-sources/FXDCPrint.rb +127 -0
  460. data/rdoc-sources/FXDCWindow.rb +37 -0
  461. data/rdoc-sources/FXDataTarget.rb +41 -0
  462. data/rdoc-sources/FXDebugTarget.rb +25 -0
  463. data/rdoc-sources/FXDelegator.rb +23 -0
  464. data/rdoc-sources/FXDial.rb +68 -0
  465. data/rdoc-sources/FXDialogBox.rb +36 -0
  466. data/rdoc-sources/FXDict.rb +79 -0
  467. data/rdoc-sources/FXDirBox.rb +49 -0
  468. data/rdoc-sources/FXDirDialog.rb +18 -0
  469. data/rdoc-sources/FXDirList.rb +143 -0
  470. data/rdoc-sources/FXDirSelector.rb +30 -0
  471. data/rdoc-sources/FXDocument.rb +29 -0
  472. data/rdoc-sources/FXDragCorner.rb +19 -0
  473. data/rdoc-sources/FXDrawable.rb +27 -0
  474. data/rdoc-sources/FXDriveBox.rb +46 -0
  475. data/rdoc-sources/FXFileDialog.rb +132 -0
  476. data/rdoc-sources/FXFileDict.rb +168 -0
  477. data/rdoc-sources/FXFileList.rb +163 -0
  478. data/rdoc-sources/FXFileSelector.rb +148 -0
  479. data/rdoc-sources/FXFileStream.rb +24 -0
  480. data/rdoc-sources/FXFoldingList.rb +453 -0
  481. data/rdoc-sources/FXFont.rb +345 -0
  482. data/rdoc-sources/FXFontDialog.rb +14 -0
  483. data/rdoc-sources/FXFontSelector.rb +37 -0
  484. data/rdoc-sources/FXFrame.rb +47 -0
  485. data/rdoc-sources/FXGIFCursor.rb +38 -0
  486. data/rdoc-sources/FXGIFIcon.rb +21 -0
  487. data/rdoc-sources/FXGIFImage.rb +19 -0
  488. data/rdoc-sources/FXGLCanvas.rb +45 -0
  489. data/rdoc-sources/FXGLContext.rb +41 -0
  490. data/rdoc-sources/FXGLObject.rb +75 -0
  491. data/rdoc-sources/FXGLShape.rb +75 -0
  492. data/rdoc-sources/FXGLViewer.rb +309 -0
  493. data/rdoc-sources/FXGLVisual.rb +94 -0
  494. data/rdoc-sources/FXGradientBar.rb +291 -0
  495. data/rdoc-sources/FXGroupBox.rb +33 -0
  496. data/rdoc-sources/FXHeader.rb +377 -0
  497. data/rdoc-sources/FXHorizontalFrame.rb +29 -0
  498. data/rdoc-sources/FXICOIcon.rb +50 -0
  499. data/rdoc-sources/FXICOImage.rb +21 -0
  500. data/rdoc-sources/FXIcon.rb +38 -0
  501. data/rdoc-sources/FXIconList.rb +418 -0
  502. data/rdoc-sources/FXId.rb +34 -0
  503. data/rdoc-sources/FXImage.rb +198 -0
  504. data/rdoc-sources/FXImageFrame.rb +22 -0
  505. data/rdoc-sources/FXImageView.rb +35 -0
  506. data/rdoc-sources/FXInputDialog.rb +62 -0
  507. data/rdoc-sources/FXJPGIcon.rb +52 -0
  508. data/rdoc-sources/FXJPGImage.rb +25 -0
  509. data/rdoc-sources/FXLabel.rb +66 -0
  510. data/rdoc-sources/FXList.rb +412 -0
  511. data/rdoc-sources/FXListBox.rb +158 -0
  512. data/rdoc-sources/FXMDIButton.rb +67 -0
  513. data/rdoc-sources/FXMDIChild.rb +145 -0
  514. data/rdoc-sources/FXMDIClient.rb +67 -0
  515. data/rdoc-sources/FXMainWindow.rb +20 -0
  516. data/rdoc-sources/FXMat4.rb +171 -0
  517. data/rdoc-sources/FXMatrix.rb +57 -0
  518. data/rdoc-sources/FXMemoryBuffer.rb +19 -0
  519. data/rdoc-sources/FXMemoryStream.rb +45 -0
  520. data/rdoc-sources/FXMenuBar.rb +23 -0
  521. data/rdoc-sources/FXMenuButton.rb +84 -0
  522. data/rdoc-sources/FXMenuCaption.rb +47 -0
  523. data/rdoc-sources/FXMenuCascade.rb +18 -0
  524. data/rdoc-sources/FXMenuCheck.rb +30 -0
  525. data/rdoc-sources/FXMenuCommand.rb +27 -0
  526. data/rdoc-sources/FXMenuPane.rb +13 -0
  527. data/rdoc-sources/FXMenuRadio.rb +30 -0
  528. data/rdoc-sources/FXMenuSeparator.rb +21 -0
  529. data/rdoc-sources/FXMenuTitle.rb +27 -0
  530. data/rdoc-sources/FXMessageBox.rb +77 -0
  531. data/rdoc-sources/FXObject.rb +22 -0
  532. data/rdoc-sources/FXOptionMenu.rb +76 -0
  533. data/rdoc-sources/FXPCXIcon.rb +48 -0
  534. data/rdoc-sources/FXPCXImage.rb +21 -0
  535. data/rdoc-sources/FXPNGIcon.rb +48 -0
  536. data/rdoc-sources/FXPNGImage.rb +21 -0
  537. data/rdoc-sources/FXPPMIcon.rb +21 -0
  538. data/rdoc-sources/FXPPMImage.rb +21 -0
  539. data/rdoc-sources/FXPacker.rb +62 -0
  540. data/rdoc-sources/FXPicker.rb +27 -0
  541. data/rdoc-sources/FXPopup.rb +53 -0
  542. data/rdoc-sources/FXPrintDialog.rb +36 -0
  543. data/rdoc-sources/FXProgressBar.rb +57 -0
  544. data/rdoc-sources/FXProgressDialog.rb +36 -0
  545. data/rdoc-sources/FXQuatd.rb +1 -0
  546. data/rdoc-sources/FXQuatf.rb +1 -0
  547. data/rdoc-sources/FXRGBIcon.rb +49 -0
  548. data/rdoc-sources/FXRGBImage.rb +21 -0
  549. data/rdoc-sources/FXRadioButton.rb +64 -0
  550. data/rdoc-sources/FXRanged.rb +97 -0
  551. data/rdoc-sources/FXRangef.rb +97 -0
  552. data/rdoc-sources/FXRealSlider.rb +99 -0
  553. data/rdoc-sources/FXRealSpinner.rb +133 -0
  554. data/rdoc-sources/FXRecentFiles.rb +73 -0
  555. data/rdoc-sources/FXRectangle.rb +137 -0
  556. data/rdoc-sources/FXRegion.rb +64 -0
  557. data/rdoc-sources/FXRegistry.rb +39 -0
  558. data/rdoc-sources/FXReplaceDialog.rb +56 -0
  559. data/rdoc-sources/FXRootWindow.rb +17 -0
  560. data/rdoc-sources/FXRuler.rb +60 -0
  561. data/rdoc-sources/FXScintilla.rb +121 -0
  562. data/rdoc-sources/FXScrollArea.rb +86 -0
  563. data/rdoc-sources/FXScrollBar.rb +101 -0
  564. data/rdoc-sources/FXScrollPane.rb +23 -0
  565. data/rdoc-sources/FXScrollWindow.rb +38 -0
  566. data/rdoc-sources/FXSearchDialog.rb +24 -0
  567. data/rdoc-sources/FXSeparator.rb +64 -0
  568. data/rdoc-sources/FXSettings.rb +222 -0
  569. data/rdoc-sources/FXShell.rb +7 -0
  570. data/rdoc-sources/FXShutter.rb +97 -0
  571. data/rdoc-sources/FXSize.rb +30 -0
  572. data/rdoc-sources/FXSlider.rb +96 -0
  573. data/rdoc-sources/FXSphered.rb +65 -0
  574. data/rdoc-sources/FXSpheref.rb +65 -0
  575. data/rdoc-sources/FXSpinner.rb +132 -0
  576. data/rdoc-sources/FXSplitter.rb +88 -0
  577. data/rdoc-sources/FXSpring.rb +61 -0
  578. data/rdoc-sources/FXStatusBar.rb +42 -0
  579. data/rdoc-sources/FXStatusLine.rb +60 -0
  580. data/rdoc-sources/FXStream.rb +115 -0
  581. data/rdoc-sources/FXStringDict.rb +38 -0
  582. data/rdoc-sources/FXSwitcher.rb +78 -0
  583. data/rdoc-sources/FXTGAIcon.rb +48 -0
  584. data/rdoc-sources/FXTGAImage.rb +21 -0
  585. data/rdoc-sources/FXTIFIcon.rb +52 -0
  586. data/rdoc-sources/FXTIFImage.rb +24 -0
  587. data/rdoc-sources/FXTabBar.rb +76 -0
  588. data/rdoc-sources/FXTabBook.rb +38 -0
  589. data/rdoc-sources/FXTabItem.rb +51 -0
  590. data/rdoc-sources/FXTable.rb +654 -0
  591. data/rdoc-sources/FXText.rb +533 -0
  592. data/rdoc-sources/FXTextField.rb +141 -0
  593. data/rdoc-sources/FXToggleButton.rb +69 -0
  594. data/rdoc-sources/FXToolBar.rb +121 -0
  595. data/rdoc-sources/FXToolBarGrip.rb +55 -0
  596. data/rdoc-sources/FXToolBarShell.rb +44 -0
  597. data/rdoc-sources/FXToolTip.rb +36 -0
  598. data/rdoc-sources/FXTopWindow.rb +92 -0
  599. data/rdoc-sources/FXTreeList.rb +503 -0
  600. data/rdoc-sources/FXTreeListBox.rb +182 -0
  601. data/rdoc-sources/FXTriStateButton.rb +49 -0
  602. data/rdoc-sources/FXVec.rb +97 -0
  603. data/rdoc-sources/FXVec4.rb +91 -0
  604. data/rdoc-sources/FXVerticalFrame.rb +29 -0
  605. data/rdoc-sources/FXVisual.rb +79 -0
  606. data/rdoc-sources/FXWindow.rb +633 -0
  607. data/rdoc-sources/FXWizard.rb +63 -0
  608. data/rdoc-sources/FXXBMIcon.rb +22 -0
  609. data/rdoc-sources/FXXBMImage.rb +22 -0
  610. data/rdoc-sources/FXXPMIcon.rb +50 -0
  611. data/rdoc-sources/FXXPMImage.rb +21 -0
  612. data/rdoc-sources/README.rdoc +53 -0
  613. data/rdoc-sources/fxdefs.rb +90 -0
  614. data/tests/README +19 -0
  615. data/tests/TC_FXAccelTable.rb +43 -0
  616. data/tests/TC_FXApp.rb +15 -0
  617. data/tests/TC_FXArc.rb +26 -0
  618. data/tests/TC_FXButton.rb +72 -0
  619. data/tests/TC_FXCheckButton.rb +57 -0
  620. data/tests/TC_FXComboBox.rb +36 -0
  621. data/tests/TC_FXDC.rb +372 -0
  622. data/tests/TC_FXDCPrint.rb +102 -0
  623. data/tests/TC_FXDCWindow.rb +23 -0
  624. data/tests/TC_FXDataTarget.rb +24 -0
  625. data/tests/TC_FXDirList.rb +30 -0
  626. data/tests/TC_FXFileAssoc.rb +62 -0
  627. data/tests/TC_FXFileStream.rb +90 -0
  628. data/tests/TC_FXFont.rb +59 -0
  629. data/tests/TC_FXFontDesc.rb +62 -0
  630. data/tests/TC_FXGLGroup.rb +32 -0
  631. data/tests/TC_FXGLShape.rb +28 -0
  632. data/tests/TC_FXGLViewer.rb +18 -0
  633. data/tests/TC_FXGradientBar.rb +89 -0
  634. data/tests/TC_FXHeader.rb +82 -0
  635. data/tests/TC_FXIconDict.rb +52 -0
  636. data/tests/TC_FXIconList.rb +192 -0
  637. data/tests/TC_FXId.rb +19 -0
  638. data/tests/TC_FXImage.rb +144 -0
  639. data/tests/TC_FXLight.rb +33 -0
  640. data/tests/TC_FXList.rb +116 -0
  641. data/tests/TC_FXListBox.rb +49 -0
  642. data/tests/TC_FXMat4f.rb +228 -0
  643. data/tests/TC_FXMaterial.rb +75 -0
  644. data/tests/TC_FXMemoryStream.rb +87 -0
  645. data/tests/TC_FXMenuCommand.rb +26 -0
  646. data/tests/TC_FXPoint.rb +57 -0
  647. data/tests/TC_FXQuatf.rb +77 -0
  648. data/tests/TC_FXRadioButton.rb +57 -0
  649. data/tests/TC_FXRangef.rb +48 -0
  650. data/tests/TC_FXRectangle.rb +88 -0
  651. data/tests/TC_FXRegion.rb +54 -0
  652. data/tests/TC_FXRegistry.rb +27 -0
  653. data/tests/TC_FXScrollArea.rb +28 -0
  654. data/tests/TC_FXScrollWindow.rb +28 -0
  655. data/tests/TC_FXSegment.rb +22 -0
  656. data/tests/TC_FXShell.rb +26 -0
  657. data/tests/TC_FXSize.rb +54 -0
  658. data/tests/TC_FXStream.rb +11 -0
  659. data/tests/TC_FXTable.rb +468 -0
  660. data/tests/TC_FXTableItem.rb +48 -0
  661. data/tests/TC_FXText.rb +81 -0
  662. data/tests/TC_FXTopWindow.rb +32 -0
  663. data/tests/TC_FXTreeList.rb +83 -0
  664. data/tests/TC_FXTreeListBox.rb +23 -0
  665. data/tests/TC_FXUndoList.rb +43 -0
  666. data/tests/TC_FXVec2d.rb +142 -0
  667. data/tests/TC_FXVec2f.rb +137 -0
  668. data/tests/TC_FXVec3d.rb +150 -0
  669. data/tests/TC_FXVec3f.rb +150 -0
  670. data/tests/TC_FXVec4f.rb +158 -0
  671. data/tests/TC_FXViewport.rb +30 -0
  672. data/tests/TC_Misc.rb +157 -0
  673. data/tests/TC_downcast.rb +15 -0
  674. data/tests/TS_All.rb +25 -0
  675. data/tests/blankpage.ps +166 -0
  676. data/tests/doit.rb +5 -0
  677. data/tests/howdypage.ps +181 -0
  678. data/tests/stress1.rb +94 -0
  679. data/tests/stress2.rb +51 -0
  680. data/tests/stress3.rb +117 -0
  681. data/tests/testcase.rb +38 -0
  682. data/web/art/fxrubylogo.png +0 -0
  683. data/web/art/fxrubylogo_small.png +0 -0
  684. data/web/art/line.gif +0 -0
  685. data/web/art/oul_grey.gif +0 -0
  686. data/web/art/our.gif +0 -0
  687. data/web/downloads.html +91 -0
  688. data/web/home.html +109 -0
  689. data/web/menu.html +50 -0
  690. data/web/styles.css +167 -0
  691. data/web/top.html +15 -0
  692. metadata +737 -0
@@ -0,0 +1,60 @@
1
+ /***********************************************************************
2
+ * FXRuby -- the Ruby language bindings for the FOX GUI toolkit.
3
+ * Copyright (c) 2001 by J. 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@users.sourceforge.net".
21
+ ***********************************************************************/
22
+
23
+ /***********************************************************************
24
+ * $Id: FXRbWizard.h,v 1.1 2004/08/07 10:55:26 lyle Exp $
25
+ ***********************************************************************/
26
+
27
+ #ifndef FXRBWIZARD_H
28
+ #define FXRBWIZARD_H
29
+
30
+ #ifndef FXWIZARD_H
31
+ #include "FXWizard.h"
32
+ #endif
33
+
34
+ class FXRbWizard : public FXWizard {
35
+ FXDECLARE(FXRbWizard)
36
+ protected:
37
+ FXRbWizard(){}
38
+ #include "FXRbObjectVirtuals.h"
39
+ #include "FXRbIdVirtuals.h"
40
+ #include "FXRbDrawableVirtuals.h"
41
+ #include "FXRbWindowVirtuals.h"
42
+ #include "FXRbTopWindowVirtuals.h"
43
+ #include "FXRbDialogBoxVirtuals.h"
44
+ public:
45
+ /// Construct free-floating Wizard
46
+ FXRbWizard(FXApp* a,const FXString& name,FXImage *image,FXuint opts=DECOR_TITLE|DECOR_BORDER|DECOR_RESIZE,FXint x=0,FXint y=0,FXint w=0,FXint h=0,FXint pl=10,FXint pr=10,FXint pt=10,FXint pb=10,FXint hs=10,FXint vs=10) : FXWizard(a,name,image,opts,x,y,w,h,pl,pr,pt,pb,hs,vs) {}
47
+
48
+ /// Construct Wizard which will always float over the owner window
49
+ FXRbWizard(FXWindow* owner,const FXString& name,FXImage *image,FXuint opts=DECOR_TITLE|DECOR_BORDER|DECOR_RESIZE,FXint x=0,FXint y=0,FXint w=0,FXint h=0,FXint pl=10,FXint pr=10,FXint pt=10,FXint pb=10,FXint hs=10,FXint vs=10) : FXWizard(owner,name,image,opts,x,y,w,h,pl,pr,pt,pb,hs,vs) {}
50
+
51
+ // Mark dependencies for the GC
52
+ static void markfunc(FXWizard* self);
53
+
54
+ // Destructor
55
+ virtual ~FXRbWizard(){
56
+ FXRbUnregisterRubyObj(this);
57
+ }
58
+ };
59
+
60
+ #endif
@@ -0,0 +1,54 @@
1
+ /***********************************************************************
2
+ * FXRuby -- the Ruby language bindings for the FOX GUI toolkit.
3
+ * Copyright (c) 2001-2003 by J. 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@users.sourceforge.net".
21
+ ***********************************************************************/
22
+
23
+ /***********************************************************************
24
+ * $Id: FXRbXBMIcon.h,v 1.1 2004/08/07 10:55:26 lyle Exp $
25
+ ***********************************************************************/
26
+
27
+ #ifndef FXRBXBMICON_H
28
+ #define FXRBXBMICON_H
29
+
30
+ class FXRbXBMIcon : public FXXBMIcon {
31
+ FXDECLARE(FXRbXBMIcon)
32
+ protected:
33
+ FXRbXBMIcon(){}
34
+ #include "FXRbObjectVirtuals.h"
35
+ #include "FXRbIdVirtuals.h"
36
+ #include "FXRbDrawableVirtuals.h"
37
+ #include "FXRbImageVirtuals.h"
38
+ public:
39
+ /// Construct icon from memory stream formatted in X Bitmap format
40
+ FXRbXBMIcon(FXApp* a,const FXuchar *pixels=NULL,const FXuchar *mask=NULL,FXColor clr=FXRGB(192,192,192),FXuint opts=0,FXint w=1,FXint h=1) : FXXBMIcon(a,pixels,mask,clr,opts,w,h){
41
+ FXRbRegisterAppSensitiveObject(this);
42
+ }
43
+
44
+ // Destructor
45
+ virtual ~FXRbXBMIcon(){
46
+ FXRbUnregisterRubyObj(this);
47
+ FXRbUnregisterAppSensitiveObject(this);
48
+ }
49
+
50
+ // Mark dependencies for the GC
51
+ static void markfunc(FXXBMIcon* self);
52
+ };
53
+
54
+ #endif
@@ -0,0 +1,54 @@
1
+ /***********************************************************************
2
+ * FXRuby -- the Ruby language bindings for the FOX GUI toolkit.
3
+ * Copyright (c) 2001-2003 by J. 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@users.sourceforge.net".
21
+ ***********************************************************************/
22
+
23
+ /***********************************************************************
24
+ * $Id: FXRbXBMImage.h,v 1.1 2004/08/07 10:55:26 lyle Exp $
25
+ ***********************************************************************/
26
+
27
+ #ifndef FXRBXBMIMAGE_H
28
+ #define FXRBXBMIMAGE_H
29
+
30
+ class FXRbXBMImage : public FXXBMImage {
31
+ FXDECLARE(FXRbXBMImage)
32
+ protected:
33
+ FXRbXBMImage(){}
34
+ #include "FXRbObjectVirtuals.h"
35
+ #include "FXRbIdVirtuals.h"
36
+ #include "FXRbDrawableVirtuals.h"
37
+ #include "FXRbImageVirtuals.h"
38
+ public:
39
+ /// Construct image from memory stream formatted in X Bitmap format
40
+ FXRbXBMImage(FXApp* a,const FXuchar *pixels=NULL,const FXuchar *mask=NULL,FXuint opts=0,FXint w=1,FXint h=1) : FXXBMImage(a,pixels,mask,opts,w,h){
41
+ FXRbRegisterAppSensitiveObject(this);
42
+ }
43
+
44
+ // Destructor
45
+ virtual ~FXRbXBMImage(){
46
+ FXRbUnregisterRubyObj(this);
47
+ FXRbUnregisterAppSensitiveObject(this);
48
+ }
49
+
50
+ // Mark dependencies for the GC
51
+ static void markfunc(FXXBMImage* self);
52
+ };
53
+
54
+ #endif
@@ -0,0 +1,54 @@
1
+ /***********************************************************************
2
+ * FXRuby -- the Ruby language bindings for the FOX GUI toolkit.
3
+ * Copyright (c) 2001-2003 by J. 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@users.sourceforge.net".
21
+ ***********************************************************************/
22
+
23
+ /***********************************************************************
24
+ * $Id: FXRbXPMIcon.h,v 1.1 2004/08/07 10:55:26 lyle Exp $
25
+ ***********************************************************************/
26
+
27
+ #ifndef FXRBXPMICON_H
28
+ #define FXRBXPMICON_H
29
+
30
+ class FXRbXPMIcon : public FXXPMIcon {
31
+ FXDECLARE(FXRbXPMIcon)
32
+ protected:
33
+ FXRbXPMIcon(){}
34
+ #include "FXRbObjectVirtuals.h"
35
+ #include "FXRbIdVirtuals.h"
36
+ #include "FXRbDrawableVirtuals.h"
37
+ #include "FXRbImageVirtuals.h"
38
+ public:
39
+ /// Construct icon from compiled-in X Pixmap format
40
+ FXRbXPMIcon(FXApp* a,const FXchar **pix=NULL,FXColor clr=FXRGB(192,192,192),FXuint opts=0,FXint w=1,FXint h=1) : FXXPMIcon(a,pix,clr,opts,w,h){
41
+ FXRbRegisterAppSensitiveObject(this);
42
+ }
43
+
44
+ // Destructor
45
+ virtual ~FXRbXPMIcon(){
46
+ FXRbUnregisterRubyObj(this);
47
+ FXRbUnregisterAppSensitiveObject(this);
48
+ }
49
+
50
+ // Mark dependencies for the GC
51
+ static void markfunc(FXXPMIcon* self);
52
+ };
53
+
54
+ #endif
@@ -0,0 +1,54 @@
1
+ /***********************************************************************
2
+ * FXRuby -- the Ruby language bindings for the FOX GUI toolkit.
3
+ * Copyright (c) 2001-2003 by J. 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@users.sourceforge.net".
21
+ ***********************************************************************/
22
+
23
+ /***********************************************************************
24
+ * $Id: FXRbXPMImage.h,v 1.1 2004/08/07 10:55:26 lyle Exp $
25
+ ***********************************************************************/
26
+
27
+ #ifndef FXRBXPMIMAGE_H
28
+ #define FXRBXPMIMAGE_H
29
+
30
+ class FXRbXPMImage : public FXXPMImage {
31
+ FXDECLARE(FXRbXPMImage)
32
+ protected:
33
+ FXRbXPMImage(){}
34
+ #include "FXRbObjectVirtuals.h"
35
+ #include "FXRbIdVirtuals.h"
36
+ #include "FXRbDrawableVirtuals.h"
37
+ #include "FXRbImageVirtuals.h"
38
+ public:
39
+ /// Construct image from compiled-in X Pixmap format
40
+ FXRbXPMImage(FXApp* a,const FXchar **pix=NULL,FXuint opts=0,FXint w=1,FXint h=1) : FXXPMImage(a,pix,opts,w,h){
41
+ FXRbRegisterAppSensitiveObject(this);
42
+ }
43
+
44
+ // Destructor
45
+ virtual ~FXRbXPMImage(){
46
+ FXRbUnregisterRubyObj(this);
47
+ FXRbUnregisterAppSensitiveObject(this);
48
+ }
49
+
50
+ // Mark dependencies for the GC
51
+ static void markfunc(FXXPMImage* self);
52
+ };
53
+
54
+ #endif
@@ -0,0 +1,728 @@
1
+ /***********************************************************************
2
+ * FXRuby -- the Ruby language bindings for the FOX GUI toolkit.
3
+ * Copyright (c) 2001-2003 by J. 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@users.sourceforge.net".
21
+ ***********************************************************************/
22
+
23
+ /***********************************************************************
24
+ * $Id: FXRuby.h,v 1.1 2004/08/07 10:55:26 lyle Exp $
25
+ ***********************************************************************/
26
+
27
+ #ifndef FXRUBY_H
28
+ #define FXRUBY_H
29
+
30
+ // Opaque type declaration for SWIG runtime support
31
+ struct swig_type_info;
32
+
33
+ // SWIG runtime functions we need
34
+ extern "C" {
35
+ const char * SWIG_Ruby_TypeName(const swig_type_info *ty);
36
+ swig_type_info * SWIG_Ruby_TypeQuery(const char *);
37
+ VALUE SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int own);
38
+ int SWIG_Ruby_ConvertPtr(VALUE obj, void **ptr, swig_type_info *ty, int flags);
39
+ }
40
+
41
+ // Helper for overloaded show() functions
42
+ template <class TYPE>
43
+ VALUE showHelper(VALUE self, int argc, VALUE *argv, TYPE *p, swig_type_info *typeinfo) {
44
+ TYPE *win;
45
+ SWIG_Ruby_ConvertPtr(self,(void**)&win,typeinfo,1);
46
+ if (argc == 0) {
47
+ win->_show();
48
+ }
49
+ else if (argc == 1) {
50
+ FXuint placement = NUM2UINT(argv[0]);
51
+ win->FXTopWindow::show(placement);
52
+ }
53
+ else {
54
+ rb_raise(rb_eArgError, "wrong # of arguments");
55
+ }
56
+ return Qnil;
57
+ }
58
+
59
+ // Wrapper around SWIG_Ruby_NewPointerObj()
60
+ VALUE FXRbNewPointerObj(void *ptr, swig_type_info *typeinfo);
61
+ bool FXRbIsBorrowed(void* ptr);
62
+
63
+ // Wrapper around SWIG_TypeQuery()
64
+ swig_type_info *FXRbTypeQuery(const char *name);
65
+
66
+ // Wrapper around SWIG_ConvertPtr()
67
+ void* FXRbConvertPtr(VALUE obj,swig_type_info* typeinfo);
68
+
69
+ // Returns an FXInputHandle for this Ruby file object
70
+ FXInputHandle FXRbGetReadFileHandle(VALUE obj);
71
+ FXInputHandle FXRbGetWriteFileHandle(VALUE obj);
72
+
73
+ // Register mapping from Ruby objects to FOX objects
74
+ void FXRbRegisterRubyObj(VALUE rubyObj, const void* foxObj);
75
+
76
+ // Remove mapping for this FOX object and zero out any pointers
77
+ // to this (now dead) C++ object held by any Ruby object
78
+ void FXRbUnregisterRubyObj(const void* foxObj);
79
+
80
+ // Register an object that must be destroyed before FXApp is destroyed
81
+ void FXRbRegisterAppSensitiveObject(FXObject* obj);
82
+ void FXRbRegisterAppSensitiveObject(FXDC* dc);
83
+
84
+ // Unregister an object that must be destroyed before FXApp is destroyed
85
+ void FXRbUnregisterAppSensitiveObject(FXObject* obj);
86
+ void FXRbUnregisterAppSensitiveObject(FXDC* dc);
87
+
88
+ // Destroy all app-sensitive objects
89
+ void FXRbDestroyAppSensitiveObjects();
90
+
91
+ /**
92
+ * Return the registered Ruby class instance associated with this
93
+ * FOX object (if any). If searchBoth is false, only considers the
94
+ * Ruby-owned objects; otherwise considers all outstanding references.
95
+ */
96
+ VALUE FXRbGetRubyObj(const void *foxObj, bool searchBoth);
97
+
98
+ /**
99
+ * Return the registered Ruby class instance associated with this
100
+ * FOX object, or a new unregistered instance if not found.
101
+ */
102
+ VALUE FXRbGetRubyObj(const void *foxObj, const char *type);
103
+ VALUE FXRbGetRubyObj(const void *foxObj, swig_type_info *type);
104
+
105
+ // Mark this object as used for the garbage collector
106
+ void FXRbGcMark(void *obj);
107
+
108
+ // Returns a Ruby array of floats
109
+ extern VALUE FXRbMakeArray(const FXfloat* values,FXint size);
110
+
111
+ // Returns a Ruby array of floats
112
+ extern VALUE FXRbMakeArray(const FXdouble* values,FXint size);
113
+
114
+ // Returns a Ruby array of integers
115
+ extern VALUE FXRbMakeArray(const FXint* values,FXint size);
116
+
117
+ // Returns a Ruby array of integers
118
+ extern VALUE FXRbMakeArray(const FXuint* values,FXint size);
119
+
120
+ // Returns a Ruby array of integers
121
+ extern VALUE FXRbMakeArray(const FXchar* dashpattern,FXuint dashlength);
122
+
123
+ // Returns a Ruby array of FXArcs
124
+ extern VALUE FXRbMakeArray(const FXArc* arcs,FXuint narcs);
125
+
126
+ // Returns a Ruby array of FXPoints
127
+ extern VALUE FXRbMakeArray(const FXPoint* points,FXuint npoints);
128
+
129
+ // Returns a Ruby array of FXRectangles
130
+ extern VALUE FXRbMakeArray(const FXRectangle* rectangles,FXuint nrectangles);
131
+
132
+ // Returns a Ruby array of FXSegments
133
+ extern VALUE FXRbMakeArray(const FXSegment* segments,FXuint nsegments);
134
+
135
+ // Returns a Ruby array of FXColor values
136
+ extern VALUE FXRbMakeColorArray(const FXColor* colors,FXint w,FXint h);
137
+
138
+ extern void* FXRbGetExpectedData(VALUE recv,FXSelector key,VALUE data);
139
+
140
+ // Returns the name of the message handler function (or NULL)
141
+ ID FXRbLookupHandler(FXObject* recv,FXSelector key);
142
+
143
+ // Handle this message
144
+ long FXRbHandleMessage(FXObject* recv,ID func,FXObject* sender,FXSelector key,void* data);
145
+
146
+ // Convert a signal name string to its corresponding signal number
147
+ FXint FXRbSignalNameToNumber(const char* name);
148
+
149
+ // Fox module instance
150
+ extern VALUE mFox;
151
+
152
+ // Convert from FOX datatypes to Ruby objects
153
+ inline VALUE to_ruby(FXchar c){
154
+ return INT2NUM(c);
155
+ }
156
+
157
+ inline VALUE to_ruby(FXbool b){ // same as FXuchar
158
+ return b ? Qtrue : Qfalse;
159
+ }
160
+
161
+ inline VALUE to_ruby(FXshort s){
162
+ return INT2NUM(s);
163
+ }
164
+
165
+ inline VALUE to_ruby(FXushort u){
166
+ return UINT2NUM(u);
167
+ }
168
+
169
+ inline VALUE to_ruby(FXint i){
170
+ return INT2NUM(i);
171
+ }
172
+
173
+ inline VALUE to_ruby(FXuint u){
174
+ return UINT2NUM(u);
175
+ }
176
+
177
+ inline VALUE to_ruby(FXfloat f){
178
+ return rb_float_new(f);
179
+ }
180
+
181
+ inline VALUE to_ruby(FXdouble d){
182
+ return rb_float_new(d);
183
+ }
184
+
185
+ inline VALUE to_ruby(unsigned long l){
186
+ return UINT2NUM(l);
187
+ }
188
+
189
+ inline VALUE to_ruby(const FXString& s){
190
+ return rb_str_new2(s.text());
191
+ }
192
+
193
+ inline VALUE to_ruby(const FXchar* s){
194
+ return rb_str_new2(s);
195
+ }
196
+
197
+ extern VALUE to_ruby(const FXObject* obj);
198
+
199
+ inline VALUE to_ruby(const FXRangef& range){
200
+ return FXRbNewPointerObj(static_cast<void*>(const_cast<FXRangef*>(&range)),FXRbTypeQuery("FXRangef *"));
201
+ }
202
+
203
+ inline VALUE to_ruby(FXStream& store){
204
+ return (VALUE) 0; // FIXME
205
+ }
206
+
207
+ inline VALUE to_ruby(const FXPoint* point){
208
+ return FXRbNewPointerObj(static_cast<void*>(const_cast<FXPoint*>(point)),FXRbTypeQuery("FXPoint *"));
209
+ }
210
+
211
+ inline VALUE to_ruby(const FXSegment* segment){
212
+ return FXRbNewPointerObj(static_cast<void*>(const_cast<FXSegment*>(segment)),FXRbTypeQuery("FXSegment *"));
213
+ }
214
+
215
+ inline VALUE to_ruby(const FXRectangle* rect){
216
+ return FXRbNewPointerObj(static_cast<void*>(const_cast<FXRectangle*>(rect)),FXRbTypeQuery("FXRectangle *"));
217
+ }
218
+
219
+ inline VALUE to_ruby(const FXRectangle& rect){
220
+ return FXRbNewPointerObj(static_cast<void*>(const_cast<FXRectangle*>(&rect)),FXRbTypeQuery("FXRectangle *"));
221
+ }
222
+
223
+ inline VALUE to_ruby(const FXArc* arc){
224
+ return FXRbNewPointerObj(static_cast<void*>(const_cast<FXArc*>(arc)),FXRbTypeQuery("FXArc *"));
225
+ }
226
+
227
+ inline VALUE to_ruby(const FXRegion& region){
228
+ return (VALUE) 0; // FIXME
229
+ }
230
+
231
+ inline VALUE to_ruby(FXEvent* event){
232
+ // return FXRbNewPointerObj(reinterpret_cast<void*>(event),FXRbTypeQuery("FXEvent *"));
233
+ return FXRbGetRubyObj(reinterpret_cast<void*>(event),FXRbTypeQuery("FXEvent *"));
234
+ }
235
+
236
+ inline VALUE to_ruby(FXTablePos* p){
237
+ // return FXRbNewPointerObj(reinterpret_cast<void*>(p),FXRbTypeQuery("FXTablePos *"));
238
+ return SWIG_Ruby_NewPointerObj(reinterpret_cast<void*>(p),FXRbTypeQuery("FXTablePos *"),0);
239
+ }
240
+
241
+ inline VALUE to_ruby(FXTableRange* r){
242
+ // return FXRbNewPointerObj(reinterpret_cast<void*>(r),FXRbTypeQuery("FXTableRange *"));
243
+ return SWIG_Ruby_NewPointerObj(reinterpret_cast<void*>(r),FXRbTypeQuery("FXTableRange *"),0);
244
+ }
245
+
246
+ inline VALUE to_ruby(FXFontDesc* fontdesc){
247
+ return FXRbNewPointerObj(reinterpret_cast<void*>(fontdesc),FXRbTypeQuery("FXFontDesc *"));
248
+ }
249
+
250
+ inline VALUE to_ruby(FXDC& dc){
251
+ return FXRbGetRubyObj(reinterpret_cast<void*>(&dc),FXRbTypeQuery("FXDC *"));
252
+ }
253
+
254
+ /**
255
+ * Remember: FXID is typedef'd as an unsigned int on non-Windows platforms,
256
+ * but as a void * on Win32.
257
+ */
258
+ inline VALUE fxid_to_int(FXID id){
259
+ #ifndef WIN32
260
+ return UINT2NUM(static_cast<unsigned int>(id));
261
+ #else
262
+ return ULONG2NUM(reinterpret_cast<unsigned long>(id));
263
+ #endif
264
+ }
265
+
266
+ /**
267
+ * Remember: FXID is typedef'd as an unsigned int on non-Windows platforms,
268
+ * but as a void * on Win32.
269
+ */
270
+ inline FXID int_to_fxid(VALUE value){
271
+ #ifndef WIN32
272
+ return static_cast<FXID>(NUM2UINT(value));
273
+ #else
274
+ return reinterpret_cast<FXID>(NUM2ULONG(value));
275
+ #endif
276
+ }
277
+
278
+ // Returns the beginning and ending values (inclusive) for a Range object
279
+ void FXRbRange2LoHi(VALUE range,FXint& lo,FXint& hi);
280
+ void FXRbRange2LoHi(VALUE range,FXdouble& lo,FXdouble& hi);
281
+
282
+ // Call function with "void" return value
283
+ void FXRbCallVoidMethod(FXObject* recv,ID func);
284
+
285
+ void FXRbCallVoidMethod(FXDC* recv,ID func);
286
+
287
+ template<class TYPE>
288
+ void FXRbCallVoidMethod(FXObject* recv,ID func, TYPE arg){
289
+ VALUE obj=FXRbGetRubyObj(recv,false);
290
+ FXASSERT(!NIL_P(obj));
291
+ rb_funcall(obj,func,1,to_ruby(arg));
292
+ }
293
+
294
+ /* One argument */
295
+ template<class TYPE>
296
+ void FXRbCallVoidMethod(FXDC* recv,ID func,TYPE arg){
297
+ VALUE obj=FXRbGetRubyObj(recv,false);
298
+ FXASSERT(!NIL_P(obj));
299
+ rb_funcall(obj,func,1,to_ruby(arg));
300
+ }
301
+
302
+ template<class TYPE>
303
+ void FXRbCallVoidMethod(const FXObject* recv, ID func, TYPE arg){
304
+ VALUE obj=FXRbGetRubyObj(recv,false);
305
+ FXASSERT(!NIL_P(obj));
306
+ rb_funcall(obj,func,1,to_ruby(arg));
307
+ }
308
+
309
+ /* Two arguments */
310
+ template<class TYPE1, class TYPE2>
311
+ void FXRbCallVoidMethod(FXObject* recv,ID func,TYPE1 arg1,TYPE2 arg2){
312
+ VALUE obj=FXRbGetRubyObj(recv,false);
313
+ FXASSERT(!NIL_P(obj));
314
+ rb_funcall(obj,func,2,to_ruby(arg1),to_ruby(arg2));
315
+ }
316
+
317
+ template<class TYPE1, class TYPE2>
318
+ void FXRbCallVoidMethod(FXDC* recv,ID func,TYPE1 arg1,TYPE2 arg2){
319
+ VALUE obj=FXRbGetRubyObj(recv,false);
320
+ FXASSERT(!NIL_P(obj));
321
+ rb_funcall(obj,func,2,to_ruby(arg1),to_ruby(arg2));
322
+ }
323
+
324
+ /* Three arguments */
325
+ template<class TYPE1, class TYPE2, class TYPE3>
326
+ void FXRbCallVoidMethod(FXObject* recv,ID func,TYPE1 arg1,TYPE2 arg2,TYPE3 arg3){
327
+ VALUE obj=FXRbGetRubyObj(recv,false);
328
+ FXASSERT(!NIL_P(obj));
329
+ rb_funcall(obj,func,3,to_ruby(arg1),to_ruby(arg2),to_ruby(arg3));
330
+ }
331
+
332
+ template<class TYPE1, class TYPE2, class TYPE3>
333
+ void FXRbCallVoidMethod(FXDC* recv,ID func,TYPE1 arg1,TYPE2 arg2,TYPE3 arg3){
334
+ VALUE obj=FXRbGetRubyObj(recv,false);
335
+ FXASSERT(!NIL_P(obj));
336
+ rb_funcall(obj,func,3,to_ruby(arg1),to_ruby(arg2),to_ruby(arg3));
337
+ }
338
+
339
+ /* Four arguments */
340
+ template<class TYPE1, class TYPE2, class TYPE3, class TYPE4>
341
+ void FXRbCallVoidMethod(FXObject* recv,ID func, TYPE1 arg1, TYPE2 arg2, TYPE3 arg3, TYPE4 arg4){
342
+ VALUE obj=FXRbGetRubyObj(recv,false);
343
+ FXASSERT(!NIL_P(obj));
344
+ rb_funcall(obj,func,4,to_ruby(arg1),to_ruby(arg2),to_ruby(arg3),to_ruby(arg4));
345
+ }
346
+
347
+ template<class TYPE1, class TYPE2, class TYPE3, class TYPE4>
348
+ void FXRbCallVoidMethod(FXDC* recv,ID func,TYPE1 arg1,TYPE2 arg2,TYPE3 arg3,TYPE4 arg4){
349
+ VALUE obj=FXRbGetRubyObj(recv,false);
350
+ FXASSERT(!NIL_P(obj));
351
+ rb_funcall(obj,func,4,to_ruby(arg1),to_ruby(arg2),to_ruby(arg3),to_ruby(arg4));
352
+ }
353
+
354
+ /* Five arguments */
355
+ template<class TYPE1, class TYPE2, class TYPE3, class TYPE4, class TYPE5>
356
+ void FXRbCallVoidMethod(FXObject* recv,ID func,TYPE1& arg1,TYPE2 arg2,TYPE3 arg3,TYPE4 arg4,TYPE5 arg5){
357
+ VALUE obj=FXRbGetRubyObj(recv,false);
358
+ FXASSERT(!NIL_P(obj));
359
+ rb_funcall(obj,func,5,to_ruby(arg1),to_ruby(arg2),to_ruby(arg3),to_ruby(arg4),to_ruby(arg5));
360
+ }
361
+
362
+ template<class TYPE1, class TYPE2, class TYPE3, class TYPE4, class TYPE5>
363
+ void FXRbCallVoidMethod(FXDC* recv, ID func, TYPE1 arg1, TYPE2 arg2, TYPE3 arg3, TYPE4 arg4, TYPE5 arg5){
364
+ VALUE obj=FXRbGetRubyObj(recv,false);
365
+ FXASSERT(!NIL_P(obj));
366
+ rb_funcall(obj,func,5,to_ruby(arg1),to_ruby(arg2),to_ruby(arg3),to_ruby(arg4),to_ruby(arg5));
367
+ }
368
+
369
+ /* Six arguments */
370
+ template<class TYPE1, class TYPE2, class TYPE3, class TYPE4, class TYPE5, class TYPE6>
371
+ void FXRbCallVoidMethod(const FXObject* recv, ID func, TYPE1 arg1, TYPE2& arg2, TYPE3 arg3, TYPE4 arg4, TYPE5 arg5, TYPE6 arg6){
372
+ VALUE obj=FXRbGetRubyObj(recv,false);
373
+ FXASSERT(!NIL_P(obj));
374
+ rb_funcall(obj,func,6,to_ruby(arg1),to_ruby(arg2),to_ruby(arg3),to_ruby(arg4),to_ruby(arg5),to_ruby(arg6));
375
+ }
376
+
377
+ template<class TYPE1, class TYPE2, class TYPE3, class TYPE4, class TYPE5, class TYPE6>
378
+ void FXRbCallVoidMethod(FXDC* recv, ID func, TYPE1 arg1, TYPE2 arg2, TYPE3 arg3, TYPE4 arg4, TYPE5 arg5, TYPE6 arg6){
379
+ VALUE obj=FXRbGetRubyObj(recv,false);
380
+ FXASSERT(!NIL_P(obj));
381
+ rb_funcall(obj,func,6,to_ruby(arg1),to_ruby(arg2),to_ruby(arg3),to_ruby(arg4),to_ruby(arg5),to_ruby(arg6));
382
+ }
383
+
384
+ /* Seven arguments */
385
+ template<class TYPE1, class TYPE2, class TYPE3, class TYPE4, class TYPE5, class TYPE6, class TYPE7>
386
+ void FXRbCallVoidMethod(FXDC* recv, ID func, TYPE1 arg1, TYPE2 arg2, TYPE3 arg3, TYPE4 arg4, TYPE5 arg5, TYPE6 arg6, TYPE7 arg7){
387
+ VALUE obj=FXRbGetRubyObj(recv,false);
388
+ FXASSERT(!NIL_P(obj));
389
+ rb_funcall(obj,func,7,to_ruby(arg1),to_ruby(arg2),to_ruby(arg3),to_ruby(arg4),to_ruby(arg5),to_ruby(arg6),to_ruby(arg7));
390
+ }
391
+
392
+ /* Eleven arguments (!) */
393
+ template<class TYPE1,class TYPE2,class TYPE3,class TYPE4,class TYPE5,class TYPE6,class TYPE7,class TYPE8,class TYPE9,class TYPE10,class TYPE11>
394
+ void FXRbCallVoidMethod(FXObject* recv,ID func,TYPE1& arg1,TYPE2 arg2,TYPE3 arg3,TYPE4 arg4,TYPE5 arg5,TYPE6 arg6,TYPE7 arg7,TYPE8 arg8,TYPE9 arg9,TYPE10 arg10,TYPE11 arg11){
395
+ VALUE obj=FXRbGetRubyObj(recv,false);
396
+ FXASSERT(!NIL_P(obj));
397
+ rb_funcall(obj,func,11,to_ruby(arg1),to_ruby(arg2),to_ruby(arg3),to_ruby(arg4),to_ruby(arg5),to_ruby(arg6),to_ruby(arg7),to_ruby(arg8),to_ruby(arg9),to_ruby(arg10),to_ruby(arg11));
398
+ }
399
+
400
+ // Call function with "FXbool" return value
401
+ inline FXbool FXRbCallBoolMethod(FXStream* recv,ID func){
402
+ VALUE v=rb_funcall(FXRbGetRubyObj(recv,false),func,0,NULL);
403
+ return (v==Qtrue)?TRUE:FALSE;
404
+ }
405
+
406
+ template<class TYPE1>
407
+ FXbool FXRbCallBoolMethod(FXStream* recv,ID func,TYPE1 arg){
408
+ VALUE v=rb_funcall(FXRbGetRubyObj(recv,false),func,1,to_ruby(arg));
409
+ return (v==Qtrue)?TRUE:FALSE;
410
+ }
411
+
412
+ template<class TYPE1,class TYPE2>
413
+ FXbool FXRbCallBoolMethod(FXStream* recv,ID func,TYPE1 arg1,TYPE2 arg2){
414
+ VALUE v=rb_funcall(FXRbGetRubyObj(recv,false),func,2,to_ruby(arg1),to_ruby(arg2));
415
+ return (v==Qtrue)?TRUE:FALSE;
416
+ }
417
+
418
+ FXbool FXRbCallBoolMethod(const FXObject* recv,ID func);
419
+
420
+ template<class TYPE>
421
+ FXbool FXRbCallBoolMethod(FXObject* recv, ID func, TYPE arg){
422
+ VALUE obj=FXRbGetRubyObj(recv,false);
423
+ FXASSERT(!NIL_P(obj));
424
+ VALUE v=rb_funcall(obj,func,1,to_ruby(arg));
425
+ return (v==Qtrue)?TRUE:FALSE;
426
+ }
427
+
428
+ template<class TYPE>
429
+ FXbool FXRbCallBoolMethod(const FXObject* recv,ID func,TYPE arg){
430
+ VALUE v=rb_funcall(FXRbGetRubyObj(recv,false),func,1,to_ruby(arg));
431
+ return (v==Qtrue)?TRUE:FALSE;
432
+ }
433
+
434
+ template<class TYPE1, class TYPE2>
435
+ FXbool FXRbCallBoolMethod(const FXObject* recv, ID func, TYPE1 arg1, TYPE2 arg2){
436
+ VALUE obj=FXRbGetRubyObj(recv,false);
437
+ FXASSERT(!NIL_P(obj));
438
+ VALUE v=rb_funcall(obj,func,2,to_ruby(arg1),to_ruby(arg2));
439
+ return (v==Qtrue)?TRUE:FALSE;
440
+ }
441
+
442
+ template<class TYPE1, class TYPE2, class TYPE3>
443
+ FXbool FXRbCallBoolMethod(const FXObject* recv, ID func, TYPE1 arg1, TYPE2 arg2, TYPE3 arg3){
444
+ VALUE obj=FXRbGetRubyObj(recv,false);
445
+ FXASSERT(!NIL_P(obj));
446
+ VALUE v=rb_funcall(obj,func,3,to_ruby(arg1),to_ruby(arg2),to_ruby(arg3));
447
+ return (v==Qtrue)?TRUE:FALSE;
448
+ }
449
+
450
+ template<class TYPE1, class TYPE2, class TYPE3, class TYPE4, class TYPE5>
451
+ FXbool FXRbCallBoolMethod(const FXObject* recv, ID func, TYPE1 arg1, TYPE2 arg2, TYPE3 arg3, TYPE4 arg4, TYPE5 arg5){
452
+ VALUE obj=FXRbGetRubyObj(recv,false);
453
+ FXASSERT(!NIL_P(obj));
454
+ VALUE v=rb_funcall(obj,func,5,to_ruby(arg1),to_ruby(arg2),to_ruby(arg3),to_ruby(arg4),to_ruby(arg5));
455
+ return (v==Qtrue)?TRUE:FALSE;
456
+ }
457
+
458
+ // Call function with "FXint" return value
459
+ FXint FXRbCallIntMethod(FXObject* recv,ID func);
460
+
461
+ template<class TYPE>
462
+ FXint FXRbCallIntMethod(FXObject* recv, ID func, TYPE arg){
463
+ VALUE obj=FXRbGetRubyObj(recv,false);
464
+ FXASSERT(!NIL_P(obj));
465
+ VALUE v=rb_funcall(obj,func,1,to_ruby(arg));
466
+ return static_cast<FXint>(NUM2INT(v));
467
+ }
468
+
469
+ template<class TYPE>
470
+ FXint FXRbCallIntMethod(const FXObject* recv, ID func, TYPE arg){
471
+ VALUE obj=FXRbGetRubyObj(recv,false);
472
+ FXASSERT(!NIL_P(obj));
473
+ VALUE v=rb_funcall(obj,func,1,to_ruby(arg));
474
+ return static_cast<FXint>(NUM2INT(v));
475
+ }
476
+
477
+ template<class TYPE1, class TYPE2, class TYPE3, class TYPE4, class TYPE5>
478
+ FXint FXRbCallIntMethod(const FXObject* recv, ID func, TYPE1 arg1, TYPE2 arg2, TYPE3 arg3, TYPE4 arg4, TYPE5 arg5){
479
+ VALUE obj=FXRbGetRubyObj(recv,false);
480
+ FXASSERT(!NIL_P(obj));
481
+ VALUE result=rb_funcall(obj,func,5,to_ruby(arg1),to_ruby(arg2),to_ruby(arg3),to_ruby(arg4),to_ruby(arg5));
482
+ return static_cast<FXint>(NUM2INT(result));
483
+ }
484
+
485
+ // Call function with "long" return value
486
+ template<class TYPE1, class TYPE2, class TYPE3>
487
+ long FXRbCallLongMethod(FXObject* recv, ID func, TYPE1 arg1, TYPE2 arg2, TYPE3 arg3){
488
+ VALUE obj=FXRbGetRubyObj(recv,false);
489
+ FXASSERT(!NIL_P(obj));
490
+ VALUE v=rb_funcall(obj,func,3,to_ruby(arg1),to_ruby(arg2),to_ruby(arg3));
491
+ return static_cast<long>(NUM2LONG(v));
492
+ }
493
+
494
+ // Call functions with "FXuint" return value
495
+ template<class TYPE>
496
+ FXuint FXRbCallUIntMethod(FXObject* recv, ID func, TYPE arg){
497
+ VALUE obj=FXRbGetRubyObj(recv,false);
498
+ FXASSERT(!NIL_P(obj));
499
+ VALUE v=rb_funcall(obj,func,1,to_ruby(arg));
500
+ return static_cast<FXuint>(NUM2UINT(v));
501
+ }
502
+
503
+
504
+
505
+ // Call functions with "FXGLObject*" return value
506
+ FXGLObject* FXRbCallGLObjectMethod(FXGLObject* recv,ID func);
507
+ FXGLObject* FXRbCallGLObjectMethod(FXGLObject* recv,ID func,FXuint* path,FXint n);
508
+ FXGLObject* FXRbCallGLObjectMethod(FXGLViewer* recv,ID func,FXint x,FXint y);
509
+
510
+ // Call functions with "FXGLObject**" return value
511
+ FXGLObject** FXRbCallGLObjectArrayMethod(FXGLViewer* recv,ID func,FXint x,FXint y,FXint w,FXint h);
512
+
513
+ // Call functions with "FXTreeItem*" return value
514
+ FXTableItem* FXRbCallTableItemMethod(FXTable* recv,ID func,const FXString& text,FXIcon* icon,void* ptr);
515
+
516
+ // Call functions with "FXFileAssoc*" return value
517
+ FXFileAssoc* FXRbCallFileAssocMethod(const FXFileDict* recv,ID func,const FXchar* pathname);
518
+
519
+
520
+ // Call functions with "FXColor" return value
521
+ template<class TYPE1, class TYPE2>
522
+ FXColor FXRbCallColorMethod(FXDC* recv, ID func, TYPE1 arg1, TYPE2 arg2){
523
+ VALUE obj=FXRbGetRubyObj(recv,false);
524
+ FXASSERT(!NIL_P(obj));
525
+ VALUE v=rb_funcall(obj,func,2,to_ruby(arg1),to_ruby(arg2));
526
+ return static_cast<FXColor>(NUM2UINT(v));
527
+ }
528
+
529
+ // Call functions with "FXRangef" return value
530
+ FXRangef FXRbCallRangeMethod(FXObject* recv,ID func);
531
+
532
+ /**
533
+ * Macro to set up class implementation.
534
+ * This is a modified version of the standard FOX macro FXIMPLEMENT();
535
+ * this version's implementation of the virtual handle() function
536
+ * first checks the Ruby class instance's message map to see if it
537
+ * can handle the incoming message. If not, the regular C++ message
538
+ * mapping takes over as in standard FOX applications.
539
+ */
540
+
541
+ #define FXRbIMPLEMENT(classname,baseclassname,mapping,nmappings) \
542
+ FXObject* classname::manufacture(){return new classname;} \
543
+ const FX::FXMetaClass classname::metaClass(#classname,classname::manufacture,&baseclassname::metaClass,mapping,nmappings,sizeof(classname::FXMapEntry),sizeof(#classname)); \
544
+ long classname::handle(FXObject* sender,FXSelector key,void* ptr){ \
545
+ ID func=FXRbLookupHandler(this,key); \
546
+ if(func!=0){ \
547
+ return FXRbHandleMessage(this,func,sender,key,ptr); \
548
+ } \
549
+ else{ \
550
+ const FXMapEntry* me=reinterpret_cast<const FXMapEntry*>(metaClass.search(key)); \
551
+ return me ? (this->* me->func)(sender,key,ptr) : baseclassname::handle(sender,key,ptr); \
552
+ } \
553
+ }
554
+
555
+
556
+ // FXRuby classes
557
+ #include "FXRbStream.h"
558
+ #include "FXRbObject.h"
559
+ #include "FXRbDelegator.h"
560
+ #include "FXRbDict.h"
561
+ #include "FXRbStringDict.h"
562
+ #include "FXRbAccelTable.h"
563
+ #include "FXRbRecentFiles.h"
564
+ #include "FXRbApp.h"
565
+ #include "FXRbId.h"
566
+ #include "FXRbVisual.h"
567
+ #include "FXRbFont.h"
568
+ #include "FXRbCursor.h"
569
+ #include "FXRbCURCursor.h"
570
+ #include "FXRbGIFCursor.h"
571
+ #include "FXRbDrawable.h"
572
+ #include "FXRbBitmap.h"
573
+ #include "FXMemoryBuffer.h"
574
+ #include "FXRbImage.h"
575
+ #include "FXRbBMPImage.h"
576
+ #include "FXRbGIFImage.h"
577
+ #include "FXRbICOImage.h"
578
+ #include "FXRbJPGImage.h"
579
+ #include "FXRbPCXImage.h"
580
+ #include "FXRbPNGImage.h"
581
+ #include "FXRbPPMImage.h"
582
+ #include "FXRbRGBImage.h"
583
+ #include "FXRbTGAImage.h"
584
+ #include "FXRbTIFImage.h"
585
+ #include "FXRbXBMImage.h"
586
+ #include "FXRbXPMImage.h"
587
+ #include "FXRbIcon.h"
588
+ #include "FXRbBMPIcon.h"
589
+ #include "FXRbGIFIcon.h"
590
+ #include "FXRbICOIcon.h"
591
+ #include "FXRbJPGIcon.h"
592
+ #include "FXRbPCXIcon.h"
593
+ #include "FXRbPNGIcon.h"
594
+ #include "FXRbPPMIcon.h"
595
+ #include "FXRbRGBIcon.h"
596
+ #include "FXRbTGAIcon.h"
597
+ #include "FXRbTIFIcon.h"
598
+ #include "FXRbXBMIcon.h"
599
+ #include "FXRbXPMIcon.h"
600
+ #include "FXRbDC.h"
601
+ #include "FXRbDCWindow.h"
602
+ #include "FXRbDCPrint.h"
603
+ #include "FXRbFileDict.h"
604
+ #include "FXRbWindow.h"
605
+ #include "FXRbFrame.h"
606
+ #include "FXRbSeparator.h"
607
+ #include "FXRbLabel.h"
608
+ #include "FXRbDial.h"
609
+ #include "FXRbColorBar.h"
610
+ #include "FXRbColorWell.h"
611
+ #include "FXRbColorWheel.h"
612
+ #include "FXRbTextField.h"
613
+ #include "FXRbButton.h"
614
+ #include "FXRbPicker.h"
615
+ #include "FXRbToggleButton.h"
616
+ #include "FXRbTriStateButton.h"
617
+ #include "FXRbCheckButton.h"
618
+ #include "FXRbRadioButton.h"
619
+ #include "FXRbArrowButton.h"
620
+ #include "FXRbMenuButton.h"
621
+ #include "FXRbComposite.h"
622
+ #include "FXRbPacker.h"
623
+ #include "FXRbSpring.h"
624
+ #include "FXRbHorizontalFrame.h"
625
+ #include "FXRbVerticalFrame.h"
626
+ #include "FXRbMatrix.h"
627
+ #include "FXRbSpinner.h"
628
+ #include "FXRbRealSpinner.h"
629
+ #include "FXRbRootWindow.h"
630
+ #include "FXRbCanvas.h"
631
+ #include "FXRbGroupBox.h"
632
+ #include "FXRbShell.h"
633
+ #include "FXRbToolTip.h"
634
+ #include "FXRbPopup.h"
635
+ #include "FXRbTopWindow.h"
636
+ #include "FXRbDialogBox.h"
637
+ #include "FXRbMainWindow.h"
638
+ #include "FXRbMenuPane.h"
639
+ #include "FXRbScrollPane.h"
640
+ #include "FXRbMenuCaption.h"
641
+ #include "FXRbMenuSeparator.h"
642
+ #include "FXRbMenuTitle.h"
643
+ #include "FXRbMenuCascade.h"
644
+ #include "FXRbMenuCommand.h"
645
+ #include "FXRbMenuCheck.h"
646
+ #include "FXRbMenuRadio.h"
647
+ #include "FXRbToolBar.h"
648
+ #include "FXRbMenuBar.h"
649
+ #include "FXRbOptionMenu.h"
650
+ #include "FXRbSwitcher.h"
651
+ #include "FXRbTabBar.h"
652
+ #include "FXRbTabBook.h"
653
+ #include "FXRbTabItem.h"
654
+ #include "FXRbScrollBar.h"
655
+ #include "FXRbScrollArea.h"
656
+ #include "FXRbScrollWindow.h"
657
+ #include "FXRbList.h"
658
+ #include "FXRbComboBox.h"
659
+ #include "FXRbListBox.h"
660
+ #include "FXRbFoldingList.h"
661
+ #include "FXRbTreeList.h"
662
+ #include "FXRbTreeListBox.h"
663
+ // #include "FXRbBitmapView.h"
664
+ #include "FXRbImageView.h"
665
+ #include "FXRbTable.h"
666
+ #include "FXRbDragCorner.h"
667
+ #include "FXRbStatusBar.h"
668
+ #include "FXRbStatusLine.h"
669
+ #include "FXRbMessageBox.h"
670
+ #include "FXRbDirList.h"
671
+ #include "FXRbRealSlider.h"
672
+ #include "FXRbSlider.h"
673
+ #include "FXRbSplitter.h"
674
+ #include "FXRb4Splitter.h"
675
+ #include "FXRbHeader.h"
676
+ #include "FXRbShutter.h"
677
+ #include "FXRbIconList.h"
678
+ #include "FXRbFileList.h"
679
+ #include "FXRbDirBox.h"
680
+ #include "FXRbDriveBox.h"
681
+ #include "FXRbDirSelector.h"
682
+ #include "FXRbDirDialog.h"
683
+ #include "FXRbFileSelector.h"
684
+ #include "FXRbFileDialog.h"
685
+ #include "FXRbColorSelector.h"
686
+ #include "FXRbColorDialog.h"
687
+ #include "FXRbFontSelector.h"
688
+ #include "FXRbFontDialog.h"
689
+ #include "FXRbText.h"
690
+ #include "FXRbDataTarget.h"
691
+ #include "FXRbProgressBar.h"
692
+ #include "FXRbSearchDialog.h"
693
+ #include "FXRbReplaceDialog.h"
694
+ #include "FXRbInputDialog.h"
695
+ #include "FXRbProgressDialog.h"
696
+ #include "FXRbMDIButton.h"
697
+ #include "FXRbMDIClient.h"
698
+ #include "FXRbMDIChild.h"
699
+ #include "FXRbDocument.h"
700
+ #include "FXRbToolBarGrip.h"
701
+ #include "FXRbToolBarShell.h"
702
+ #include "FXRbToolBarTab.h"
703
+ #include "FXRbPrintDialog.h"
704
+ #include "FXRbDebugTarget.h"
705
+ #include "FXRbGradientBar.h"
706
+ #include "FXRbBitmapFrame.h"
707
+ #include "FXRbImageFrame.h"
708
+ #include "FXRbRuler.h"
709
+ #include "FXRbWizard.h"
710
+ #ifdef WITH_FXSCINTILLA
711
+ #include "FXRbScintilla.h"
712
+ #endif
713
+ #include "FXRbSettings.h"
714
+ #include "FXRbRegistry.h"
715
+
716
+ // OpenGL support
717
+ #include "FXRbGLVisual.h"
718
+ #include "FXRbGLContext.h"
719
+ #include "FXRbGLCanvas.h"
720
+ #include "FXRbGLViewer.h"
721
+ #include "FXRbGLObject.h"
722
+ #include "FXRbGLShape.h"
723
+
724
+ // Inlined implementations of stubs
725
+ #include "inlinestubs.h"
726
+
727
+ #endif
728
+