fxruby 1.6.27-x64-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (915) hide show
  1. data.tar.gz.sig +0 -0
  2. data/.gemtest +0 -0
  3. data/.gitignore +14 -0
  4. data/.yardopts +12 -0
  5. data/History.txt +57 -0
  6. data/Manifest.txt +1214 -0
  7. data/README.rdoc +537 -0
  8. data/Rakefile +233 -0
  9. data/Rakefile.cross +421 -0
  10. data/TODO +47 -0
  11. data/doap.rdf.erb +87 -0
  12. data/examples/RAA.rb +25 -0
  13. data/examples/README +53 -0
  14. data/examples/WhatAQuietStiff.rb +356 -0
  15. data/examples/babelfish.rb +72 -0
  16. data/examples/bounce.rb +171 -0
  17. data/examples/browser.rb +191 -0
  18. data/examples/button.rb +168 -0
  19. data/examples/canvasdemo.rb +88 -0
  20. data/examples/charts.rb +35 -0
  21. data/examples/custom_table_item.rb +170 -0
  22. data/examples/datatarget.rb +223 -0
  23. data/examples/dctest.rb +696 -0
  24. data/examples/dialog.rb +143 -0
  25. data/examples/dilbert.rb +66 -0
  26. data/examples/dirlist.rb +63 -0
  27. data/examples/dragdrop.rb +97 -0
  28. data/examples/dragsource.rb +80 -0
  29. data/examples/dropsite.rb +59 -0
  30. data/examples/foursplit.rb +97 -0
  31. data/examples/gdchart.rb +76 -0
  32. data/examples/gembrowser.rb +289 -0
  33. data/examples/gltest.rb +330 -0
  34. data/examples/glviewer.rb +576 -0
  35. data/examples/groupbox.rb +392 -0
  36. data/examples/header.rb +149 -0
  37. data/examples/hello.rb +12 -0
  38. data/examples/hello2.rb +51 -0
  39. data/examples/iRAA.rb +153 -0
  40. data/examples/iconlist.rb +92 -0
  41. data/examples/icons/AngryGuyInBunnySuit.ico +0 -0
  42. data/examples/icons/FatBot.ico +0 -0
  43. data/examples/icons/FlippedySwitch.ico +0 -0
  44. data/examples/icons/LeGoon.ico +0 -0
  45. data/examples/icons/Net.ico +0 -0
  46. data/examples/icons/RedMacOS.ico +0 -0
  47. data/examples/icons/SawBlade.ico +0 -0
  48. data/examples/icons/backview.png +0 -0
  49. data/examples/icons/big.png +0 -0
  50. data/examples/icons/bigfolder.png +0 -0
  51. data/examples/icons/bigpenguin.png +0 -0
  52. data/examples/icons/bluebullet14x14.gif +0 -0
  53. data/examples/icons/bottomview.png +0 -0
  54. data/examples/icons/camera.png +0 -0
  55. data/examples/icons/capbutt.png +0 -0
  56. data/examples/icons/capnotlast.png +0 -0
  57. data/examples/icons/capproj.png +0 -0
  58. data/examples/icons/capround.png +0 -0
  59. data/examples/icons/colorpal.png +0 -0
  60. data/examples/icons/copy.png +0 -0
  61. data/examples/icons/cut.png +0 -0
  62. data/examples/icons/delimit.png +0 -0
  63. data/examples/icons/dippy.png +0 -0
  64. data/examples/icons/double_dash.png +0 -0
  65. data/examples/icons/filenew.png +0 -0
  66. data/examples/icons/fileopen.png +0 -0
  67. data/examples/icons/filesave.png +0 -0
  68. data/examples/icons/filesaveas.png +0 -0
  69. data/examples/icons/fonts.png +0 -0
  70. data/examples/icons/fox.png +0 -0
  71. data/examples/icons/foxicon.png +0 -0
  72. data/examples/icons/frontview.png +0 -0
  73. data/examples/icons/gem_big.png +0 -0
  74. data/examples/icons/gem_small.png +0 -0
  75. data/examples/icons/hello2.png +0 -0
  76. data/examples/icons/help.png +0 -0
  77. data/examples/icons/indent.png +0 -0
  78. data/examples/icons/jbevel.png +0 -0
  79. data/examples/icons/jmiter.png +0 -0
  80. data/examples/icons/jround.png +0 -0
  81. data/examples/icons/kill.png +0 -0
  82. data/examples/icons/leftview.png +0 -0
  83. data/examples/icons/light.png +0 -0
  84. data/examples/icons/minidoc.png +0 -0
  85. data/examples/icons/minifolder.png +0 -0
  86. data/examples/icons/minifolderopen.png +0 -0
  87. data/examples/icons/newfolder.png +0 -0
  88. data/examples/icons/nolight.png +0 -0
  89. data/examples/icons/onoff_dash.png +0 -0
  90. data/examples/icons/palette.png +0 -0
  91. data/examples/icons/parallel.png +0 -0
  92. data/examples/icons/paste.png +0 -0
  93. data/examples/icons/pattern.png +0 -0
  94. data/examples/icons/penguin.png +0 -0
  95. data/examples/icons/perspective.png +0 -0
  96. data/examples/icons/printicon.png +0 -0
  97. data/examples/icons/prop.png +0 -0
  98. data/examples/icons/redo.png +0 -0
  99. data/examples/icons/rightview.png +0 -0
  100. data/examples/icons/saveas.png +0 -0
  101. data/examples/icons/shutter1.png +0 -0
  102. data/examples/icons/shutter2.png +0 -0
  103. data/examples/icons/small.png +0 -0
  104. data/examples/icons/smoothlight.png +0 -0
  105. data/examples/icons/solid_line.png +0 -0
  106. data/examples/icons/tbuplevel.png +0 -0
  107. data/examples/icons/topview.png +0 -0
  108. data/examples/icons/transpbullet14x14.gif +0 -0
  109. data/examples/icons/undo.png +0 -0
  110. data/examples/icons/winapp.png +0 -0
  111. data/examples/icons/zoom.png +0 -0
  112. data/examples/image.rb +279 -0
  113. data/examples/imageviewer.rb +509 -0
  114. data/examples/inputs.rb +83 -0
  115. data/examples/mditest.rb +180 -0
  116. data/examples/pig.rb +77 -0
  117. data/examples/raabrowser.rb +122 -0
  118. data/examples/ratio.rb +80 -0
  119. data/examples/rmagick.rb +44 -0
  120. data/examples/rulerview.rb +27 -0
  121. data/examples/scintilla-test.rb +81 -0
  122. data/examples/scribble-orig.rb +186 -0
  123. data/examples/scribble.rb +162 -0
  124. data/examples/shutter.rb +158 -0
  125. data/examples/splitter.rb +211 -0
  126. data/examples/styledtext.rb +82 -0
  127. data/examples/tabbook.rb +165 -0
  128. data/examples/table.rb +182 -0
  129. data/examples/textedit/commands.rb +114 -0
  130. data/examples/textedit/helpwindow.rb +299 -0
  131. data/examples/textedit/prefdialog.rb +239 -0
  132. data/examples/textedit/textedit.rb +1763 -0
  133. data/examples/unicode.rb +36 -0
  134. data/ext/fox16_c/FXRbApp.cpp +128 -0
  135. data/ext/fox16_c/FXRbDataTarget.cpp +110 -0
  136. data/ext/fox16_c/FXRbGLViewer.cpp +89 -0
  137. data/ext/fox16_c/FXRuby.cpp +2063 -0
  138. data/ext/fox16_c/MANIFEST +190 -0
  139. data/ext/fox16_c/extconf.rb +153 -0
  140. data/ext/fox16_c/impl.cpp +1156 -0
  141. data/ext/fox16_c/include/FXMemoryBuffer.h +52 -0
  142. data/ext/fox16_c/include/FXRb4Splitter.h +54 -0
  143. data/ext/fox16_c/include/FXRb7Segment.h +51 -0
  144. data/ext/fox16_c/include/FXRbAccelTable.h +46 -0
  145. data/ext/fox16_c/include/FXRbApp.h +155 -0
  146. data/ext/fox16_c/include/FXRbAppVirtuals.h +15 -0
  147. data/ext/fox16_c/include/FXRbArrowButton.h +51 -0
  148. data/ext/fox16_c/include/FXRbBMPIcon.h +54 -0
  149. data/ext/fox16_c/include/FXRbBMPImage.h +54 -0
  150. data/ext/fox16_c/include/FXRbBitmap.h +133 -0
  151. data/ext/fox16_c/include/FXRbBitmapFrame.h +56 -0
  152. data/ext/fox16_c/include/FXRbBitmapView.h +56 -0
  153. data/ext/fox16_c/include/FXRbBitmapVirtuals.h +37 -0
  154. data/ext/fox16_c/include/FXRbButton.h +51 -0
  155. data/ext/fox16_c/include/FXRbCURCursor.h +60 -0
  156. data/ext/fox16_c/include/FXRbCanvas.h +51 -0
  157. data/ext/fox16_c/include/FXRbCheckButton.h +51 -0
  158. data/ext/fox16_c/include/FXRbChoiceBox.h +56 -0
  159. data/ext/fox16_c/include/FXRbColorBar.h +51 -0
  160. data/ext/fox16_c/include/FXRbColorDialog.h +53 -0
  161. data/ext/fox16_c/include/FXRbColorList.h +84 -0
  162. data/ext/fox16_c/include/FXRbColorRing.h +51 -0
  163. data/ext/fox16_c/include/FXRbColorSelector.h +51 -0
  164. data/ext/fox16_c/include/FXRbColorWell.h +51 -0
  165. data/ext/fox16_c/include/FXRbColorWheel.h +51 -0
  166. data/ext/fox16_c/include/FXRbComboBox.h +56 -0
  167. data/ext/fox16_c/include/FXRbCommon.h +99 -0
  168. data/ext/fox16_c/include/FXRbComposite.h +51 -0
  169. data/ext/fox16_c/include/FXRbCursor.h +87 -0
  170. data/ext/fox16_c/include/FXRbCursorVirtuals.h +6 -0
  171. data/ext/fox16_c/include/FXRbDC.h +427 -0
  172. data/ext/fox16_c/include/FXRbDCPrint.h +49 -0
  173. data/ext/fox16_c/include/FXRbDCVirtuals.h +187 -0
  174. data/ext/fox16_c/include/FXRbDCWindow.h +64 -0
  175. data/ext/fox16_c/include/FXRbDataTarget.h +65 -0
  176. data/ext/fox16_c/include/FXRbDebugTarget.h +46 -0
  177. data/ext/fox16_c/include/FXRbDelegator.h +46 -0
  178. data/ext/fox16_c/include/FXRbDial.h +51 -0
  179. data/ext/fox16_c/include/FXRbDialogBox.h +68 -0
  180. data/ext/fox16_c/include/FXRbDialogBoxVirtuals.h +3 -0
  181. data/ext/fox16_c/include/FXRbDict.h +46 -0
  182. data/ext/fox16_c/include/FXRbDirBox.h +52 -0
  183. data/ext/fox16_c/include/FXRbDirDialog.h +56 -0
  184. data/ext/fox16_c/include/FXRbDirList.h +79 -0
  185. data/ext/fox16_c/include/FXRbDirSelector.h +51 -0
  186. data/ext/fox16_c/include/FXRbDockBar.h +86 -0
  187. data/ext/fox16_c/include/FXRbDockBarVirtuals.h +10 -0
  188. data/ext/fox16_c/include/FXRbDockHandler.h +51 -0
  189. data/ext/fox16_c/include/FXRbDockSite.h +85 -0
  190. data/ext/fox16_c/include/FXRbDockSiteVirtuals.h +13 -0
  191. data/ext/fox16_c/include/FXRbDockTitle.h +51 -0
  192. data/ext/fox16_c/include/FXRbDocument.h +46 -0
  193. data/ext/fox16_c/include/FXRbDragCorner.h +51 -0
  194. data/ext/fox16_c/include/FXRbDrawable.h +64 -0
  195. data/ext/fox16_c/include/FXRbDrawableVirtuals.h +3 -0
  196. data/ext/fox16_c/include/FXRbDriveBox.h +52 -0
  197. data/ext/fox16_c/include/FXRbFileDialog.h +56 -0
  198. data/ext/fox16_c/include/FXRbFileDict.h +104 -0
  199. data/ext/fox16_c/include/FXRbFileDictVirtuals.h +9 -0
  200. data/ext/fox16_c/include/FXRbFileList.h +81 -0
  201. data/ext/fox16_c/include/FXRbFileSelector.h +51 -0
  202. data/ext/fox16_c/include/FXRbFoldingItemVirtuals.h +42 -0
  203. data/ext/fox16_c/include/FXRbFoldingList.h +270 -0
  204. data/ext/fox16_c/include/FXRbFoldingListVirtuals.h +43 -0
  205. data/ext/fox16_c/include/FXRbFont.h +183 -0
  206. data/ext/fox16_c/include/FXRbFontDialog.h +53 -0
  207. data/ext/fox16_c/include/FXRbFontSelector.h +51 -0
  208. data/ext/fox16_c/include/FXRbFontVirtuals.h +55 -0
  209. data/ext/fox16_c/include/FXRbFrame.h +51 -0
  210. data/ext/fox16_c/include/FXRbGIFCursor.h +60 -0
  211. data/ext/fox16_c/include/FXRbGIFIcon.h +54 -0
  212. data/ext/fox16_c/include/FXRbGIFImage.h +54 -0
  213. data/ext/fox16_c/include/FXRbGLCanvas.h +92 -0
  214. data/ext/fox16_c/include/FXRbGLCanvasVirtuals.h +13 -0
  215. data/ext/fox16_c/include/FXRbGLContext.h +58 -0
  216. data/ext/fox16_c/include/FXRbGLObject.h +103 -0
  217. data/ext/fox16_c/include/FXRbGLObjectVirtuals.h +22 -0
  218. data/ext/fox16_c/include/FXRbGLShape.h +81 -0
  219. data/ext/fox16_c/include/FXRbGLShapeVirtuals.h +8 -0
  220. data/ext/fox16_c/include/FXRbGLViewer.h +89 -0
  221. data/ext/fox16_c/include/FXRbGLViewerVirtuals.h +10 -0
  222. data/ext/fox16_c/include/FXRbGLVisual.h +56 -0
  223. data/ext/fox16_c/include/FXRbGradientBar.h +55 -0
  224. data/ext/fox16_c/include/FXRbGroupBox.h +51 -0
  225. data/ext/fox16_c/include/FXRbHeader.h +129 -0
  226. data/ext/fox16_c/include/FXRbHeaderItemVirtuals.h +22 -0
  227. data/ext/fox16_c/include/FXRbHorizontalFrame.h +51 -0
  228. data/ext/fox16_c/include/FXRbICOIcon.h +54 -0
  229. data/ext/fox16_c/include/FXRbICOImage.h +54 -0
  230. data/ext/fox16_c/include/FXRbIcon.h +57 -0
  231. data/ext/fox16_c/include/FXRbIconItemVirtuals.h +68 -0
  232. data/ext/fox16_c/include/FXRbIconList.h +288 -0
  233. data/ext/fox16_c/include/FXRbIconListVirtuals.h +35 -0
  234. data/ext/fox16_c/include/FXRbIconSource.h +127 -0
  235. data/ext/fox16_c/include/FXRbIconSourceVirtuals.h +37 -0
  236. data/ext/fox16_c/include/FXRbId.h +74 -0
  237. data/ext/fox16_c/include/FXRbIdVirtuals.h +9 -0
  238. data/ext/fox16_c/include/FXRbImage.h +162 -0
  239. data/ext/fox16_c/include/FXRbImageFrame.h +56 -0
  240. data/ext/fox16_c/include/FXRbImageView.h +55 -0
  241. data/ext/fox16_c/include/FXRbImageVirtuals.h +51 -0
  242. data/ext/fox16_c/include/FXRbInputDialog.h +56 -0
  243. data/ext/fox16_c/include/FXRbJPGIcon.h +54 -0
  244. data/ext/fox16_c/include/FXRbJPGImage.h +54 -0
  245. data/ext/fox16_c/include/FXRbKnob.h +51 -0
  246. data/ext/fox16_c/include/FXRbLabel.h +51 -0
  247. data/ext/fox16_c/include/FXRbList.h +226 -0
  248. data/ext/fox16_c/include/FXRbListBox.h +67 -0
  249. data/ext/fox16_c/include/FXRbListBoxVirtuals.h +4 -0
  250. data/ext/fox16_c/include/FXRbListItemVirtuals.h +33 -0
  251. data/ext/fox16_c/include/FXRbListVirtuals.h +30 -0
  252. data/ext/fox16_c/include/FXRbMDIButton.h +162 -0
  253. data/ext/fox16_c/include/FXRbMDIChild.h +82 -0
  254. data/ext/fox16_c/include/FXRbMDIChildVirtuals.h +12 -0
  255. data/ext/fox16_c/include/FXRbMDIClient.h +80 -0
  256. data/ext/fox16_c/include/FXRbMDIClientVirtuals.h +12 -0
  257. data/ext/fox16_c/include/FXRbMainWindow.h +54 -0
  258. data/ext/fox16_c/include/FXRbMatrix.h +51 -0
  259. data/ext/fox16_c/include/FXRbMenuBar.h +63 -0
  260. data/ext/fox16_c/include/FXRbMenuButton.h +51 -0
  261. data/ext/fox16_c/include/FXRbMenuCaption.h +51 -0
  262. data/ext/fox16_c/include/FXRbMenuCascade.h +51 -0
  263. data/ext/fox16_c/include/FXRbMenuCheck.h +49 -0
  264. data/ext/fox16_c/include/FXRbMenuCommand.h +49 -0
  265. data/ext/fox16_c/include/FXRbMenuPane.h +52 -0
  266. data/ext/fox16_c/include/FXRbMenuRadio.h +49 -0
  267. data/ext/fox16_c/include/FXRbMenuSeparator.h +51 -0
  268. data/ext/fox16_c/include/FXRbMenuTitle.h +51 -0
  269. data/ext/fox16_c/include/FXRbMessageBox.h +56 -0
  270. data/ext/fox16_c/include/FXRbObject.h +67 -0
  271. data/ext/fox16_c/include/FXRbObjectVirtuals.h +9 -0
  272. data/ext/fox16_c/include/FXRbOptionMenu.h +73 -0
  273. data/ext/fox16_c/include/FXRbPCXIcon.h +54 -0
  274. data/ext/fox16_c/include/FXRbPCXImage.h +54 -0
  275. data/ext/fox16_c/include/FXRbPNGIcon.h +54 -0
  276. data/ext/fox16_c/include/FXRbPNGImage.h +54 -0
  277. data/ext/fox16_c/include/FXRbPPMIcon.h +54 -0
  278. data/ext/fox16_c/include/FXRbPPMImage.h +54 -0
  279. data/ext/fox16_c/include/FXRbPacker.h +51 -0
  280. data/ext/fox16_c/include/FXRbPicker.h +51 -0
  281. data/ext/fox16_c/include/FXRbPopup.h +70 -0
  282. data/ext/fox16_c/include/FXRbPopupVirtuals.h +6 -0
  283. data/ext/fox16_c/include/FXRbPrintDialog.h +53 -0
  284. data/ext/fox16_c/include/FXRbProgressBar.h +51 -0
  285. data/ext/fox16_c/include/FXRbProgressDialog.h +53 -0
  286. data/ext/fox16_c/include/FXRbRGBIcon.h +54 -0
  287. data/ext/fox16_c/include/FXRbRGBImage.h +54 -0
  288. data/ext/fox16_c/include/FXRbRadioButton.h +51 -0
  289. data/ext/fox16_c/include/FXRbRealSlider.h +51 -0
  290. data/ext/fox16_c/include/FXRbRealSpinner.h +64 -0
  291. data/ext/fox16_c/include/FXRbRealSpinnerVirtuals.h +3 -0
  292. data/ext/fox16_c/include/FXRbRecentFiles.h +52 -0
  293. data/ext/fox16_c/include/FXRbRegistry.h +46 -0
  294. data/ext/fox16_c/include/FXRbReplaceDialog.h +53 -0
  295. data/ext/fox16_c/include/FXRbRootWindow.h +51 -0
  296. data/ext/fox16_c/include/FXRbRuler.h +56 -0
  297. data/ext/fox16_c/include/FXRbRulerView.h +54 -0
  298. data/ext/fox16_c/include/FXRbScintilla.h +52 -0
  299. data/ext/fox16_c/include/FXRbScrollArea.h +87 -0
  300. data/ext/fox16_c/include/FXRbScrollAreaVirtuals.h +13 -0
  301. data/ext/fox16_c/include/FXRbScrollBar.h +73 -0
  302. data/ext/fox16_c/include/FXRbScrollPane.h +52 -0
  303. data/ext/fox16_c/include/FXRbScrollWindow.h +57 -0
  304. data/ext/fox16_c/include/FXRbSearchDialog.h +53 -0
  305. data/ext/fox16_c/include/FXRbSeparator.h +95 -0
  306. data/ext/fox16_c/include/FXRbSettings.h +46 -0
  307. data/ext/fox16_c/include/FXRbShell.h +56 -0
  308. data/ext/fox16_c/include/FXRbShutter.h +86 -0
  309. data/ext/fox16_c/include/FXRbShutterVirtuals.h +3 -0
  310. data/ext/fox16_c/include/FXRbSlider.h +51 -0
  311. data/ext/fox16_c/include/FXRbSpinner.h +64 -0
  312. data/ext/fox16_c/include/FXRbSpinnerVirtuals.h +3 -0
  313. data/ext/fox16_c/include/FXRbSplashWindow.h +57 -0
  314. data/ext/fox16_c/include/FXRbSplitter.h +54 -0
  315. data/ext/fox16_c/include/FXRbSpring.h +51 -0
  316. data/ext/fox16_c/include/FXRbStatusBar.h +51 -0
  317. data/ext/fox16_c/include/FXRbStatusLine.h +51 -0
  318. data/ext/fox16_c/include/FXRbStream.h +101 -0
  319. data/ext/fox16_c/include/FXRbStreamVirtuals.h +9 -0
  320. data/ext/fox16_c/include/FXRbStringDict.h +46 -0
  321. data/ext/fox16_c/include/FXRbSwitcher.h +51 -0
  322. data/ext/fox16_c/include/FXRbTGAIcon.h +54 -0
  323. data/ext/fox16_c/include/FXRbTGAImage.h +54 -0
  324. data/ext/fox16_c/include/FXRbTIFIcon.h +54 -0
  325. data/ext/fox16_c/include/FXRbTIFImage.h +54 -0
  326. data/ext/fox16_c/include/FXRbTabBar.h +64 -0
  327. data/ext/fox16_c/include/FXRbTabBarVirtuals.h +3 -0
  328. data/ext/fox16_c/include/FXRbTabBook.h +52 -0
  329. data/ext/fox16_c/include/FXRbTabItem.h +51 -0
  330. data/ext/fox16_c/include/FXRbTable.h +509 -0
  331. data/ext/fox16_c/include/FXRbTableItemVirtuals.h +89 -0
  332. data/ext/fox16_c/include/FXRbTableVirtuals.h +89 -0
  333. data/ext/fox16_c/include/FXRbText.h +187 -0
  334. data/ext/fox16_c/include/FXRbTextField.h +51 -0
  335. data/ext/fox16_c/include/FXRbTextVirtuals.h +52 -0
  336. data/ext/fox16_c/include/FXRbToggleButton.h +51 -0
  337. data/ext/fox16_c/include/FXRbToolBar.h +63 -0
  338. data/ext/fox16_c/include/FXRbToolBarGrip.h +51 -0
  339. data/ext/fox16_c/include/FXRbToolBarShell.h +52 -0
  340. data/ext/fox16_c/include/FXRbToolBarTab.h +51 -0
  341. data/ext/fox16_c/include/FXRbToolTip.h +51 -0
  342. data/ext/fox16_c/include/FXRbTopWindow.h +91 -0
  343. data/ext/fox16_c/include/FXRbTopWindowVirtuals.h +15 -0
  344. data/ext/fox16_c/include/FXRbTranslator.h +61 -0
  345. data/ext/fox16_c/include/FXRbTranslatorVirtuals.h +4 -0
  346. data/ext/fox16_c/include/FXRbTreeItemVirtuals.h +42 -0
  347. data/ext/fox16_c/include/FXRbTreeList.h +277 -0
  348. data/ext/fox16_c/include/FXRbTreeListBox.h +64 -0
  349. data/ext/fox16_c/include/FXRbTreeListBoxVirtuals.h +4 -0
  350. data/ext/fox16_c/include/FXRbTreeListVirtuals.h +42 -0
  351. data/ext/fox16_c/include/FXRbTriStateButton.h +51 -0
  352. data/ext/fox16_c/include/FXRbVerticalFrame.h +51 -0
  353. data/ext/fox16_c/include/FXRbVisual.h +56 -0
  354. data/ext/fox16_c/include/FXRbWindow.h +248 -0
  355. data/ext/fox16_c/include/FXRbWindowVirtuals.h +94 -0
  356. data/ext/fox16_c/include/FXRbWizard.h +60 -0
  357. data/ext/fox16_c/include/FXRbXBMIcon.h +54 -0
  358. data/ext/fox16_c/include/FXRbXBMImage.h +54 -0
  359. data/ext/fox16_c/include/FXRbXPMIcon.h +54 -0
  360. data/ext/fox16_c/include/FXRbXPMImage.h +54 -0
  361. data/ext/fox16_c/include/FXRuby.h +881 -0
  362. data/ext/fox16_c/include/impl.h +215 -0
  363. data/ext/fox16_c/make_impl.rb +121 -0
  364. data/ext/fox16_c/markfuncs.cpp +1666 -0
  365. data/ext/fox16_c/unregisterOwnedObjects.cpp +120 -0
  366. data/index.html +14 -0
  367. data/lib/2.0/fox16_c.so +0 -0
  368. data/lib/fox16.rb +20 -0
  369. data/lib/fox16/accel_table.rb +83 -0
  370. data/lib/fox16/aliases.rb +5617 -0
  371. data/lib/fox16/bitmapview.rb +222 -0
  372. data/lib/fox16/calendar.rb +217 -0
  373. data/lib/fox16/canvas.rb +606 -0
  374. data/lib/fox16/chore.rb +105 -0
  375. data/lib/fox16/colors.rb +280 -0
  376. data/lib/fox16/core.rb +700 -0
  377. data/lib/fox16/dict.rb +35 -0
  378. data/lib/fox16/exceptions_for_fxerror.rb +17 -0
  379. data/lib/fox16/execute_nonmodal.rb +70 -0
  380. data/lib/fox16/glgroup.rb +166 -0
  381. data/lib/fox16/glshapes.rb +456 -0
  382. data/lib/fox16/input.rb +59 -0
  383. data/lib/fox16/irb.rb +179 -0
  384. data/lib/fox16/iterators.rb +420 -0
  385. data/lib/fox16/keys.rb +1374 -0
  386. data/lib/fox16/missingdep.rb +14 -0
  387. data/lib/fox16/pseudokeyboard.rb +40 -0
  388. data/lib/fox16/pseudomouse.rb +87 -0
  389. data/lib/fox16/responder.rb +70 -0
  390. data/lib/fox16/responder2.rb +132 -0
  391. data/lib/fox16/scintilla.rb +5017 -0
  392. data/lib/fox16/settings.rb +18 -0
  393. data/lib/fox16/signal.rb +71 -0
  394. data/lib/fox16/splashscreen.rb +83 -0
  395. data/lib/fox16/timeout.rb +136 -0
  396. data/lib/fox16/tkcompat.rb +56 -0
  397. data/lib/fox16/undolist.rb +455 -0
  398. data/lib/fox16/version.rb +5 -0
  399. data/rdoc-sources/FX4Splitter.rb +156 -0
  400. data/rdoc-sources/FX7Segment.rb +54 -0
  401. data/rdoc-sources/FXAccelTable.rb +84 -0
  402. data/rdoc-sources/FXApp.rb +542 -0
  403. data/rdoc-sources/FXArrowButton.rb +69 -0
  404. data/rdoc-sources/FXBMPIcon.rb +67 -0
  405. data/rdoc-sources/FXBMPImage.rb +30 -0
  406. data/rdoc-sources/FXBitmap.rb +115 -0
  407. data/rdoc-sources/FXBitmapFrame.rb +31 -0
  408. data/rdoc-sources/FXBitmapView.rb +44 -0
  409. data/rdoc-sources/FXButton.rb +59 -0
  410. data/rdoc-sources/FXCURCursor.rb +13 -0
  411. data/rdoc-sources/FXCanvas.rb +18 -0
  412. data/rdoc-sources/FXCheckButton.rb +58 -0
  413. data/rdoc-sources/FXChoiceBox.rb +49 -0
  414. data/rdoc-sources/FXColorBar.rb +48 -0
  415. data/rdoc-sources/FXColorDialog.rb +37 -0
  416. data/rdoc-sources/FXColorList.rb +55 -0
  417. data/rdoc-sources/FXColorRing.rb +49 -0
  418. data/rdoc-sources/FXColorSelector.rb +65 -0
  419. data/rdoc-sources/FXColorWell.rb +65 -0
  420. data/rdoc-sources/FXColorWheel.rb +57 -0
  421. data/rdoc-sources/FXComboBox.rb +214 -0
  422. data/rdoc-sources/FXComposite.rb +34 -0
  423. data/rdoc-sources/FXCursor.rb +67 -0
  424. data/rdoc-sources/FXDC.rb +720 -0
  425. data/rdoc-sources/FXDCPrint.rb +127 -0
  426. data/rdoc-sources/FXDCWindow.rb +33 -0
  427. data/rdoc-sources/FXDataTarget.rb +66 -0
  428. data/rdoc-sources/FXDebugTarget.rb +25 -0
  429. data/rdoc-sources/FXDelegator.rb +23 -0
  430. data/rdoc-sources/FXDial.rb +107 -0
  431. data/rdoc-sources/FXDialogBox.rb +32 -0
  432. data/rdoc-sources/FXDict.rb +78 -0
  433. data/rdoc-sources/FXDirBox.rb +55 -0
  434. data/rdoc-sources/FXDirDialog.rb +47 -0
  435. data/rdoc-sources/FXDirList.rb +149 -0
  436. data/rdoc-sources/FXDirSelector.rb +64 -0
  437. data/rdoc-sources/FXDockBar.rb +151 -0
  438. data/rdoc-sources/FXDockHandler.rb +26 -0
  439. data/rdoc-sources/FXDockSite.rb +104 -0
  440. data/rdoc-sources/FXDockTitle.rb +26 -0
  441. data/rdoc-sources/FXDocument.rb +29 -0
  442. data/rdoc-sources/FXDragCorner.rb +19 -0
  443. data/rdoc-sources/FXDrawable.rb +27 -0
  444. data/rdoc-sources/FXDriveBox.rb +46 -0
  445. data/rdoc-sources/FXExtentd.rb +85 -0
  446. data/rdoc-sources/FXExtentf.rb +85 -0
  447. data/rdoc-sources/FXFileDialog.rb +217 -0
  448. data/rdoc-sources/FXFileDict.rb +131 -0
  449. data/rdoc-sources/FXFileList.rb +208 -0
  450. data/rdoc-sources/FXFileSelector.rb +184 -0
  451. data/rdoc-sources/FXFileStream.rb +27 -0
  452. data/rdoc-sources/FXFoldingList.rb +504 -0
  453. data/rdoc-sources/FXFont.rb +361 -0
  454. data/rdoc-sources/FXFontDialog.rb +14 -0
  455. data/rdoc-sources/FXFontSelector.rb +37 -0
  456. data/rdoc-sources/FXFrame.rb +53 -0
  457. data/rdoc-sources/FXGIFCursor.rb +50 -0
  458. data/rdoc-sources/FXGIFIcon.rb +31 -0
  459. data/rdoc-sources/FXGIFImage.rb +29 -0
  460. data/rdoc-sources/FXGLCanvas.rb +45 -0
  461. data/rdoc-sources/FXGLContext.rb +40 -0
  462. data/rdoc-sources/FXGLObject.rb +75 -0
  463. data/rdoc-sources/FXGLShape.rb +69 -0
  464. data/rdoc-sources/FXGLViewer.rb +332 -0
  465. data/rdoc-sources/FXGLVisual.rb +95 -0
  466. data/rdoc-sources/FXGradientBar.rb +301 -0
  467. data/rdoc-sources/FXGroupBox.rb +36 -0
  468. data/rdoc-sources/FXHeader.rb +408 -0
  469. data/rdoc-sources/FXHorizontalFrame.rb +29 -0
  470. data/rdoc-sources/FXICOIcon.rb +65 -0
  471. data/rdoc-sources/FXICOImage.rb +31 -0
  472. data/rdoc-sources/FXIcon.rb +38 -0
  473. data/rdoc-sources/FXIconDict.rb +49 -0
  474. data/rdoc-sources/FXIconList.rb +450 -0
  475. data/rdoc-sources/FXIconSource.rb +100 -0
  476. data/rdoc-sources/FXId.rb +34 -0
  477. data/rdoc-sources/FXImage.rb +320 -0
  478. data/rdoc-sources/FXImageFrame.rb +36 -0
  479. data/rdoc-sources/FXImageView.rb +35 -0
  480. data/rdoc-sources/FXInputDialog.rb +80 -0
  481. data/rdoc-sources/FXJPGIcon.rb +71 -0
  482. data/rdoc-sources/FXJPGImage.rb +39 -0
  483. data/rdoc-sources/FXKnob.rb +76 -0
  484. data/rdoc-sources/FXLabel.rb +72 -0
  485. data/rdoc-sources/FXList.rb +443 -0
  486. data/rdoc-sources/FXListBox.rb +191 -0
  487. data/rdoc-sources/FXMDIButton.rb +67 -0
  488. data/rdoc-sources/FXMDIChild.rb +155 -0
  489. data/rdoc-sources/FXMDIClient.rb +65 -0
  490. data/rdoc-sources/FXMainWindow.rb +26 -0
  491. data/rdoc-sources/FXMatrix.rb +57 -0
  492. data/rdoc-sources/FXMemoryBuffer.rb +29 -0
  493. data/rdoc-sources/FXMemoryStream.rb +50 -0
  494. data/rdoc-sources/FXMenuBar.rb +23 -0
  495. data/rdoc-sources/FXMenuButton.rb +85 -0
  496. data/rdoc-sources/FXMenuCaption.rb +53 -0
  497. data/rdoc-sources/FXMenuCascade.rb +18 -0
  498. data/rdoc-sources/FXMenuCheck.rb +30 -0
  499. data/rdoc-sources/FXMenuCommand.rb +26 -0
  500. data/rdoc-sources/FXMenuPane.rb +13 -0
  501. data/rdoc-sources/FXMenuRadio.rb +33 -0
  502. data/rdoc-sources/FXMenuSeparator.rb +21 -0
  503. data/rdoc-sources/FXMenuTitle.rb +27 -0
  504. data/rdoc-sources/FXMessageBox.rb +73 -0
  505. data/rdoc-sources/FXObject.rb +28 -0
  506. data/rdoc-sources/FXOptionMenu.rb +83 -0
  507. data/rdoc-sources/FXPCXIcon.rb +63 -0
  508. data/rdoc-sources/FXPCXImage.rb +31 -0
  509. data/rdoc-sources/FXPNGIcon.rb +66 -0
  510. data/rdoc-sources/FXPNGImage.rb +34 -0
  511. data/rdoc-sources/FXPPMIcon.rb +36 -0
  512. data/rdoc-sources/FXPPMImage.rb +31 -0
  513. data/rdoc-sources/FXPacker.rb +63 -0
  514. data/rdoc-sources/FXPicker.rb +27 -0
  515. data/rdoc-sources/FXPopup.rb +53 -0
  516. data/rdoc-sources/FXPrintDialog.rb +36 -0
  517. data/rdoc-sources/FXProgressBar.rb +57 -0
  518. data/rdoc-sources/FXProgressDialog.rb +36 -0
  519. data/rdoc-sources/FXQuatd.rb +164 -0
  520. data/rdoc-sources/FXQuatf.rb +173 -0
  521. data/rdoc-sources/FXRGBIcon.rb +64 -0
  522. data/rdoc-sources/FXRGBImage.rb +31 -0
  523. data/rdoc-sources/FXRadioButton.rb +70 -0
  524. data/rdoc-sources/FXRanged.rb +100 -0
  525. data/rdoc-sources/FXRangef.rb +100 -0
  526. data/rdoc-sources/FXRealSlider.rb +101 -0
  527. data/rdoc-sources/FXRealSpinner.rb +140 -0
  528. data/rdoc-sources/FXRecentFiles.rb +77 -0
  529. data/rdoc-sources/FXRectangle.rb +149 -0
  530. data/rdoc-sources/FXRegion.rb +64 -0
  531. data/rdoc-sources/FXRegistry.rb +56 -0
  532. data/rdoc-sources/FXReplaceDialog.rb +56 -0
  533. data/rdoc-sources/FXRootWindow.rb +17 -0
  534. data/rdoc-sources/FXRuler.rb +130 -0
  535. data/rdoc-sources/FXRulerView.rb +225 -0
  536. data/rdoc-sources/FXScintilla.rb +121 -0
  537. data/rdoc-sources/FXScrollArea.rb +86 -0
  538. data/rdoc-sources/FXScrollBar.rb +107 -0
  539. data/rdoc-sources/FXScrollPane.rb +28 -0
  540. data/rdoc-sources/FXScrollWindow.rb +38 -0
  541. data/rdoc-sources/FXSearchDialog.rb +24 -0
  542. data/rdoc-sources/FXSeparator.rb +74 -0
  543. data/rdoc-sources/FXSettings.rb +248 -0
  544. data/rdoc-sources/FXShell.rb +8 -0
  545. data/rdoc-sources/FXShutter.rb +102 -0
  546. data/rdoc-sources/FXSize.rb +95 -0
  547. data/rdoc-sources/FXSlider.rb +98 -0
  548. data/rdoc-sources/FXSphered.rb +80 -0
  549. data/rdoc-sources/FXSpheref.rb +80 -0
  550. data/rdoc-sources/FXSpinner.rb +136 -0
  551. data/rdoc-sources/FXSplashWindow.rb +27 -0
  552. data/rdoc-sources/FXSplitter.rb +89 -0
  553. data/rdoc-sources/FXSpring.rb +61 -0
  554. data/rdoc-sources/FXStatusBar.rb +42 -0
  555. data/rdoc-sources/FXStatusLine.rb +60 -0
  556. data/rdoc-sources/FXStream.rb +142 -0
  557. data/rdoc-sources/FXStringDict.rb +38 -0
  558. data/rdoc-sources/FXSwitcher.rb +78 -0
  559. data/rdoc-sources/FXTGAIcon.rb +63 -0
  560. data/rdoc-sources/FXTGAImage.rb +31 -0
  561. data/rdoc-sources/FXTIFIcon.rb +70 -0
  562. data/rdoc-sources/FXTIFImage.rb +37 -0
  563. data/rdoc-sources/FXTabBar.rb +80 -0
  564. data/rdoc-sources/FXTabBook.rb +41 -0
  565. data/rdoc-sources/FXTabItem.rb +58 -0
  566. data/rdoc-sources/FXTable.rb +975 -0
  567. data/rdoc-sources/FXText.rb +581 -0
  568. data/rdoc-sources/FXTextField.rb +151 -0
  569. data/rdoc-sources/FXToggleButton.rb +70 -0
  570. data/rdoc-sources/FXToolBar.rb +61 -0
  571. data/rdoc-sources/FXToolBarGrip.rb +50 -0
  572. data/rdoc-sources/FXToolBarShell.rb +44 -0
  573. data/rdoc-sources/FXToolBarTab.rb +74 -0
  574. data/rdoc-sources/FXToolTip.rb +39 -0
  575. data/rdoc-sources/FXTopWindow.rb +163 -0
  576. data/rdoc-sources/FXTranslator.rb +32 -0
  577. data/rdoc-sources/FXTreeList.rb +514 -0
  578. data/rdoc-sources/FXTreeListBox.rb +219 -0
  579. data/rdoc-sources/FXTriStateButton.rb +49 -0
  580. data/rdoc-sources/FXVec2d.rb +96 -0
  581. data/rdoc-sources/FXVec2f.rb +96 -0
  582. data/rdoc-sources/FXVec3d.rb +118 -0
  583. data/rdoc-sources/FXVec3f.rb +118 -0
  584. data/rdoc-sources/FXVec4d.rb +139 -0
  585. data/rdoc-sources/FXVec4f.rb +139 -0
  586. data/rdoc-sources/FXVerticalFrame.rb +29 -0
  587. data/rdoc-sources/FXVisual.rb +79 -0
  588. data/rdoc-sources/FXWindow.rb +725 -0
  589. data/rdoc-sources/FXWizard.rb +59 -0
  590. data/rdoc-sources/FXXBMIcon.rb +37 -0
  591. data/rdoc-sources/FXXBMImage.rb +32 -0
  592. data/rdoc-sources/FXXPMIcon.rb +65 -0
  593. data/rdoc-sources/FXXPMImage.rb +31 -0
  594. data/rdoc-sources/Makefile +23 -0
  595. data/rdoc-sources/README.rdoc +53 -0
  596. data/rdoc-sources/fxdefs.rb +90 -0
  597. data/scripts/build-fox.rb +31 -0
  598. data/scripts/generate_kwargs_lib.rb +412 -0
  599. data/scripts/iface.rb +391 -0
  600. data/swig-interfaces/FX4Splitter.i +149 -0
  601. data/swig-interfaces/FX7Segment.i +141 -0
  602. data/swig-interfaces/FXAccelTable.i +100 -0
  603. data/swig-interfaces/FXApp.i +735 -0
  604. data/swig-interfaces/FXArrowButton.i +136 -0
  605. data/swig-interfaces/FXBMPIcon.i +88 -0
  606. data/swig-interfaces/FXBMPImage.i +54 -0
  607. data/swig-interfaces/FXBitmap.i +90 -0
  608. data/swig-interfaces/FXBitmapFrame.i +72 -0
  609. data/swig-interfaces/FXBitmapView.i +94 -0
  610. data/swig-interfaces/FXButton.i +130 -0
  611. data/swig-interfaces/FXCURCursor.i +49 -0
  612. data/swig-interfaces/FXCanvas.i +61 -0
  613. data/swig-interfaces/FXCheckButton.i +108 -0
  614. data/swig-interfaces/FXChoiceBox.i +91 -0
  615. data/swig-interfaces/FXColorBar.i +110 -0
  616. data/swig-interfaces/FXColorDialog.i +79 -0
  617. data/swig-interfaces/FXColorList.i +99 -0
  618. data/swig-interfaces/FXColorRing.i +148 -0
  619. data/swig-interfaces/FXColorSelector.i +157 -0
  620. data/swig-interfaces/FXColorWell.i +133 -0
  621. data/swig-interfaces/FXColorWheel.i +108 -0
  622. data/swig-interfaces/FXComboBox.i +280 -0
  623. data/swig-interfaces/FXComposeContext.i +66 -0
  624. data/swig-interfaces/FXComposite.i +103 -0
  625. data/swig-interfaces/FXCursor.i +120 -0
  626. data/swig-interfaces/FXDC.i +280 -0
  627. data/swig-interfaces/FXDCPrint.i +141 -0
  628. data/swig-interfaces/FXDCWindow.i +75 -0
  629. data/swig-interfaces/FXDataTarget.i +115 -0
  630. data/swig-interfaces/FXDebugTarget.i +60 -0
  631. data/swig-interfaces/FXDelegator.i +56 -0
  632. data/swig-interfaces/FXDial.i +168 -0
  633. data/swig-interfaces/FXDialogBox.i +131 -0
  634. data/swig-interfaces/FXDict.i +200 -0
  635. data/swig-interfaces/FXDirBox.i +68 -0
  636. data/swig-interfaces/FXDirDialog.i +97 -0
  637. data/swig-interfaces/FXDirList.i +274 -0
  638. data/swig-interfaces/FXDirSelector.i +142 -0
  639. data/swig-interfaces/FXDockBar.i +180 -0
  640. data/swig-interfaces/FXDockHandler.i +94 -0
  641. data/swig-interfaces/FXDockSite.i +91 -0
  642. data/swig-interfaces/FXDockTitle.i +91 -0
  643. data/swig-interfaces/FXDocument.i +70 -0
  644. data/swig-interfaces/FXDragCorner.i +72 -0
  645. data/swig-interfaces/FXDrawable.i +90 -0
  646. data/swig-interfaces/FXDriveBox.i +63 -0
  647. data/swig-interfaces/FXExtentd.i +131 -0
  648. data/swig-interfaces/FXExtentf.i +131 -0
  649. data/swig-interfaces/FXFileDialog.i +268 -0
  650. data/swig-interfaces/FXFileDict.i +121 -0
  651. data/swig-interfaces/FXFileList.i +345 -0
  652. data/swig-interfaces/FXFileSelector.i +347 -0
  653. data/swig-interfaces/FXFileStream.i +49 -0
  654. data/swig-interfaces/FXFoldingList.i +556 -0
  655. data/swig-interfaces/FXFont.i +333 -0
  656. data/swig-interfaces/FXFontDialog.i +63 -0
  657. data/swig-interfaces/FXFontSelector.i +127 -0
  658. data/swig-interfaces/FXFrame.i +245 -0
  659. data/swig-interfaces/FXGIFCursor.i +86 -0
  660. data/swig-interfaces/FXGIFIcon.i +54 -0
  661. data/swig-interfaces/FXGIFImage.i +54 -0
  662. data/swig-interfaces/FXGLCanvas.i +90 -0
  663. data/swig-interfaces/FXGLContext.i +85 -0
  664. data/swig-interfaces/FXGLObject.i +70 -0
  665. data/swig-interfaces/FXGLShape.i +152 -0
  666. data/swig-interfaces/FXGLViewer.i +691 -0
  667. data/swig-interfaces/FXGLVisual.i +136 -0
  668. data/swig-interfaces/FXGradientBar.i +310 -0
  669. data/swig-interfaces/FXGroupBox.i +94 -0
  670. data/swig-interfaces/FXHeader.i +432 -0
  671. data/swig-interfaces/FXHorizontalFrame.i +60 -0
  672. data/swig-interfaces/FXICOIcon.i +92 -0
  673. data/swig-interfaces/FXICOImage.i +54 -0
  674. data/swig-interfaces/FXIcon.i +128 -0
  675. data/swig-interfaces/FXIconDict.i +90 -0
  676. data/swig-interfaces/FXIconList.i +596 -0
  677. data/swig-interfaces/FXIconSource.i +55 -0
  678. data/swig-interfaces/FXId.i +103 -0
  679. data/swig-interfaces/FXImage.i +226 -0
  680. data/swig-interfaces/FXImageFrame.i +66 -0
  681. data/swig-interfaces/FXImageView.i +88 -0
  682. data/swig-interfaces/FXInputDialog.i +180 -0
  683. data/swig-interfaces/FXJPGIcon.i +101 -0
  684. data/swig-interfaces/FXJPGImage.i +67 -0
  685. data/swig-interfaces/FXKnob.i +182 -0
  686. data/swig-interfaces/FXLabel.i +199 -0
  687. data/swig-interfaces/FXList.i +476 -0
  688. data/swig-interfaces/FXListBox.i +234 -0
  689. data/swig-interfaces/FXMDIButton.i +173 -0
  690. data/swig-interfaces/FXMDIChild.i +242 -0
  691. data/swig-interfaces/FXMDIClient.i +149 -0
  692. data/swig-interfaces/FXMainWindow.i +53 -0
  693. data/swig-interfaces/FXMat3d.i +102 -0
  694. data/swig-interfaces/FXMat3f.i +102 -0
  695. data/swig-interfaces/FXMat4d.i +122 -0
  696. data/swig-interfaces/FXMat4f.i +138 -0
  697. data/swig-interfaces/FXMatrix.i +101 -0
  698. data/swig-interfaces/FXMemoryBuffer.i +64 -0
  699. data/swig-interfaces/FXMemoryStream.i +77 -0
  700. data/swig-interfaces/FXMenuBar.i +67 -0
  701. data/swig-interfaces/FXMenuButton.i +152 -0
  702. data/swig-interfaces/FXMenuCaption.i +176 -0
  703. data/swig-interfaces/FXMenuCascade.i +76 -0
  704. data/swig-interfaces/FXMenuCheck.i +90 -0
  705. data/swig-interfaces/FXMenuCommand.i +69 -0
  706. data/swig-interfaces/FXMenuPane.i +60 -0
  707. data/swig-interfaces/FXMenuRadio.i +93 -0
  708. data/swig-interfaces/FXMenuSeparator.i +65 -0
  709. data/swig-interfaces/FXMenuTitle.i +74 -0
  710. data/swig-interfaces/FXMessageBox.i +128 -0
  711. data/swig-interfaces/FXObject.i +169 -0
  712. data/swig-interfaces/FXOptionMenu.i +140 -0
  713. data/swig-interfaces/FXPCXIcon.i +91 -0
  714. data/swig-interfaces/FXPCXImage.i +55 -0
  715. data/swig-interfaces/FXPNGIcon.i +95 -0
  716. data/swig-interfaces/FXPNGImage.i +59 -0
  717. data/swig-interfaces/FXPPMIcon.i +91 -0
  718. data/swig-interfaces/FXPPMImage.i +55 -0
  719. data/swig-interfaces/FXPacker.i +255 -0
  720. data/swig-interfaces/FXPicker.i +54 -0
  721. data/swig-interfaces/FXPoint.i +52 -0
  722. data/swig-interfaces/FXPopup.i +162 -0
  723. data/swig-interfaces/FXPrintDialog.i +154 -0
  724. data/swig-interfaces/FXProgressBar.i +133 -0
  725. data/swig-interfaces/FXProgressDialog.i +105 -0
  726. data/swig-interfaces/FXQuatd.i +128 -0
  727. data/swig-interfaces/FXQuatf.i +122 -0
  728. data/swig-interfaces/FXRGBIcon.i +90 -0
  729. data/swig-interfaces/FXRGBImage.i +56 -0
  730. data/swig-interfaces/FXRadioButton.i +117 -0
  731. data/swig-interfaces/FXRanged.i +163 -0
  732. data/swig-interfaces/FXRangef.i +172 -0
  733. data/swig-interfaces/FXRealSlider.i +166 -0
  734. data/swig-interfaces/FXRealSpinner.i +215 -0
  735. data/swig-interfaces/FXRecentFiles.i +119 -0
  736. data/swig-interfaces/FXRectangle.i +104 -0
  737. data/swig-interfaces/FXRegion.i +88 -0
  738. data/swig-interfaces/FXRegistry.i +96 -0
  739. data/swig-interfaces/FXReplaceDialog.i +131 -0
  740. data/swig-interfaces/FXRootWindow.i +50 -0
  741. data/swig-interfaces/FXRuler.i +245 -0
  742. data/swig-interfaces/FXRulerView.i +233 -0
  743. data/swig-interfaces/FXScintilla.i +194 -0
  744. data/swig-interfaces/FXScrollArea.i +211 -0
  745. data/swig-interfaces/FXScrollBar.i +178 -0
  746. data/swig-interfaces/FXScrollPane.i +83 -0
  747. data/swig-interfaces/FXScrollWindow.i +67 -0
  748. data/swig-interfaces/FXSearchDialog.i +48 -0
  749. data/swig-interfaces/FXSeparator.i +138 -0
  750. data/swig-interfaces/FXSettings.i +160 -0
  751. data/swig-interfaces/FXShell.i +91 -0
  752. data/swig-interfaces/FXShutter.i +140 -0
  753. data/swig-interfaces/FXSize.i +71 -0
  754. data/swig-interfaces/FXSlider.i +181 -0
  755. data/swig-interfaces/FXSphered.i +126 -0
  756. data/swig-interfaces/FXSpheref.i +126 -0
  757. data/swig-interfaces/FXSpinner.i +212 -0
  758. data/swig-interfaces/FXSplashWindow.i +92 -0
  759. data/swig-interfaces/FXSplitter.i +123 -0
  760. data/swig-interfaces/FXSpring.i +79 -0
  761. data/swig-interfaces/FXStatusBar.i +68 -0
  762. data/swig-interfaces/FXStatusLine.i +100 -0
  763. data/swig-interfaces/FXStream.i +150 -0
  764. data/swig-interfaces/FXStringDict.i +61 -0
  765. data/swig-interfaces/FXSwitcher.i +110 -0
  766. data/swig-interfaces/FXTGAIcon.i +85 -0
  767. data/swig-interfaces/FXTGAImage.i +56 -0
  768. data/swig-interfaces/FXTIFIcon.i +73 -0
  769. data/swig-interfaces/FXTIFImage.i +93 -0
  770. data/swig-interfaces/FXTabBar.i +121 -0
  771. data/swig-interfaces/FXTabBook.i +70 -0
  772. data/swig-interfaces/FXTabItem.i +82 -0
  773. data/swig-interfaces/FXTable.i +861 -0
  774. data/swig-interfaces/FXText.i +763 -0
  775. data/swig-interfaces/FXTextField.i +290 -0
  776. data/swig-interfaces/FXToggleButton.i +136 -0
  777. data/swig-interfaces/FXToolBar.i +75 -0
  778. data/swig-interfaces/FXToolBarGrip.i +82 -0
  779. data/swig-interfaces/FXToolBarShell.i +98 -0
  780. data/swig-interfaces/FXToolBarTab.i +114 -0
  781. data/swig-interfaces/FXToolTip.i +93 -0
  782. data/swig-interfaces/FXTopWindow.i +263 -0
  783. data/swig-interfaces/FXTranslator.i +55 -0
  784. data/swig-interfaces/FXTreeList.i +549 -0
  785. data/swig-interfaces/FXTreeListBox.i +317 -0
  786. data/swig-interfaces/FXTriStateButton.i +77 -0
  787. data/swig-interfaces/FXURL.i +35 -0
  788. data/swig-interfaces/FXVec2d.i +87 -0
  789. data/swig-interfaces/FXVec2f.i +87 -0
  790. data/swig-interfaces/FXVec3d.i +111 -0
  791. data/swig-interfaces/FXVec3f.i +109 -0
  792. data/swig-interfaces/FXVec4d.i +115 -0
  793. data/swig-interfaces/FXVec4f.i +115 -0
  794. data/swig-interfaces/FXVerticalFrame.i +69 -0
  795. data/swig-interfaces/FXVisual.i +162 -0
  796. data/swig-interfaces/FXWindow.i +851 -0
  797. data/swig-interfaces/FXWizard.i +125 -0
  798. data/swig-interfaces/FXXBMIcon.i +56 -0
  799. data/swig-interfaces/FXXBMImage.i +118 -0
  800. data/swig-interfaces/FXXPMIcon.i +122 -0
  801. data/swig-interfaces/FXXPMImage.i +56 -0
  802. data/swig-interfaces/README +17 -0
  803. data/swig-interfaces/common.i +48 -0
  804. data/swig-interfaces/core.i +85 -0
  805. data/swig-interfaces/dcmodule.i +36 -0
  806. data/swig-interfaces/dialogs.i +49 -0
  807. data/swig-interfaces/exceptions.i +249 -0
  808. data/swig-interfaces/framesmodule.i +54 -0
  809. data/swig-interfaces/freefuncs.i +93 -0
  810. data/swig-interfaces/fx3d.i +60 -0
  811. data/swig-interfaces/fxdefs.i +419 -0
  812. data/swig-interfaces/handlers.i +615 -0
  813. data/swig-interfaces/iconlistmodule.i +37 -0
  814. data/swig-interfaces/icons.i +48 -0
  815. data/swig-interfaces/ignore-message-handlers.rb +16 -0
  816. data/swig-interfaces/image.i +49 -0
  817. data/swig-interfaces/labelmodule.i +47 -0
  818. data/swig-interfaces/layout.i +47 -0
  819. data/swig-interfaces/listmodule.i +37 -0
  820. data/swig-interfaces/macros.i +1326 -0
  821. data/swig-interfaces/markfuncs.i +210 -0
  822. data/swig-interfaces/mdi.i +38 -0
  823. data/swig-interfaces/menumodule.i +44 -0
  824. data/swig-interfaces/ruby-typemaps.i +778 -0
  825. data/swig-interfaces/scintilla.i +57 -0
  826. data/swig-interfaces/table-module.i +36 -0
  827. data/swig-interfaces/text-module.i +36 -0
  828. data/swig-interfaces/treelist-module.i +37 -0
  829. data/swig-interfaces/ui.i +63 -0
  830. data/test/README +19 -0
  831. data/test/TC_FXAccelTable.rb +57 -0
  832. data/test/TC_FXApp.rb +66 -0
  833. data/test/TC_FXArc.rb +26 -0
  834. data/test/TC_FXBMPIcon.rb +15 -0
  835. data/test/TC_FXBMPImage.rb +15 -0
  836. data/test/TC_FXButton.rb +82 -0
  837. data/test/TC_FXCheckButton.rb +57 -0
  838. data/test/TC_FXComboBox.rb +72 -0
  839. data/test/TC_FXDC.rb +372 -0
  840. data/test/TC_FXDCPrint.rb +102 -0
  841. data/test/TC_FXDCWindow.rb +25 -0
  842. data/test/TC_FXDataTarget.rb +24 -0
  843. data/test/TC_FXDialogBox.rb +12 -0
  844. data/test/TC_FXDirList.rb +30 -0
  845. data/test/TC_FXExtentd.rb +21 -0
  846. data/test/TC_FXExtentf.rb +21 -0
  847. data/test/TC_FXFileAssoc.rb +62 -0
  848. data/test/TC_FXFileStream.rb +89 -0
  849. data/test/TC_FXFoldingList.rb +32 -0
  850. data/test/TC_FXFont.rb +69 -0
  851. data/test/TC_FXFontDesc.rb +58 -0
  852. data/test/TC_FXGLGroup.rb +32 -0
  853. data/test/TC_FXGLShape.rb +28 -0
  854. data/test/TC_FXGLViewer.rb +29 -0
  855. data/test/TC_FXGradientBar.rb +89 -0
  856. data/test/TC_FXHeader.rb +82 -0
  857. data/test/TC_FXHiliteStyle.rb +23 -0
  858. data/test/TC_FXIconDict.rb +52 -0
  859. data/test/TC_FXIconList.rb +192 -0
  860. data/test/TC_FXId.rb +19 -0
  861. data/test/TC_FXImage.rb +188 -0
  862. data/test/TC_FXLight.rb +33 -0
  863. data/test/TC_FXList.rb +125 -0
  864. data/test/TC_FXListBox.rb +49 -0
  865. data/test/TC_FXMainWindow.rb +19 -0
  866. data/test/TC_FXMat4f.rb +228 -0
  867. data/test/TC_FXMaterial.rb +75 -0
  868. data/test/TC_FXMemoryStream.rb +97 -0
  869. data/test/TC_FXMenuCheck.rb +57 -0
  870. data/test/TC_FXMenuCommand.rb +12 -0
  871. data/test/TC_FXMenuRadio.rb +57 -0
  872. data/test/TC_FXMessageBox.rb +29 -0
  873. data/test/TC_FXPoint.rb +57 -0
  874. data/test/TC_FXQuatf.rb +93 -0
  875. data/test/TC_FXRadioButton.rb +57 -0
  876. data/test/TC_FXRanged.rb +42 -0
  877. data/test/TC_FXRangef.rb +42 -0
  878. data/test/TC_FXRectangle.rb +88 -0
  879. data/test/TC_FXRegion.rb +54 -0
  880. data/test/TC_FXRegistry.rb +27 -0
  881. data/test/TC_FXScrollArea.rb +32 -0
  882. data/test/TC_FXScrollWindow.rb +28 -0
  883. data/test/TC_FXSegment.rb +22 -0
  884. data/test/TC_FXSettings.rb +34 -0
  885. data/test/TC_FXShell.rb +30 -0
  886. data/test/TC_FXSize.rb +54 -0
  887. data/test/TC_FXStream.rb +11 -0
  888. data/test/TC_FXTable.rb +561 -0
  889. data/test/TC_FXTableItem.rb +48 -0
  890. data/test/TC_FXText.rb +105 -0
  891. data/test/TC_FXTopWindow.rb +36 -0
  892. data/test/TC_FXTreeList.rb +100 -0
  893. data/test/TC_FXTreeListBox.rb +41 -0
  894. data/test/TC_FXUndoList.rb +43 -0
  895. data/test/TC_FXVec2d.rb +142 -0
  896. data/test/TC_FXVec2f.rb +137 -0
  897. data/test/TC_FXVec3d.rb +150 -0
  898. data/test/TC_FXVec3f.rb +150 -0
  899. data/test/TC_FXVec4f.rb +158 -0
  900. data/test/TC_FXViewport.rb +30 -0
  901. data/test/TC_FXXBMIcon.rb +15 -0
  902. data/test/TC_FXXBMImage.rb +15 -0
  903. data/test/TC_FXXPMIcon.rb +15 -0
  904. data/test/TC_FXXPMImage.rb +15 -0
  905. data/test/TC_Misc.rb +161 -0
  906. data/test/TC_downcast.rb +15 -0
  907. data/test/TS_All.rb +9 -0
  908. data/test/blankpage.ps +166 -0
  909. data/test/howdypage.ps +181 -0
  910. data/test/stress1.rb +92 -0
  911. data/test/stress2.rb +51 -0
  912. data/test/stress3.rb +117 -0
  913. data/test/testcase.rb +37 -0
  914. metadata +1134 -0
  915. metadata.gz.sig +0 -0
@@ -0,0 +1,222 @@
1
+ module Fox
2
+ #
3
+ # The FXBitmapView widget displays a scrollable view of a bitmap.
4
+ #
5
+ # === Bitmap alignment styles
6
+ #
7
+ # +BITMAPVIEW_NORMAL+:: Normal mode is centered
8
+ # +BITMAPVIEW_CENTER_X+:: Centered horizontally
9
+ # +BITMAPVIEW_LEFT+:: Left-aligned
10
+ # +BITMAPVIEW_RIGHT+:: Right-aligned
11
+ # +BITMAPVIEW_CENTER_Y+:: Centered vertically
12
+ # +BITMAPVIEW_TOP+:: Top-aligned
13
+ # +BITMAPVIEW_BOTTOM+:: Bottom-aligned
14
+ #
15
+ # === Events
16
+ #
17
+ # +SEL_RIGHTBUTTONPRESS+:: sent when the right mouse button goes down; the message data is an FXEvent instance.
18
+ # +SEL_RIGHTBUTTONRELEASE+:: sent when the right mouse button goes up; the message data is an FXEvent instance.
19
+ #
20
+ class FXBitmapView < FXScrollArea
21
+
22
+ # Bitmap alignment styles
23
+ BITMAPVIEW_NORMAL = 0 # Normal mode is centered
24
+ BITMAPVIEW_CENTER_X = 0 # Centered horizontally
25
+ BITMAPVIEW_LEFT = 0x00100000 # Left-aligned
26
+ BITMAPVIEW_RIGHT = 0x00200000 # Right-aligned
27
+ BITMAPVIEW_CENTER_Y = 0, # Centered vertically
28
+ BITMAPVIEW_TOP = 0x00400000 # Top-aligned
29
+ BITMAPVIEW_BOTTOM = 0x00800000 # Bottom-aligned
30
+
31
+ #
32
+ # Return an initialized FXBitmapView instance.
33
+ #
34
+ def initialize(p, bmp=nil, tgt=nil, sel=0, opts=0, x=0, y=0, w=0, h=0) # :yields: theBitmapView
35
+ super(p, opts, x, y, w, h)
36
+ self.flags |= FLAG_ENABLED
37
+ self.target = tgt
38
+ self.message = sel
39
+ @bitmap = bmp
40
+ @onColor = Fox.FXRGB(0, 0, 0)
41
+ @offColor = backColor
42
+ @grabx = 0
43
+ @graby = 0
44
+ end
45
+
46
+ def create
47
+ super
48
+ bitmap.create unless bitmap.nil?
49
+ end
50
+
51
+ def detach
52
+ super
53
+ bitmap.detach unless bitmap.nil?
54
+ end
55
+
56
+ def canFocus
57
+ true
58
+ end
59
+
60
+ def getContentWidth
61
+ bitmap.nil? ? 1 : bitmap.width
62
+ end
63
+
64
+ def getContentHeight
65
+ bitmap.nil? ? 1 : bitmap.height
66
+ end
67
+
68
+ def layout
69
+ super
70
+ update
71
+ self.flags &= ~FLAG_DIRTY
72
+ end
73
+
74
+ # Handle expose (paint) event
75
+ def onPaint(sender, sel, event)
76
+ FXDCWindow.new(self, event) do |dc|
77
+ unless bitmap.nil?
78
+ ww = bitmap.width
79
+ hh = bitmap.height
80
+ xx = pos_x
81
+ yy = pos_y
82
+ if ww < viewport_w
83
+ if (options & BITMAPVIEW_LEFT) != 0
84
+ xx = 0
85
+ elsif (options & BITMAPVIEW_RIGHT) != 0
86
+ xx = viewport_w - ww
87
+ else
88
+ xx = (viewport_w - ww)/2
89
+ end
90
+ end
91
+ if hh < viewport_h
92
+ if (options & BITMAPVIEW_TOP) != 0
93
+ yy = 0
94
+ elsif (options & BITMAPVIEW_BOTTOM) != 0
95
+ yy = viewport_h - hh
96
+ else
97
+ yy = (viewport_h - hh)/2
98
+ end
99
+ end
100
+ dc.foreground = onColor
101
+ dc.background = offColor
102
+ dc.drawBitmap(bitmap, xx, yy)
103
+ dc.foreground = backColor
104
+ xl = xx; xr = xx + ww
105
+ yt = yy; yb = yy + hh
106
+ xl = 0 if (xl < 0)
107
+ xr = viewport_w if (xr > viewport_w)
108
+ yt = 0 if (yt < 0)
109
+ yb = viewport_h if (yb > viewport_h)
110
+ dc.fillRectangle(0, 0, xr, yt)
111
+ dc.fillRectangle(0, yt, xl, viewport_h - yt)
112
+ dc.fillRectangle(xr, 0, viewport_w - xr, yb)
113
+ dc.fillRectangle(xl, yb, viewport_w - xl, viewport_h - yb)
114
+ else
115
+ dc.foreground = backColor
116
+ dc.fillRectangle(0, 0, width, height)
117
+ end
118
+ end
119
+ end
120
+
121
+ # Handle right mouse button press
122
+ def onRightBtnPress(sender, sel, ev)
123
+ self.flags &= ~FLAG_TIP
124
+ handle(self, Fox.FXSEL(SEL_FOCUS_SELF, 0), ev)
125
+ if enabled?
126
+ grab
127
+ if target && target.handle(self, Fox.FXSEL(SEL_RIGHTBUTTONPRESS, message), ev) != 0
128
+ return 1
129
+ end
130
+ self.flags &= ~FLAG_UPDATE
131
+ self.flags |= FLAG_PRESSED|FLAG_SCROLLING
132
+ @grabx = ev.win_x - pos_x
133
+ @graby = ev.win_y - pos_y
134
+ return 1
135
+ end
136
+ return 0
137
+ end
138
+
139
+ # Handle right mouse button release
140
+ def onRightBtnRelease(sender, sel, ev)
141
+ if enabled?
142
+ ungrab
143
+ self.flags &= ~(FLAG_PRESSED|FLAG_SCROLLING)
144
+ self.flags |= FLAG_UPDATE
145
+ if target && target.handle(self, Fox.FXSEL(SEL_RIGHTBUTTONPRESS, message), ev) != 0
146
+ return 1
147
+ end
148
+ return 1
149
+ end
150
+ return 0
151
+ end
152
+
153
+ # Handle real or simulated mouse motion
154
+ def onMotion(sender, sel, ev)
155
+ if (flags & FLAG_SCROLLING) != 0
156
+ setPosition(ev.win_x - @grabx, ev.win_y - @graby)
157
+ return 1
158
+ end
159
+ return 0
160
+ end
161
+
162
+ #
163
+ # Set the bitmap for this FXBitmapView, where _bmp_ is either +nil+ or
164
+ # a reference to an FXBitmap instance.
165
+ #
166
+ def bitmap=(bmp)
167
+ @bitmap = bmp
168
+ recalc
169
+ update
170
+ end
171
+
172
+ #
173
+ # Return a reference to the bitmap (an FXBitmap instance) for this FXBitmapView,
174
+ # or +nil+ if no bitmap has been set.
175
+ #
176
+ def bitmap; @bitmap; end
177
+
178
+ # Set the color used for the "on" bits in the bitmap.
179
+ def onColor=(clr)
180
+ if clr != onColor
181
+ @onColor = clr
182
+ update
183
+ end
184
+ end
185
+
186
+ # Return the color used for the "on" bits in the bitmap.
187
+ def onColor; @onColor; end
188
+
189
+ # Set the color used for the "off" bits in the bitmap.
190
+ def offColor=(clr)
191
+ if clr != offColor
192
+ @offColor = clr
193
+ update
194
+ end
195
+ end
196
+
197
+ # Return the color used for the "off" bits in the bitmap.
198
+ def offColor; @offColor; end
199
+
200
+ #
201
+ # Set the current alignment for the bitmap inside the FXBitmapView,
202
+ # where _mode_ is some combination of the bitmap alignment flags
203
+ # listed above.
204
+ #
205
+ def alignment=(mode)
206
+ opts = (options & ~(BITMAPVIEW_LEFT|BITMAPVIEW_RIGHT|BITMAPVIEW_TOP|BITMAPVIEW_BOTTOM)) |
207
+ (mode & (BITMAPVIEW_LEFT|BITMAPVIEW_RIGHT|BITMAPVIEW_TOP|BITMAPVIEW_BOTTOM))
208
+ if options != opts
209
+ @options = opts
210
+ update
211
+ end
212
+ end
213
+
214
+ #
215
+ # Return the current alignment for the bitmap inside the
216
+ # FXBitmapView.
217
+ #
218
+ def alignment
219
+ options & (BITMAPVIEW_LEFT|BITMAPVIEW_RIGHT|BITMAPVIEW_TOP|BITMAPVIEW_BOTTOM)
220
+ end
221
+ end
222
+ end
@@ -0,0 +1,217 @@
1
+ #
2
+ # Calendar widget, contributed by
3
+ # David Naseby (david.naseby@eonesolutions.com.au).
4
+ #
5
+ # Still could use methods for:
6
+ #
7
+ # * Get and set the day-of-the-month button properties (e.g. "poppy"
8
+ # style buttons versus regular pushbuttons)
9
+ # * Setting the date explicitly, possibly also messages like
10
+ # "advance/back up one day", "advance/back up one month", etc.
11
+ #
12
+ # * Should it have a display-only mode? In other words, buttons
13
+ # aren't clickable, just labels?
14
+ #
15
+ # Harry Ohlsen (harryo@zip.com.au) also suggests a facility to jump
16
+ # backward or forward a year at a time.
17
+ #
18
+
19
+ require 'fox16/colors'
20
+
21
+ module Fox
22
+
23
+ # Calendar-specific options
24
+ CALENDAR_NORMAL = 0
25
+ CALENDAR_READONLY = 0x00020000
26
+
27
+ #
28
+ # Calendar widget
29
+ #
30
+ # == Events
31
+ #
32
+ # The following messages are sent by FXCalendar to its target:
33
+ #
34
+ # +SEL_COMMAND+:: sent when a day button is clicked; the message data is a Time object indicating the selected date
35
+ #
36
+ # == Calendar options
37
+ #
38
+ # +CALENDAR_NORMAL+:: normal display mode
39
+ # +CALENDAR_READONLY+:: read-only mode
40
+ #
41
+ class FXCalendar < FXVerticalFrame
42
+
43
+ DAYS = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT']
44
+
45
+ # Currently selected date [Time]
46
+ attr_reader :selected
47
+
48
+ # Font used for days [FXFont]
49
+ attr_reader :dayLabelFont
50
+
51
+ #
52
+ # Returns an initialized calendar widget
53
+ #
54
+ def initialize(parent, initial_date=Time.now, tgt=nil, sel=0, opts=0, x=0, y=0, w=0, h=0, pl=DEFAULT_PAD, pr=DEFAULT_PAD, pt=DEFAULT_PAD, pb=DEFAULT_PAD)
55
+ # Initialize the base class first
56
+ super(parent, opts, x, y, w, h, pl, pr, pt, pb)
57
+
58
+ # Save target and selector
59
+ self.target = tgt
60
+ self.selector = sel
61
+
62
+ @headerBGColor = FXColor::Black
63
+ @headerFGColor = FXColor::White
64
+ @dayLabelFont = FXFont.new(getApp, "helvetica", 7)
65
+
66
+ @date_showing = initial_date
67
+
68
+ # Header row
69
+ @header = FXHorizontalFrame.new(self, LAYOUT_FILL_X)
70
+ @header.backColor = @headerBGColor
71
+ @backBtn = FXArrowButton.new(@header, nil, 0, FRAME_RAISED|FRAME_THICK|ARROW_LEFT|ARROW_REPEAT)
72
+ @backBtn.connect(SEL_COMMAND) do |send, sel, ev|
73
+ @date_showing = _last_month
74
+ _build_date_matrix
75
+ @current_month.text = _header_date
76
+ end
77
+ @current_month = FXLabel.new(@header, _header_date, nil,
78
+ LAYOUT_FILL_X|JUSTIFY_CENTER_X|LAYOUT_FILL_Y)
79
+ @current_month.backColor = @headerBGColor
80
+ @current_month.textColor = @headerFGColor
81
+ @foreBtn = FXArrowButton.new(@header, nil, 0, FRAME_RAISED|FRAME_THICK|ARROW_RIGHT|ARROW_REPEAT)
82
+ @foreBtn.connect(SEL_COMMAND) do |send, sel, ev|
83
+ @date_showing = _next_month
84
+ _build_date_matrix
85
+ @current_month.text = _header_date
86
+ end
87
+
88
+ @matrix = FXMatrix.new(self, 7,
89
+ MATRIX_BY_COLUMNS|LAYOUT_FILL_X|LAYOUT_FILL_Y|PACK_UNIFORM_WIDTH|FRAME_RAISED,
90
+ 0, 0, 0, 0, 0, 0, 0, 0)
91
+ DAYS.each { |day| _add_matrix_label(day) }
92
+ (7*6 - 1).times do
93
+ s = FXSwitcher.new(@matrix,
94
+ LAYOUT_FILL_X|LAYOUT_FILL_Y|LAYOUT_FILL_ROW|LAYOUT_FILL_COLUMN, 0,0,0,0,0,0,0,0)
95
+ FXFrame.new(s, LAYOUT_FILL_X|LAYOUT_FILL_Y, 0,0,0,0,0,0,0,0)
96
+ btn = FXButton.new(s, '99', nil, nil, 0,
97
+ LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_RAISED|FRAME_THICK,
98
+ 0,0,0,0,0,0,0,0)
99
+ btn.connect(SEL_COMMAND) do |send, sel, ev|
100
+ @selected = Time.local(@date_showing.year, @date_showing.month,
101
+ send.text.to_i)
102
+ target.handle(self, MKUINT(selector, SEL_COMMAND), @selected) if target
103
+ end
104
+ end
105
+ _build_date_matrix()
106
+ end
107
+
108
+ # Return the current header background color
109
+ def headerBackColor
110
+ @headerBGColor
111
+ end
112
+
113
+ # Set the header background color
114
+ def headerBackColor=(clr)
115
+ @headerBGColor = clr
116
+ @header.backColor = clr
117
+ @current_month.backColor = clr
118
+ DAYS.each_index { |i| @matrix.childAtIndex(i).backColor = clr }
119
+ end
120
+
121
+ # Return the current header text color
122
+ def headerTextColor
123
+ @headerFGColor
124
+ end
125
+
126
+ # Set the header text color
127
+ def headerTextColor=(clr)
128
+ @headerFGColor = clr
129
+ @current_month.textColor = clr
130
+ DAYS.each_index { |i| @matrix.childAtIndex(i).textColor = clr }
131
+ end
132
+
133
+ # Change the font used for the days of the weeks
134
+ def dayLabelFont=(font)
135
+ if @dayLabelFont != font
136
+ @dayLabelFont = font
137
+ DAYS.each_index { |i| @matrix.childAtIndex(i).font = font }
138
+ update
139
+ end
140
+ end
141
+
142
+ private
143
+ def _header_date()
144
+ @date_showing.strftime("%B, %Y")
145
+ end
146
+
147
+ def _first_day
148
+ Time.local(@date_showing.year, @date_showing.month, 1)
149
+ end
150
+
151
+ def _last_day
152
+ year = @date_showing.year
153
+ month = @date_showing.month+1
154
+ if month > 12
155
+ year += 1
156
+ month = 1
157
+ end
158
+ Time.local(year, month, 1) - (60*60*24)
159
+ end
160
+
161
+ def _last_month
162
+ year = @date_showing.year
163
+ month = @date_showing.month - 1
164
+ if month < 1
165
+ year -= 1
166
+ month = 12
167
+ end
168
+ Time.local(year, month)
169
+ end
170
+
171
+ def _next_month
172
+ year = @date_showing.year
173
+ month = @date_showing.month + 1
174
+ if month > 12
175
+ year +=1
176
+ month = 1
177
+ end
178
+ Time.local(year, month)
179
+ end
180
+
181
+ def _build_date_matrix
182
+ (0...6*7-1).each do |index|
183
+ @matrix.childAtRowCol(index/7+1, index.modulo(7)).setCurrent(0)
184
+ end
185
+ (_first_day.wday... _last_day.day+_first_day.wday).each do |index|
186
+ day = index - _first_day.wday + 1
187
+ switcher = @matrix.childAtRowCol(index/7 + 1, index.modulo(7))
188
+ switcher.setCurrent(1)
189
+ switcher.childAtIndex(1).text = day.to_s
190
+ end
191
+ end
192
+
193
+ def _add_matrix_label(label)
194
+ l = FXLabel.new(@matrix, label, nil,
195
+ LAYOUT_FILL_X|LAYOUT_FILL_COLUMN|JUSTIFY_CENTER_X|FRAME_SUNKEN)
196
+ l.backColor = @headerBGColor
197
+ l.textColor = @headerFGColor
198
+ l.font = @dayLabelFont
199
+ end
200
+ end
201
+ end
202
+
203
+ if __FILE__ == $0
204
+
205
+ include Fox
206
+
207
+ app = FXApp.new('Calendar', 'FXRuby')
208
+ app.init(ARGV)
209
+ mainwin = FXMainWindow.new(app, "Calendar Test", nil, nil, DECOR_ALL, 0, 0, 500, 500)
210
+ calendar = FXCalendar.new(mainwin, Time.now, nil, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y)
211
+ calendar.connect(SEL_COMMAND) do |sender, sel, data|
212
+ puts data.to_s
213
+ end
214
+ app.create
215
+ mainwin.show(PLACEMENT_SCREEN)
216
+ app.run
217
+ end
@@ -0,0 +1,606 @@
1
+ module Fox
2
+ #
3
+ # The Canvas module defines a framework similar to that provided by Tk's Canvas
4
+ # widget (and subsequent improvements, such as GNOME's Canvas and wxWindows'
5
+ # Object Graphics Library).
6
+ #
7
+ # Links
8
+ # =====
9
+ #
10
+ # Tk's Canvas Widget
11
+ # http://starship.python.net/crew/fredrik/tkmanual/canvas.html
12
+ # http://www.dci.clrc.ac.uk/Publications/Cookbook/chap4.html
13
+ #
14
+ # GNOME's Canvas Widget
15
+ # http://developer.gnome.org/doc/whitepapers/canvas/canvas.html
16
+ #
17
+ module Canvas
18
+
19
+ class CanvasError < Exception
20
+ end
21
+
22
+ class Shape
23
+
24
+ attr_accessor :x, :y, :foreground, :target, :selector
25
+
26
+ def initialize(x, y)
27
+ @enabled = true
28
+ @visible = true
29
+ @selected = false
30
+ @draggable = false
31
+ @x = x
32
+ @y = y
33
+ @foreground = FXRGB(0, 0, 0)
34
+ @target = nil
35
+ @selector = 0
36
+ end
37
+
38
+ # Return the bounding box for this shape
39
+ def bounds
40
+ FXRectangle.new(x, y, width, height)
41
+ end
42
+
43
+ # Hit test
44
+ def hit?(xpos, ypos)
45
+ (xpos >= x) && (xpos < x+width) && (ypos >= y) && (ypos < y+height)
46
+ end
47
+
48
+ # Move shape to specified position
49
+ def move(x, y)
50
+ @x, @y = x, y
51
+ end
52
+
53
+ # Resize shape to specified width and height
54
+ def resize(w, h)
55
+ end
56
+
57
+ # Move and resize the shape
58
+ def position(x, y, w, h)
59
+ move(x, y)
60
+ resize(w, h)
61
+ end
62
+
63
+ # Enable this shape
64
+ def enable
65
+ @enabled = true
66
+ end
67
+
68
+ # Disable this shape
69
+ def disable
70
+ @enabled = false
71
+ end
72
+
73
+ # Is this shape enabled?
74
+ def enabled?
75
+ @enabled
76
+ end
77
+
78
+ # Show this shape
79
+ def show
80
+ @visible = true
81
+ end
82
+
83
+ # Hide this shape
84
+ def hide
85
+ @visible = false
86
+ end
87
+
88
+ # Is this shape visible?
89
+ def visible?
90
+ @visible
91
+ end
92
+
93
+ # Select this shape
94
+ def select
95
+ @selected = true
96
+ end
97
+
98
+ # Deselect this shape
99
+ def deselect
100
+ @selected = false
101
+ end
102
+
103
+ # Is this shape selected?
104
+ def selected?
105
+ @selected
106
+ end
107
+
108
+ # Set this shape's draggability
109
+ def draggable=(d)
110
+ @draggable = d
111
+ end
112
+
113
+ # Is this shape draggable?
114
+ def draggable?
115
+ @draggable
116
+ end
117
+
118
+ # Draw this shape into the specificed device context
119
+ def draw(dc)
120
+ end
121
+
122
+ # Draws outline
123
+ def drawOutline(dc, x, y, w, h)
124
+ points = []
125
+ points << FXPoint.new(x - 0.5*w, y - 0.5*h)
126
+ points << FXPoint.new(x + 0.5*w, y)
127
+ points << FXPoint.new(x + 0.5*w, y + 0.5*h)
128
+ points << FXPoint.new(x - 0.5*w, y + 0.5*h)
129
+ points << points[0]
130
+ dc.drawLines(points)
131
+ end
132
+
133
+ # Default: make 6 control points
134
+ def makeControlPoints
135
+ end
136
+ end
137
+
138
+ class ShapeGroup
139
+
140
+ include Enumerable
141
+
142
+ # Initialize this shape group
143
+ def initialize
144
+ @shapes = []
145
+ end
146
+
147
+ # Does the group contain this shape?
148
+ def include?(shape)
149
+ @shapes.include?(shape)
150
+ end
151
+
152
+ # Add a shape to this group
153
+ def addShape(shape)
154
+ @shapes << shape
155
+ end
156
+
157
+ # Remove a shape from this group
158
+ def removeShape(shape)
159
+ @shapes.remove(shape)
160
+ end
161
+
162
+ def each
163
+ @shapes.each { |shape| yield shape }
164
+ end
165
+
166
+ def reverse_each
167
+ @shapes.reverse_each { |shape| yield shape }
168
+ end
169
+ end
170
+
171
+ class LineShape < Shape
172
+
173
+ attr_accessor :lineWidth, :lineCap, :lineJoin, :lineStyle
174
+ attr_accessor :x1, :y1, :x2, :y2
175
+
176
+ def initialize(x1, y1, x2, y2)
177
+ super(x1, y1)
178
+ @x1, @y1, @x2, @y2 = x1, y1, x2, y2
179
+ @lineWidth = 1
180
+ @lineCap = CAP_NOT_LAST
181
+ @lineJoin = JOIN_MITER
182
+ @lineStyle = LINE_SOLID
183
+ end
184
+
185
+ def width
186
+ 0
187
+ end
188
+
189
+ def height
190
+ 0
191
+ end
192
+
193
+ def draw(dc)
194
+ # Save old values
195
+ oldForeground = dc.foreground
196
+ oldLineWidth = dc.lineWidth
197
+ oldLineCap = dc.lineCap
198
+ oldLineJoin = dc.lineJoin
199
+ oldLineStyle = dc.lineStyle
200
+
201
+ # Set properties for this line
202
+ dc.foreground = foreground
203
+ dc.lineWidth = lineWidth
204
+ dc.lineCap = lineCap
205
+ dc.lineJoin = lineJoin
206
+ dc.lineStyle = lineStyle
207
+
208
+ # Draw the line
209
+ dc.drawLine(x1, y1, x2, y2)
210
+
211
+ # Restore old properties
212
+ dc.lineWidth = oldLineWidth
213
+ dc.lineCap = oldLineCap
214
+ dc.lineJoin = oldLineJoin
215
+ dc.lineStyle = oldLineStyle
216
+ dc.foreground = oldForeground
217
+ end
218
+ end
219
+
220
+ class RectangleShape < Shape
221
+
222
+ attr_accessor :width, :height
223
+
224
+ def initialize(x, y, w, h)
225
+ super(x, y)
226
+ @width = w
227
+ @height = h
228
+ end
229
+
230
+ def draw(dc)
231
+ oldForeground = dc.foreground
232
+ dc.foreground = foreground
233
+ dc.drawRectangle(x, y, width, height)
234
+ dc.foreground = oldForeground
235
+ end
236
+ end
237
+
238
+ class TextShape < RectangleShape
239
+
240
+ attr_reader :font, :text
241
+
242
+ def initialize(x, y, w, h, text=nil)
243
+ super(x, y, w, h)
244
+ @text = text
245
+ @font = FXApp.instance.normalFont
246
+ end
247
+
248
+ def draw(dc)
249
+ super(dc)
250
+ oldForeground = dc.foreground
251
+ oldTextFont = dc.font
252
+ dc.font = @font
253
+ dc.drawImageText(x, y, text)
254
+ dc.font = oldTextFont if oldTextFont
255
+ dc.foreground = oldForeground
256
+ end
257
+ end
258
+
259
+ class CircleShape < Shape
260
+
261
+ attr_accessor :radius
262
+
263
+ def initialize(x, y, radius)
264
+ super(x, y)
265
+ @radius = radius
266
+ end
267
+
268
+ def width
269
+ 2*radius
270
+ end
271
+
272
+ def height
273
+ 2*radius
274
+ end
275
+
276
+ def draw(dc)
277
+ oldForeground = dc.foreground
278
+ oldLineWidth = dc.lineWidth
279
+ dc.foreground = foreground
280
+ dc.lineWidth = 5 if selected?
281
+ dc.drawArc(x, y, width, height, 0, 64*180)
282
+ dc.drawArc(x, y, width, height, 64*180, 64*360)
283
+ dc.foreground = oldForeground
284
+ dc.lineWidth = oldLineWidth
285
+ end
286
+ end
287
+
288
+ class PolygonShape < Shape
289
+ end
290
+
291
+ class ImageShape < Shape
292
+
293
+ attr_accessor :image
294
+
295
+ def initialize(x, y, image)
296
+ @image = image
297
+ end
298
+
299
+ def draw(dc)
300
+ dc.drawImage(image)
301
+ end
302
+ end
303
+
304
+ # Base class for canvas selection policies
305
+ class SelectionPolicy
306
+ def initialize(canvas)
307
+ @canvas = canvas
308
+ end
309
+
310
+ def selectShape(shape, notify)
311
+ unless shape.selected?
312
+ shape.select
313
+ @canvas.updateShape(shape)
314
+ if notify && (@canvas.target != nil)
315
+ @canvas.target.handle(@canvas, MKUINT(@canvas.message, SEL_SELECTED), shape)
316
+ end
317
+ end
318
+ end
319
+
320
+ def deselectShape(shape, notify)
321
+ if shape.selected?
322
+ shape.deselect
323
+ @canvas.updateShape(shape)
324
+ if notify && (@canvas.target != nil)
325
+ @canvas.target.handle(@canvas, MKUINT(@canvas.message, SEL_DESELECTED), shape)
326
+ end
327
+ end
328
+ end
329
+ end
330
+
331
+ # Single shape selected at one time
332
+ class SingleSelectionPolicy < SelectionPolicy
333
+ def initialize(canvas)
334
+ super
335
+ end
336
+
337
+ def selectShape(shape, notify)
338
+ unless shape.selected?
339
+ @canvas.killSelection(notify)
340
+ end
341
+ super
342
+ end
343
+ end
344
+
345
+ class ShapeCanvas < FXCanvas
346
+
347
+ # Window state flags
348
+ FLAG_SHOWN = 0x00000001 # Is shown
349
+ FLAG_ENABLED = 0x00000002 # Able to receive input
350
+ FLAG_UPDATE = 0x00000004 # Is subject to GUI update
351
+ FLAG_DROPTARGET = 0x00000008 # Drop target
352
+ FLAG_FOCUSED = 0x00000010 # Has focus
353
+ FLAG_DIRTY = 0x00000020 # Needs layout
354
+ FLAG_RECALC = 0x00000040 # Needs recalculation
355
+ FLAG_TIP = 0x00000080 # Show tip
356
+ FLAG_HELP = 0x00000100 # Show help
357
+ FLAG_DEFAULT = 0x00000200 # Default widget
358
+ FLAG_INITIAL = 0x00000400 # Initial widget
359
+ FLAG_SHELL = 0x00000800 # Shell window
360
+ FLAG_ACTIVE = 0x00001000 # Window is active
361
+ FLAG_PRESSED = 0x00002000 # Button has been pressed
362
+ FLAG_KEY = 0x00004000 # Keyboard key pressed
363
+ FLAG_CARET = 0x00008000 # Caret is on
364
+ FLAG_CHANGED = 0x00010000 # Window data changed
365
+ FLAG_LASSO = 0x00020000 # Lasso mode
366
+ FLAG_TRYDRAG = 0x00040000 # Tentative drag mode
367
+ FLAG_DODRAG = 0x00080000 # Doing drag mode
368
+ FLAG_SCROLLINSIDE = 0x00100000 # Scroll only when inside
369
+ FLAG_SCROLLING = 0x00200000 # Right mouse scrolling
370
+
371
+ include Responder
372
+
373
+ attr_accessor :scene
374
+
375
+ def initialize(p, tgt=nil, sel=0, opts=FRAME_NORMAL, x=0, y=0, w=0, h=0)
376
+ # Initialize base class
377
+ super(p, tgt, sel, opts, x, y, w, h)
378
+
379
+ # Start with an empty group
380
+ @scene = ShapeGroup.new
381
+
382
+ # Selection policy
383
+ @selectionPolicy = SingleSelectionPolicy.new(self)
384
+
385
+ @flags = 0
386
+
387
+ # Map
388
+ FXMAPFUNC(SEL_PAINT, 0, "onPaint")
389
+ FXMAPFUNC(SEL_MOTION, 0, "onMotion")
390
+ FXMAPFUNC(SEL_LEFTBUTTONPRESS, 0, "onLeftBtnPress")
391
+ FXMAPFUNC(SEL_LEFTBUTTONRELEASE, 0, "onLeftBtnRelease")
392
+ FXMAPFUNC(SEL_CLICKED,0,"onClicked")
393
+ FXMAPFUNC(SEL_DOUBLECLICKED,0,"onDoubleClicked")
394
+ FXMAPFUNC(SEL_TRIPLECLICKED,0,"onTripleClicked")
395
+ FXMAPFUNC(SEL_COMMAND,0,"onCommand")
396
+ end
397
+
398
+ # Find the shape of the least depth containing this point
399
+ def findShape(x, y)
400
+ @scene.reverse_each do |shape|
401
+ return shape if shape.hit?(x, y)
402
+ end
403
+ nil
404
+ end
405
+
406
+ # Repaint
407
+ def updateShape(shape)
408
+ if @scene.include?(shape)
409
+ update
410
+ else
411
+ raise CanvasError
412
+ end
413
+ end
414
+
415
+ # Enable one shape
416
+ def enableShape(shape)
417
+ if @scene.include?(shape)
418
+ unless shape.enabled?
419
+ shape.enable
420
+ updateShape(shape)
421
+ end
422
+ else
423
+ raise CanvasError
424
+ end
425
+ end
426
+
427
+ # Disable one shape
428
+ def disableShape(shape)
429
+ if @scene.include?(shape)
430
+ if shape.enabled?
431
+ shape.disable
432
+ updateShape(shape)
433
+ end
434
+ else
435
+ raise CanvasError
436
+ end
437
+ end
438
+
439
+ # Select one shape
440
+ def selectShape(shape, notify=false)
441
+ if @scene.include?(shape)
442
+ @selectionPolicy.selectShape(shape, notify)
443
+ else
444
+ raise CanvasError
445
+ end
446
+ end
447
+
448
+ # Deselect one shape
449
+ def deselectShape(shape, notify=false)
450
+ if @scene.include?(shape)
451
+ @selectionPolicy.deselectShape(shape, notify)
452
+ else
453
+ raise CanvasError
454
+ end
455
+ end
456
+
457
+ # Kill selection
458
+ def killSelection(notify)
459
+ changes = false
460
+ @scene.each do |shape|
461
+ if shape.selected?
462
+ shape.deselect
463
+ updateShape(shape)
464
+ changes = true
465
+ if notify && (target != nil)
466
+ target.handle(self, MKUINT(message, SEL_DESELECTED), shape)
467
+ end
468
+ end
469
+ end
470
+ changes
471
+ end
472
+
473
+ # Paint
474
+ def onPaint(sender, sel, evt)
475
+ dc = FXDCWindow.new(self, evt)
476
+ dc.foreground = backColor
477
+ dc.fillRectangle(evt.rect.x, evt.rect.y, evt.rect.w, evt.rect.h)
478
+ @scene.each do |shape|
479
+ shape.draw(dc)
480
+ end
481
+ dc.end
482
+ return 1
483
+ end
484
+
485
+ # Motion
486
+ def onMotion(sender, sel, evt)
487
+ # Drag and drop mode
488
+ if (@flags & FLAG_DODRAG) != 0
489
+ handle(self, MKUINT(0, SEL_DRAGGED), evt)
490
+ return 1
491
+ end
492
+
493
+ # Tentative drag and drop
494
+ if (@flags & FLAG_TRYDRAG) != 0
495
+ if evt.moved?
496
+ @flags &= ~FLAG_TRYDRAG
497
+ if handle(this, MKUINT(0, SEL_BEGINDRAG), evt) != 0
498
+ @flags |= FLAG_DODRAG
499
+ end
500
+ end
501
+ return 1
502
+ end
503
+ end
504
+
505
+ # Left button press
506
+ def onLeftBtnPress(sender, sel, evt)
507
+ handle(self, MKUINT(0, SEL_FOCUS_SELF), evt)
508
+ if enabled?
509
+ grab
510
+ flags &= ~FLAG_UPDATE
511
+
512
+ # Give target the first chance at handling this
513
+ return 1 if target && (target.handle(self, MKUINT(message, SEL_LEFTBUTTONPRESS), evt) != 0)
514
+
515
+ # Locate shape
516
+ shape = findShape(evt.win_x, evt.win_y)
517
+
518
+ # No shape here
519
+ if shape.nil?
520
+ return 1
521
+ end
522
+
523
+ # Change current shape
524
+ @currentShape = shape
525
+
526
+ # Change item selection
527
+ if shape.enabled? && !shape.selected?
528
+ selectShape(shape, true)
529
+ end
530
+
531
+ # Are we dragging?
532
+ if shape.selected? && shape.draggable?
533
+ flags |= FLAG_TRYDRAG
534
+ end
535
+
536
+ flags |= FLAG_PRESSED
537
+ return 1
538
+ end
539
+ return 0
540
+ end
541
+
542
+ # Left button release
543
+ def onLeftBtnRelease(sender, sel, evt)
544
+ flg = @flags
545
+ if enabled?
546
+ ungrab
547
+ @flags |= FLAG_UPDATE
548
+ @flags &= ~(FLAG_PRESSED|FLAG_TRYDRAG|FLAG_LASSO|FLAG_DODRAG)
549
+
550
+ # First chance callback
551
+ return 1 if target && target.handle(self, MKUINT(message, SEL_LEFTBUTTONRELEASE), evt) != 0
552
+
553
+ # Was dragging
554
+ if (flg & FLAG_DODRAG) != 0
555
+ handle(self, MKUINT(0, SEL_ENDDRAG), evt)
556
+ return 1
557
+ end
558
+
559
+ # Must have pressed
560
+ if (flg & FLAG_PRESSED) != 0
561
+ # Change selection
562
+ if @currentShape && @currentShape.enabled?
563
+ deselectShape(@currentShape, true)
564
+ end
565
+
566
+ # Generate clicked callbacks
567
+ if evt.click_count == 1
568
+ handle(self, MKUINT(0, SEL_CLICKED), @currentShape)
569
+ elsif evt.click_count == 2
570
+ handle(self, MKUINT(0, SEL_DOUBLECLICKED), @currentShape)
571
+ elseif evt.click_count == 3
572
+ handle(self, MKUINT(0, SEL_TRIPLECLICKED), @currentShape)
573
+ end
574
+
575
+ # Generate command callback only when clicked on item
576
+ if @currentShape && @currentShape.enabled?
577
+ handle(self, MKUINT(0, SEL_COMMAND), @currentShape)
578
+ end
579
+ return 1
580
+ end
581
+ return 0
582
+ end
583
+ end
584
+
585
+ # Command message
586
+ def onCommand(sender, sel, ptr)
587
+ return target && target.handle(self, MKUINT(message, SEL_COMMAND), ptr)
588
+ end
589
+
590
+ # Clicked on canvas
591
+ def onClicked(sender, sel, ptr)
592
+ return target && target.handle(self, MKUINT(message, SEL_CLICKED), ptr)
593
+ end
594
+
595
+ # Double-clicked on canvas
596
+ def onDoubleClicked(sender, sel, ptr)
597
+ return target && target.handle(self, MKUINT(message, SEL_DOUBLECLICKED), ptr)
598
+ end
599
+
600
+ # Triple-clicked on canvas
601
+ def onTripleClicked(sender, sel, ptr)
602
+ return target && target.handle(self, MKUINT(message, SEL_TRIPLECLICKED), ptr)
603
+ end
604
+ end
605
+ end
606
+ end