fxruby 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (692) hide show
  1. data/ANNOUNCE +25 -0
  2. data/ChangeLog +10606 -0
  3. data/INSTALL +50 -0
  4. data/LICENSE +456 -0
  5. data/README +39 -0
  6. data/doc/apes02.html +21 -0
  7. data/doc/apes03.html +39 -0
  8. data/doc/book.html +3 -0
  9. data/doc/build.html +144 -0
  10. data/doc/ch03s02.html +24 -0
  11. data/doc/ch03s03.html +53 -0
  12. data/doc/ch03s04.html +37 -0
  13. data/doc/ch03s05.html +61 -0
  14. data/doc/ch04s02.html +72 -0
  15. data/doc/ch04s03.html +37 -0
  16. data/doc/ch04s04.html +72 -0
  17. data/doc/ch05s02.html +262 -0
  18. data/doc/ch05s03.html +128 -0
  19. data/doc/changes.html +75 -0
  20. data/doc/clipboardtut.html +68 -0
  21. data/doc/cvs.html +35 -0
  22. data/doc/differences.html +11 -0
  23. data/doc/dragdroptut.html +266 -0
  24. data/doc/events.html +36 -0
  25. data/doc/examples.html +104 -0
  26. data/doc/gems.html +73 -0
  27. data/doc/goals.html +39 -0
  28. data/doc/images/babelfish.png +0 -0
  29. data/doc/images/browser.png +0 -0
  30. data/doc/images/button.png +0 -0
  31. data/doc/images/call-chain-example.png +0 -0
  32. data/doc/images/colordialog.png +0 -0
  33. data/doc/images/datatarget.png +0 -0
  34. data/doc/images/dialog.png +0 -0
  35. data/doc/images/dilbert.png +0 -0
  36. data/doc/images/dirlist.png +0 -0
  37. data/doc/images/dropsite-droprejected.png +0 -0
  38. data/doc/images/foursplit.png +0 -0
  39. data/doc/images/gltest.png +0 -0
  40. data/doc/images/glviewer.png +0 -0
  41. data/doc/images/groupbox.png +0 -0
  42. data/doc/images/header.png +0 -0
  43. data/doc/images/hello-with-button.png +0 -0
  44. data/doc/images/hello-with-icon-1.png +0 -0
  45. data/doc/images/hello-with-icon-2.png +0 -0
  46. data/doc/images/hello-with-icon-3.png +0 -0
  47. data/doc/images/hello-with-tooltip.png +0 -0
  48. data/doc/images/hello-without-button.png +0 -0
  49. data/doc/images/hello.png +0 -0
  50. data/doc/images/hello2.png +0 -0
  51. data/doc/images/iconlist-bigicons.png +0 -0
  52. data/doc/images/iconlist-details.png +0 -0
  53. data/doc/images/image.png +0 -0
  54. data/doc/images/imageviewer.png +0 -0
  55. data/doc/images/inheritance.png +0 -0
  56. data/doc/images/mditest.png +0 -0
  57. data/doc/images/raabrowser.png +0 -0
  58. data/doc/images/scribble.png +0 -0
  59. data/doc/images/shutter.png +0 -0
  60. data/doc/images/splitter.png +0 -0
  61. data/doc/images/tabbook.png +0 -0
  62. data/doc/images/table.png +0 -0
  63. data/doc/images/tutorial1.png +0 -0
  64. data/doc/implementation.html +16 -0
  65. data/doc/infosources.html +33 -0
  66. data/doc/library.html +30 -0
  67. data/doc/opengl.html +73 -0
  68. data/doc/pt01.html +3 -0
  69. data/doc/pt02.html +3 -0
  70. data/doc/scintilla.html +36 -0
  71. data/doc/todo.html +40 -0
  72. data/doc/tutorial1.html +97 -0
  73. data/examples/RAA.rb +25 -0
  74. data/examples/README +53 -0
  75. data/examples/babelfish.rb +107 -0
  76. data/examples/bounce.rb +159 -0
  77. data/examples/browser.rb +191 -0
  78. data/examples/button.rb +160 -0
  79. data/examples/datatarget.rb +223 -0
  80. data/examples/dctest.rb +702 -0
  81. data/examples/dialog.rb +148 -0
  82. data/examples/dilbert.rb +105 -0
  83. data/examples/dirlist.rb +63 -0
  84. data/examples/dragdrop.rb +101 -0
  85. data/examples/dragsource.rb +81 -0
  86. data/examples/dropsite.rb +61 -0
  87. data/examples/foursplit.rb +103 -0
  88. data/examples/gltest.rb +342 -0
  89. data/examples/glviewer.rb +579 -0
  90. data/examples/groupbox.rb +422 -0
  91. data/examples/header.rb +150 -0
  92. data/examples/hello.rb +12 -0
  93. data/examples/hello2.rb +51 -0
  94. data/examples/iRAA.rb +153 -0
  95. data/examples/iconlist.rb +104 -0
  96. data/examples/icons/AngryGuyInBunnySuit.ico +0 -0
  97. data/examples/icons/FatBot.ico +0 -0
  98. data/examples/icons/FlippedySwitch.ico +0 -0
  99. data/examples/icons/LeGoon.ico +0 -0
  100. data/examples/icons/Net.ico +0 -0
  101. data/examples/icons/RedMacOS.ico +0 -0
  102. data/examples/icons/SawBlade.ico +0 -0
  103. data/examples/icons/backview.png +0 -0
  104. data/examples/icons/big.png +0 -0
  105. data/examples/icons/bigfolder.png +0 -0
  106. data/examples/icons/bigpenguin.png +0 -0
  107. data/examples/icons/bottomview.png +0 -0
  108. data/examples/icons/camera.png +0 -0
  109. data/examples/icons/capbutt.png +0 -0
  110. data/examples/icons/capnotlast.png +0 -0
  111. data/examples/icons/capproj.png +0 -0
  112. data/examples/icons/capround.png +0 -0
  113. data/examples/icons/colorpal.png +0 -0
  114. data/examples/icons/copy.png +0 -0
  115. data/examples/icons/cut.png +0 -0
  116. data/examples/icons/delimit.png +0 -0
  117. data/examples/icons/dippy.png +0 -0
  118. data/examples/icons/double_dash.png +0 -0
  119. data/examples/icons/filenew.png +0 -0
  120. data/examples/icons/fileopen.png +0 -0
  121. data/examples/icons/filesave.png +0 -0
  122. data/examples/icons/filesaveas.png +0 -0
  123. data/examples/icons/fonts.png +0 -0
  124. data/examples/icons/fox.png +0 -0
  125. data/examples/icons/foxicon.png +0 -0
  126. data/examples/icons/frontview.png +0 -0
  127. data/examples/icons/gem_big.png +0 -0
  128. data/examples/icons/gem_small.png +0 -0
  129. data/examples/icons/hello2.png +0 -0
  130. data/examples/icons/help.png +0 -0
  131. data/examples/icons/indent.png +0 -0
  132. data/examples/icons/jbevel.png +0 -0
  133. data/examples/icons/jmiter.png +0 -0
  134. data/examples/icons/jround.png +0 -0
  135. data/examples/icons/kill.png +0 -0
  136. data/examples/icons/leftview.png +0 -0
  137. data/examples/icons/light.png +0 -0
  138. data/examples/icons/minidoc.png +0 -0
  139. data/examples/icons/minifolder.png +0 -0
  140. data/examples/icons/minifolderopen.png +0 -0
  141. data/examples/icons/newfolder.png +0 -0
  142. data/examples/icons/nolight.png +0 -0
  143. data/examples/icons/onoff_dash.png +0 -0
  144. data/examples/icons/palette.png +0 -0
  145. data/examples/icons/parallel.png +0 -0
  146. data/examples/icons/paste.png +0 -0
  147. data/examples/icons/pattern.png +0 -0
  148. data/examples/icons/penguin.png +0 -0
  149. data/examples/icons/perspective.png +0 -0
  150. data/examples/icons/printicon.png +0 -0
  151. data/examples/icons/prop.png +0 -0
  152. data/examples/icons/redo.png +0 -0
  153. data/examples/icons/rightview.png +0 -0
  154. data/examples/icons/saveas.png +0 -0
  155. data/examples/icons/shutter1.png +0 -0
  156. data/examples/icons/shutter2.png +0 -0
  157. data/examples/icons/small.png +0 -0
  158. data/examples/icons/smoothlight.png +0 -0
  159. data/examples/icons/solid_line.png +0 -0
  160. data/examples/icons/tbuplevel.png +0 -0
  161. data/examples/icons/topview.png +0 -0
  162. data/examples/icons/undo.png +0 -0
  163. data/examples/icons/winapp.png +0 -0
  164. data/examples/icons/zoom.png +0 -0
  165. data/examples/image.rb +281 -0
  166. data/examples/imageviewer.rb +513 -0
  167. data/examples/inputs.rb +84 -0
  168. data/examples/mditest.rb +180 -0
  169. data/examples/pig.rb +77 -0
  170. data/examples/raabrowser.rb +132 -0
  171. data/examples/scintilla-test.rb +81 -0
  172. data/examples/scribble-orig.rb +186 -0
  173. data/examples/scribble.rb +166 -0
  174. data/examples/shutter.rb +158 -0
  175. data/examples/splitter.rb +211 -0
  176. data/examples/styledtext.rb +92 -0
  177. data/examples/tabbook.rb +124 -0
  178. data/examples/table.rb +187 -0
  179. data/examples/textedit/commands.rb +117 -0
  180. data/examples/textedit/helpwindow.rb +295 -0
  181. data/examples/textedit/prefdialog.rb +235 -0
  182. data/examples/textedit/textedit.rb +1767 -0
  183. data/ext/fox12/FXRbApp.cpp +127 -0
  184. data/ext/fox12/FXRbDataTarget.cpp +106 -0
  185. data/ext/fox12/FXRbGLViewer.cpp +89 -0
  186. data/ext/fox12/FXRuby.cpp +1818 -0
  187. data/ext/fox12/MANIFEST +189 -0
  188. data/ext/fox12/core_wrap.cpp +10119 -0
  189. data/ext/fox12/dc_wrap.cpp +2638 -0
  190. data/ext/fox12/dialogs_wrap.cpp +6244 -0
  191. data/ext/fox12/extconf.rb +176 -0
  192. data/ext/fox12/frames_wrap.cpp +8274 -0
  193. data/ext/fox12/fx3d_wrap.cpp +9315 -0
  194. data/ext/fox12/iconlist_wrap.cpp +3742 -0
  195. data/ext/fox12/icons_wrap.cpp +4040 -0
  196. data/ext/fox12/image_wrap.cpp +4026 -0
  197. data/ext/fox12/impl.cpp +1064 -0
  198. data/ext/fox12/include/FXMemoryBuffer.h +52 -0
  199. data/ext/fox12/include/FXRb4Splitter.h +54 -0
  200. data/ext/fox12/include/FXRbAccelTable.h +46 -0
  201. data/ext/fox12/include/FXRbApp.h +137 -0
  202. data/ext/fox12/include/FXRbAppVirtuals.h +15 -0
  203. data/ext/fox12/include/FXRbArrowButton.h +51 -0
  204. data/ext/fox12/include/FXRbBMPIcon.h +54 -0
  205. data/ext/fox12/include/FXRbBMPImage.h +54 -0
  206. data/ext/fox12/include/FXRbBitmap.h +115 -0
  207. data/ext/fox12/include/FXRbBitmapFrame.h +56 -0
  208. data/ext/fox12/include/FXRbBitmapView.h +52 -0
  209. data/ext/fox12/include/FXRbBitmapVirtuals.h +27 -0
  210. data/ext/fox12/include/FXRbButton.h +51 -0
  211. data/ext/fox12/include/FXRbCURCursor.h +60 -0
  212. data/ext/fox12/include/FXRbCanvas.h +51 -0
  213. data/ext/fox12/include/FXRbCheckButton.h +51 -0
  214. data/ext/fox12/include/FXRbColorBar.h +51 -0
  215. data/ext/fox12/include/FXRbColorDialog.h +53 -0
  216. data/ext/fox12/include/FXRbColorSelector.h +51 -0
  217. data/ext/fox12/include/FXRbColorWell.h +51 -0
  218. data/ext/fox12/include/FXRbColorWheel.h +51 -0
  219. data/ext/fox12/include/FXRbComboBox.h +56 -0
  220. data/ext/fox12/include/FXRbCommon.h +86 -0
  221. data/ext/fox12/include/FXRbComposite.h +51 -0
  222. data/ext/fox12/include/FXRbCursor.h +87 -0
  223. data/ext/fox12/include/FXRbCursorVirtuals.h +6 -0
  224. data/ext/fox12/include/FXRbDC.h +385 -0
  225. data/ext/fox12/include/FXRbDCPrint.h +49 -0
  226. data/ext/fox12/include/FXRbDCVirtuals.h +166 -0
  227. data/ext/fox12/include/FXRbDCWindow.h +64 -0
  228. data/ext/fox12/include/FXRbDataTarget.h +65 -0
  229. data/ext/fox12/include/FXRbDebugTarget.h +46 -0
  230. data/ext/fox12/include/FXRbDelegator.h +46 -0
  231. data/ext/fox12/include/FXRbDial.h +51 -0
  232. data/ext/fox12/include/FXRbDialogBox.h +68 -0
  233. data/ext/fox12/include/FXRbDialogBoxVirtuals.h +3 -0
  234. data/ext/fox12/include/FXRbDict.h +46 -0
  235. data/ext/fox12/include/FXRbDirBox.h +51 -0
  236. data/ext/fox12/include/FXRbDirDialog.h +53 -0
  237. data/ext/fox12/include/FXRbDirList.h +79 -0
  238. data/ext/fox12/include/FXRbDirSelector.h +51 -0
  239. data/ext/fox12/include/FXRbDocument.h +46 -0
  240. data/ext/fox12/include/FXRbDragCorner.h +51 -0
  241. data/ext/fox12/include/FXRbDrawable.h +64 -0
  242. data/ext/fox12/include/FXRbDrawableVirtuals.h +3 -0
  243. data/ext/fox12/include/FXRbDriveBox.h +51 -0
  244. data/ext/fox12/include/FXRbFileDialog.h +56 -0
  245. data/ext/fox12/include/FXRbFileDict.h +104 -0
  246. data/ext/fox12/include/FXRbFileDictVirtuals.h +9 -0
  247. data/ext/fox12/include/FXRbFileList.h +81 -0
  248. data/ext/fox12/include/FXRbFileSelector.h +51 -0
  249. data/ext/fox12/include/FXRbFoldingItemVirtuals.h +45 -0
  250. data/ext/fox12/include/FXRbFoldingList.h +183 -0
  251. data/ext/fox12/include/FXRbFont.h +70 -0
  252. data/ext/fox12/include/FXRbFontDialog.h +53 -0
  253. data/ext/fox12/include/FXRbFontSelector.h +51 -0
  254. data/ext/fox12/include/FXRbFrame.h +51 -0
  255. data/ext/fox12/include/FXRbGIFCursor.h +60 -0
  256. data/ext/fox12/include/FXRbGIFIcon.h +54 -0
  257. data/ext/fox12/include/FXRbGIFImage.h +54 -0
  258. data/ext/fox12/include/FXRbGLCanvas.h +92 -0
  259. data/ext/fox12/include/FXRbGLCanvasVirtuals.h +13 -0
  260. data/ext/fox12/include/FXRbGLContext.h +58 -0
  261. data/ext/fox12/include/FXRbGLObject.h +103 -0
  262. data/ext/fox12/include/FXRbGLObjectVirtuals.h +22 -0
  263. data/ext/fox12/include/FXRbGLShape.h +81 -0
  264. data/ext/fox12/include/FXRbGLShapeVirtuals.h +8 -0
  265. data/ext/fox12/include/FXRbGLViewer.h +83 -0
  266. data/ext/fox12/include/FXRbGLViewerVirtuals.h +6 -0
  267. data/ext/fox12/include/FXRbGLVisual.h +56 -0
  268. data/ext/fox12/include/FXRbGradientBar.h +55 -0
  269. data/ext/fox12/include/FXRbGroupBox.h +51 -0
  270. data/ext/fox12/include/FXRbHeader.h +125 -0
  271. data/ext/fox12/include/FXRbHeaderItemVirtuals.h +22 -0
  272. data/ext/fox12/include/FXRbHorizontalFrame.h +51 -0
  273. data/ext/fox12/include/FXRbICOIcon.h +54 -0
  274. data/ext/fox12/include/FXRbICOImage.h +54 -0
  275. data/ext/fox12/include/FXRbIcon.h +57 -0
  276. data/ext/fox12/include/FXRbIconItemVirtuals.h +71 -0
  277. data/ext/fox12/include/FXRbIconList.h +266 -0
  278. data/ext/fox12/include/FXRbIconListVirtuals.h +21 -0
  279. data/ext/fox12/include/FXRbId.h +74 -0
  280. data/ext/fox12/include/FXRbIdVirtuals.h +9 -0
  281. data/ext/fox12/include/FXRbImage.h +162 -0
  282. data/ext/fox12/include/FXRbImageFrame.h +56 -0
  283. data/ext/fox12/include/FXRbImageView.h +52 -0
  284. data/ext/fox12/include/FXRbImageVirtuals.h +51 -0
  285. data/ext/fox12/include/FXRbInputDialog.h +53 -0
  286. data/ext/fox12/include/FXRbJPGIcon.h +54 -0
  287. data/ext/fox12/include/FXRbJPGImage.h +54 -0
  288. data/ext/fox12/include/FXRbLabel.h +51 -0
  289. data/ext/fox12/include/FXRbList.h +204 -0
  290. data/ext/fox12/include/FXRbListBox.h +56 -0
  291. data/ext/fox12/include/FXRbListItemVirtuals.h +36 -0
  292. data/ext/fox12/include/FXRbListVirtuals.h +18 -0
  293. data/ext/fox12/include/FXRbMDIButton.h +162 -0
  294. data/ext/fox12/include/FXRbMDIChild.h +82 -0
  295. data/ext/fox12/include/FXRbMDIChildVirtuals.h +12 -0
  296. data/ext/fox12/include/FXRbMDIClient.h +80 -0
  297. data/ext/fox12/include/FXRbMDIClientVirtuals.h +12 -0
  298. data/ext/fox12/include/FXRbMainWindow.h +54 -0
  299. data/ext/fox12/include/FXRbMatrix.h +51 -0
  300. data/ext/fox12/include/FXRbMenuBar.h +63 -0
  301. data/ext/fox12/include/FXRbMenuButton.h +51 -0
  302. data/ext/fox12/include/FXRbMenuCaption.h +51 -0
  303. data/ext/fox12/include/FXRbMenuCascade.h +51 -0
  304. data/ext/fox12/include/FXRbMenuCheck.h +49 -0
  305. data/ext/fox12/include/FXRbMenuCommand.h +49 -0
  306. data/ext/fox12/include/FXRbMenuPane.h +52 -0
  307. data/ext/fox12/include/FXRbMenuRadio.h +49 -0
  308. data/ext/fox12/include/FXRbMenuSeparator.h +51 -0
  309. data/ext/fox12/include/FXRbMenuTitle.h +51 -0
  310. data/ext/fox12/include/FXRbMessageBox.h +56 -0
  311. data/ext/fox12/include/FXRbObject.h +67 -0
  312. data/ext/fox12/include/FXRbObjectVirtuals.h +9 -0
  313. data/ext/fox12/include/FXRbOptionMenu.h +73 -0
  314. data/ext/fox12/include/FXRbPCXIcon.h +54 -0
  315. data/ext/fox12/include/FXRbPCXImage.h +54 -0
  316. data/ext/fox12/include/FXRbPNGIcon.h +54 -0
  317. data/ext/fox12/include/FXRbPNGImage.h +54 -0
  318. data/ext/fox12/include/FXRbPPMIcon.h +54 -0
  319. data/ext/fox12/include/FXRbPPMImage.h +54 -0
  320. data/ext/fox12/include/FXRbPacker.h +51 -0
  321. data/ext/fox12/include/FXRbPicker.h +51 -0
  322. data/ext/fox12/include/FXRbPopup.h +70 -0
  323. data/ext/fox12/include/FXRbPopupVirtuals.h +6 -0
  324. data/ext/fox12/include/FXRbPrintDialog.h +53 -0
  325. data/ext/fox12/include/FXRbProgressBar.h +51 -0
  326. data/ext/fox12/include/FXRbProgressDialog.h +53 -0
  327. data/ext/fox12/include/FXRbRGBIcon.h +54 -0
  328. data/ext/fox12/include/FXRbRGBImage.h +54 -0
  329. data/ext/fox12/include/FXRbRadioButton.h +51 -0
  330. data/ext/fox12/include/FXRbRealSlider.h +51 -0
  331. data/ext/fox12/include/FXRbRealSpinner.h +64 -0
  332. data/ext/fox12/include/FXRbRealSpinnerVirtuals.h +3 -0
  333. data/ext/fox12/include/FXRbRecentFiles.h +49 -0
  334. data/ext/fox12/include/FXRbRegistry.h +46 -0
  335. data/ext/fox12/include/FXRbReplaceDialog.h +53 -0
  336. data/ext/fox12/include/FXRbRootWindow.h +51 -0
  337. data/ext/fox12/include/FXRbRuler.h +56 -0
  338. data/ext/fox12/include/FXRbScintilla.h +52 -0
  339. data/ext/fox12/include/FXRbScrollArea.h +82 -0
  340. data/ext/fox12/include/FXRbScrollAreaVirtuals.h +13 -0
  341. data/ext/fox12/include/FXRbScrollBar.h +73 -0
  342. data/ext/fox12/include/FXRbScrollPane.h +52 -0
  343. data/ext/fox12/include/FXRbScrollWindow.h +52 -0
  344. data/ext/fox12/include/FXRbSearchDialog.h +53 -0
  345. data/ext/fox12/include/FXRbSeparator.h +95 -0
  346. data/ext/fox12/include/FXRbSettings.h +46 -0
  347. data/ext/fox12/include/FXRbShell.h +56 -0
  348. data/ext/fox12/include/FXRbShutter.h +86 -0
  349. data/ext/fox12/include/FXRbShutterVirtuals.h +3 -0
  350. data/ext/fox12/include/FXRbSlider.h +51 -0
  351. data/ext/fox12/include/FXRbSpinner.h +64 -0
  352. data/ext/fox12/include/FXRbSpinnerVirtuals.h +3 -0
  353. data/ext/fox12/include/FXRbSplitter.h +54 -0
  354. data/ext/fox12/include/FXRbSpring.h +51 -0
  355. data/ext/fox12/include/FXRbStatusBar.h +51 -0
  356. data/ext/fox12/include/FXRbStatusLine.h +51 -0
  357. data/ext/fox12/include/FXRbStream.h +101 -0
  358. data/ext/fox12/include/FXRbStreamVirtuals.h +9 -0
  359. data/ext/fox12/include/FXRbStringDict.h +46 -0
  360. data/ext/fox12/include/FXRbSwitcher.h +51 -0
  361. data/ext/fox12/include/FXRbTGAIcon.h +54 -0
  362. data/ext/fox12/include/FXRbTGAImage.h +54 -0
  363. data/ext/fox12/include/FXRbTIFIcon.h +54 -0
  364. data/ext/fox12/include/FXRbTIFImage.h +54 -0
  365. data/ext/fox12/include/FXRbTabBar.h +64 -0
  366. data/ext/fox12/include/FXRbTabBarVirtuals.h +3 -0
  367. data/ext/fox12/include/FXRbTabBook.h +52 -0
  368. data/ext/fox12/include/FXRbTabItem.h +51 -0
  369. data/ext/fox12/include/FXRbTable.h +416 -0
  370. data/ext/fox12/include/FXRbTableItemVirtuals.h +68 -0
  371. data/ext/fox12/include/FXRbTableVirtuals.h +73 -0
  372. data/ext/fox12/include/FXRbText.h +89 -0
  373. data/ext/fox12/include/FXRbTextField.h +51 -0
  374. data/ext/fox12/include/FXRbTextVirtuals.h +9 -0
  375. data/ext/fox12/include/FXRbToggleButton.h +51 -0
  376. data/ext/fox12/include/FXRbToolBar.h +80 -0
  377. data/ext/fox12/include/FXRbToolBarGrip.h +51 -0
  378. data/ext/fox12/include/FXRbToolBarShell.h +52 -0
  379. data/ext/fox12/include/FXRbToolBarTab.h +51 -0
  380. data/ext/fox12/include/FXRbToolBarVirtuals.h +6 -0
  381. data/ext/fox12/include/FXRbToolTip.h +51 -0
  382. data/ext/fox12/include/FXRbTopWindow.h +91 -0
  383. data/ext/fox12/include/FXRbTopWindowVirtuals.h +15 -0
  384. data/ext/fox12/include/FXRbTreeItemVirtuals.h +42 -0
  385. data/ext/fox12/include/FXRbTreeList.h +249 -0
  386. data/ext/fox12/include/FXRbTreeListBox.h +53 -0
  387. data/ext/fox12/include/FXRbTreeListVirtuals.h +30 -0
  388. data/ext/fox12/include/FXRbTriStateButton.h +51 -0
  389. data/ext/fox12/include/FXRbVerticalFrame.h +51 -0
  390. data/ext/fox12/include/FXRbVisual.h +56 -0
  391. data/ext/fox12/include/FXRbWindow.h +200 -0
  392. data/ext/fox12/include/FXRbWindowVirtuals.h +69 -0
  393. data/ext/fox12/include/FXRbWizard.h +60 -0
  394. data/ext/fox12/include/FXRbXBMIcon.h +54 -0
  395. data/ext/fox12/include/FXRbXBMImage.h +54 -0
  396. data/ext/fox12/include/FXRbXPMIcon.h +54 -0
  397. data/ext/fox12/include/FXRbXPMImage.h +54 -0
  398. data/ext/fox12/include/FXRuby.h +728 -0
  399. data/ext/fox12/include/impl.h +201 -0
  400. data/ext/fox12/include/inlinestubs.h +1063 -0
  401. data/ext/fox12/label_wrap.cpp +4945 -0
  402. data/ext/fox12/layout_wrap.cpp +5061 -0
  403. data/ext/fox12/librb.c +636 -0
  404. data/ext/fox12/list_wrap.cpp +2212 -0
  405. data/ext/fox12/markfuncs.cpp +1568 -0
  406. data/ext/fox12/mdi_wrap.cpp +4521 -0
  407. data/ext/fox12/menu_wrap.cpp +4673 -0
  408. data/ext/fox12/scintilla_wrap.cpp +2245 -0
  409. data/ext/fox12/table_wrap.cpp +3581 -0
  410. data/ext/fox12/text_wrap.cpp +3539 -0
  411. data/ext/fox12/treelist_wrap.cpp +5609 -0
  412. data/ext/fox12/ui_wrap.cpp +10017 -0
  413. data/index.html +14 -0
  414. data/lib/fox12/aliases.rb +5211 -0
  415. data/lib/fox12/calendar.rb +218 -0
  416. data/lib/fox12/chore.rb +51 -0
  417. data/lib/fox12/colors.rb +282 -0
  418. data/lib/fox12/core.rb +249 -0
  419. data/lib/fox12/dict.rb +35 -0
  420. data/lib/fox12/glgroup.rb +165 -0
  421. data/lib/fox12/glshapes.rb +457 -0
  422. data/lib/fox12/input.rb +56 -0
  423. data/lib/fox12/irb.rb +179 -0
  424. data/lib/fox12/iterators.rb +331 -0
  425. data/lib/fox12/keys.rb +1376 -0
  426. data/lib/fox12/missingdep.rb +16 -0
  427. data/lib/fox12/pseudokeyboard.rb +36 -0
  428. data/lib/fox12/pseudomouse.rb +84 -0
  429. data/lib/fox12/responder.rb +72 -0
  430. data/lib/fox12/responder2.rb +122 -0
  431. data/lib/fox12/scintilla.rb +2629 -0
  432. data/lib/fox12/settings.rb +18 -0
  433. data/lib/fox12/signal.rb +68 -0
  434. data/lib/fox12/timeout.rb +58 -0
  435. data/lib/fox12/undolist.rb +456 -0
  436. data/lib/fox12/version.rb +11 -0
  437. data/rdoc-sources/FX4Splitter.rb +138 -0
  438. data/rdoc-sources/FXAccelTable.rb +67 -0
  439. data/rdoc-sources/FXApp.rb +557 -0
  440. data/rdoc-sources/FXArrowButton.rb +69 -0
  441. data/rdoc-sources/FXBMPIcon.rb +45 -0
  442. data/rdoc-sources/FXBMPImage.rb +20 -0
  443. data/rdoc-sources/FXBitmap.rb +78 -0
  444. data/rdoc-sources/FXBitmapFrame.rb +29 -0
  445. data/rdoc-sources/FXBitmapView.rb +41 -0
  446. data/rdoc-sources/FXButton.rb +43 -0
  447. data/rdoc-sources/FXCURCursor.rb +13 -0
  448. data/rdoc-sources/FXCanvas.rb +18 -0
  449. data/rdoc-sources/FXCheckButton.rb +57 -0
  450. data/rdoc-sources/FXColorBar.rb +43 -0
  451. data/rdoc-sources/FXColorDialog.rb +36 -0
  452. data/rdoc-sources/FXColorSelector.rb +65 -0
  453. data/rdoc-sources/FXColorWell.rb +57 -0
  454. data/rdoc-sources/FXColorWheel.rb +35 -0
  455. data/rdoc-sources/FXComboBox.rb +153 -0
  456. data/rdoc-sources/FXComposite.rb +34 -0
  457. data/rdoc-sources/FXCursor.rb +67 -0
  458. data/rdoc-sources/FXDC.rb +667 -0
  459. data/rdoc-sources/FXDCPrint.rb +127 -0
  460. data/rdoc-sources/FXDCWindow.rb +37 -0
  461. data/rdoc-sources/FXDataTarget.rb +41 -0
  462. data/rdoc-sources/FXDebugTarget.rb +25 -0
  463. data/rdoc-sources/FXDelegator.rb +23 -0
  464. data/rdoc-sources/FXDial.rb +68 -0
  465. data/rdoc-sources/FXDialogBox.rb +36 -0
  466. data/rdoc-sources/FXDict.rb +79 -0
  467. data/rdoc-sources/FXDirBox.rb +49 -0
  468. data/rdoc-sources/FXDirDialog.rb +18 -0
  469. data/rdoc-sources/FXDirList.rb +143 -0
  470. data/rdoc-sources/FXDirSelector.rb +30 -0
  471. data/rdoc-sources/FXDocument.rb +29 -0
  472. data/rdoc-sources/FXDragCorner.rb +19 -0
  473. data/rdoc-sources/FXDrawable.rb +27 -0
  474. data/rdoc-sources/FXDriveBox.rb +46 -0
  475. data/rdoc-sources/FXFileDialog.rb +132 -0
  476. data/rdoc-sources/FXFileDict.rb +168 -0
  477. data/rdoc-sources/FXFileList.rb +163 -0
  478. data/rdoc-sources/FXFileSelector.rb +148 -0
  479. data/rdoc-sources/FXFileStream.rb +24 -0
  480. data/rdoc-sources/FXFoldingList.rb +453 -0
  481. data/rdoc-sources/FXFont.rb +345 -0
  482. data/rdoc-sources/FXFontDialog.rb +14 -0
  483. data/rdoc-sources/FXFontSelector.rb +37 -0
  484. data/rdoc-sources/FXFrame.rb +47 -0
  485. data/rdoc-sources/FXGIFCursor.rb +38 -0
  486. data/rdoc-sources/FXGIFIcon.rb +21 -0
  487. data/rdoc-sources/FXGIFImage.rb +19 -0
  488. data/rdoc-sources/FXGLCanvas.rb +45 -0
  489. data/rdoc-sources/FXGLContext.rb +41 -0
  490. data/rdoc-sources/FXGLObject.rb +75 -0
  491. data/rdoc-sources/FXGLShape.rb +75 -0
  492. data/rdoc-sources/FXGLViewer.rb +309 -0
  493. data/rdoc-sources/FXGLVisual.rb +94 -0
  494. data/rdoc-sources/FXGradientBar.rb +291 -0
  495. data/rdoc-sources/FXGroupBox.rb +33 -0
  496. data/rdoc-sources/FXHeader.rb +377 -0
  497. data/rdoc-sources/FXHorizontalFrame.rb +29 -0
  498. data/rdoc-sources/FXICOIcon.rb +50 -0
  499. data/rdoc-sources/FXICOImage.rb +21 -0
  500. data/rdoc-sources/FXIcon.rb +38 -0
  501. data/rdoc-sources/FXIconList.rb +418 -0
  502. data/rdoc-sources/FXId.rb +34 -0
  503. data/rdoc-sources/FXImage.rb +198 -0
  504. data/rdoc-sources/FXImageFrame.rb +22 -0
  505. data/rdoc-sources/FXImageView.rb +35 -0
  506. data/rdoc-sources/FXInputDialog.rb +62 -0
  507. data/rdoc-sources/FXJPGIcon.rb +52 -0
  508. data/rdoc-sources/FXJPGImage.rb +25 -0
  509. data/rdoc-sources/FXLabel.rb +66 -0
  510. data/rdoc-sources/FXList.rb +412 -0
  511. data/rdoc-sources/FXListBox.rb +158 -0
  512. data/rdoc-sources/FXMDIButton.rb +67 -0
  513. data/rdoc-sources/FXMDIChild.rb +145 -0
  514. data/rdoc-sources/FXMDIClient.rb +67 -0
  515. data/rdoc-sources/FXMainWindow.rb +20 -0
  516. data/rdoc-sources/FXMat4.rb +171 -0
  517. data/rdoc-sources/FXMatrix.rb +57 -0
  518. data/rdoc-sources/FXMemoryBuffer.rb +19 -0
  519. data/rdoc-sources/FXMemoryStream.rb +45 -0
  520. data/rdoc-sources/FXMenuBar.rb +23 -0
  521. data/rdoc-sources/FXMenuButton.rb +84 -0
  522. data/rdoc-sources/FXMenuCaption.rb +47 -0
  523. data/rdoc-sources/FXMenuCascade.rb +18 -0
  524. data/rdoc-sources/FXMenuCheck.rb +30 -0
  525. data/rdoc-sources/FXMenuCommand.rb +27 -0
  526. data/rdoc-sources/FXMenuPane.rb +13 -0
  527. data/rdoc-sources/FXMenuRadio.rb +30 -0
  528. data/rdoc-sources/FXMenuSeparator.rb +21 -0
  529. data/rdoc-sources/FXMenuTitle.rb +27 -0
  530. data/rdoc-sources/FXMessageBox.rb +77 -0
  531. data/rdoc-sources/FXObject.rb +22 -0
  532. data/rdoc-sources/FXOptionMenu.rb +76 -0
  533. data/rdoc-sources/FXPCXIcon.rb +48 -0
  534. data/rdoc-sources/FXPCXImage.rb +21 -0
  535. data/rdoc-sources/FXPNGIcon.rb +48 -0
  536. data/rdoc-sources/FXPNGImage.rb +21 -0
  537. data/rdoc-sources/FXPPMIcon.rb +21 -0
  538. data/rdoc-sources/FXPPMImage.rb +21 -0
  539. data/rdoc-sources/FXPacker.rb +62 -0
  540. data/rdoc-sources/FXPicker.rb +27 -0
  541. data/rdoc-sources/FXPopup.rb +53 -0
  542. data/rdoc-sources/FXPrintDialog.rb +36 -0
  543. data/rdoc-sources/FXProgressBar.rb +57 -0
  544. data/rdoc-sources/FXProgressDialog.rb +36 -0
  545. data/rdoc-sources/FXQuatd.rb +1 -0
  546. data/rdoc-sources/FXQuatf.rb +1 -0
  547. data/rdoc-sources/FXRGBIcon.rb +49 -0
  548. data/rdoc-sources/FXRGBImage.rb +21 -0
  549. data/rdoc-sources/FXRadioButton.rb +64 -0
  550. data/rdoc-sources/FXRanged.rb +97 -0
  551. data/rdoc-sources/FXRangef.rb +97 -0
  552. data/rdoc-sources/FXRealSlider.rb +99 -0
  553. data/rdoc-sources/FXRealSpinner.rb +133 -0
  554. data/rdoc-sources/FXRecentFiles.rb +73 -0
  555. data/rdoc-sources/FXRectangle.rb +137 -0
  556. data/rdoc-sources/FXRegion.rb +64 -0
  557. data/rdoc-sources/FXRegistry.rb +39 -0
  558. data/rdoc-sources/FXReplaceDialog.rb +56 -0
  559. data/rdoc-sources/FXRootWindow.rb +17 -0
  560. data/rdoc-sources/FXRuler.rb +60 -0
  561. data/rdoc-sources/FXScintilla.rb +121 -0
  562. data/rdoc-sources/FXScrollArea.rb +86 -0
  563. data/rdoc-sources/FXScrollBar.rb +101 -0
  564. data/rdoc-sources/FXScrollPane.rb +23 -0
  565. data/rdoc-sources/FXScrollWindow.rb +38 -0
  566. data/rdoc-sources/FXSearchDialog.rb +24 -0
  567. data/rdoc-sources/FXSeparator.rb +64 -0
  568. data/rdoc-sources/FXSettings.rb +222 -0
  569. data/rdoc-sources/FXShell.rb +7 -0
  570. data/rdoc-sources/FXShutter.rb +97 -0
  571. data/rdoc-sources/FXSize.rb +30 -0
  572. data/rdoc-sources/FXSlider.rb +96 -0
  573. data/rdoc-sources/FXSphered.rb +65 -0
  574. data/rdoc-sources/FXSpheref.rb +65 -0
  575. data/rdoc-sources/FXSpinner.rb +132 -0
  576. data/rdoc-sources/FXSplitter.rb +88 -0
  577. data/rdoc-sources/FXSpring.rb +61 -0
  578. data/rdoc-sources/FXStatusBar.rb +42 -0
  579. data/rdoc-sources/FXStatusLine.rb +60 -0
  580. data/rdoc-sources/FXStream.rb +115 -0
  581. data/rdoc-sources/FXStringDict.rb +38 -0
  582. data/rdoc-sources/FXSwitcher.rb +78 -0
  583. data/rdoc-sources/FXTGAIcon.rb +48 -0
  584. data/rdoc-sources/FXTGAImage.rb +21 -0
  585. data/rdoc-sources/FXTIFIcon.rb +52 -0
  586. data/rdoc-sources/FXTIFImage.rb +24 -0
  587. data/rdoc-sources/FXTabBar.rb +76 -0
  588. data/rdoc-sources/FXTabBook.rb +38 -0
  589. data/rdoc-sources/FXTabItem.rb +51 -0
  590. data/rdoc-sources/FXTable.rb +654 -0
  591. data/rdoc-sources/FXText.rb +533 -0
  592. data/rdoc-sources/FXTextField.rb +141 -0
  593. data/rdoc-sources/FXToggleButton.rb +69 -0
  594. data/rdoc-sources/FXToolBar.rb +121 -0
  595. data/rdoc-sources/FXToolBarGrip.rb +55 -0
  596. data/rdoc-sources/FXToolBarShell.rb +44 -0
  597. data/rdoc-sources/FXToolTip.rb +36 -0
  598. data/rdoc-sources/FXTopWindow.rb +92 -0
  599. data/rdoc-sources/FXTreeList.rb +503 -0
  600. data/rdoc-sources/FXTreeListBox.rb +182 -0
  601. data/rdoc-sources/FXTriStateButton.rb +49 -0
  602. data/rdoc-sources/FXVec.rb +97 -0
  603. data/rdoc-sources/FXVec4.rb +91 -0
  604. data/rdoc-sources/FXVerticalFrame.rb +29 -0
  605. data/rdoc-sources/FXVisual.rb +79 -0
  606. data/rdoc-sources/FXWindow.rb +633 -0
  607. data/rdoc-sources/FXWizard.rb +63 -0
  608. data/rdoc-sources/FXXBMIcon.rb +22 -0
  609. data/rdoc-sources/FXXBMImage.rb +22 -0
  610. data/rdoc-sources/FXXPMIcon.rb +50 -0
  611. data/rdoc-sources/FXXPMImage.rb +21 -0
  612. data/rdoc-sources/README.rdoc +53 -0
  613. data/rdoc-sources/fxdefs.rb +90 -0
  614. data/tests/README +19 -0
  615. data/tests/TC_FXAccelTable.rb +43 -0
  616. data/tests/TC_FXApp.rb +15 -0
  617. data/tests/TC_FXArc.rb +26 -0
  618. data/tests/TC_FXButton.rb +72 -0
  619. data/tests/TC_FXCheckButton.rb +57 -0
  620. data/tests/TC_FXComboBox.rb +36 -0
  621. data/tests/TC_FXDC.rb +372 -0
  622. data/tests/TC_FXDCPrint.rb +102 -0
  623. data/tests/TC_FXDCWindow.rb +23 -0
  624. data/tests/TC_FXDataTarget.rb +24 -0
  625. data/tests/TC_FXDirList.rb +30 -0
  626. data/tests/TC_FXFileAssoc.rb +62 -0
  627. data/tests/TC_FXFileStream.rb +90 -0
  628. data/tests/TC_FXFont.rb +59 -0
  629. data/tests/TC_FXFontDesc.rb +62 -0
  630. data/tests/TC_FXGLGroup.rb +32 -0
  631. data/tests/TC_FXGLShape.rb +28 -0
  632. data/tests/TC_FXGLViewer.rb +18 -0
  633. data/tests/TC_FXGradientBar.rb +89 -0
  634. data/tests/TC_FXHeader.rb +82 -0
  635. data/tests/TC_FXIconDict.rb +52 -0
  636. data/tests/TC_FXIconList.rb +192 -0
  637. data/tests/TC_FXId.rb +19 -0
  638. data/tests/TC_FXImage.rb +144 -0
  639. data/tests/TC_FXLight.rb +33 -0
  640. data/tests/TC_FXList.rb +116 -0
  641. data/tests/TC_FXListBox.rb +49 -0
  642. data/tests/TC_FXMat4f.rb +228 -0
  643. data/tests/TC_FXMaterial.rb +75 -0
  644. data/tests/TC_FXMemoryStream.rb +87 -0
  645. data/tests/TC_FXMenuCommand.rb +26 -0
  646. data/tests/TC_FXPoint.rb +57 -0
  647. data/tests/TC_FXQuatf.rb +77 -0
  648. data/tests/TC_FXRadioButton.rb +57 -0
  649. data/tests/TC_FXRangef.rb +48 -0
  650. data/tests/TC_FXRectangle.rb +88 -0
  651. data/tests/TC_FXRegion.rb +54 -0
  652. data/tests/TC_FXRegistry.rb +27 -0
  653. data/tests/TC_FXScrollArea.rb +28 -0
  654. data/tests/TC_FXScrollWindow.rb +28 -0
  655. data/tests/TC_FXSegment.rb +22 -0
  656. data/tests/TC_FXShell.rb +26 -0
  657. data/tests/TC_FXSize.rb +54 -0
  658. data/tests/TC_FXStream.rb +11 -0
  659. data/tests/TC_FXTable.rb +468 -0
  660. data/tests/TC_FXTableItem.rb +48 -0
  661. data/tests/TC_FXText.rb +81 -0
  662. data/tests/TC_FXTopWindow.rb +32 -0
  663. data/tests/TC_FXTreeList.rb +83 -0
  664. data/tests/TC_FXTreeListBox.rb +23 -0
  665. data/tests/TC_FXUndoList.rb +43 -0
  666. data/tests/TC_FXVec2d.rb +142 -0
  667. data/tests/TC_FXVec2f.rb +137 -0
  668. data/tests/TC_FXVec3d.rb +150 -0
  669. data/tests/TC_FXVec3f.rb +150 -0
  670. data/tests/TC_FXVec4f.rb +158 -0
  671. data/tests/TC_FXViewport.rb +30 -0
  672. data/tests/TC_Misc.rb +157 -0
  673. data/tests/TC_downcast.rb +15 -0
  674. data/tests/TS_All.rb +25 -0
  675. data/tests/blankpage.ps +166 -0
  676. data/tests/doit.rb +5 -0
  677. data/tests/howdypage.ps +181 -0
  678. data/tests/stress1.rb +94 -0
  679. data/tests/stress2.rb +51 -0
  680. data/tests/stress3.rb +117 -0
  681. data/tests/testcase.rb +38 -0
  682. data/web/art/fxrubylogo.png +0 -0
  683. data/web/art/fxrubylogo_small.png +0 -0
  684. data/web/art/line.gif +0 -0
  685. data/web/art/oul_grey.gif +0 -0
  686. data/web/art/our.gif +0 -0
  687. data/web/downloads.html +91 -0
  688. data/web/home.html +109 -0
  689. data/web/menu.html +50 -0
  690. data/web/styles.css +167 -0
  691. data/web/top.html +15 -0
  692. metadata +737 -0
@@ -0,0 +1,117 @@
1
+ require 'fox12/undolist'
2
+
3
+ # Undo record for text fragment
4
+ class FXTextCommand < FXCommand
5
+
6
+ attr_reader :numCharsInserted
7
+ attr_reader :numCharsDeleted
8
+
9
+ def initialize(txt, p, ni, nd)
10
+ @text = txt
11
+ @buffer = nil
12
+ @pos = p
13
+ @numCharsDeleted = nd
14
+ @numCharsInserted = ni
15
+ end
16
+
17
+ def size
18
+ (@buffer != nil) ? @buffer.size : 0
19
+ end
20
+ end
21
+
22
+ # Insert command
23
+ class FXTextInsert < FXTextCommand
24
+ def initialize(txt, p, ni)
25
+ super(txt, p, ni, 0)
26
+ end
27
+
28
+ def undoName
29
+ "Undo insert"
30
+ end
31
+
32
+ def redoName
33
+ "Redo insert"
34
+ end
35
+
36
+ # Undoing an insert removes the previously inserted text
37
+ def undo
38
+ @buffer = @text.extractText(@pos, numCharsInserted)
39
+ @text.removeText(@pos, numCharsInserted)
40
+ @text.cursorPos = @pos
41
+ @text.makePositionVisible(@pos)
42
+ end
43
+
44
+ # Redoing an insert re-inserts the same text
45
+ def redo
46
+ @text.insertText(@pos, @buffer)
47
+ @text.cursorPos = @pos + numCharsInserted
48
+ @text.makePositionVisible(@pos + numCharsInserted)
49
+ @buffer = nil
50
+ end
51
+ end
52
+
53
+ # Delete command
54
+ class FXTextDelete < FXTextCommand
55
+ def initialize(txt, p, nd)
56
+ super(txt, p, 0, nd)
57
+ @buffer = @text.extractText(@pos, nd)
58
+ end
59
+
60
+ def undoName
61
+ "Undo delete"
62
+ end
63
+
64
+ def redoName
65
+ "Redo delete"
66
+ end
67
+
68
+ # Undoing a delete re-inserts the deleted text
69
+ def undo
70
+ @text.insertText(@pos, @buffer)
71
+ @text.cursorPos = @pos + @buffer.length
72
+ @text.makePositionVisible(@pos + @buffer.length)
73
+ @buffer = nil
74
+ end
75
+
76
+ # Redoing a delete removes it again
77
+ def redo
78
+ @buffer = @text.extractText(@pos, numCharsDeleted)
79
+ @text.removeText(@pos, @buffer.length)
80
+ @text.cursorPos = @pos
81
+ @text.makePositionVisible(@pos)
82
+ end
83
+ end
84
+
85
+ # Replace command
86
+ class FXTextReplace < FXTextCommand
87
+ def initialize(txt, p, ni, nd)
88
+ super(txt, p, ni, nd)
89
+ @buffer = @text.extractText(@pos, nd)
90
+ end
91
+
92
+ def undoName
93
+ "Undo replace"
94
+ end
95
+
96
+ def redoName
97
+ "Redo replace"
98
+ end
99
+
100
+ # Undoing a replace reinserts the old text
101
+ def undo
102
+ tmp = @text.extractText(@pos, numCharsInserted)
103
+ @text.replaceText(@pos, numCharsInserted, @buffer)
104
+ @text.cursorPos = @pos + @buffer.length
105
+ @text.makePositionVisible(@pos + @buffer.length)
106
+ @buffer = tmp
107
+ end
108
+
109
+ # Redo a replace reinserts the new text
110
+ def redo
111
+ tmp = @text.extractText(@pos, numCharsDeleted)
112
+ @text.replaceText(@pos, numCharsDeleted, @buffer)
113
+ @text.cursorPos = @pos + numCharsInserted
114
+ @text.makePositionVisible(@pos + numCharsInserted)
115
+ @buffer = tmp
116
+ end
117
+ end
@@ -0,0 +1,295 @@
1
+ # Help text
2
+ HELP = <<END_OF_HELP
3
+
4
+
5
+ FOX Text Editor On-line Help
6
+
7
+
8
+ Introduction.
9
+
10
+ TextEdit is a handy little editor which is fast and easy to use.
11
+ It makes for a great file viewer, as well as a convenient editor for most
12
+ common editing tasks.
13
+ TextEdit supports unlimited undo/redo, X selection, clipboard, XDND drag and drop
14
+ capability, continuous word wrapping, auto-indent capability, brace matching,
15
+ convenient search and replace methods, and statement block selections.
16
+ TextEdit also supports the mouse wheel.
17
+ A nice feature of textedit is the ability to show a File Browser side by
18
+ side with the text. Switching to another file is as easy as clicking on an
19
+ icon in the File Browser.
20
+
21
+
22
+ Starting a New Document.
23
+
24
+ To start a new document, invoke the New menu, or press on the New button on
25
+ the toolbar. If the current document has not yet been saved, you will be prompted
26
+ to either save or abandon the current text.
27
+
28
+
29
+ Opening and Saving Files the Old Fashioned Way.
30
+
31
+ To open a file, you can invoke the Open menu, or press on the Open button on
32
+ the toolbar. This will bring up the standard File Dialog, which allows you
33
+ to select a file.
34
+ To save a file, you can either invoke the Save or the Save As menu option.
35
+ The former saves the file back to the same filename, while the latter prompts
36
+ for an alternative filename.
37
+ You can quickly navigate to the desired file by typing the first few letters of
38
+ the filename and then pressing Enter (Return); use Backspace to move up one directory
39
+ level. Control-H moves to your home directory, Control-W moves back to the current
40
+ working directory.
41
+ A nice convenience of the File Dialog is the ability to set bookmarks, so once
42
+ bookmarked, you can quickly move back to a previously visited directory.
43
+
44
+
45
+ Opening Files Using the File Browser.
46
+
47
+ An alternative method to open files is the File Browser.
48
+ You can display the File Browser by invoking the File Browser option under
49
+ the View menu.
50
+ To open a file using the File Browser, simply click on the file.
51
+ If there are many files, you may want to limit the number of files displayed
52
+ by specifying a file pattern in the Filter typein field.
53
+ The pattern is can be any regular file wildcard expression such as "*.cpp".
54
+ By default, the File Browser shows all files, i.e. the pattern is "*".
55
+ You can switch patterns by means of the combo box under file File Browser;
56
+ additional patterns for the combo box (and File Dialog) can be specified
57
+ in the Preferences Dialog.
58
+
59
+
60
+ Opening Recently Visited Files.
61
+
62
+ The recent file menu shows files which have been recently visited.
63
+ You can quickly get back to a file you've been editing simply by selecting
64
+ one of these recent files.
65
+
66
+
67
+ Opening Files by Drag and Drop.
68
+
69
+ Using a file browser such as PathFinder or other Konqueror or other XDND
70
+ compatible file browsers, you can simply drop a file into the text pane and
71
+ have TextEdit read this file.
72
+
73
+
74
+ Opening a Selected Filename
75
+
76
+ Selecting any filename, possibly in another application, and invoking the
77
+ "Open Selected" option causes TextEdit to open the selected file.
78
+ When the selected filename is of the form:
79
+
80
+ #include "filename.h"
81
+
82
+ or:
83
+
84
+ #include <filename.h>
85
+
86
+ then TextEdit will search for this file in a sequence of include directories,
87
+ otherwise it will search in the same directory as the currently loaded file.
88
+ You can specify the list of include directories to search with the "Include Path"
89
+ option.
90
+ When the selected filename is of the form:
91
+
92
+ filename.cpp:177
93
+
94
+ then TextEdit will not only load the filename, but also jump to the given line
95
+ number. If this file has already been loaded, TextEdit will simply jump to the
96
+ given line number in the current file.
97
+ This option is very useful when fixing compiler errors.
98
+
99
+
100
+ Mouse Selection.
101
+
102
+ You can move the cursor by simply clicking on the desired location with the left mouse button.
103
+ To highlight some text, press the mouse and drag the mouse while holding the left button.
104
+ To select text a word at a time, you can double-click and drag;
105
+ to select text a line at a time, you can triple-click and drag.
106
+ Performing a shift-click extends the selection from the last cursor location to the
107
+ current one.
108
+ When selecting words, words are considered to extend from the clicked position up to
109
+ a blank or word-delimiting character. The latter may depend on the programming language,
110
+ and so TextEdit offers a way to change the set of delimiter characters.
111
+ The default set of delimiters is "!"#\$%&'()*+,-./:;<=>?@[\\]^`{|}~".
112
+
113
+
114
+ Scrolling Text.
115
+
116
+ Using the right mouse button, you can grab the text and scroll it.
117
+ a right mouse drag is a very convenient way to scroll the text buffer by small amount
118
+ as the scrolling is exactly proportional to the mouse movement.
119
+ You can of course also use the scroll bars. Because scrolling becomes awkward when
120
+ dealing with large amounts of text, you can do a fine scroll or vernier-scroll by
121
+ holding the shift or control keys while moving the scroll bars.
122
+ TextEdit can also take advantage of a wheel mouse; simply point the mouse inside the
123
+ text area and use the wheel to scroll it up and down. Holding the Control-key while
124
+ operating the wheel makes the scrolling go faster, by smoothly scrolling one page at
125
+ a time. To scroll horizontally, simply point the mouse at the horizontal scroll bar.
126
+ In fact, any scrollable control (including the File Browser), can be scrolled by
127
+ simply pointing the cursor over it and using the mouse wheel.
128
+ You can adjust the number of lines scrolled for each wheel notch by means of the
129
+ Preferences dialog.
130
+
131
+
132
+ The Clipboard.
133
+
134
+ After selecting some text, you can cut or copy this text to the clipboard.
135
+ A subsequent paste operation will then insert the contents of the clipboard at
136
+ the current cursor location.
137
+ If some text has been selected in another application, then you can paste this
138
+ text by placing the cursor at the right spot in your text and invoking the paste
139
+ command.
140
+
141
+
142
+ The X Selection.
143
+
144
+ When text is selected anywhere (possibly in another application), TextEdit can
145
+ paste this text into the current text buffer by means of the middle mouse button
146
+ or by pressing the wheel-button if you have a wheel mouse. Note that while holding
147
+ the button, the insertion point can be moved by moving the mouse:- TextEdit will
148
+ only insert the text when you release the button.
149
+
150
+
151
+ Text Drag and Drop.
152
+
153
+ After selecting some text, you can drag this text to another location by pressing the
154
+ middle mouse button; because TextEdit is fully drag and drop enabled, you can not only
155
+ drag a selection from one place to another inside the text buffer, but also between different
156
+ TextEdit applications, or even from TextEdit to another drag and drop enabled application
157
+ or vice-versa.
158
+ Within the same text window, the drag defaults to a text-movement. You can change this to
159
+ a text copy by holding down the Control key while you're dragging.
160
+ Between one text window and another, the drag defaults to a copy operation
161
+ you can change this to a text movement by holding down the Shift key while dragging.
162
+
163
+
164
+ Undo and Redo.
165
+
166
+ TextEdit support unlimited (well, the limit is large...) undo and redo capability.
167
+ Each time you insert, remove, or replace some text, TextEdit remembers what you did.
168
+ If you make a mistake, you can undo the last command, and the one before that, and so on.
169
+ Having invoked undo many times, it is sometimes desirable to invoke the redo command, i.e.
170
+ to perform the original editing operation again. Thus, you can move backward or forward in
171
+ time.
172
+ However if, after undoing several commands, you decide edit the buffer in a different way, then
173
+ you will no longer be able to redo the undone commands:- you have now taken a different path.
174
+ When you first load a file, or just after you save it, TextEdit remembers that this version of
175
+ the text was special; while subsequent editing commands can be undone individually, you can always
176
+ quickly return to this special version of the text by means of the revert command.
177
+
178
+
179
+ Keyboard Bindings.
180
+
181
+ The following table lists the keyboard bindings.
182
+
183
+ Key:\tAction:
184
+ ====\t=======
185
+
186
+ Up\tMove cursor up.
187
+ Shift+Up\tMove cursor up and extend selection.
188
+ Down\tMove cursor down.
189
+ Shift+Down\tMove cursor down and extend selection.
190
+ Left\tMove cursor left.
191
+ Shift+Left\tMove cursor left and extend selection.
192
+ Right\tMove cursor right.
193
+ Shift+Right\tMove cursor right and extend selection.
194
+ Home\tMove cursor to begin of line.
195
+ Shift+Home\tMove cursor to begin of line and extend selection.
196
+ Ctl+Home\tMove cursor to top of text.
197
+ End\tMove cursor to end of line.
198
+ Ctl+End\tMove cursor to bottom of text.
199
+ Shift+End\tMove cursor to end of line and extend selection.
200
+ Page Up\tMove cursor up one page.
201
+ Shift+Page Up\tMove cursor up one page and extend selection.
202
+ Page Down\tMove cursor down one page.
203
+ Shift+Page Down\tMove cursor down one page and extend selection.
204
+ Delete\tDelete character after cursor, or text selection.
205
+ Back Space\tDelete character before cursor, or text selection.
206
+ Ctl+A\tSelect all text.
207
+ Ctl+X\tCut selected text to clipboard.
208
+ Ctl+C\tCopy selected text to clipboard.
209
+ Ctl+V\tPaste text from clipboard.
210
+ Ctl+K\tDelete current line.
211
+ Ctl+H\tScroll current line to top of window.
212
+ Ctl+M\tScroll current line to center of window.
213
+ Ctl+L\tScroll current line to bottom of window.
214
+
215
+
216
+ Changing Font.
217
+
218
+ You can change font by invoking the Font Selection Dialog from the Font menu.
219
+ The Font Dialog displays four list boxes showing the font Family, Weight, Style,
220
+ and Size of each font.
221
+ You can narrow down the number of fonts displayed by selecting a specific character
222
+ set, setwidth, pitch, and whether or not scalable fonts are to be listed only.
223
+ The All Fonts checkbutton causes all fonts to be listed. Use this feature if you
224
+ need to select old-style X11 bitmap fonts.
225
+ The Preview window shows a sample of text in the selected font.
226
+
227
+
228
+ Changing colors.
229
+
230
+ The four color wells on the status line determine the color of the
231
+ selection background, selection foreground, and normal background and foreground
232
+ respectively. Double clicking on a colorwell will bring up the Color Selection
233
+ Dialog.
234
+ The Color Selection Dialog sypports several ways to select a color:
235
+
236
+ 1\tBy means of Red, Green, and Blue mixing.
237
+ 2\tBy means of Hue, Saturation, Value mixing.
238
+ 3\tBy means of Cyan, Magenta, and Yellow mixing.
239
+ 4\tBy name.
240
+ 5\tUsing one of the predefined color wells.
241
+
242
+ You can also drag and drop colors, and change the predefined colorwells
243
+ to hold your own custom color collections.
244
+
245
+
246
+ Configuration Issues.
247
+
248
+ The File Browser keeps an association list in the registry database to associate
249
+ a particular file extension to an icon and other descriptive information.
250
+ The following is an example of how this could be filled in:
251
+
252
+ [SETTINGS]
253
+ iconpath = /usr/share/icons:/home/jeroen/icons
254
+
255
+ [FILETYPES]
256
+ cpp = "/usr/local/bin/textedit %s &;C++ Source File;c_src.xpm;mini/c_src.xpm"
257
+
258
+
259
+ This example shows how the extension ".cpp" is bound to the program "textedit"
260
+ and is associated with two icons, a big icon "c_src.xpm" and a small icon "mini/c_src.xpm"
261
+ which are to be found in either directory "/usr/share/icons" or "/home/jeroen/icons".
262
+ END_OF_HELP
263
+
264
+ class HelpWindow < FXDialogBox
265
+ def initialize(owner)
266
+ super(owner, "Help on TextEdit", DECOR_TITLE|DECOR_BORDER|DECOR_RESIZE,
267
+ 0, 0, 0, 0, 6, 6, 6, 6, 4, 4)
268
+
269
+ # Bottom part
270
+ closebox = FXHorizontalFrame.new(self,
271
+ LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|PACK_UNIFORM_WIDTH)
272
+ closeBtn = FXButton.new(closebox, "&Close", nil, self, FXDialogBox::ID_ACCEPT,
273
+ LAYOUT_RIGHT|FRAME_RAISED|FRAME_THICK)
274
+ closeBtn.padLeft = 20
275
+ closeBtn.padRight = 20
276
+ closeBtn.padTop = 5
277
+ closeBtn.padBottom = 5
278
+
279
+ # Editor part
280
+ editbox = FXHorizontalFrame.new(self,
281
+ LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_SUNKEN|FRAME_THICK)
282
+ editbox.padLeft = 0
283
+ editbox.padRight = 0
284
+ editbox.padTop = 0
285
+ editbox.padBottom = 0
286
+ helptext = FXText.new(editbox, nil, 0,
287
+ TEXT_READONLY|TEXT_WORDWRAP|LAYOUT_FILL_X|LAYOUT_FILL_Y)
288
+ helptext.visRows = 50
289
+ helptext.visCols = 60
290
+
291
+ # Fill with help
292
+ helptext.text = HELP
293
+ helptext.tabColumns = 35
294
+ end
295
+ end
@@ -0,0 +1,235 @@
1
+ class PrefDialog < FXDialogBox
2
+ # Load the named icon from a file
3
+ def loadIcon(filename)
4
+ begin
5
+ filename = File.join("..", "icons", filename)
6
+ icon = nil
7
+ File.open(filename, "rb") { |f|
8
+ icon = FXPNGIcon.new(getApp(), f.read)
9
+ }
10
+ icon
11
+ rescue
12
+ raise RuntimeError, "Couldn't load icon: #{filename}"
13
+ end
14
+ end
15
+
16
+ def initialize(owner)
17
+ super(owner, "TextEdit Preferences", DECOR_TITLE|DECOR_BORDER|DECOR_RESIZE,
18
+ 0, 0, 0, 0, 0, 0, 0, 0, 4, 4)
19
+
20
+ vertical = FXVerticalFrame.new(self,
21
+ LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y)
22
+ horizontal = FXHorizontalFrame.new(vertical, LAYOUT_FILL_X|LAYOUT_FILL_Y)
23
+ buttons = FXVerticalFrame.new(horizontal, (LAYOUT_LEFT|LAYOUT_FILL_Y|
24
+ FRAME_SUNKEN|PACK_UNIFORM_WIDTH|PACK_UNIFORM_HEIGHT))
25
+ buttons.padLeft = 0
26
+ buttons.padRight = 0
27
+ buttons.padTop = 0
28
+ buttons.padBottom = 0
29
+ switcher = FXSwitcher.new(horizontal, LAYOUT_FILL_X|LAYOUT_FILL_Y)
30
+
31
+ # Icons
32
+ pal = loadIcon("palette.png")
33
+ ind = loadIcon("indent.png")
34
+ pat = loadIcon("pattern.png")
35
+ del = loadIcon("delimit.png")
36
+
37
+ # Pane 1
38
+ pane1 = FXVerticalFrame.new(switcher, LAYOUT_FILL_X|LAYOUT_FILL_Y)
39
+ FXLabel.new(pane1, "Color settings", nil, LAYOUT_LEFT)
40
+ FXHorizontalSeparator.new(pane1, SEPARATOR_LINE|LAYOUT_FILL_X)
41
+ matrix1 = FXMatrix.new(pane1, 5,
42
+ MATRIX_BY_ROWS|PACK_UNIFORM_HEIGHT|LAYOUT_FILL_X|LAYOUT_FILL_Y)
43
+
44
+ FXLabel.new(matrix1, "Background:", nil,
45
+ JUSTIFY_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW)
46
+ FXLabel.new(matrix1, "Text:", nil,
47
+ JUSTIFY_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW)
48
+ FXLabel.new(matrix1, "Sel. text background:", nil,
49
+ JUSTIFY_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW)
50
+ FXLabel.new(matrix1, "Sel. text:", nil,
51
+ JUSTIFY_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW)
52
+ FXLabel.new(matrix1, "Cursor:", nil,
53
+ JUSTIFY_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW)
54
+
55
+ FXColorWell.new(matrix1, FXRGB(0, 0, 0), owner, TextWindow::ID_TEXT_BACK,
56
+ (COLORWELL_OPAQUEONLY|FRAME_SUNKEN|FRAME_THICK|LAYOUT_LEFT|
57
+ LAYOUT_CENTER_Y|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|LAYOUT_FILL_COLUMN|
58
+ LAYOUT_FILL_ROW), 0, 0, 40, 24)
59
+ FXColorWell.new(matrix1, FXRGB(0, 0, 0), owner, TextWindow::ID_TEXT_FORE,
60
+ (COLORWELL_OPAQUEONLY|FRAME_SUNKEN|FRAME_THICK|LAYOUT_LEFT|
61
+ LAYOUT_CENTER_Y|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|LAYOUT_FILL_COLUMN|
62
+ LAYOUT_FILL_ROW), 0, 0, 40, 24)
63
+ FXColorWell.new(matrix1, FXRGB(0, 0, 0), owner, TextWindow::ID_TEXT_SELBACK,
64
+ (COLORWELL_OPAQUEONLY|FRAME_SUNKEN|FRAME_THICK|LAYOUT_LEFT|
65
+ LAYOUT_CENTER_Y|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|LAYOUT_FILL_COLUMN|
66
+ LAYOUT_FILL_ROW), 0, 0, 40, 24)
67
+ FXColorWell.new(matrix1, FXRGB(0, 0, 0), owner, TextWindow::ID_TEXT_SELFORE,
68
+ (COLORWELL_OPAQUEONLY|FRAME_SUNKEN|FRAME_THICK|LAYOUT_LEFT|
69
+ LAYOUT_CENTER_Y|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|LAYOUT_FILL_COLUMN|
70
+ LAYOUT_FILL_ROW), 0, 0, 40, 24)
71
+ FXColorWell.new(matrix1, FXRGB(0, 0, 0), owner, TextWindow::ID_TEXT_CURSOR,
72
+ (COLORWELL_OPAQUEONLY|FRAME_SUNKEN|FRAME_THICK|LAYOUT_LEFT|
73
+ LAYOUT_CENTER_Y|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|LAYOUT_FILL_COLUMN|
74
+ LAYOUT_FILL_ROW), 0, 0, 40, 24)
75
+
76
+ FXLabel.new(matrix1, "Files background:", nil,
77
+ JUSTIFY_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW)
78
+ FXLabel.new(matrix1, "Files:", nil,
79
+ JUSTIFY_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW)
80
+ FXLabel.new(matrix1, "Sel. files background:", nil,
81
+ JUSTIFY_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW)
82
+ FXLabel.new(matrix1, "Sel. files:", nil,
83
+ JUSTIFY_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW)
84
+ FXLabel.new(matrix1, "Lines:", nil,
85
+ JUSTIFY_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW)
86
+
87
+ FXColorWell.new(matrix1, FXRGB(0, 0, 0), owner, TextWindow::ID_DIR_BACK,
88
+ (COLORWELL_OPAQUEONLY|FRAME_SUNKEN|FRAME_THICK|LAYOUT_LEFT|
89
+ LAYOUT_CENTER_Y|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|LAYOUT_FILL_COLUMN|
90
+ LAYOUT_FILL_ROW), 0, 0, 40, 24)
91
+ FXColorWell.new(matrix1, FXRGB(0, 0, 0), owner, TextWindow::ID_DIR_FORE,
92
+ (COLORWELL_OPAQUEONLY|FRAME_SUNKEN|FRAME_THICK|LAYOUT_LEFT|
93
+ LAYOUT_CENTER_Y|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|LAYOUT_FILL_COLUMN|
94
+ LAYOUT_FILL_ROW), 0, 0, 40, 24)
95
+ FXColorWell.new(matrix1, FXRGB(0, 0, 0), owner, TextWindow::ID_DIR_SELBACK,
96
+ (COLORWELL_OPAQUEONLY|FRAME_SUNKEN|FRAME_THICK|LAYOUT_LEFT|
97
+ LAYOUT_CENTER_Y|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|LAYOUT_FILL_COLUMN|
98
+ LAYOUT_FILL_ROW), 0, 0, 40, 24)
99
+ FXColorWell.new(matrix1, FXRGB(0, 0, 0), owner, TextWindow::ID_DIR_SELFORE,
100
+ (COLORWELL_OPAQUEONLY|FRAME_SUNKEN|FRAME_THICK|LAYOUT_LEFT|
101
+ LAYOUT_CENTER_Y|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|LAYOUT_FILL_COLUMN|
102
+ LAYOUT_FILL_ROW), 0, 0, 40, 24)
103
+ FXColorWell.new(matrix1, FXRGB(0, 0, 0), owner, TextWindow::ID_DIR_LINES,
104
+ (COLORWELL_OPAQUEONLY|FRAME_SUNKEN|FRAME_THICK|LAYOUT_LEFT|
105
+ LAYOUT_CENTER_Y|LAYOUT_FIX_WIDTH|LAYOUT_FIX_HEIGHT|LAYOUT_FILL_COLUMN|
106
+ LAYOUT_FILL_ROW), 0, 0, 40, 24)
107
+
108
+ # Button 1
109
+ FXButton.new(buttons, "Colors\tChange Colors\tChange text colors.", pal,
110
+ switcher, FXSwitcher::ID_OPEN_FIRST, (FRAME_RAISED|ICON_ABOVE_TEXT|
111
+ LAYOUT_FILL_Y))
112
+
113
+ # Pane 2
114
+ pane2 = FXVerticalFrame.new(switcher, LAYOUT_FILL_X|LAYOUT_FILL_Y)
115
+ FXLabel.new(pane2, "Editor settings", nil, LAYOUT_LEFT)
116
+ FXHorizontalSeparator.new(pane2, SEPARATOR_LINE|LAYOUT_FILL_X)
117
+ matrix2 = FXMatrix.new(pane2, 5, (MATRIX_BY_ROWS|PACK_UNIFORM_HEIGHT|
118
+ LAYOUT_FILL_X|LAYOUT_FILL_Y))
119
+
120
+ FXLabel.new(matrix2, "Word wrapping:", nil,
121
+ JUSTIFY_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW)
122
+ FXLabel.new(matrix2, "Auto indent:", nil,
123
+ JUSTIFY_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW)
124
+ FXLabel.new(matrix2, "Fixed wrap margin:", nil,
125
+ JUSTIFY_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW)
126
+ FXLabel.new(matrix2, "Strip carriage returns:", nil,
127
+ JUSTIFY_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW)
128
+ FXLabel.new(matrix2, "Insert tab characters:", nil, (JUSTIFY_LEFT|
129
+ LAYOUT_CENTER_Y|LAYOUT_FILL_X|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW))
130
+
131
+ FXCheckButton.new(matrix2, nil, owner, TextWindow::ID_TOGGLE_WRAP,
132
+ LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW,
133
+ 0, 0, 0, 0, 0, 0, 0, 0)
134
+ FXCheckButton.new(matrix2, nil, owner, TextWindow::ID_AUTOINDENT,
135
+ LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW,
136
+ 0, 0, 0, 0, 0, 0, 0, 0)
137
+ FXCheckButton.new(matrix2, nil, owner, TextWindow::ID_FIXED_WRAP,
138
+ LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW,
139
+ 0, 0, 0, 0, 0, 0, 0, 0)
140
+ FXCheckButton.new(matrix2, nil, owner, TextWindow::ID_STRIP_CR,
141
+ LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW,
142
+ 0, 0, 0, 0, 0, 0, 0, 0)
143
+ FXCheckButton.new(matrix2, nil, owner, TextWindow::ID_INSERTTABS,
144
+ LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW,
145
+ 0, 0, 0, 0, 0, 0, 0, 0)
146
+
147
+ FXLabel.new(matrix2, "Wrap margin:", nil,
148
+ JUSTIFY_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW)
149
+ FXLabel.new(matrix2, "Tab columns:", nil,
150
+ JUSTIFY_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW)
151
+ FXLabel.new(matrix2, "Brace match time (us):", nil,
152
+ JUSTIFY_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW)
153
+ FXLabel.new(matrix2, "Strip trailing spaces:", nil,
154
+ JUSTIFY_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW)
155
+ FXLabel.new(matrix2, "Mouse wheel lines:", nil,
156
+ JUSTIFY_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_X|LAYOUT_FILL_ROW)
157
+
158
+ FXTextField.new(matrix2, 4, owner, TextWindow::ID_WRAPCOLUMNS,
159
+ (JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_CENTER_Y|LAYOUT_LEFT|
160
+ LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW))
161
+ FXTextField.new(matrix2, 4, owner, TextWindow::ID_TABCOLUMNS,
162
+ (JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_CENTER_Y|LAYOUT_LEFT|
163
+ LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW))
164
+ FXTextField.new(matrix2, 4, owner, TextWindow::ID_BRACEMATCH,
165
+ (JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_CENTER_Y|LAYOUT_LEFT|
166
+ LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW))
167
+ FXCheckButton.new(matrix2, nil, owner, TextWindow::ID_STRIP_SP,
168
+ LAYOUT_LEFT|LAYOUT_CENTER_Y|LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW,
169
+ 0, 0, 0, 0, 0, 0, 0, 0)
170
+ spinner = FXSpinner.new(matrix2, 2, owner, TextWindow::ID_WHEELADJUST,
171
+ (JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_CENTER_Y|LAYOUT_LEFT|
172
+ LAYOUT_FILL_COLUMN|LAYOUT_FILL_ROW))
173
+ spinner.range = 1..100
174
+
175
+ # Button 2
176
+ FXButton.new(buttons,
177
+ "Editor\tEditor settings\tChange editor settings and other things.", ind,
178
+ switcher, FXSwitcher::ID_OPEN_SECOND,
179
+ FRAME_RAISED|ICON_ABOVE_TEXT|LAYOUT_FILL_Y)
180
+
181
+ # Pane 3
182
+ pane3 = FXVerticalFrame.new(switcher, LAYOUT_FILL_X|LAYOUT_FILL_Y)
183
+ FXLabel.new(pane3, "File Patterns", nil, LAYOUT_LEFT)
184
+ FXHorizontalSeparator.new(pane3, SEPARATOR_LINE|LAYOUT_FILL_X)
185
+ sub3 = FXVerticalFrame.new(pane3, LAYOUT_FILL_Y|LAYOUT_FILL_X)
186
+ FXLabel.new(sub3,
187
+ 'Filename patterns, for example "Source Files (*.c,*.h)", one per line:',
188
+ nil, JUSTIFY_LEFT)
189
+ textwell = FXVerticalFrame.new(sub3,
190
+ LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_SUNKEN|FRAME_THICK,
191
+ 0, 0, 0, 0, 0, 0, 0, 0)
192
+ @text = FXText.new(textwell, nil, 0, LAYOUT_FILL_X|LAYOUT_FILL_Y)
193
+
194
+ # Button 3
195
+ FXButton.new(buttons,
196
+ "Patterns\tFilename patterns\tChange wildcard patterns for filenames.",
197
+ pat, switcher, FXSwitcher::ID_OPEN_THIRD,
198
+ FRAME_RAISED|ICON_ABOVE_TEXT|LAYOUT_FILL_Y)
199
+
200
+ # Pane 4
201
+ pane4 = FXVerticalFrame.new(switcher, LAYOUT_FILL_X|LAYOUT_FILL_Y)
202
+ FXLabel.new(pane4, "Word Delimiters", nil, LAYOUT_LEFT)
203
+ FXHorizontalSeparator.new(pane4, SEPARATOR_LINE|LAYOUT_FILL_X)
204
+ sub4 = FXVerticalFrame.new(pane4, LAYOUT_FILL_Y|LAYOUT_FILL_X)
205
+ FXLabel.new(sub4, "Characters delimiting words:", nil, JUSTIFY_LEFT)
206
+ FXTextField.new(sub4, 20, owner, TextWindow::ID_DELIMITERS,
207
+ FRAME_SUNKEN|FRAME_THICK|LAYOUT_FILL_X)
208
+
209
+ # Button 4
210
+ FXButton.new(buttons,
211
+ "Delimiters\tWord delimiters\tChange delimiters for word selections.",
212
+ del, switcher, FXSwitcher::ID_OPEN_FOURTH,
213
+ FRAME_RAISED|ICON_ABOVE_TEXT|LAYOUT_FILL_Y)
214
+
215
+ # Bottom part
216
+ FXHorizontalSeparator.new(vertical, SEPARATOR_RIDGE|LAYOUT_FILL_X)
217
+ closebox = FXHorizontalFrame.new(vertical,
218
+ LAYOUT_BOTTOM|LAYOUT_FILL_X|PACK_UNIFORM_WIDTH)
219
+ FXButton.new(closebox, "&Accept", nil, self, FXDialogBox::ID_ACCEPT,
220
+ LAYOUT_RIGHT|FRAME_RAISED|FRAME_THICK, 0, 0, 0, 0, 20, 20)
221
+ FXButton.new(closebox, "&Cancel", nil, self, FXDialogBox::ID_CANCEL,
222
+ LAYOUT_RIGHT|FRAME_RAISED|FRAME_THICK, 0, 0, 0, 0, 20, 20)
223
+ end
224
+
225
+
226
+ # Change patterns, each pattern separated by newline
227
+ def setPatterns(patterns)
228
+ @text.text = patterns.join("\n")
229
+ end
230
+
231
+ # Return array of patterns
232
+ def getPatterns
233
+ @text.text.split("\n")
234
+ end
235
+ end