fxruby 1.6.19 → 1.6.20

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -0,0 +1,141 @@
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
+
24
+ /// 7 Segment styles
25
+ enum {
26
+ SEVENSEGMENT_NORMAL = 0, /// Draw segments normally
27
+ SEVENSEGMENT_SHADOW = 0x00080000 /// Draw shadow under the segments
28
+ };
29
+
30
+ %rename("text=") FX7Segment::setText(const FXString&);
31
+ %rename("text") FX7Segment::getText() const;
32
+ %rename("textColor=") FX7Segment::setTextColor(FXColor);
33
+ %rename("textColor") FX7Segment::getTextColor() const;
34
+ %rename("cellWidth=") FX7Segment::setCellWidth(FXint);
35
+ %rename("cellWidth") FX7Segment::getCellWidth() const;
36
+ %rename("cellHeight=") FX7Segment::setCellHeight(FXint);
37
+ %rename("cellHeight") FX7Segment::getCellHeight() const;
38
+ %rename("thickness=") FX7Segment::setThickness(FXint);
39
+ %rename("thickness") FX7Segment::getThickness() const;
40
+ %rename("justify=") FX7Segment::setJustify(FXuint);
41
+ %rename("justify") FX7Segment::getJustify() const;
42
+ %rename("helpText=") FX7Segment::setHelpText(const FXString&);
43
+ %rename("helpText") FX7Segment::getHelpText() const;
44
+ %rename("tipText=") FX7Segment::setTipText(const FXString&);
45
+ %rename("tipText") FX7Segment::getTipText() const;
46
+
47
+ /**
48
+ * Seven-segment (eg LCD/watch style) widget, useful for making
49
+ * indicators and timers. Besides numbers, the seven-segment
50
+ * display widget can also display some letters and punctuations.
51
+ */
52
+ class FX7Segment : public FXFrame {
53
+ protected:
54
+ FXString label; // Text being shown
55
+ FXColor textColor; // Text color
56
+ FXint thickness; // Segment thickness
57
+ FXint cellwidth; // Width of cell
58
+ FXint cellheight; // height of cell
59
+ protected:
60
+ FX7Segment();
61
+ public:
62
+ long onPaint(FXObject*,FXSelector,void* PTR_EVENT);
63
+ long onCmdSetValue(FXObject*,FXSelector,void*); // FIXME
64
+ long onCmdSetIntValue(FXObject*,FXSelector,void*); // FIXME
65
+ long onCmdSetRealValue(FXObject*,FXSelector,void*); // FIXME
66
+ long onCmdSetStringValue(FXObject*,FXSelector,void*); // FIXME
67
+ long onCmdGetIntValue(FXObject*,FXSelector,void*); // FIXME
68
+ long onCmdGetRealValue(FXObject*,FXSelector,void*); // FIXME
69
+ long onCmdGetStringValue(FXObject*,FXSelector,void*); // FIXME
70
+ long onCmdSetHelp(FXObject*,FXSelector,void*); // FIXME
71
+ long onCmdGetHelp(FXObject*,FXSelector,void*); // FIXME
72
+ long onCmdSetTip(FXObject*,FXSelector,void*); // FIXME
73
+ long onCmdGetTip(FXObject*,FXSelector,void*); // FIXME
74
+ long onQueryHelp(FXObject*,FXSelector,void*); // FIXME
75
+ long onQueryTip(FXObject*,FXSelector,void*); // FIXME
76
+ public:
77
+
78
+ %extend {
79
+ /// Create a seven segment display
80
+ FX7Segment(FXComposite* p,const FXString& text,FXuint opts=SEVENSEGMENT_NORMAL,FXint x=0,FXint y=0,FXint w=0,FXint h=0,FXint pl=DEFAULT_PAD,FXint pr=DEFAULT_PAD,FXint pt=DEFAULT_PAD,FXint pb=DEFAULT_PAD){
81
+ return new FXRb7Segment(p,text,opts,x,y,w,h,pl,pr,pt,pb);
82
+ }
83
+ }
84
+
85
+ /// Set the text for this label
86
+ void setText(const FXString& text);
87
+
88
+ /// Get the text for this label
89
+ FXString getText() const;
90
+
91
+ /// Change text color
92
+ void setTextColor(FXColor clr);
93
+
94
+ /// Return text color
95
+ FXColor getTextColor() const;
96
+
97
+ /// Get/set cell width
98
+ void setCellWidth(FXint w);
99
+ FXint getCellWidth() const;
100
+
101
+ /// Get/set cell height
102
+ void setCellHeight(FXint h);
103
+ FXint getCellHeight() const;
104
+
105
+ /// Get/set segment thickness
106
+ void setThickness(FXint t);
107
+ FXint getThickness() const;
108
+
109
+ /// Change 7 segment style
110
+ void set7SegmentStyle(FXuint style);
111
+
112
+ /// Get current 7 segment style
113
+ FXuint get7SegmentStyle() const;
114
+
115
+ /// Set the current text-justification mode.
116
+ void setJustify(FXuint mode);
117
+
118
+ /// Get the current text-justification mode.
119
+ FXuint getJustify() const;
120
+
121
+ /// Set the status line help text
122
+ void setHelpText(const FXString& text);
123
+
124
+ /// Get the status line help text
125
+ const FXString& getHelpText() const;
126
+
127
+ /// Set the tool tip message
128
+ void setTipText(const FXString& text);
129
+
130
+ /// Get the tool tip message
131
+ const FXString& getTipText() const;
132
+
133
+ /// Destroy
134
+ virtual ~FX7Segment();
135
+ };
136
+
137
+ DECLARE_FXOBJECT_VIRTUALS(FX7Segment)
138
+ DECLARE_FXID_VIRTUALS(FX7Segment)
139
+ DECLARE_FXDRAWABLE_VIRTUALS(FX7Segment)
140
+ DECLARE_FXWINDOW_VIRTUALS(FX7Segment)
141
+
@@ -0,0 +1,100 @@
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
+ /**
24
+ * The accelerator table sends a message to a specific
25
+ * target object when the indicated key and modifier combination
26
+ * is pressed.
27
+ */
28
+
29
+ class FXAccelTable : public FXObject {
30
+ protected:
31
+ struct FXAccelKey {
32
+ FXObject *target; // Target object of message
33
+ FXSelector messagedn; // Message being sent
34
+ FXSelector messageup; // Message being sent
35
+ FXHotKey code; // Keysym and modifier mask to match
36
+ };
37
+ public:
38
+ long onKeyPress(FXObject*,FXSelector,void* PTR_EVENT);
39
+ long onKeyRelease(FXObject*,FXSelector,void* PTR_EVENT);
40
+ public:
41
+ %extend {
42
+ /// Construct empty accelerator table
43
+ FXAccelTable(){
44
+ return new FXRbAccelTable();
45
+ }
46
+ }
47
+
48
+ /// Add an accelerator into the table
49
+ void addAccel(FXHotKey hotkey,FXObject* target=NULL,FXSelector seldn=0,FXSelector selup=0);
50
+
51
+ /// Remove an accelerator from the table
52
+ void removeAccel(FXHotKey hotkey);
53
+
54
+ /// Return true if accelerator specified
55
+ bool hasAccel(FXHotKey hotkey) const;
56
+
57
+ /// Return target object of the given accelerator
58
+ FXObject* targetOfAccel(FXHotKey hotkey) const;
59
+
60
+ /// Destructor
61
+ virtual ~FXAccelTable();
62
+ };
63
+
64
+ DECLARE_FXOBJECT_VIRTUALS(FXAccelTable)
65
+
66
+ /**
67
+ * Parse accelerator from string, yielding modifier and
68
+ * key code. For example, parseAccel("Ctl+Shift+X")
69
+ * yields MKUINT(KEY_X,CONTROLMASK|SHIFTMASK).
70
+ */
71
+ FXHotKey parseAccel(const FXString& string);
72
+
73
+ /**
74
+ * Unparse hot key comprising modifier and key code back
75
+ * into a string suitable for parsing with fxparseHotKey.
76
+ */
77
+ FXString unparseAccel(FXHotKey key);
78
+
79
+ /**
80
+ * Parse hot key from string, yielding modifier and
81
+ * key code. For example, parseHotKey(""Salt && &Pepper!"")
82
+ * yields MKUINT(KEY_p,ALTMASK).
83
+ */
84
+ FXHotKey parseHotKey(const FXString& string);
85
+
86
+ /**
87
+ * Obtain hot key offset in string, or -1 if not found.
88
+ * For example, findHotKey("Salt && &Pepper!") yields 7.
89
+ * Note that this is the byte-offset, not the character
90
+ * index!
91
+ */
92
+ FXint findHotKey(const FXString& string);
93
+
94
+ /**
95
+ * Strip hot key combination from the string.
96
+ * For example, stripHotKey("Salt && &Pepper") should
97
+ * yield "Salt & Pepper".
98
+ */
99
+ FXString stripHotKey(const FXString& string);
100
+
@@ -0,0 +1,735 @@
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
+ // Forward declarations
24
+ class FXWindow;
25
+ class FXIcon;
26
+ class FXBitmap;
27
+ class FXCursor;
28
+ class FXRootWindow;
29
+ class FXMainWindow;
30
+ class FXPopup;
31
+ class FXFont;
32
+ class FXDC;
33
+ class FXDCWindow;
34
+ class FXVisual;
35
+ class FXGLVisual;
36
+ class FXGLContext;
37
+
38
+
39
+ /// File input modes for addInput
40
+ enum FXInputMode {
41
+ INPUT_NONE = 0, /// Inactive
42
+ INPUT_READ = 1, /// Read input fd
43
+ INPUT_WRITE = 2, /// Write input fd
44
+ INPUT_EXCEPT = 4 /// Except input fd
45
+ };
46
+
47
+
48
+ /// All ways of being modal
49
+ enum FXModality {
50
+ MODAL_FOR_NONE, /// Non modal event loop (dispatch normally)
51
+ MODAL_FOR_WINDOW, /// Modal dialog (beep if outside of modal dialog)
52
+ MODAL_FOR_POPUP /// Modal for popup (always dispatch to popup)
53
+ };
54
+
55
+
56
+ /// Default cursors provided by the application
57
+ enum FXDefaultCursor {
58
+ DEF_ARROW_CURSOR, /// Arrow cursor
59
+ DEF_RARROW_CURSOR, /// Reverse arrow cursor
60
+ DEF_TEXT_CURSOR, /// Text cursor
61
+ DEF_HSPLIT_CURSOR, /// Horizontal split cursor
62
+ DEF_VSPLIT_CURSOR, /// Vertical split cursor
63
+ DEF_XSPLIT_CURSOR, /// Cross split cursor
64
+ DEF_SWATCH_CURSOR, /// Color swatch drag cursor
65
+ DEF_MOVE_CURSOR, /// Move cursor
66
+ DEF_DRAGH_CURSOR, /// Resize horizontal edge
67
+ DEF_DRAGV_CURSOR, /// Resize vertical edge
68
+ DEF_DRAGTL_CURSOR, /// Resize upper-leftcorner
69
+ DEF_DRAGBR_CURSOR=DEF_DRAGTL_CURSOR, /// Resize bottom-right corner
70
+ DEF_DRAGTR_CURSOR, /// Resize upper-right corner
71
+ DEF_DRAGBL_CURSOR=DEF_DRAGTR_CURSOR, /// Resize bottom-left corner
72
+ DEF_DNDSTOP_CURSOR, /// Drag and drop stop
73
+ DEF_DNDCOPY_CURSOR, /// Drag and drop copy
74
+ DEF_DNDMOVE_CURSOR, /// Drag and drop move
75
+ DEF_DNDLINK_CURSOR, /// Drag and drop link
76
+ DEF_CROSSHAIR_CURSOR, /// Cross hair cursor
77
+ DEF_CORNERNE_CURSOR, /// North-east cursor
78
+ DEF_CORNERNW_CURSOR, /// North-west cursor
79
+ DEF_CORNERSE_CURSOR, /// South-east cursor
80
+ DEF_CORNERSW_CURSOR, /// South-west cursor
81
+ DEF_HELP_CURSOR, /// Help arrow cursor
82
+ DEF_HAND_CURSOR, /// Hand cursor
83
+ DEF_ROTATE_CURSOR, /// Rotate cursor
84
+ DEF_WAIT_CURSOR /// Wait cursor
85
+ };
86
+
87
+
88
+ /// FOX Event
89
+ struct FXEvent {
90
+ FXEvent();
91
+ FXuint type; /// Event type
92
+ FXuint time; /// Time of last event
93
+ FXint win_x; /// Window-relative x-coord
94
+ FXint win_y; /// Window-relative y-coord
95
+ FXint root_x; /// Root x-coord
96
+ FXint root_y; /// Root y-coord
97
+ FXint state; /// Keyboard/Modifier state
98
+ FXint code; /// Button, Keysym, or mode; DDE Source
99
+ FXString text; /// Text of keyboard event
100
+ FXint last_x; /// Window-relative x-coord of previous mouse location
101
+ FXint last_y; /// Window-relative y-coord of previous mouse location
102
+ FXint click_x; /// Window-relative x-coord of mouse press
103
+ FXint click_y; /// Window-relative y-coord of mouse press
104
+ FXint rootclick_x; /// Root-relative x-coord of mouse press
105
+ FXint rootclick_y; /// Root-relative y-coord of mouse press
106
+ FXuint click_time; /// Time of mouse button press
107
+ FXuint click_button; /// Mouse button pressed
108
+ FXint click_count; /// Click-count
109
+ FXbool moved; /// Moved cursor since press
110
+ FXRectangle rect; /// Rectangle
111
+ FXbool synthetic; /// True if synthetic expose event
112
+ FXDragType target; /// Target drag type being requested
113
+ ~FXEvent();
114
+ };
115
+
116
+
117
+ // FXChore is an opaque struct for FOX; this is just a declaration for SWIG
118
+ struct FXChore {
119
+ };
120
+
121
+
122
+ // FXTimer is an opaque struct for FOX; this is just a declaration for SWIG
123
+ struct FXTimer {
124
+ };
125
+
126
+ %rename("hasInputMethod?") FXApp::hasInputMethod() const;
127
+ %rename("hasChore?") FXApp::hasChore(FXObject *tgt,FXSelector sel) const;
128
+ %rename("hasTimeout?") FXApp::hasTimeout(FXObject *tgt,FXSelector sel) const;
129
+ %rename("focusWindow") FXApp::getFocusWindow() const;
130
+ %rename("activeWindow") FXApp::getActiveWindow() const;
131
+ %rename("scrollBarSize") FXApp::getScrollBarSize() const;
132
+ %rename("scrollBarSize=") FXApp::setScrollBarSize(FXint);
133
+
134
+ /// Application Object
135
+ class FXApp : public FXObject {
136
+ protected:
137
+
138
+ /// Return TRUE when new raw event is available
139
+ virtual bool getNextEvent(FXRawEvent& ev,FXbool blocking=TRUE);
140
+
141
+ /// Dispatch raw event
142
+ virtual bool dispatchEvent(FXRawEvent& ev);
143
+
144
+ public:
145
+ long onCmdQuit(FXObject*,FXSelector,void* PTR_IGNORE);
146
+ long onCmdDump(FXObject*,FXSelector,void* PTR_IGNORE);
147
+ long onCmdHover(FXObject*,FXSelector,void* PTR_IGNORE);
148
+
149
+ public:
150
+
151
+ // Messages applications understand
152
+ enum {
153
+ ID_QUIT=1, /// Terminate the application normally
154
+ ID_DUMP, /// Dump the current widget tree
155
+ ID_HOVER,
156
+ ID_LAST
157
+ };
158
+
159
+ public:
160
+
161
+ %extend {
162
+ // Copyright notice for library
163
+ static VALUE copyright() {
164
+ return rb_str_new2((const char *) FXApp::copyright);
165
+ }
166
+ }
167
+
168
+ public:
169
+
170
+ %extend {
171
+ /**
172
+ * Construct application object; the name and vendor strings are used
173
+ * as keys into the registry database for this application's settings
174
+ */
175
+ FXApp(const FXchar* name="Application",const FXchar* vendor="FoxDefault"){
176
+ if(FXApp::instance()){
177
+ rb_raise(rb_eRuntimeError,"attempted to create more than one FXApp instance");
178
+ return 0;
179
+ }
180
+ else{
181
+ return FXRbApp::constructAndInit(name,vendor);
182
+ }
183
+ }
184
+ }
185
+
186
+ /// Get application name
187
+ const FXString& getAppName() const;
188
+
189
+ /// Get vendor name
190
+ const FXString& getVendorName() const;
191
+
192
+ /// Connection to display; this is called by init()
193
+ bool openDisplay(const FXchar* dpyname=NULL);
194
+
195
+ /// Close connection to the display
196
+ bool closeDisplay();
197
+
198
+ %extend {
199
+ /// Return pointer to display
200
+ unsigned long getDisplay() const {
201
+ return reinterpret_cast<unsigned long>(self->getDisplay());
202
+ }
203
+ }
204
+
205
+ /// Is application initialized
206
+ bool isInitialized() const;
207
+
208
+ /// Get argument count
209
+ FXint getArgc() const;
210
+
211
+ /// Get argument vector
212
+ const FXchar *const *getArgv() const; // FIXME
213
+
214
+ /// Return true if input method support
215
+ bool hasInputMethod() const;
216
+
217
+ /// Get default visual
218
+ FXVisual* getDefaultVisual() const;
219
+
220
+ %extend {
221
+ /// Change default visual
222
+ void setDefaultVisual(FXVisual* vis){
223
+ FXASSERT(vis);
224
+ if(vis->isMemberOf(FXMETACLASS(FXRbVisual))){
225
+ dynamic_cast<FXRbVisual*>(vis)->ownedByApp=TRUE;
226
+ }
227
+ else if(vis->isMemberOf(FXMETACLASS(FXRbGLVisual))){
228
+ dynamic_cast<FXRbGLVisual*>(vis)->ownedByApp=TRUE;
229
+ }
230
+ self->setDefaultVisual(vis);
231
+ }
232
+ }
233
+
234
+ /// Get monochrome visual
235
+ FXVisual* getMonoVisual() const;
236
+
237
+ /// Get root Window
238
+ FXRootWindow* getRootWindow() const;
239
+
240
+ /// Set root Window
241
+ void setRootWindow(FXRootWindow* rt);
242
+
243
+ /// Return window at the end of the focus chain
244
+ FXWindow *getFocusWindow() const;
245
+
246
+ /// Get the window under the cursor, if any
247
+ FXWindow *getCursorWindow() const;
248
+
249
+ /// Get the active toplevel window, if any
250
+ FXWindow *getActiveWindow() const;
251
+
252
+ /// Get current popup window, if any
253
+ FXPopup* getPopupWindow() const;
254
+
255
+ /// Find window from id
256
+ FXWindow* findWindowWithId(FXID xid) const;
257
+
258
+ /// Find window from root x,y, starting from given window
259
+ FXWindow* findWindowAt(FXint rx,FXint ry,FXID window=0) const;
260
+
261
+ /**
262
+ * Add timeout message to be sent to target object in ms milliseconds;
263
+ * the timer fires only once after the interval expires. The void* ptr
264
+ * is user data which will be passed into the void* ptr of the message
265
+ * handler. If a timer with the same target and message already exists,
266
+ * it will be rescheduled.
267
+ */
268
+ void addTimeout(FXObject* tgt,FXSelector sel,FXuint ms=1000,void* ptr=NULL);
269
+
270
+ /**
271
+ * Remove timeout identified by tgt and sel.
272
+ */
273
+ void removeTimeout(FXObject* tgt,FXSelector sel);
274
+
275
+ /**
276
+ * Return TRUE if given timeout has been set
277
+ */
278
+ bool hasTimeout(FXObject *tgt,FXSelector sel) const;
279
+
280
+ /**
281
+ * Return, in ms, the time remaining until the given timer fires.
282
+ * If the timer is past due, 0 is returned. If there is no such
283
+ * timer, infinity (UINT_MAX) is returned.
284
+ */
285
+ FXuint remainingTimeout(FXObject *tgt,FXSelector sel);
286
+
287
+ /**
288
+ * Process any timeouts due at this time.
289
+ */
290
+ void handleTimeouts();
291
+
292
+ /**
293
+ * Add a idle processing message to be sent to target object when
294
+ * the system becomes idle, i.e. there are no events to be processed.
295
+ * The void* ptr is user data which will be passed into the void* ptr
296
+ * of the message handler. If a chore with the same target and message
297
+ * already exists, it will be rescheduled.
298
+ */
299
+ void addChore(FXObject* tgt,FXSelector sel,void *ptr=NULL);
300
+
301
+ /**
302
+ * Remove idle processing message(s) identified by tgt and sel.
303
+ */
304
+ void removeChore(FXObject* tgt,FXSelector sel);
305
+
306
+ /**
307
+ * Return TRUE if given chore has been set
308
+ */
309
+ bool hasChore(FXObject *tgt,FXSelector sel) const;
310
+
311
+ %extend {
312
+ /**
313
+ * Add signal processing message to be sent to target object when
314
+ * the signal sig is raised; flags are to be set as per POSIX definitions.
315
+ * When immediate is TRUE, the message will be sent to the target right away;
316
+ * this should be used with extreme care as the application is interrupted
317
+ * at an unknown point in its execution.
318
+ */
319
+ void addSignal(VALUE sigObj,FXObject* tgt,FXSelector sel,FXbool immediate=FALSE,FXuint flags=0){
320
+ const char *s;
321
+ FXint sig;
322
+ switch(TYPE(sigObj)){
323
+ case T_STRING:
324
+ s=StringValuePtr(sigObj);
325
+ sig=FXRbSignalNameToNumber(s);
326
+ if(sig==0) rb_raise(rb_eArgError,"unrecognized signal name `%s'",s);
327
+ break;
328
+ case T_FIXNUM:
329
+ sig=(FXint)NUM2INT(sigObj);
330
+ break;
331
+ default:
332
+ rb_raise(rb_eArgError,"bad signal type %s",rb_class2name(CLASS_OF(sigObj)));
333
+ break;
334
+ }
335
+ self->addSignal(sig,tgt,sel,immediate,flags);
336
+ }
337
+
338
+ /// Remove signal message for signal sig
339
+ void removeSignal(VALUE sigObj){
340
+ const char *s;
341
+ FXint sig;
342
+ switch(TYPE(sigObj)){
343
+ case T_STRING:
344
+ s=StringValuePtr(sigObj);
345
+ sig=FXRbSignalNameToNumber(s);
346
+ if(sig==0) rb_raise(rb_eArgError,"unrecognized signal name `%s'",s);
347
+ break;
348
+ case T_FIXNUM:
349
+ sig=(FXint)NUM2INT(sigObj);
350
+ break;
351
+ default:
352
+ rb_raise(rb_eArgError,"bad signal type %s",rb_class2name(CLASS_OF(sigObj)));
353
+ break;
354
+ }
355
+ self->removeSignal(sig);
356
+ }
357
+ }
358
+
359
+ %extend {
360
+ /**
361
+ * Add a file descriptor fd to be watched for activity as determined
362
+ * by mode, where mode is a bitwise OR (INPUT_READ, INPUT_WRITE, INPUT_EXCEPT).
363
+ * A message of type SEL_IO_READ, SEL_IO_WRITE, or SEL_IO_EXCEPT will be sent
364
+ * to the target when the specified activity is detected on the file descriptor.
365
+ */
366
+ bool addInput(VALUE obj,FXuint mode,FXObject *tgt,FXSelector sel){
367
+ FXInputHandle fd;
368
+ FXuint m;
369
+ if(mode&INPUT_READ){
370
+ m=INPUT_READ;
371
+ if(mode&INPUT_EXCEPT) m|=INPUT_EXCEPT;
372
+ fd=FXRbGetReadFileHandle(obj);
373
+ self->addInput(fd,m,tgt,sel);
374
+ }
375
+ if(mode&INPUT_WRITE){
376
+ m=INPUT_WRITE;
377
+ if(mode&INPUT_EXCEPT) m|=INPUT_EXCEPT;
378
+ fd=FXRbGetWriteFileHandle(obj);
379
+ self->addInput(fd,m,tgt,sel);
380
+ }
381
+ return true;
382
+ }
383
+
384
+ /**
385
+ * Remove input message and target object for the specified file descriptor
386
+ * and mode, which is a bitwise OR of (INPUT_READ, INPUT_WRITE, INPUT_EXCEPT).
387
+ */
388
+ bool removeInput(VALUE obj,FXuint mode){
389
+ FXInputHandle fd;
390
+ FXuint m;
391
+ if(mode&INPUT_READ){
392
+ m=INPUT_READ;
393
+ if(mode&INPUT_EXCEPT) m|=INPUT_EXCEPT;
394
+ fd=FXRbGetReadFileHandle(obj);
395
+ self->removeInput(fd,m);
396
+ }
397
+ if(mode&INPUT_WRITE){
398
+ m=INPUT_WRITE;
399
+ if(mode&INPUT_EXCEPT) m|=INPUT_EXCEPT;
400
+ fd=FXRbGetWriteFileHandle(obj);
401
+ self->removeInput(fd,m);
402
+ }
403
+ return true;
404
+ }
405
+ }
406
+
407
+ /// Return key state
408
+ bool getKeyState(FXuint keysym) const;
409
+
410
+ /// Peek to determine if there's an event
411
+ bool peekEvent();
412
+
413
+ /// Perform one event dispatch; return true if event was dispatched
414
+ bool runOneEvent(bool blocking=true);
415
+
416
+ /**
417
+ * Run the main application event loop until stop() is called,
418
+ * and return the exit code passed as argument to stop().
419
+ */
420
+ FXint run();
421
+
422
+ /**
423
+ * Run an event loop till some flag becomes non-zero, and
424
+ * then return.
425
+ */
426
+ FXint runUntil(FXuint& condition); // FIXME
427
+
428
+ /**
429
+ * Run event loop while events are available, non-modally.
430
+ * Return when no more events, timers, or chores are outstanding.
431
+ */
432
+ FXint runWhileEvents();
433
+
434
+ /**
435
+ * Run event loop while there are events are available in the queue.
436
+ * Returns 1 when all events in the queue have been handled, and 0 when
437
+ * the event loop was terminated due to stop() or stopModal().
438
+ * Except for the modal window and its children, user input to all windows
439
+ * is blocked; if the modal window is NULL, all user input is blocked.
440
+ */
441
+ FXint runModalWhileEvents(FXWindow* window=NULL);
442
+
443
+ /**
444
+ * Run modal event loop, blocking keyboard and mouse events to all windows
445
+ * until stopModal is called.
446
+ */
447
+ FXint runModal();
448
+
449
+ /**
450
+ * Run a modal event loop for the given window, until stop() or stopModal() is
451
+ * called. Except for the modal window and its children, user input to all
452
+ * windows is blocked; if the modal window is NULL all user input is blocked.
453
+ */
454
+ FXint runModalFor(FXWindow* window);
455
+
456
+ /**
457
+ * Run modal while window is shown, or until stop() or stopModal() is called.
458
+ * Except for the modal window and its children, user input to all windows
459
+ * is blocked; if the modal window is NULL all user input is blocked.
460
+ */
461
+ FXint runModalWhileShown(FXWindow* window);
462
+
463
+ /**
464
+ * Run popup menu while shown, until stop() or stopModal() is called.
465
+ * Also returns when entering previous cascading popup menu.
466
+ */
467
+ FXint runPopup(FXWindow* window);
468
+
469
+ /// True if the window is modal
470
+ bool isModal(FXWindow* window) const;
471
+
472
+ /// Return window of current modal loop
473
+ FXWindow* getModalWindow() const;
474
+
475
+ /// Return mode of current modal loop
476
+ FXModality getModality() const;
477
+
478
+ /**
479
+ * Terminate the outermost event loop, and all inner modal loops;
480
+ * All more deeper nested event loops will be terminated with code equal
481
+ * to 0, while the outermost event loop will return code equal to value.
482
+ */
483
+ void stop(FXint value=0);
484
+
485
+ /**
486
+ * Break out of the matching modal loop, returning code equal to value.
487
+ * All deeper nested event loops are terminated with code equal to 0.
488
+ */
489
+ void stopModal(FXWindow* window,FXint value=0);
490
+
491
+ /**
492
+ * Break out of the innermost modal loop, returning code equal to value.
493
+ */
494
+ void stopModal(FXint value=0);
495
+
496
+ /// Force GUI refresh
497
+ void forceRefresh();
498
+
499
+ /// Schedule a refresh
500
+ void refresh();
501
+
502
+ /// Flush pending repaints
503
+ void flush(bool sync=false);
504
+
505
+ /**
506
+ * Paint all windows marked for repainting.
507
+ * On return all the applications windows have been painted.
508
+ */
509
+ void repaint();
510
+
511
+ /**
512
+ * Return a reference to the registry. The registry keeps
513
+ * settings and configuration information for an application,
514
+ * which are automatically loaded when the application starts
515
+ * up, and saved when the application terminates.
516
+ */
517
+ FXRegistry& reg();
518
+
519
+ /// Register new DND type
520
+ FXDragType registerDragType(const FXString& name) const;
521
+
522
+ /// Get drag type name
523
+ FXString getDragTypeName(FXDragType type) const;
524
+
525
+ /// Return drag window if a drag operation is in progress
526
+ FXWindow* getDragWindow() const;
527
+
528
+ /// Beep
529
+ void beep();
530
+
531
+ /// Return application instance
532
+ static inline FXApp* instance();
533
+
534
+ %extend {
535
+ /// Change default font
536
+ void setNormalFont(FXFont* font){
537
+ FXASSERT(font);
538
+ if(font->isMemberOf(FXMETACLASS(FXRbFont))){
539
+ dynamic_cast<FXRbFont*>(font)->ownedByApp=TRUE;
540
+ }
541
+ self->setNormalFont(font);
542
+ }
543
+ }
544
+
545
+ /// Return default font
546
+ FXFont* getNormalFont() const;
547
+
548
+ /// Begin of wait-cursor block; wait-cursor blocks may be nested.
549
+ void beginWaitCursor();
550
+
551
+ /// End of wait-cursor block
552
+ void endWaitCursor();
553
+
554
+ %extend {
555
+ /// Change to a new wait cursor
556
+ void setWaitCursor(FXCursor *cur){
557
+ FXASSERT(cur);
558
+ if(cur->isMemberOf(FXMETACLASS(FXRbCursor))){
559
+ dynamic_cast<FXRbCursor*>(cur)->ownedByApp=TRUE;
560
+ }
561
+ else if(cur->isMemberOf(FXMETACLASS(FXRbCURCursor))){
562
+ dynamic_cast<FXRbCURCursor*>(cur)->ownedByApp=TRUE;
563
+ }
564
+ else if(cur->isMemberOf(FXMETACLASS(FXRbGIFCursor))){
565
+ dynamic_cast<FXRbGIFCursor*>(cur)->ownedByApp=TRUE;
566
+ }
567
+ self->setWaitCursor(cur);
568
+ }
569
+ }
570
+
571
+ /// Return current wait cursor
572
+ FXCursor* getWaitCursor() const;
573
+
574
+ /// Obtain a default cursor
575
+ FXCursor* getDefaultCursor(FXDefaultCursor which) const;
576
+
577
+ %extend {
578
+ /// Change default cursor
579
+ void setDefaultCursor(FXDefaultCursor which,FXCursor* cur){
580
+ FXASSERT(cur);
581
+ if(cur->isMemberOf(FXMETACLASS(FXRbCursor))){
582
+ dynamic_cast<FXRbCursor*>(cur)->ownedByApp=TRUE;
583
+ }
584
+ else if(cur->isMemberOf(FXMETACLASS(FXRbCURCursor))){
585
+ dynamic_cast<FXRbCURCursor*>(cur)->ownedByApp=TRUE;
586
+ }
587
+ else if(cur->isMemberOf(FXMETACLASS(FXRbGIFCursor))){
588
+ dynamic_cast<FXRbGIFCursor*>(cur)->ownedByApp=TRUE;
589
+ }
590
+ self->setDefaultCursor(which,cur);
591
+ }
592
+ }
593
+
594
+ /**
595
+ * Write a window and its children, and all resources reachable from this
596
+ * window, into the stream store.
597
+ */
598
+ FXbool writeWindow(FXStream& store,FXWindow *window);
599
+
600
+ %extend {
601
+ /**
602
+ * Read a window and its children from the stream store, and append
603
+ * it under father; note it is initially not created yet.
604
+ */
605
+ FXWindow* readWindow(FXStream& store,FXWindow*& window,FXWindow* father,FXWindow* owner){
606
+ window=0;
607
+ self->readWindow(store,window,father,owner);
608
+ return window;
609
+ }
610
+ }
611
+
612
+ /**
613
+ * Return a reference to the application-wide mutex.
614
+ * Normally, the main user interface thread holds this mutex,
615
+ * insuring that no other threads are modifying data during the
616
+ * processing of user interface messages. However, whenever the
617
+ * main user interface thread blocks for messages, it releases
618
+ * this mutex, to allow other threads to modify the same data.
619
+ * When a new message becomes available, the main user interface
620
+ * thread regains the mutex prior to dispatching the message.
621
+ * Other threads should hold this mutex only for short durations,
622
+ * so as to not starve the main user interface thread.
623
+ */
624
+ FXMutex& mutex();
625
+
626
+ /**
627
+ * Change message translator.
628
+ * The new translator will be owned by FXApp.
629
+ */
630
+ void setTranslator(FXTranslator* trans);
631
+
632
+ /// Return message translator
633
+ FXTranslator* getTranslator() const;
634
+
635
+ /// Obtain application-wide settings
636
+ FXuint getTypingSpeed() const;
637
+ FXuint getClickSpeed() const;
638
+ FXuint getScrollSpeed() const;
639
+ FXuint getScrollDelay() const;
640
+ FXuint getBlinkSpeed() const;
641
+ FXuint getAnimSpeed() const;
642
+ FXuint getMenuPause() const;
643
+ FXuint getTooltipPause() const;
644
+ FXuint getTooltipTime() const;
645
+ FXint getDragDelta() const;
646
+ FXint getWheelLines() const;
647
+ FXint getScrollBarSize() const;
648
+
649
+ /// Change application-wide settings
650
+ void setTypingSpeed(FXuint speed);
651
+ void setClickSpeed(FXuint speed);
652
+ void setScrollSpeed(FXuint speed);
653
+ void setScrollDelay(FXuint delay);
654
+ void setBlinkSpeed(FXuint speed);
655
+ void setAnimSpeed(FXuint speed);
656
+ void setMenuPause(FXuint pause);
657
+ void setTooltipPause(FXuint pause);
658
+ void setTooltipTime(FXuint time);
659
+ void setDragDelta(FXint delta);
660
+ void setWheelLines(FXint lines);
661
+ void setScrollBarSize(FXint size);
662
+
663
+ /// Obtain default colors
664
+ FXColor getBorderColor() const;
665
+ FXColor getBaseColor() const;
666
+ FXColor getHiliteColor() const;
667
+ FXColor getShadowColor() const;
668
+ FXColor getBackColor() const;
669
+ FXColor getForeColor() const;
670
+ FXColor getSelforeColor() const;
671
+ FXColor getSelbackColor() const;
672
+ FXColor getTipforeColor() const;
673
+ FXColor getTipbackColor() const;
674
+ FXColor getSelMenuTextColor() const;
675
+ FXColor getSelMenuBackColor() const;
676
+
677
+ /// Change default colors
678
+ void setBorderColor(FXColor color);
679
+ void setBaseColor(FXColor color);
680
+ void setHiliteColor(FXColor color);
681
+ void setShadowColor(FXColor color);
682
+ void setBackColor(FXColor color);
683
+ void setForeColor(FXColor color);
684
+ void setSelforeColor(FXColor color);
685
+ void setSelbackColor(FXColor color);
686
+ void setTipforeColor(FXColor color);
687
+ void setTipbackColor(FXColor color);
688
+ void setSelMenuTextColor(FXColor color);
689
+ void setSelMenuBackColor(FXColor color);
690
+
691
+ /// Dump widget information
692
+ void dumpWidgets() const;
693
+
694
+ /// Get number of existing windows
695
+ FXuint getWindowCount() const;
696
+
697
+ /// Destroy the application and all reachable resources
698
+ virtual ~FXApp();
699
+ };
700
+
701
+ DECLARE_FXOBJECT_VIRTUALS(FXApp)
702
+ DECLARE_FXAPP_VIRTUALS(FXApp)
703
+
704
+ #ifdef SWIGRUBY
705
+
706
+ %rename("threadsEnabled=") FXApp::setThreadsEnabled(FXbool);
707
+ %rename("threadsEnabled?") FXApp::threadsEnabled() const;
708
+
709
+ %extend FXApp {
710
+ // Enable (or disable) support for multithreaded applications
711
+ void setThreadsEnabled(FXbool enabled){
712
+ FXASSERT(self->isMemberOf(FXMETACLASS(FXRbApp)));
713
+ dynamic_cast<FXRbApp*>(self)->setThreadsEnabled(enabled);
714
+ }
715
+
716
+ // Are threads enabled?
717
+ FXbool threadsEnabled() const {
718
+ FXASSERT(self->isMemberOf(FXMETACLASS(FXRbApp)));
719
+ return dynamic_cast<const FXRbApp*>(self)->threadsEnabled();
720
+ }
721
+
722
+ // Set the amount of time to sleep
723
+ void setSleepTime(FXuint sleepTime){
724
+ FXASSERT(self->isMemberOf(FXMETACLASS(FXRbApp)));
725
+ dynamic_cast<FXRbApp*>(self)->setSleepTime(sleepTime);
726
+ }
727
+
728
+ // Get the amount of time to sleep
729
+ FXuint getSleepTime() const {
730
+ FXASSERT(self->isMemberOf(FXMETACLASS(FXRbApp)));
731
+ return dynamic_cast<const FXRbApp*>(self)->getSleepTime();
732
+ }
733
+ }
734
+
735
+ #endif