fxruby 1.6.19-x86-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 (497) hide show
  1. data/LICENSE +456 -0
  2. data/README +39 -0
  3. data/doc/apes02.html +21 -0
  4. data/doc/apes03.html +39 -0
  5. data/doc/book.html +3 -0
  6. data/doc/build.html +132 -0
  7. data/doc/ch03s02.html +23 -0
  8. data/doc/ch03s03.html +52 -0
  9. data/doc/ch03s04.html +36 -0
  10. data/doc/ch03s05.html +60 -0
  11. data/doc/ch04s02.html +71 -0
  12. data/doc/ch04s03.html +37 -0
  13. data/doc/ch04s04.html +72 -0
  14. data/doc/ch05s02.html +260 -0
  15. data/doc/ch05s03.html +127 -0
  16. data/doc/changes.html +777 -0
  17. data/doc/clipboardtut.html +67 -0
  18. data/doc/differences.html +190 -0
  19. data/doc/dragdroptut.html +263 -0
  20. data/doc/events.html +36 -0
  21. data/doc/examples.html +104 -0
  22. data/doc/gems.html +73 -0
  23. data/doc/goals.html +41 -0
  24. data/doc/images/babelfish.png +0 -0
  25. data/doc/images/browser.png +0 -0
  26. data/doc/images/button.png +0 -0
  27. data/doc/images/call-chain-example.png +0 -0
  28. data/doc/images/colordialog.png +0 -0
  29. data/doc/images/datatarget.png +0 -0
  30. data/doc/images/dialog.png +0 -0
  31. data/doc/images/dilbert.png +0 -0
  32. data/doc/images/dirlist.png +0 -0
  33. data/doc/images/dropsite-droprejected.png +0 -0
  34. data/doc/images/foursplit.png +0 -0
  35. data/doc/images/gltest.png +0 -0
  36. data/doc/images/glviewer.png +0 -0
  37. data/doc/images/groupbox.png +0 -0
  38. data/doc/images/header.png +0 -0
  39. data/doc/images/hello-with-button.png +0 -0
  40. data/doc/images/hello-with-icon-1.png +0 -0
  41. data/doc/images/hello-with-icon-2.png +0 -0
  42. data/doc/images/hello-with-icon-3.png +0 -0
  43. data/doc/images/hello-with-tooltip.png +0 -0
  44. data/doc/images/hello-without-button.png +0 -0
  45. data/doc/images/hello.png +0 -0
  46. data/doc/images/hello2.png +0 -0
  47. data/doc/images/iconlist-bigicons.png +0 -0
  48. data/doc/images/iconlist-details.png +0 -0
  49. data/doc/images/image.png +0 -0
  50. data/doc/images/imageviewer.png +0 -0
  51. data/doc/images/inheritance.png +0 -0
  52. data/doc/images/mditest.png +0 -0
  53. data/doc/images/raabrowser.png +0 -0
  54. data/doc/images/scribble.png +0 -0
  55. data/doc/images/shutter.png +0 -0
  56. data/doc/images/splitter.png +0 -0
  57. data/doc/images/tabbook.png +0 -0
  58. data/doc/images/table.png +0 -0
  59. data/doc/images/tutorial1.png +0 -0
  60. data/doc/implementation.html +16 -0
  61. data/doc/infosources.html +33 -0
  62. data/doc/library.html +30 -0
  63. data/doc/opengl.html +73 -0
  64. data/doc/pt01.html +3 -0
  65. data/doc/pt02.html +3 -0
  66. data/doc/scintilla.html +36 -0
  67. data/doc/style.css +247 -0
  68. data/doc/subversion.html +21 -0
  69. data/doc/tutorial1.html +90 -0
  70. data/doc/unicode.html +56 -0
  71. data/examples/RAA.rb +25 -0
  72. data/examples/README +53 -0
  73. data/examples/babelfish.rb +72 -0
  74. data/examples/bounce.rb +159 -0
  75. data/examples/browser.rb +191 -0
  76. data/examples/button.rb +168 -0
  77. data/examples/charts.rb +35 -0
  78. data/examples/custom_table_item.rb +170 -0
  79. data/examples/datatarget.rb +223 -0
  80. data/examples/dctest.rb +696 -0
  81. data/examples/dialog.rb +143 -0
  82. data/examples/dilbert.rb +66 -0
  83. data/examples/dirlist.rb +63 -0
  84. data/examples/dragdrop.rb +97 -0
  85. data/examples/dragsource.rb +80 -0
  86. data/examples/dropsite.rb +59 -0
  87. data/examples/foursplit.rb +97 -0
  88. data/examples/gltest.rb +330 -0
  89. data/examples/glviewer.rb +576 -0
  90. data/examples/groupbox.rb +392 -0
  91. data/examples/header.rb +149 -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 +92 -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 +279 -0
  166. data/examples/imageviewer.rb +509 -0
  167. data/examples/inputs.rb +83 -0
  168. data/examples/mditest.rb +180 -0
  169. data/examples/pig.rb +77 -0
  170. data/examples/raabrowser.rb +122 -0
  171. data/examples/ratio.rb +80 -0
  172. data/examples/rulerview.rb +27 -0
  173. data/examples/scintilla-test.rb +81 -0
  174. data/examples/scribble-orig.rb +186 -0
  175. data/examples/scribble.rb +162 -0
  176. data/examples/shutter.rb +158 -0
  177. data/examples/splitter.rb +211 -0
  178. data/examples/styledtext.rb +82 -0
  179. data/examples/tabbook.rb +165 -0
  180. data/examples/table.rb +182 -0
  181. data/examples/textedit/commands.rb +114 -0
  182. data/examples/textedit/helpwindow.rb +299 -0
  183. data/examples/textedit/prefdialog.rb +239 -0
  184. data/examples/textedit/textedit.rb +1763 -0
  185. data/examples/unicode.rb +36 -0
  186. data/ext/fox16/fox16.so +0 -0
  187. data/index.html +14 -0
  188. data/lib/fox16/accel_table.rb +70 -0
  189. data/lib/fox16/aliases.rb +5611 -0
  190. data/lib/fox16/calendar.rb +217 -0
  191. data/lib/fox16/chore.rb +105 -0
  192. data/lib/fox16/colors.rb +280 -0
  193. data/lib/fox16/core.rb +700 -0
  194. data/lib/fox16/dict.rb +35 -0
  195. data/lib/fox16/exceptions_for_fxerror.rb +17 -0
  196. data/lib/fox16/execute_nonmodal.rb +70 -0
  197. data/lib/fox16/glgroup.rb +166 -0
  198. data/lib/fox16/glshapes.rb +456 -0
  199. data/lib/fox16/input.rb +59 -0
  200. data/lib/fox16/irb.rb +178 -0
  201. data/lib/fox16/iterators.rb +420 -0
  202. data/lib/fox16/keys.rb +1374 -0
  203. data/lib/fox16/kwargs.rb +2740 -0
  204. data/lib/fox16/missingdep.rb +14 -0
  205. data/lib/fox16/pseudokeyboard.rb +40 -0
  206. data/lib/fox16/pseudomouse.rb +87 -0
  207. data/lib/fox16/responder.rb +70 -0
  208. data/lib/fox16/responder2.rb +132 -0
  209. data/lib/fox16/scintilla.rb +3641 -0
  210. data/lib/fox16/settings.rb +18 -0
  211. data/lib/fox16/signal.rb +71 -0
  212. data/lib/fox16/splashscreen.rb +82 -0
  213. data/lib/fox16/timeout.rb +136 -0
  214. data/lib/fox16/undolist.rb +455 -0
  215. data/lib/fox16/version.rb +9 -0
  216. data/rdoc-sources/FX4Splitter.rb +156 -0
  217. data/rdoc-sources/FX7Segment.rb +54 -0
  218. data/rdoc-sources/FXAccelTable.rb +84 -0
  219. data/rdoc-sources/FXApp.rb +545 -0
  220. data/rdoc-sources/FXArrowButton.rb +69 -0
  221. data/rdoc-sources/FXBMPIcon.rb +67 -0
  222. data/rdoc-sources/FXBMPImage.rb +30 -0
  223. data/rdoc-sources/FXBitmap.rb +115 -0
  224. data/rdoc-sources/FXBitmapFrame.rb +31 -0
  225. data/rdoc-sources/FXBitmapView.rb +44 -0
  226. data/rdoc-sources/FXButton.rb +59 -0
  227. data/rdoc-sources/FXCURCursor.rb +13 -0
  228. data/rdoc-sources/FXCanvas.rb +18 -0
  229. data/rdoc-sources/FXCheckButton.rb +58 -0
  230. data/rdoc-sources/FXChoiceBox.rb +49 -0
  231. data/rdoc-sources/FXColorBar.rb +48 -0
  232. data/rdoc-sources/FXColorDialog.rb +37 -0
  233. data/rdoc-sources/FXColorList.rb +55 -0
  234. data/rdoc-sources/FXColorRing.rb +49 -0
  235. data/rdoc-sources/FXColorSelector.rb +65 -0
  236. data/rdoc-sources/FXColorWell.rb +65 -0
  237. data/rdoc-sources/FXColorWheel.rb +57 -0
  238. data/rdoc-sources/FXComboBox.rb +214 -0
  239. data/rdoc-sources/FXComposite.rb +34 -0
  240. data/rdoc-sources/FXCursor.rb +67 -0
  241. data/rdoc-sources/FXDC.rb +720 -0
  242. data/rdoc-sources/FXDCPrint.rb +127 -0
  243. data/rdoc-sources/FXDCWindow.rb +33 -0
  244. data/rdoc-sources/FXDataTarget.rb +66 -0
  245. data/rdoc-sources/FXDebugTarget.rb +25 -0
  246. data/rdoc-sources/FXDelegator.rb +23 -0
  247. data/rdoc-sources/FXDial.rb +107 -0
  248. data/rdoc-sources/FXDialogBox.rb +32 -0
  249. data/rdoc-sources/FXDict.rb +79 -0
  250. data/rdoc-sources/FXDirBox.rb +55 -0
  251. data/rdoc-sources/FXDirDialog.rb +47 -0
  252. data/rdoc-sources/FXDirList.rb +149 -0
  253. data/rdoc-sources/FXDirSelector.rb +64 -0
  254. data/rdoc-sources/FXDockBar.rb +151 -0
  255. data/rdoc-sources/FXDockHandler.rb +26 -0
  256. data/rdoc-sources/FXDockSite.rb +104 -0
  257. data/rdoc-sources/FXDockTitle.rb +26 -0
  258. data/rdoc-sources/FXDocument.rb +29 -0
  259. data/rdoc-sources/FXDragCorner.rb +19 -0
  260. data/rdoc-sources/FXDrawable.rb +27 -0
  261. data/rdoc-sources/FXDriveBox.rb +46 -0
  262. data/rdoc-sources/FXExtentd.rb +85 -0
  263. data/rdoc-sources/FXExtentf.rb +85 -0
  264. data/rdoc-sources/FXFileDialog.rb +217 -0
  265. data/rdoc-sources/FXFileDict.rb +131 -0
  266. data/rdoc-sources/FXFileList.rb +208 -0
  267. data/rdoc-sources/FXFileSelector.rb +184 -0
  268. data/rdoc-sources/FXFileStream.rb +27 -0
  269. data/rdoc-sources/FXFoldingList.rb +504 -0
  270. data/rdoc-sources/FXFont.rb +361 -0
  271. data/rdoc-sources/FXFontDialog.rb +14 -0
  272. data/rdoc-sources/FXFontSelector.rb +37 -0
  273. data/rdoc-sources/FXFrame.rb +53 -0
  274. data/rdoc-sources/FXGIFCursor.rb +50 -0
  275. data/rdoc-sources/FXGIFIcon.rb +31 -0
  276. data/rdoc-sources/FXGIFImage.rb +29 -0
  277. data/rdoc-sources/FXGLCanvas.rb +45 -0
  278. data/rdoc-sources/FXGLContext.rb +40 -0
  279. data/rdoc-sources/FXGLObject.rb +75 -0
  280. data/rdoc-sources/FXGLShape.rb +69 -0
  281. data/rdoc-sources/FXGLViewer.rb +332 -0
  282. data/rdoc-sources/FXGLVisual.rb +94 -0
  283. data/rdoc-sources/FXGradientBar.rb +301 -0
  284. data/rdoc-sources/FXGroupBox.rb +36 -0
  285. data/rdoc-sources/FXHeader.rb +411 -0
  286. data/rdoc-sources/FXHorizontalFrame.rb +29 -0
  287. data/rdoc-sources/FXICOIcon.rb +65 -0
  288. data/rdoc-sources/FXICOImage.rb +31 -0
  289. data/rdoc-sources/FXIcon.rb +38 -0
  290. data/rdoc-sources/FXIconDict.rb +48 -0
  291. data/rdoc-sources/FXIconList.rb +450 -0
  292. data/rdoc-sources/FXIconSource.rb +100 -0
  293. data/rdoc-sources/FXId.rb +34 -0
  294. data/rdoc-sources/FXImage.rb +292 -0
  295. data/rdoc-sources/FXImageFrame.rb +36 -0
  296. data/rdoc-sources/FXImageView.rb +35 -0
  297. data/rdoc-sources/FXInputDialog.rb +80 -0
  298. data/rdoc-sources/FXJPGIcon.rb +70 -0
  299. data/rdoc-sources/FXJPGImage.rb +38 -0
  300. data/rdoc-sources/FXKnob.rb +76 -0
  301. data/rdoc-sources/FXLabel.rb +72 -0
  302. data/rdoc-sources/FXList.rb +443 -0
  303. data/rdoc-sources/FXListBox.rb +191 -0
  304. data/rdoc-sources/FXMDIButton.rb +67 -0
  305. data/rdoc-sources/FXMDIChild.rb +155 -0
  306. data/rdoc-sources/FXMDIClient.rb +65 -0
  307. data/rdoc-sources/FXMainWindow.rb +26 -0
  308. data/rdoc-sources/FXMatrix.rb +57 -0
  309. data/rdoc-sources/FXMemoryBuffer.rb +28 -0
  310. data/rdoc-sources/FXMemoryStream.rb +50 -0
  311. data/rdoc-sources/FXMenuBar.rb +23 -0
  312. data/rdoc-sources/FXMenuButton.rb +84 -0
  313. data/rdoc-sources/FXMenuCaption.rb +53 -0
  314. data/rdoc-sources/FXMenuCascade.rb +18 -0
  315. data/rdoc-sources/FXMenuCheck.rb +30 -0
  316. data/rdoc-sources/FXMenuCommand.rb +26 -0
  317. data/rdoc-sources/FXMenuPane.rb +13 -0
  318. data/rdoc-sources/FXMenuRadio.rb +33 -0
  319. data/rdoc-sources/FXMenuSeparator.rb +21 -0
  320. data/rdoc-sources/FXMenuTitle.rb +27 -0
  321. data/rdoc-sources/FXMessageBox.rb +73 -0
  322. data/rdoc-sources/FXObject.rb +28 -0
  323. data/rdoc-sources/FXOptionMenu.rb +83 -0
  324. data/rdoc-sources/FXPCXIcon.rb +63 -0
  325. data/rdoc-sources/FXPCXImage.rb +31 -0
  326. data/rdoc-sources/FXPNGIcon.rb +66 -0
  327. data/rdoc-sources/FXPNGImage.rb +34 -0
  328. data/rdoc-sources/FXPPMIcon.rb +36 -0
  329. data/rdoc-sources/FXPPMImage.rb +31 -0
  330. data/rdoc-sources/FXPacker.rb +63 -0
  331. data/rdoc-sources/FXPicker.rb +27 -0
  332. data/rdoc-sources/FXPopup.rb +53 -0
  333. data/rdoc-sources/FXPrintDialog.rb +36 -0
  334. data/rdoc-sources/FXProgressBar.rb +57 -0
  335. data/rdoc-sources/FXProgressDialog.rb +36 -0
  336. data/rdoc-sources/FXQuatd.rb +164 -0
  337. data/rdoc-sources/FXQuatf.rb +173 -0
  338. data/rdoc-sources/FXRGBIcon.rb +64 -0
  339. data/rdoc-sources/FXRGBImage.rb +31 -0
  340. data/rdoc-sources/FXRadioButton.rb +70 -0
  341. data/rdoc-sources/FXRanged.rb +100 -0
  342. data/rdoc-sources/FXRangef.rb +100 -0
  343. data/rdoc-sources/FXRealSlider.rb +101 -0
  344. data/rdoc-sources/FXRealSpinner.rb +140 -0
  345. data/rdoc-sources/FXRecentFiles.rb +77 -0
  346. data/rdoc-sources/FXRectangle.rb +149 -0
  347. data/rdoc-sources/FXRegion.rb +64 -0
  348. data/rdoc-sources/FXRegistry.rb +56 -0
  349. data/rdoc-sources/FXReplaceDialog.rb +56 -0
  350. data/rdoc-sources/FXRootWindow.rb +17 -0
  351. data/rdoc-sources/FXRuler.rb +130 -0
  352. data/rdoc-sources/FXRulerView.rb +225 -0
  353. data/rdoc-sources/FXScintilla.rb +121 -0
  354. data/rdoc-sources/FXScrollArea.rb +86 -0
  355. data/rdoc-sources/FXScrollBar.rb +107 -0
  356. data/rdoc-sources/FXScrollPane.rb +28 -0
  357. data/rdoc-sources/FXScrollWindow.rb +38 -0
  358. data/rdoc-sources/FXSearchDialog.rb +24 -0
  359. data/rdoc-sources/FXSeparator.rb +74 -0
  360. data/rdoc-sources/FXSettings.rb +248 -0
  361. data/rdoc-sources/FXShell.rb +8 -0
  362. data/rdoc-sources/FXShutter.rb +102 -0
  363. data/rdoc-sources/FXSize.rb +95 -0
  364. data/rdoc-sources/FXSlider.rb +98 -0
  365. data/rdoc-sources/FXSphered.rb +80 -0
  366. data/rdoc-sources/FXSpheref.rb +80 -0
  367. data/rdoc-sources/FXSpinner.rb +136 -0
  368. data/rdoc-sources/FXSplashWindow.rb +27 -0
  369. data/rdoc-sources/FXSplitter.rb +89 -0
  370. data/rdoc-sources/FXSpring.rb +61 -0
  371. data/rdoc-sources/FXStatusBar.rb +42 -0
  372. data/rdoc-sources/FXStatusLine.rb +60 -0
  373. data/rdoc-sources/FXStream.rb +142 -0
  374. data/rdoc-sources/FXStringDict.rb +38 -0
  375. data/rdoc-sources/FXSwitcher.rb +78 -0
  376. data/rdoc-sources/FXTGAIcon.rb +63 -0
  377. data/rdoc-sources/FXTGAImage.rb +31 -0
  378. data/rdoc-sources/FXTIFIcon.rb +70 -0
  379. data/rdoc-sources/FXTIFImage.rb +37 -0
  380. data/rdoc-sources/FXTabBar.rb +80 -0
  381. data/rdoc-sources/FXTabBook.rb +41 -0
  382. data/rdoc-sources/FXTabItem.rb +58 -0
  383. data/rdoc-sources/FXTable.rb +975 -0
  384. data/rdoc-sources/FXText.rb +581 -0
  385. data/rdoc-sources/FXTextField.rb +151 -0
  386. data/rdoc-sources/FXToggleButton.rb +70 -0
  387. data/rdoc-sources/FXToolBar.rb +61 -0
  388. data/rdoc-sources/FXToolBarGrip.rb +50 -0
  389. data/rdoc-sources/FXToolBarShell.rb +44 -0
  390. data/rdoc-sources/FXToolBarTab.rb +74 -0
  391. data/rdoc-sources/FXToolTip.rb +39 -0
  392. data/rdoc-sources/FXTopWindow.rb +163 -0
  393. data/rdoc-sources/FXTranslator.rb +32 -0
  394. data/rdoc-sources/FXTreeList.rb +514 -0
  395. data/rdoc-sources/FXTreeListBox.rb +219 -0
  396. data/rdoc-sources/FXTriStateButton.rb +49 -0
  397. data/rdoc-sources/FXVec2d.rb +96 -0
  398. data/rdoc-sources/FXVec2f.rb +96 -0
  399. data/rdoc-sources/FXVec3d.rb +118 -0
  400. data/rdoc-sources/FXVec3f.rb +118 -0
  401. data/rdoc-sources/FXVec4d.rb +139 -0
  402. data/rdoc-sources/FXVec4f.rb +139 -0
  403. data/rdoc-sources/FXVerticalFrame.rb +29 -0
  404. data/rdoc-sources/FXVisual.rb +79 -0
  405. data/rdoc-sources/FXWindow.rb +725 -0
  406. data/rdoc-sources/FXWizard.rb +59 -0
  407. data/rdoc-sources/FXXBMIcon.rb +37 -0
  408. data/rdoc-sources/FXXBMImage.rb +32 -0
  409. data/rdoc-sources/FXXPMIcon.rb +65 -0
  410. data/rdoc-sources/FXXPMImage.rb +31 -0
  411. data/rdoc-sources/README.rdoc +53 -0
  412. data/rdoc-sources/fxdefs.rb +90 -0
  413. data/tests/README +19 -0
  414. data/tests/TC_FXAccelTable.rb +57 -0
  415. data/tests/TC_FXApp.rb +16 -0
  416. data/tests/TC_FXArc.rb +26 -0
  417. data/tests/TC_FXBMPIcon.rb +15 -0
  418. data/tests/TC_FXBMPImage.rb +15 -0
  419. data/tests/TC_FXButton.rb +78 -0
  420. data/tests/TC_FXCheckButton.rb +57 -0
  421. data/tests/TC_FXComboBox.rb +63 -0
  422. data/tests/TC_FXDC.rb +372 -0
  423. data/tests/TC_FXDCPrint.rb +101 -0
  424. data/tests/TC_FXDCWindow.rb +23 -0
  425. data/tests/TC_FXDataTarget.rb +24 -0
  426. data/tests/TC_FXDialogBox.rb +12 -0
  427. data/tests/TC_FXDirList.rb +30 -0
  428. data/tests/TC_FXExtentd.rb +21 -0
  429. data/tests/TC_FXExtentf.rb +21 -0
  430. data/tests/TC_FXFileAssoc.rb +62 -0
  431. data/tests/TC_FXFileStream.rb +89 -0
  432. data/tests/TC_FXFoldingList.rb +32 -0
  433. data/tests/TC_FXFont.rb +69 -0
  434. data/tests/TC_FXFontDesc.rb +58 -0
  435. data/tests/TC_FXGLGroup.rb +32 -0
  436. data/tests/TC_FXGLShape.rb +28 -0
  437. data/tests/TC_FXGLViewer.rb +20 -0
  438. data/tests/TC_FXGradientBar.rb +89 -0
  439. data/tests/TC_FXHeader.rb +82 -0
  440. data/tests/TC_FXHiliteStyle.rb +23 -0
  441. data/tests/TC_FXIconDict.rb +52 -0
  442. data/tests/TC_FXIconList.rb +192 -0
  443. data/tests/TC_FXId.rb +19 -0
  444. data/tests/TC_FXImage.rb +155 -0
  445. data/tests/TC_FXLight.rb +33 -0
  446. data/tests/TC_FXList.rb +116 -0
  447. data/tests/TC_FXListBox.rb +49 -0
  448. data/tests/TC_FXMainWindow.rb +19 -0
  449. data/tests/TC_FXMat4f.rb +228 -0
  450. data/tests/TC_FXMaterial.rb +89 -0
  451. data/tests/TC_FXMemoryStream.rb +97 -0
  452. data/tests/TC_FXMenuCheck.rb +57 -0
  453. data/tests/TC_FXMenuCommand.rb +12 -0
  454. data/tests/TC_FXMenuRadio.rb +57 -0
  455. data/tests/TC_FXMessageBox.rb +25 -0
  456. data/tests/TC_FXPoint.rb +57 -0
  457. data/tests/TC_FXQuatf.rb +93 -0
  458. data/tests/TC_FXRadioButton.rb +57 -0
  459. data/tests/TC_FXRanged.rb +42 -0
  460. data/tests/TC_FXRangef.rb +42 -0
  461. data/tests/TC_FXRectangle.rb +88 -0
  462. data/tests/TC_FXRegion.rb +54 -0
  463. data/tests/TC_FXRegistry.rb +27 -0
  464. data/tests/TC_FXScrollArea.rb +28 -0
  465. data/tests/TC_FXScrollWindow.rb +28 -0
  466. data/tests/TC_FXSegment.rb +22 -0
  467. data/tests/TC_FXSettings.rb +34 -0
  468. data/tests/TC_FXShell.rb +26 -0
  469. data/tests/TC_FXSize.rb +54 -0
  470. data/tests/TC_FXStream.rb +11 -0
  471. data/tests/TC_FXTable.rb +561 -0
  472. data/tests/TC_FXTableItem.rb +48 -0
  473. data/tests/TC_FXText.rb +96 -0
  474. data/tests/TC_FXTopWindow.rb +32 -0
  475. data/tests/TC_FXTreeList.rb +100 -0
  476. data/tests/TC_FXTreeListBox.rb +41 -0
  477. data/tests/TC_FXUndoList.rb +43 -0
  478. data/tests/TC_FXVec2d.rb +142 -0
  479. data/tests/TC_FXVec2f.rb +137 -0
  480. data/tests/TC_FXVec3d.rb +150 -0
  481. data/tests/TC_FXVec3f.rb +150 -0
  482. data/tests/TC_FXVec4f.rb +158 -0
  483. data/tests/TC_FXViewport.rb +30 -0
  484. data/tests/TC_FXXBMIcon.rb +15 -0
  485. data/tests/TC_FXXBMImage.rb +15 -0
  486. data/tests/TC_FXXPMIcon.rb +15 -0
  487. data/tests/TC_FXXPMImage.rb +15 -0
  488. data/tests/TC_Misc.rb +157 -0
  489. data/tests/TC_downcast.rb +15 -0
  490. data/tests/TS_All.rb +25 -0
  491. data/tests/blankpage.ps +166 -0
  492. data/tests/howdypage.ps +181 -0
  493. data/tests/stress1.rb +92 -0
  494. data/tests/stress2.rb +51 -0
  495. data/tests/stress3.rb +117 -0
  496. data/tests/testcase.rb +37 -0
  497. metadata +556 -0
@@ -0,0 +1,14 @@
1
+ # This is a little helper function used by some of the examples to report
2
+ # missing dependencies information on startup. It's especially useful for the
3
+ # Windows distribution since people will often start the examples by double-
4
+ # clicking on an icon instead of running from the command line.
5
+
6
+ def missingDependency(msg)
7
+ app = Fox::FXApp.new("Dummy", "FoxTest")
8
+ app.init(ARGV)
9
+ mainWindow = Fox::FXMainWindow.new(app, "")
10
+ app.create
11
+ Fox::FXMessageBox.error(mainWindow, Fox::MBOX_OK, "Dependencies Missing", msg)
12
+ raise SystemExit
13
+ end
14
+
@@ -0,0 +1,40 @@
1
+ module Fox
2
+ #
3
+ # An FXPseudoKeyboard object provides a simple means to operate widgets
4
+ # programmatically, to aid test driven design. An FXPseudoKeyboard instance
5
+ # can be pointed at an FXObject and will manage the sending of events to
6
+ # it.
7
+ #
8
+ # For example:
9
+ #
10
+ # textfield = FXTextField.new(...)
11
+ # pk = FXPseudoKeyboard.new(textfield)
12
+ # pk.doKeyPress # sends a SEL_KEYPRESS message to the textfield
13
+ # pk.doKeyRelease # sends a SEL_KEYRELEASE message to the textfield
14
+ #
15
+ class FXPseudoKeyboard
16
+
17
+ attr_accessor :target
18
+
19
+ def initialize(tgt=nil)
20
+ @target = tgt
21
+ end
22
+
23
+ def doKeyPress
24
+ unless @target.nil?
25
+ evt = FXEvent.new
26
+ evt.type = Fox::SEL_KEYPRESS
27
+ @target.handle(self, Fox.FXSEL(Fox::SEL_KEYPRESS, 0), evt)
28
+ end
29
+ end
30
+
31
+ def doKeyRelease
32
+ unless @target.nil?
33
+ evt = FXEvent.new
34
+ evt.type = Fox::SEL_KEYRELEASE
35
+ @target.handle(self, Fox.FXSEL(Fox::SEL_KEYRELEASE, 0), evt)
36
+ end
37
+ end
38
+ end
39
+ end
40
+
@@ -0,0 +1,87 @@
1
+ module Fox
2
+ #
3
+ # An FXPseudoMouse object provides a simple means to operate widgets
4
+ # programmatically, to aid test driven design. An FXPseudoMouse instance
5
+ # can be pointed at an FXObject and will manage the sending of events to
6
+ # it.
7
+ #
8
+ # For example:
9
+ #
10
+ # canvas = FXCanvas.new(...)
11
+ # pm = FXPseudoMouse.new(canvas)
12
+ # pm.doLeftButtonPress # sends a SEL_LEFTBUTTONPRESS message to the canvas
13
+ #
14
+ class FXPseudoMouse < FXObject
15
+
16
+ attr_accessor :target
17
+
18
+ def initialize(tgt=nil)
19
+ @target = tgt
20
+ end
21
+
22
+ def doMotion
23
+ unless @target.nil?
24
+ evt = FXEvent.new
25
+ evt.type = Fox::SEL_MOTION
26
+ @target.handle(self, Fox.FXSEL(Fox::SEL_MOTION, 0), evt)
27
+ end
28
+ end
29
+
30
+ def doMouseWheel
31
+ unless @target.nil?
32
+ evt = FXEvent.new
33
+ evt.type = Fox::SEL_MOUSEWHEEL
34
+ @target.handle(self, Fox.FXSEL(Fox::SEL_MOUSEWHEEL, 0), evt)
35
+ end
36
+ end
37
+
38
+ def doLeftButtonPress
39
+ unless @target.nil?
40
+ evt = FXEvent.new
41
+ evt.type = Fox::SEL_LEFTBUTTONPRESS
42
+ @target.handle(self, Fox.FXSEL(Fox::SEL_LEFTBUTTONPRESS, 0), evt)
43
+ end
44
+ end
45
+
46
+ def doLeftButtonRelease
47
+ unless @target.nil?
48
+ evt = FXEvent.new
49
+ evt.type = Fox::SEL_LEFTBUTTONRELEASE
50
+ @target.handle(self, Fox.FXSEL(Fox::SEL_LEFTBUTTONRELEASE, 0), evt)
51
+ end
52
+ end
53
+
54
+ def doMiddleButtonPress
55
+ unless @target.nil?
56
+ evt = FXEvent.new
57
+ evt.type = Fox::SEL_MIDDLEBUTTONPRESS
58
+ @target.handle(self, Fox.FXSEL(Fox::SEL_MIDDLEBUTTONPRESS, 0), evt)
59
+ end
60
+ end
61
+
62
+ def doMiddleButtonRelease
63
+ unless @target.nil?
64
+ evt = FXEvent.new
65
+ evt.type = Fox::SEL_MIDDLEBUTTONRELEASE
66
+ @target.handle(self, Fox.FXSEL(Fox::SEL_MIDDLEBUTTONRELEASE, 0), evt)
67
+ end
68
+ end
69
+
70
+ def doRightButtonPress
71
+ unless @target.nil?
72
+ evt = FXEvent.new
73
+ evt.type = Fox::SEL_RIGHTBUTTONPRESS
74
+ @target.handle(self, Fox.FXSEL(Fox::SEL_RIGHTBUTTONPRESS, 0), evt)
75
+ end
76
+ end
77
+
78
+ def doRightButtonRelease
79
+ unless @target.nil?
80
+ evt = FXEvent.new
81
+ evt.type = Fox::SEL_RIGHTBUTTONRELEASE
82
+ @target.handle(self, Fox.FXSEL(Fox::SEL_RIGHTBUTTONRELEASE, 0), evt)
83
+ end
84
+ end
85
+ end
86
+ end
87
+
@@ -0,0 +1,70 @@
1
+ # Enumeration
2
+ def enum(start, count)
3
+ (start...(start+count)).to_a
4
+ end
5
+
6
+ module Responder
7
+ # Generates identifiers as class constants. Originally submitted by
8
+ # Sean O'Halpin, slightly modified by Lyle.
9
+ def identifier(*ids)
10
+ ids << :ID_LAST
11
+ base = self.class.superclass::ID_LAST
12
+ vals = enum(base, ids.size)
13
+ ids.each_index do |i|
14
+ unless self.class.const_defined?(ids[i])
15
+ self.class.class_eval("#{ids[i].id2name} = #{vals[i]}")
16
+ end
17
+ end
18
+ end
19
+
20
+ # Return the array of (selector -> func) associations
21
+ def messageMap
22
+ unless instance_variables.include?("@assocs") || instance_variables.include?(:@assocs)
23
+ @assocs = []
24
+ end
25
+ @assocs
26
+ end
27
+
28
+ # Look up array index of this message map entry
29
+ def assocIndex(lo, hi)
30
+ currIndex = -1
31
+ assocs = messageMap
32
+ assocs.each_index do |i|
33
+ if assocs[i][0] == lo && assocs[i][1] == hi
34
+ currIndex = i
35
+ end
36
+ end
37
+ currIndex
38
+ end
39
+
40
+ # Add new or replace existing map entry
41
+ def addMapEntry(lo, hi, func)
42
+ func = func.intern if func.is_a? String
43
+ currIndex = assocIndex(lo, hi)
44
+ if currIndex < 0
45
+ messageMap.push([lo, hi, func])
46
+ else
47
+ messageMap[currIndex] = [lo, hi, func]
48
+ end
49
+ end
50
+
51
+ # Define range of function types
52
+ def FXMAPTYPES(typelo, typehi, func)
53
+ addMapEntry(Fox.MKUINT(Fox::MINKEY, typelo), Fox.MKUINT(Fox::MAXKEY, typehi), func)
54
+ end
55
+
56
+ # Define one function type
57
+ def FXMAPTYPE(type, func)
58
+ addMapEntry(Fox.MKUINT(Fox::MINKEY, type), Fox.MKUINT(Fox::MAXKEY, type), func)
59
+ end
60
+
61
+ # Define range of functions
62
+ def FXMAPFUNCS(type, keylo, keyhi, func)
63
+ addMapEntry(Fox.MKUINT(keylo, type), Fox.MKUINT(keyhi, type), func)
64
+ end
65
+
66
+ # Define one function
67
+ def FXMAPFUNC(type, id, func)
68
+ addMapEntry(Fox.MKUINT(id, type), Fox.MKUINT(id, type), func)
69
+ end
70
+ end
@@ -0,0 +1,132 @@
1
+ require 'fox16/responder'
2
+
3
+ module Fox
4
+
5
+ #
6
+ # FXPseudoTarget instances act as the message target for any widgets that
7
+ # elect to use the #connect method to map certain message types to
8
+ # blocks.
9
+ #
10
+ class FXPseudoTarget < FXObject
11
+
12
+ include Responder
13
+
14
+ @@targets_of_pending_timers = {}
15
+ @@targets_of_pending_chores = {}
16
+ @@targets_of_pending_signals = {}
17
+ @@targets_of_pending_inputs = {}
18
+
19
+ #
20
+ # Returns an initialized FXPseudoTarget object.
21
+ #
22
+ def initialize
23
+ super
24
+ @context = {}
25
+ end
26
+
27
+ #
28
+ # Store an association between a message of type
29
+ # _message_type_ with a callable object.
30
+ #
31
+ def pconnect(message_type, callable_object, params={})
32
+ @context[message_type] = { :callable => callable_object, :params => params }
33
+ FXMAPTYPE(message_type, :onHandleMsg)
34
+ case message_type
35
+ when SEL_TIMEOUT
36
+ @@targets_of_pending_timers[self] = self
37
+ when SEL_CHORE
38
+ @@targets_of_pending_chores[self] = self
39
+ when SEL_SIGNAL
40
+ @@targets_of_pending_signals[self] = self
41
+ when SEL_IO_READ, SEL_IO_WRITE, SEL_IO_EXCEPT
42
+ @@targets_of_pending_inputs[self] = self
43
+ end
44
+ end
45
+
46
+ #
47
+ # Handle a message from _sender_, with selector _sel_ and
48
+ # message data _ptr_.
49
+ #
50
+ def onHandleMsg(sender, sel, ptr)
51
+ message_type = Fox.FXSELTYPE(sel)
52
+ ctx = @context[message_type]
53
+ callable_object = ctx[:callable]
54
+ params = ctx[:params]
55
+ result = callable_object.call(sender, sel, ptr)
56
+ case message_type
57
+ when SEL_TIMEOUT
58
+ if params[:repeat]
59
+ FXApp.instance.addTimeout(params[:delay], callable_object, params)
60
+ else
61
+ @@targets_of_pending_timers.delete(self)
62
+ end
63
+ when SEL_CHORE
64
+ if params[:repeat]
65
+ FXApp.instance.addChore(callable_object, params)
66
+ else
67
+ @@targets_of_pending_chores.delete(self)
68
+ end
69
+ end
70
+ result
71
+ end
72
+
73
+ end # class FXPseudoTarget
74
+
75
+ end # module Fox
76
+
77
+ #
78
+ # The Responder2 module provides the #connect method,
79
+ # which is mixed-in to all classes that have a message
80
+ # target (i.e. Fox::FXDataTarget, Fox::FXRecentFiles
81
+ # and Fox::FXWindow).
82
+ #
83
+ module Responder2
84
+ #
85
+ # Assign a "handler" for all FOX messages of type _messageType_
86
+ # sent from this widget. When called with only one argument,
87
+ # a block is expected, e.g.
88
+ #
89
+ # aButton.connect(SEL_COMMAND) { |sender, selector, data|
90
+ # ... code to handle this event ...
91
+ # }
92
+ #
93
+ # The arguments passed into the block are the _sender_ of the
94
+ # message (i.e. the widget), the _selector_ for the message, and
95
+ # any message-specific _data_.
96
+ #
97
+ # When #connect is called with two arguments, the second argument
98
+ # should be some callable object such as a Method or Proc instance, e.g.
99
+ #
100
+ # aButton.connect(SEL_COMMAND, method(:onCommand))
101
+ #
102
+ # As with the one-argument form of #connect, the callable object
103
+ # will be "called" with three arguments (the sender, selector and
104
+ # message data).
105
+ #
106
+ def connect(message_type, callable_object=nil, &block)
107
+ unless instance_variables.include?('@pseudoTarget') || instance_variables.include?(:@pseudoTarget)
108
+ @pseudoTarget = Fox::FXPseudoTarget.new
109
+ self.target = @pseudoTarget
110
+ end
111
+ @pseudoTarget.pconnect(message_type, callable_object ? callable_object : block)
112
+ end
113
+
114
+ end
115
+
116
+ module Fox
117
+ class FXDataTarget
118
+ include Responder2
119
+ end
120
+ class FXRecentFiles
121
+ include Responder2
122
+ end
123
+ class FXWindow
124
+ include Responder2
125
+ end
126
+ end
127
+
128
+ require 'fox16/timeout'
129
+ require 'fox16/chore'
130
+ require 'fox16/signal'
131
+ require 'fox16/input'
132
+ require 'fox16/accel_table'
@@ -0,0 +1,3641 @@
1
+ # This file is automatically generated from Scintilla.iface
2
+ # DO NOT MODIFY
3
+
4
+ module Fox
5
+ class FXScintilla
6
+ #
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+ # Basics
15
+
16
+ INVALID_POSITION = -1
17
+ # Define start of Scintilla messages to be greater than all Windows edit (EM_*) messages
18
+ # as many EM_ messages can be used although that use is deprecated.
19
+ SCI_START = 2000
20
+ SCI_OPTIONAL_START = 3000
21
+ SCI_LEXER_START = 4000
22
+
23
+ # Add text to the document at current position.
24
+ def addText(length, text)
25
+ sendMessage(2001, length, text)
26
+ end
27
+
28
+ # Add array of cells to document.
29
+ def addStyledText(length, c)
30
+ sendMessage(2002, length, c)
31
+ end
32
+
33
+ # Insert string at a position.
34
+ def insertText(pos, text)
35
+ sendMessage(2003, pos, text)
36
+ end
37
+
38
+ # Delete all text in the document.
39
+ def clearAll
40
+ sendMessage(2004, 0, 0)
41
+ end
42
+
43
+ # Set all style bytes to 0, remove all folding information.
44
+ def clearDocumentStyle
45
+ sendMessage(2005, 0, 0)
46
+ end
47
+
48
+ # Returns the number of characters in the document.
49
+ def getLength
50
+ sendMessage(2006, 0, 0)
51
+ end
52
+
53
+ # Returns the character byte at the position.
54
+ def getCharAt(pos)
55
+ sendMessage(2007, pos, 0)
56
+ end
57
+
58
+ # Returns the position of the caret.
59
+ def getCurrentPos
60
+ sendMessage(2008, 0, 0)
61
+ end
62
+
63
+ # Returns the position of the opposite end of the selection to the caret.
64
+ def getAnchor
65
+ sendMessage(2009, 0, 0)
66
+ end
67
+
68
+ # Returns the style byte at the position.
69
+ def getStyleAt(pos)
70
+ sendMessage(2010, pos, 0)
71
+ end
72
+
73
+ # Redoes the next action on the undo history.
74
+ def redo
75
+ sendMessage(2011, 0, 0)
76
+ end
77
+
78
+ # Choose between collecting actions into the undo
79
+ # history and discarding them.
80
+ def setUndoCollection(collectUndo)
81
+ sendMessage(2012, collectUndo, 0)
82
+ end
83
+
84
+ # Select all the text in the document.
85
+ def selectAll
86
+ sendMessage(2013, 0, 0)
87
+ end
88
+
89
+ # Remember the current position in the undo history as the position
90
+ # at which the document was saved.
91
+ def setSavePoint
92
+ sendMessage(2014, 0, 0)
93
+ end
94
+
95
+ # Retrieve a buffer of cells.
96
+ # Returns the number of bytes in the buffer not including terminating NULs.
97
+ def getStyledText(tr)
98
+ sendMessage(2015, 0, tr)
99
+ end
100
+
101
+ # Are there any redoable actions in the undo history?
102
+ def canRedo
103
+ sendMessage(2016, 0, 0) == 1 ? true : false
104
+ end
105
+
106
+ # Retrieve the line number at which a particular marker is located.
107
+ def markerLineFromHandle(handle)
108
+ sendMessage(2017, handle, 0)
109
+ end
110
+
111
+ # Delete a marker.
112
+ def markerDeleteHandle(handle)
113
+ sendMessage(2018, handle, 0)
114
+ end
115
+
116
+ # Is undo history being collected?
117
+ def getUndoCollection
118
+ sendMessage(2019, 0, 0) == 1 ? true : false
119
+ end
120
+
121
+ SCWS_INVISIBLE = 0
122
+ SCWS_VISIBLEALWAYS = 1
123
+ SCWS_VISIBLEAFTERINDENT = 2
124
+
125
+ # Are white space characters currently visible?
126
+ # Returns one of SCWS_* constants.
127
+ def getViewWS
128
+ sendMessage(2020, 0, 0)
129
+ end
130
+
131
+ # Make white space characters invisible, always visible or visible outside indentation.
132
+ def setViewWS(viewWS)
133
+ sendMessage(2021, viewWS, 0)
134
+ end
135
+
136
+ # Find the position from a point within the window.
137
+ def positionFromPoint(x, y)
138
+ sendMessage(2022, x, y)
139
+ end
140
+
141
+ # Find the position from a point within the window but return
142
+ # INVALID_POSITION if not close to text.
143
+ def positionFromPointClose(x, y)
144
+ sendMessage(2023, x, y)
145
+ end
146
+
147
+ # Set caret to start of a line and ensure it is visible.
148
+ def gotoLine(line)
149
+ sendMessage(2024, line, 0)
150
+ end
151
+
152
+ # Set caret to a position and ensure it is visible.
153
+ def gotoPos(pos)
154
+ sendMessage(2025, pos, 0)
155
+ end
156
+
157
+ # Set the selection anchor to a position. The anchor is the opposite
158
+ # end of the selection from the caret.
159
+ def setAnchor(posAnchor)
160
+ sendMessage(2026, posAnchor, 0)
161
+ end
162
+
163
+ # Retrieve the text of the line containing the caret.
164
+ # Returns the index of the caret on the line.
165
+ def getCurLine(length)
166
+ buffer = "".ljust(length)
167
+ sendMessage(2027, length, buffer)
168
+ buffer
169
+ end
170
+
171
+ # Retrieve the position of the last correctly styled character.
172
+ def getEndStyled
173
+ sendMessage(2028, 0, 0)
174
+ end
175
+
176
+ SC_EOL_CRLF = 0
177
+ SC_EOL_CR = 1
178
+ SC_EOL_LF = 2
179
+
180
+ # Convert all line endings in the document to one mode.
181
+ def convertEOLs(eolMode)
182
+ sendMessage(2029, eolMode, 0)
183
+ end
184
+
185
+ # Retrieve the current end of line mode - one of CRLF, CR, or LF.
186
+ def getEOLMode
187
+ sendMessage(2030, 0, 0)
188
+ end
189
+
190
+ # Set the current end of line mode.
191
+ def setEOLMode(eolMode)
192
+ sendMessage(2031, eolMode, 0)
193
+ end
194
+
195
+ # Set the current styling position to pos and the styling mask to mask.
196
+ # The styling mask can be used to protect some bits in each styling byte from modification.
197
+ def startStyling(pos, mask)
198
+ sendMessage(2032, pos, mask)
199
+ end
200
+
201
+ # Change style from current styling position for length characters to a style
202
+ # and move the current styling position to after this newly styled segment.
203
+ def setStyling(length, style)
204
+ sendMessage(2033, length, style)
205
+ end
206
+
207
+ # Is drawing done first into a buffer or direct to the screen?
208
+ def getBufferedDraw
209
+ sendMessage(2034, 0, 0) == 1 ? true : false
210
+ end
211
+
212
+ # If drawing is buffered then each line of text is drawn into a bitmap buffer
213
+ # before drawing it to the screen to avoid flicker.
214
+ def setBufferedDraw(buffered)
215
+ sendMessage(2035, buffered, 0)
216
+ end
217
+
218
+ # Change the visible size of a tab to be a multiple of the width of a space character.
219
+ def setTabWidth(tabWidth)
220
+ sendMessage(2036, tabWidth, 0)
221
+ end
222
+
223
+ # Retrieve the visible size of a tab.
224
+ def getTabWidth
225
+ sendMessage(2121, 0, 0)
226
+ end
227
+
228
+ # The SC_CP_UTF8 value can be used to enter Unicode mode.
229
+ # This is the same value as CP_UTF8 in Windows
230
+ SC_CP_UTF8 = 65001
231
+
232
+ # The SC_CP_DBCS value can be used to indicate a DBCS mode for GTK+.
233
+ SC_CP_DBCS = 1
234
+
235
+ # Set the code page used to interpret the bytes of the document as characters.
236
+ # The SC_CP_UTF8 value can be used to enter Unicode mode.
237
+ def setCodePage(codePage)
238
+ sendMessage(2037, codePage, 0)
239
+ end
240
+
241
+ # In palette mode, Scintilla uses the environment's palette calls to display
242
+ # more colours. This may lead to ugly displays.
243
+ def setUsePalette(usePalette)
244
+ sendMessage(2039, usePalette, 0)
245
+ end
246
+
247
+ MARKER_MAX = 31
248
+ SC_MARK_CIRCLE = 0
249
+ SC_MARK_ROUNDRECT = 1
250
+ SC_MARK_ARROW = 2
251
+ SC_MARK_SMALLRECT = 3
252
+ SC_MARK_SHORTARROW = 4
253
+ SC_MARK_EMPTY = 5
254
+ SC_MARK_ARROWDOWN = 6
255
+ SC_MARK_MINUS = 7
256
+ SC_MARK_PLUS = 8
257
+
258
+ # Shapes used for outlining column.
259
+ SC_MARK_VLINE = 9
260
+ SC_MARK_LCORNER = 10
261
+ SC_MARK_TCORNER = 11
262
+ SC_MARK_BOXPLUS = 12
263
+ SC_MARK_BOXPLUSCONNECTED = 13
264
+ SC_MARK_BOXMINUS = 14
265
+ SC_MARK_BOXMINUSCONNECTED = 15
266
+ SC_MARK_LCORNERCURVE = 16
267
+ SC_MARK_TCORNERCURVE = 17
268
+ SC_MARK_CIRCLEPLUS = 18
269
+ SC_MARK_CIRCLEPLUSCONNECTED = 19
270
+ SC_MARK_CIRCLEMINUS = 20
271
+ SC_MARK_CIRCLEMINUSCONNECTED = 21
272
+
273
+ # Invisible mark that only sets the line background color.
274
+ SC_MARK_BACKGROUND = 22
275
+ SC_MARK_DOTDOTDOT = 23
276
+ SC_MARK_ARROWS = 24
277
+ SC_MARK_PIXMAP = 25
278
+ SC_MARK_FULLRECT = 26
279
+
280
+ SC_MARK_CHARACTER = 10000
281
+
282
+ # Markers used for outlining column.
283
+ SC_MARKNUM_FOLDEREND = 25
284
+ SC_MARKNUM_FOLDEROPENMID = 26
285
+ SC_MARKNUM_FOLDERMIDTAIL = 27
286
+ SC_MARKNUM_FOLDERTAIL = 28
287
+ SC_MARKNUM_FOLDERSUB = 29
288
+ SC_MARKNUM_FOLDER = 30
289
+ SC_MARKNUM_FOLDEROPEN = 31
290
+
291
+ SC_MASK_FOLDERS = 0xFE000000
292
+
293
+ # Set the symbol used for a particular marker number.
294
+ def markerDefine(markerNumber, markerSymbol)
295
+ sendMessage(2040, markerNumber, markerSymbol)
296
+ end
297
+
298
+ # Set the foreground colour used for a particular marker number.
299
+ def markerSetFore(markerNumber, fore)
300
+ sendMessage(2041, markerNumber, fore & 0xffffff)
301
+ end
302
+
303
+ # Set the background colour used for a particular marker number.
304
+ def markerSetBack(markerNumber, back)
305
+ sendMessage(2042, markerNumber, back & 0xffffff)
306
+ end
307
+
308
+ # Add a marker to a line, returning an ID which can be used to find or delete the marker.
309
+ def markerAdd(line, markerNumber)
310
+ sendMessage(2043, line, markerNumber)
311
+ end
312
+
313
+ # Delete a marker from a line.
314
+ def markerDelete(line, markerNumber)
315
+ sendMessage(2044, line, markerNumber)
316
+ end
317
+
318
+ # Delete all markers with a particular number from all lines.
319
+ def markerDeleteAll(markerNumber)
320
+ sendMessage(2045, markerNumber, 0)
321
+ end
322
+
323
+ # Get a bit mask of all the markers set on a line.
324
+ def markerGet(line)
325
+ sendMessage(2046, line, 0)
326
+ end
327
+
328
+ # Find the next line after lineStart that includes a marker in mask.
329
+ def markerNext(lineStart, markerMask)
330
+ sendMessage(2047, lineStart, markerMask)
331
+ end
332
+
333
+ # Find the previous line before lineStart that includes a marker in mask.
334
+ def markerPrevious(lineStart, markerMask)
335
+ sendMessage(2048, lineStart, markerMask)
336
+ end
337
+
338
+ # Define a marker from a pixmap.
339
+ def markerDefinePixmap(markerNumber, pixmap)
340
+ sendMessage(2049, markerNumber, pixmap)
341
+ end
342
+
343
+ # Add a set of markers to a line.
344
+ def markerAddSet(line, set)
345
+ sendMessage(2466, line, set)
346
+ end
347
+
348
+ SC_MARGIN_SYMBOL = 0
349
+ SC_MARGIN_NUMBER = 1
350
+
351
+ # Set a margin to be either numeric or symbolic.
352
+ def setMarginTypeN(margin, marginType)
353
+ sendMessage(2240, margin, marginType)
354
+ end
355
+
356
+ # Retrieve the type of a margin.
357
+ def getMarginTypeN(margin)
358
+ sendMessage(2241, margin, 0)
359
+ end
360
+
361
+ # Set the width of a margin to a width expressed in pixels.
362
+ def setMarginWidthN(margin, pixelWidth)
363
+ sendMessage(2242, margin, pixelWidth)
364
+ end
365
+
366
+ # Retrieve the width of a margin in pixels.
367
+ def getMarginWidthN(margin)
368
+ sendMessage(2243, margin, 0)
369
+ end
370
+
371
+ # Set a mask that determines which markers are displayed in a margin.
372
+ def setMarginMaskN(margin, mask)
373
+ sendMessage(2244, margin, mask)
374
+ end
375
+
376
+ # Retrieve the marker mask of a margin.
377
+ def getMarginMaskN(margin)
378
+ sendMessage(2245, margin, 0)
379
+ end
380
+
381
+ # Make a margin sensitive or insensitive to mouse clicks.
382
+ def setMarginSensitiveN(margin, sensitive)
383
+ sendMessage(2246, margin, sensitive)
384
+ end
385
+
386
+ # Retrieve the mouse click sensitivity of a margin.
387
+ def getMarginSensitiveN(margin)
388
+ sendMessage(2247, margin, 0) == 1 ? true : false
389
+ end
390
+
391
+ # Styles in range 32..37 are predefined for parts of the UI and are not used as normal styles.
392
+ # Styles 38 and 39 are for future use.
393
+ STYLE_DEFAULT = 32
394
+ STYLE_LINENUMBER = 33
395
+ STYLE_BRACELIGHT = 34
396
+ STYLE_BRACEBAD = 35
397
+ STYLE_CONTROLCHAR = 36
398
+ STYLE_INDENTGUIDE = 37
399
+ STYLE_LASTPREDEFINED = 39
400
+ STYLE_MAX = 127
401
+
402
+ # Character set identifiers are used in StyleSetCharacterSet.
403
+ # The values are the same as the Windows *_CHARSET values.
404
+ SC_CHARSET_ANSI = 0
405
+ SC_CHARSET_DEFAULT = 1
406
+ SC_CHARSET_BALTIC = 186
407
+ SC_CHARSET_CHINESEBIG5 = 136
408
+ SC_CHARSET_EASTEUROPE = 238
409
+ SC_CHARSET_GB2312 = 134
410
+ SC_CHARSET_GREEK = 161
411
+ SC_CHARSET_HANGUL = 129
412
+ SC_CHARSET_MAC = 77
413
+ SC_CHARSET_OEM = 255
414
+ SC_CHARSET_RUSSIAN = 204
415
+ SC_CHARSET_CYRILLIC = 1251
416
+ SC_CHARSET_SHIFTJIS = 128
417
+ SC_CHARSET_SYMBOL = 2
418
+ SC_CHARSET_TURKISH = 162
419
+ SC_CHARSET_JOHAB = 130
420
+ SC_CHARSET_HEBREW = 177
421
+ SC_CHARSET_ARABIC = 178
422
+ SC_CHARSET_VIETNAMESE = 163
423
+ SC_CHARSET_THAI = 222
424
+ SC_CHARSET_8859_15 = 1000
425
+
426
+ # Clear all the styles and make equivalent to the global default style.
427
+ def styleClearAll
428
+ sendMessage(2050, 0, 0)
429
+ end
430
+
431
+ # Set the foreground colour of a style.
432
+ def styleSetFore(style, fore)
433
+ sendMessage(2051, style, fore & 0xffffff)
434
+ end
435
+
436
+ # Set the background colour of a style.
437
+ def styleSetBack(style, back)
438
+ sendMessage(2052, style, back & 0xffffff)
439
+ end
440
+
441
+ # Set a style to be bold or not.
442
+ def styleSetBold(style, bold)
443
+ sendMessage(2053, style, bold)
444
+ end
445
+
446
+ # Set a style to be italic or not.
447
+ def styleSetItalic(style, italic)
448
+ sendMessage(2054, style, italic)
449
+ end
450
+
451
+ # Set the size of characters of a style.
452
+ def styleSetSize(style, sizePoints)
453
+ sendMessage(2055, style, sizePoints)
454
+ end
455
+
456
+ # Set the font of a style.
457
+ def styleSetFont(style, fontName)
458
+ sendMessage(2056, style, fontName)
459
+ end
460
+
461
+ # Set a style to have its end of line filled or not.
462
+ def styleSetEOLFilled(style, filled)
463
+ sendMessage(2057, style, filled)
464
+ end
465
+
466
+ # Reset the default style to its state at startup
467
+ def styleResetDefault
468
+ sendMessage(2058, 0, 0)
469
+ end
470
+
471
+ # Set a style to be underlined or not.
472
+ def styleSetUnderline(style, underline)
473
+ sendMessage(2059, style, underline)
474
+ end
475
+
476
+ SC_CASE_MIXED = 0
477
+ SC_CASE_UPPER = 1
478
+ SC_CASE_LOWER = 2
479
+ # Set a style to be mixed case, or to force upper or lower case.
480
+ def styleSetCase(style, caseForce)
481
+ sendMessage(2060, style, caseForce)
482
+ end
483
+
484
+ # Set the character set of the font in a style.
485
+ def styleSetCharacterSet(style, characterSet)
486
+ sendMessage(2066, style, characterSet)
487
+ end
488
+
489
+ # Set a style to be a hotspot or not.
490
+ def styleSetHotSpot(style, hotspot)
491
+ sendMessage(2409, style, hotspot)
492
+ end
493
+
494
+ # Set the foreground colour of the selection and whether to use this setting.
495
+ def setSelFore(useSetting, fore)
496
+ sendMessage(2067, useSetting, fore & 0xffffff)
497
+ end
498
+
499
+ # Set the background colour of the selection and whether to use this setting.
500
+ def setSelBack(useSetting, back)
501
+ sendMessage(2068, useSetting, back & 0xffffff)
502
+ end
503
+
504
+ # Set the foreground colour of the caret.
505
+ def setCaretFore(fore)
506
+ sendMessage(2069, fore & 0xffffff, 0)
507
+ end
508
+
509
+ # When key+modifier combination km is pressed perform msg.
510
+ def assignCmdKey(km, msg)
511
+ sendMessage(2070, km, msg)
512
+ end
513
+
514
+ # When key+modifier combination km is pressed do nothing.
515
+ def clearCmdKey(km)
516
+ sendMessage(2071, km, 0)
517
+ end
518
+
519
+ # Drop all key mappings.
520
+ def clearAllCmdKeys
521
+ sendMessage(2072, 0, 0)
522
+ end
523
+
524
+ # Set the styles for a segment of the document.
525
+ def setStylingEx(length, styles)
526
+ sendMessage(2073, length, styles)
527
+ end
528
+
529
+ # Set a style to be visible or not.
530
+ def styleSetVisible(style, visible)
531
+ sendMessage(2074, style, visible)
532
+ end
533
+
534
+ # Get the time in milliseconds that the caret is on and off.
535
+ def getCaretPeriod
536
+ sendMessage(2075, 0, 0)
537
+ end
538
+
539
+ # Get the time in milliseconds that the caret is on and off. 0 = steady on.
540
+ def setCaretPeriod(periodMilliseconds)
541
+ sendMessage(2076, periodMilliseconds, 0)
542
+ end
543
+
544
+ # Set the set of characters making up words for when moving or selecting by word.
545
+ # First sets deaults like SetCharsDefault.
546
+ def setWordChars(characters)
547
+ sendMessage(2077, 0, characters)
548
+ end
549
+
550
+ # Start a sequence of actions that is undone and redone as a unit.
551
+ # May be nested.
552
+ def beginUndoAction
553
+ sendMessage(2078, 0, 0)
554
+ end
555
+
556
+ # End a sequence of actions that is undone and redone as a unit.
557
+ def endUndoAction
558
+ sendMessage(2079, 0, 0)
559
+ end
560
+
561
+ INDIC_MAX = 7
562
+ INDIC_PLAIN = 0
563
+ INDIC_SQUIGGLE = 1
564
+ INDIC_TT = 2
565
+ INDIC_DIAGONAL = 3
566
+ INDIC_STRIKE = 4
567
+ INDIC_HIDDEN = 5
568
+ INDIC_BOX = 6
569
+ INDIC0_MASK = 0x20
570
+ INDIC1_MASK = 0x40
571
+ INDIC2_MASK = 0x80
572
+ INDICS_MASK = 0xE0
573
+
574
+ # Set an indicator to plain, squiggle or TT.
575
+ def indicSetStyle(indic, style)
576
+ sendMessage(2080, indic, style)
577
+ end
578
+
579
+ # Retrieve the style of an indicator.
580
+ def indicGetStyle(indic)
581
+ sendMessage(2081, indic, 0)
582
+ end
583
+
584
+ # Set the foreground colour of an indicator.
585
+ def indicSetFore(indic, fore)
586
+ sendMessage(2082, indic, fore & 0xffffff)
587
+ end
588
+
589
+ # Retrieve the foreground colour of an indicator.
590
+ def indicGetFore(indic)
591
+ sendMessage(2083, indic, 0)
592
+ end
593
+
594
+ # Set the foreground colour of all whitespace and whether to use this setting.
595
+ def setWhitespaceFore(useSetting, fore)
596
+ sendMessage(2084, useSetting, fore & 0xffffff)
597
+ end
598
+
599
+ # Set the background colour of all whitespace and whether to use this setting.
600
+ def setWhitespaceBack(useSetting, back)
601
+ sendMessage(2085, useSetting, back & 0xffffff)
602
+ end
603
+
604
+ # Divide each styling byte into lexical class bits (default: 5) and indicator
605
+ # bits (default: 3). If a lexer requires more than 32 lexical states, then this
606
+ # is used to expand the possible states.
607
+ def setStyleBits(bits)
608
+ sendMessage(2090, bits, 0)
609
+ end
610
+
611
+ # Retrieve number of bits in style bytes used to hold the lexical state.
612
+ def getStyleBits
613
+ sendMessage(2091, 0, 0)
614
+ end
615
+
616
+ # Used to hold extra styling information for each line.
617
+ def setLineState(line, state)
618
+ sendMessage(2092, line, state)
619
+ end
620
+
621
+ # Retrieve the extra styling information for a line.
622
+ def getLineState(line)
623
+ sendMessage(2093, line, 0)
624
+ end
625
+
626
+ # Retrieve the last line number that has line state.
627
+ def getMaxLineState
628
+ sendMessage(2094, 0, 0)
629
+ end
630
+
631
+ # Is the background of the line containing the caret in a different colour?
632
+ def getCaretLineVisible
633
+ sendMessage(2095, 0, 0) == 1 ? true : false
634
+ end
635
+
636
+ # Display the background of the line containing the caret in a different colour.
637
+ def setCaretLineVisible(show)
638
+ sendMessage(2096, show, 0)
639
+ end
640
+
641
+ # Get the colour of the background of the line containing the caret.
642
+ def getCaretLineBack
643
+ sendMessage(2097, 0, 0)
644
+ end
645
+
646
+ # Set the colour of the background of the line containing the caret.
647
+ def setCaretLineBack(back)
648
+ sendMessage(2098, back & 0xffffff, 0)
649
+ end
650
+
651
+ # Set a style to be changeable or not (read only).
652
+ # Experimental feature, currently buggy.
653
+ def styleSetChangeable(style, changeable)
654
+ sendMessage(2099, style, changeable)
655
+ end
656
+
657
+ # Display a auto-completion list.
658
+ # The lenEntered parameter indicates how many characters before
659
+ # the caret should be used to provide context.
660
+ def autoCShow(lenEntered, itemList)
661
+ sendMessage(2100, lenEntered, itemList)
662
+ end
663
+
664
+ # Remove the auto-completion list from the screen.
665
+ def autoCCancel
666
+ sendMessage(2101, 0, 0)
667
+ end
668
+
669
+ # Is there an auto-completion list visible?
670
+ def autoCActive
671
+ sendMessage(2102, 0, 0) == 1 ? true : false
672
+ end
673
+
674
+ # Retrieve the position of the caret when the auto-completion list was displayed.
675
+ def autoCPosStart
676
+ sendMessage(2103, 0, 0)
677
+ end
678
+
679
+ # User has selected an item so remove the list and insert the selection.
680
+ def autoCComplete
681
+ sendMessage(2104, 0, 0)
682
+ end
683
+
684
+ # Define a set of character that when typed cancel the auto-completion list.
685
+ def autoCStops(characterSet)
686
+ sendMessage(2105, 0, characterSet)
687
+ end
688
+
689
+ # Change the separator character in the string setting up an auto-completion list.
690
+ # Default is space but can be changed if items contain space.
691
+ def autoCSetSeparator(separatorCharacter)
692
+ sendMessage(2106, separatorCharacter, 0)
693
+ end
694
+
695
+ # Retrieve the auto-completion list separator character.
696
+ def autoCGetSeparator
697
+ sendMessage(2107, 0, 0)
698
+ end
699
+
700
+ # Select the item in the auto-completion list that starts with a string.
701
+ def autoCSelect(text)
702
+ sendMessage(2108, 0, text)
703
+ end
704
+
705
+ # Should the auto-completion list be cancelled if the user backspaces to a
706
+ # position before where the box was created.
707
+ def autoCSetCancelAtStart(cancel)
708
+ sendMessage(2110, cancel, 0)
709
+ end
710
+
711
+ # Retrieve whether auto-completion cancelled by backspacing before start.
712
+ def autoCGetCancelAtStart
713
+ sendMessage(2111, 0, 0) == 1 ? true : false
714
+ end
715
+
716
+ # Define a set of characters that when typed will cause the autocompletion to
717
+ # choose the selected item.
718
+ def autoCSetFillUps(characterSet)
719
+ sendMessage(2112, 0, characterSet)
720
+ end
721
+
722
+ # Should a single item auto-completion list automatically choose the item.
723
+ def autoCSetChooseSingle(chooseSingle)
724
+ sendMessage(2113, chooseSingle, 0)
725
+ end
726
+
727
+ # Retrieve whether a single item auto-completion list automatically choose the item.
728
+ def autoCGetChooseSingle
729
+ sendMessage(2114, 0, 0) == 1 ? true : false
730
+ end
731
+
732
+ # Set whether case is significant when performing auto-completion searches.
733
+ def autoCSetIgnoreCase(ignoreCase)
734
+ sendMessage(2115, ignoreCase, 0)
735
+ end
736
+
737
+ # Retrieve state of ignore case flag.
738
+ def autoCGetIgnoreCase
739
+ sendMessage(2116, 0, 0) == 1 ? true : false
740
+ end
741
+
742
+ # Display a list of strings and send notification when user chooses one.
743
+ def userListShow(listType, itemList)
744
+ sendMessage(2117, listType, itemList)
745
+ end
746
+
747
+ # Set whether or not autocompletion is hidden automatically when nothing matches.
748
+ def autoCSetAutoHide(autoHide)
749
+ sendMessage(2118, autoHide, 0)
750
+ end
751
+
752
+ # Retrieve whether or not autocompletion is hidden automatically when nothing matches.
753
+ def autoCGetAutoHide
754
+ sendMessage(2119, 0, 0) == 1 ? true : false
755
+ end
756
+
757
+ # Set whether or not autocompletion deletes any word characters
758
+ # after the inserted text upon completion.
759
+ def autoCSetDropRestOfWord(dropRestOfWord)
760
+ sendMessage(2270, dropRestOfWord, 0)
761
+ end
762
+
763
+ # Retrieve whether or not autocompletion deletes any word characters
764
+ # after the inserted text upon completion.
765
+ def autoCGetDropRestOfWord
766
+ sendMessage(2271, 0, 0) == 1 ? true : false
767
+ end
768
+
769
+ # Register an XPM image for use in autocompletion lists.
770
+ def registerImage(type, xpmData)
771
+ sendMessage(2405, type, xpmData)
772
+ end
773
+
774
+ # Clear all the registered XPM images.
775
+ def clearRegisteredImages
776
+ sendMessage(2408, 0, 0)
777
+ end
778
+
779
+ # Retrieve the auto-completion list type-separator character.
780
+ def autoCGetTypeSeparator
781
+ sendMessage(2285, 0, 0)
782
+ end
783
+
784
+ # Change the type-separator character in the string setting up an auto-completion list.
785
+ # Default is '?' but can be changed if items contain '?'.
786
+ def autoCSetTypeSeparator(separatorCharacter)
787
+ sendMessage(2286, separatorCharacter, 0)
788
+ end
789
+
790
+ # Set the maximum width, in characters, of auto-completion and user lists.
791
+ # Set to 0 to autosize to fit longest item, which is the default.
792
+ def autoCSetMaxWidth(characterCount)
793
+ sendMessage(2208, characterCount, 0)
794
+ end
795
+
796
+ # Get the maximum width, in characters, of auto-completion and user lists.
797
+ def autoCGetMaxWidth
798
+ sendMessage(2209, 0, 0)
799
+ end
800
+
801
+ # Set the maximum height, in rows, of auto-completion and user lists.
802
+ # The default is 5 rows.
803
+ def autoCSetMaxHeight(rowCount)
804
+ sendMessage(2210, rowCount, 0)
805
+ end
806
+
807
+ # Set the maximum height, in rows, of auto-completion and user lists.
808
+ def autoCGetMaxHeight
809
+ sendMessage(2211, 0, 0)
810
+ end
811
+
812
+ # Set the number of spaces used for one level of indentation.
813
+ def setIndent(indentSize)
814
+ sendMessage(2122, indentSize, 0)
815
+ end
816
+
817
+ # Retrieve indentation size.
818
+ def getIndent
819
+ sendMessage(2123, 0, 0)
820
+ end
821
+
822
+ # Indentation will only use space characters if useTabs is false, otherwise
823
+ # it will use a combination of tabs and spaces.
824
+ def setUseTabs(useTabs)
825
+ sendMessage(2124, useTabs, 0)
826
+ end
827
+
828
+ # Retrieve whether tabs will be used in indentation.
829
+ def getUseTabs
830
+ sendMessage(2125, 0, 0) == 1 ? true : false
831
+ end
832
+
833
+ # Change the indentation of a line to a number of columns.
834
+ def setLineIndentation(line, indentSize)
835
+ sendMessage(2126, line, indentSize)
836
+ end
837
+
838
+ # Retrieve the number of columns that a line is indented.
839
+ def getLineIndentation(line)
840
+ sendMessage(2127, line, 0)
841
+ end
842
+
843
+ # Retrieve the position before the first non indentation character on a line.
844
+ def getLineIndentPosition(line)
845
+ sendMessage(2128, line, 0)
846
+ end
847
+
848
+ # Retrieve the column number of a position, taking tab width into account.
849
+ def getColumn(pos)
850
+ sendMessage(2129, pos, 0)
851
+ end
852
+
853
+ # Show or hide the horizontal scroll bar.
854
+ def setHScrollBar(show)
855
+ sendMessage(2130, show, 0)
856
+ end
857
+
858
+ # Is the horizontal scroll bar visible?
859
+ def getHScrollBar
860
+ sendMessage(2131, 0, 0) == 1 ? true : false
861
+ end
862
+
863
+ # Show or hide indentation guides.
864
+ def setIndentationGuides(show)
865
+ sendMessage(2132, show, 0)
866
+ end
867
+
868
+ # Are the indentation guides visible?
869
+ def getIndentationGuides
870
+ sendMessage(2133, 0, 0) == 1 ? true : false
871
+ end
872
+
873
+ # Set the highlighted indentation guide column.
874
+ # 0 = no highlighted guide.
875
+ def setHighlightGuide(column)
876
+ sendMessage(2134, column, 0)
877
+ end
878
+
879
+ # Get the highlighted indentation guide column.
880
+ def getHighlightGuide
881
+ sendMessage(2135, 0, 0)
882
+ end
883
+
884
+ # Get the position after the last visible characters on a line.
885
+ def getLineEndPosition(line)
886
+ sendMessage(2136, line, 0)
887
+ end
888
+
889
+ # Get the code page used to interpret the bytes of the document as characters.
890
+ def getCodePage
891
+ sendMessage(2137, 0, 0)
892
+ end
893
+
894
+ # Get the foreground colour of the caret.
895
+ def getCaretFore
896
+ sendMessage(2138, 0, 0)
897
+ end
898
+
899
+ # In palette mode?
900
+ def getUsePalette
901
+ sendMessage(2139, 0, 0) == 1 ? true : false
902
+ end
903
+
904
+ # In read-only mode?
905
+ def getReadOnly
906
+ sendMessage(2140, 0, 0) == 1 ? true : false
907
+ end
908
+
909
+ # Sets the position of the caret.
910
+ def setCurrentPos(pos)
911
+ sendMessage(2141, pos, 0)
912
+ end
913
+
914
+ # Sets the position that starts the selection - this becomes the anchor.
915
+ def setSelectionStart(pos)
916
+ sendMessage(2142, pos, 0)
917
+ end
918
+
919
+ # Returns the position at the start of the selection.
920
+ def getSelectionStart
921
+ sendMessage(2143, 0, 0)
922
+ end
923
+
924
+ # Sets the position that ends the selection - this becomes the currentPosition.
925
+ def setSelectionEnd(pos)
926
+ sendMessage(2144, pos, 0)
927
+ end
928
+
929
+ # Returns the position at the end of the selection.
930
+ def getSelectionEnd
931
+ sendMessage(2145, 0, 0)
932
+ end
933
+
934
+ # Sets the print magnification added to the point size of each style for printing.
935
+ def setPrintMagnification(magnification)
936
+ sendMessage(2146, magnification, 0)
937
+ end
938
+
939
+ # Returns the print magnification.
940
+ def getPrintMagnification
941
+ sendMessage(2147, 0, 0)
942
+ end
943
+
944
+ # PrintColourMode - use same colours as screen.
945
+ SC_PRINT_NORMAL = 0
946
+ # PrintColourMode - invert the light value of each style for printing.
947
+ SC_PRINT_INVERTLIGHT = 1
948
+ # PrintColourMode - force black text on white background for printing.
949
+ SC_PRINT_BLACKONWHITE = 2
950
+ # PrintColourMode - text stays coloured, but all background is forced to be white for printing.
951
+ SC_PRINT_COLOURONWHITE = 3
952
+ # PrintColourMode - only the default-background is forced to be white for printing.
953
+ SC_PRINT_COLOURONWHITEDEFAULTBG = 4
954
+
955
+ # Modify colours when printing for clearer printed text.
956
+ def setPrintColourMode(mode)
957
+ sendMessage(2148, mode, 0)
958
+ end
959
+
960
+ # Returns the print colour mode.
961
+ def getPrintColourMode
962
+ sendMessage(2149, 0, 0)
963
+ end
964
+
965
+ SCFIND_WHOLEWORD = 2
966
+ SCFIND_MATCHCASE = 4
967
+ SCFIND_WORDSTART = 0x00100000
968
+ SCFIND_REGEXP = 0x00200000
969
+ SCFIND_POSIX = 0x00400000
970
+
971
+ # Find some text in the document.
972
+ def findText(flags, ft)
973
+ sendMessage(2150, flags, ft)
974
+ end
975
+
976
+ # On Windows, will draw the document into a display context such as a printer.
977
+ def formatRange(draw, fr)
978
+ sendMessage(2151, draw, fr)
979
+ end
980
+
981
+ # Retrieve the display line at the top of the display.
982
+ def getFirstVisibleLine
983
+ sendMessage(2152, 0, 0)
984
+ end
985
+
986
+ # Retrieve the contents of a line.
987
+ # Returns the length of the line.
988
+ def getLine(line)
989
+ buffer = "".ljust(line)
990
+ sendMessage(2153, line, buffer)
991
+ buffer
992
+ end
993
+
994
+ # Returns the number of lines in the document. There is always at least one.
995
+ def getLineCount
996
+ sendMessage(2154, 0, 0)
997
+ end
998
+
999
+ # Sets the size in pixels of the left margin.
1000
+ def setMarginLeft(pixelWidth)
1001
+ sendMessage(2155, 0, pixelWidth)
1002
+ end
1003
+
1004
+ # Returns the size in pixels of the left margin.
1005
+ def getMarginLeft
1006
+ sendMessage(2156, 0, 0)
1007
+ end
1008
+
1009
+ # Sets the size in pixels of the right margin.
1010
+ def setMarginRight(pixelWidth)
1011
+ sendMessage(2157, 0, pixelWidth)
1012
+ end
1013
+
1014
+ # Returns the size in pixels of the right margin.
1015
+ def getMarginRight
1016
+ sendMessage(2158, 0, 0)
1017
+ end
1018
+
1019
+ # Is the document different from when it was last saved?
1020
+ def getModify
1021
+ sendMessage(2159, 0, 0) == 1 ? true : false
1022
+ end
1023
+
1024
+ # Select a range of text.
1025
+ def setSel(start, last)
1026
+ sendMessage(2160, start, last)
1027
+ end
1028
+
1029
+ # Retrieve the selected text.
1030
+ # Return the length of the text.
1031
+ def getSelText
1032
+ sendMessage(2161, 0, text)
1033
+ end
1034
+
1035
+ # Retrieve a range of text.
1036
+ # Return the length of the text.
1037
+ def getTextRange(tr)
1038
+ sendMessage(2162, 0, tr)
1039
+ end
1040
+
1041
+ # Draw the selection in normal style or with selection highlighted.
1042
+ def hideSelection(normal)
1043
+ sendMessage(2163, normal, 0)
1044
+ end
1045
+
1046
+ # Retrieve the x value of the point in the window where a position is displayed.
1047
+ def pointXFromPosition(pos)
1048
+ sendMessage(2164, 0, pos)
1049
+ end
1050
+
1051
+ # Retrieve the y value of the point in the window where a position is displayed.
1052
+ def pointYFromPosition(pos)
1053
+ sendMessage(2165, 0, pos)
1054
+ end
1055
+
1056
+ # Retrieve the line containing a position.
1057
+ def lineFromPosition(pos)
1058
+ sendMessage(2166, pos, 0)
1059
+ end
1060
+
1061
+ # Retrieve the position at the start of a line.
1062
+ def positionFromLine(line)
1063
+ sendMessage(2167, line, 0)
1064
+ end
1065
+
1066
+ # Scroll horizontally and vertically.
1067
+ def lineScroll(columns, lines)
1068
+ sendMessage(2168, columns, lines)
1069
+ end
1070
+
1071
+ # Ensure the caret is visible.
1072
+ def scrollCaret
1073
+ sendMessage(2169, 0, 0)
1074
+ end
1075
+
1076
+ # Replace the selected text with the argument text.
1077
+ def replaceSel(text)
1078
+ sendMessage(2170, 0, text)
1079
+ end
1080
+
1081
+ # Set to read only or read write.
1082
+ def setReadOnly(readOnly)
1083
+ sendMessage(2171, readOnly, 0)
1084
+ end
1085
+
1086
+ # Null operation.
1087
+ def null
1088
+ sendMessage(2172, 0, 0)
1089
+ end
1090
+
1091
+ # Will a paste succeed?
1092
+ def canPaste
1093
+ sendMessage(2173, 0, 0) == 1 ? true : false
1094
+ end
1095
+
1096
+ # Are there any undoable actions in the undo history?
1097
+ def canUndo
1098
+ sendMessage(2174, 0, 0) == 1 ? true : false
1099
+ end
1100
+
1101
+ # Delete the undo history.
1102
+ def emptyUndoBuffer
1103
+ sendMessage(2175, 0, 0)
1104
+ end
1105
+
1106
+ # Undo one action in the undo history.
1107
+ def undo
1108
+ sendMessage(2176, 0, 0)
1109
+ end
1110
+
1111
+ # Cut the selection to the clipboard.
1112
+ def cut
1113
+ sendMessage(2177, 0, 0)
1114
+ end
1115
+
1116
+ # Copy the selection to the clipboard.
1117
+ def copy
1118
+ sendMessage(2178, 0, 0)
1119
+ end
1120
+
1121
+ # Paste the contents of the clipboard into the document replacing the selection.
1122
+ def paste
1123
+ sendMessage(2179, 0, 0)
1124
+ end
1125
+
1126
+ # Clear the selection.
1127
+ def clear
1128
+ sendMessage(2180, 0, 0)
1129
+ end
1130
+
1131
+ # Replace the contents of the document with the argument text.
1132
+ def setText(text)
1133
+ sendMessage(2181, 0, text)
1134
+ end
1135
+
1136
+ # Retrieve all the text in the document.
1137
+ # Returns number of characters retrieved.
1138
+ def getText(length)
1139
+ buffer = "".ljust(length)
1140
+ sendMessage(2182, length, buffer)
1141
+ buffer
1142
+ end
1143
+
1144
+ # Retrieve the number of characters in the document.
1145
+ def getTextLength
1146
+ sendMessage(2183, 0, 0)
1147
+ end
1148
+
1149
+ # Retrieve a pointer to a function that processes messages for this Scintilla.
1150
+ def getDirectFunction
1151
+ sendMessage(2184, 0, 0)
1152
+ end
1153
+
1154
+ # Retrieve a pointer value to use as the first argument when calling
1155
+ # the function returned by GetDirectFunction.
1156
+ def getDirectPointer
1157
+ sendMessage(2185, 0, 0)
1158
+ end
1159
+
1160
+ # Set to overtype (true) or insert mode.
1161
+ def setOvertype(overtype)
1162
+ sendMessage(2186, overtype, 0)
1163
+ end
1164
+
1165
+ # Returns true if overtype mode is active otherwise false is returned.
1166
+ def getOvertype
1167
+ sendMessage(2187, 0, 0) == 1 ? true : false
1168
+ end
1169
+
1170
+ # Set the width of the insert mode caret.
1171
+ def setCaretWidth(pixelWidth)
1172
+ sendMessage(2188, pixelWidth, 0)
1173
+ end
1174
+
1175
+ # Returns the width of the insert mode caret.
1176
+ def getCaretWidth
1177
+ sendMessage(2189, 0, 0)
1178
+ end
1179
+
1180
+ # Sets the position that starts the target which is used for updating the
1181
+ # document without affecting the scroll position.
1182
+ def setTargetStart(pos)
1183
+ sendMessage(2190, pos, 0)
1184
+ end
1185
+
1186
+ # Get the position that starts the target.
1187
+ def getTargetStart
1188
+ sendMessage(2191, 0, 0)
1189
+ end
1190
+
1191
+ # Sets the position that ends the target which is used for updating the
1192
+ # document without affecting the scroll position.
1193
+ def setTargetEnd(pos)
1194
+ sendMessage(2192, pos, 0)
1195
+ end
1196
+
1197
+ # Get the position that ends the target.
1198
+ def getTargetEnd
1199
+ sendMessage(2193, 0, 0)
1200
+ end
1201
+
1202
+ # Replace the target text with the argument text.
1203
+ # Text is counted so it can contain NULs.
1204
+ # Returns the length of the replacement text.
1205
+ def replaceTarget(length, text)
1206
+ sendMessage(2194, length, text)
1207
+ end
1208
+
1209
+ # Replace the target text with the argument text after \d processing.
1210
+ # Text is counted so it can contain NULs.
1211
+ # Looks for \d where d is between 1 and 9 and replaces these with the strings
1212
+ # matched in the last search operation which were surrounded by \( and \).
1213
+ # Returns the length of the replacement text including any change
1214
+ # caused by processing the \d patterns.
1215
+ def replaceTargetRE(length, text)
1216
+ sendMessage(2195, length, text)
1217
+ end
1218
+
1219
+ # Search for a counted string in the target and set the target to the found
1220
+ # range. Text is counted so it can contain NULs.
1221
+ # Returns length of range or -1 for failure in which case target is not moved.
1222
+ def searchInTarget(length, text)
1223
+ sendMessage(2197, length, text)
1224
+ end
1225
+
1226
+ # Set the search flags used by SearchInTarget.
1227
+ def setSearchFlags(flags)
1228
+ sendMessage(2198, flags, 0)
1229
+ end
1230
+
1231
+ # Get the search flags used by SearchInTarget.
1232
+ def getSearchFlags
1233
+ sendMessage(2199, 0, 0)
1234
+ end
1235
+
1236
+ # Show a call tip containing a definition near position pos.
1237
+ def callTipShow(pos, definition)
1238
+ sendMessage(2200, pos, definition)
1239
+ end
1240
+
1241
+ # Remove the call tip from the screen.
1242
+ def callTipCancel
1243
+ sendMessage(2201, 0, 0)
1244
+ end
1245
+
1246
+ # Is there an active call tip?
1247
+ def callTipActive
1248
+ sendMessage(2202, 0, 0) == 1 ? true : false
1249
+ end
1250
+
1251
+ # Retrieve the position where the caret was before displaying the call tip.
1252
+ def callTipPosStart
1253
+ sendMessage(2203, 0, 0)
1254
+ end
1255
+
1256
+ # Highlight a segment of the definition.
1257
+ def callTipSetHlt(start, last)
1258
+ sendMessage(2204, start, last)
1259
+ end
1260
+
1261
+ # Set the background colour for the call tip.
1262
+ def callTipSetBack(back)
1263
+ sendMessage(2205, back & 0xffffff, 0)
1264
+ end
1265
+
1266
+ # Set the foreground colour for the call tip.
1267
+ def callTipSetFore(fore)
1268
+ sendMessage(2206, fore & 0xffffff, 0)
1269
+ end
1270
+
1271
+ # Set the foreground colour for the highlighted part of the call tip.
1272
+ def callTipSetForeHlt(fore)
1273
+ sendMessage(2207, fore & 0xffffff, 0)
1274
+ end
1275
+
1276
+ # Find the display line of a document line taking hidden lines into account.
1277
+ def visibleFromDocLine(line)
1278
+ sendMessage(2220, line, 0)
1279
+ end
1280
+
1281
+ # Find the document line of a display line taking hidden lines into account.
1282
+ def docLineFromVisible(lineDisplay)
1283
+ sendMessage(2221, lineDisplay, 0)
1284
+ end
1285
+
1286
+ # The number of display lines needed to wrap a document line
1287
+ def wrapCount(line)
1288
+ sendMessage(2235, line, 0)
1289
+ end
1290
+
1291
+ SC_FOLDLEVELBASE = 0x400
1292
+ SC_FOLDLEVELWHITEFLAG = 0x1000
1293
+ SC_FOLDLEVELHEADERFLAG = 0x2000
1294
+ SC_FOLDLEVELBOXHEADERFLAG = 0x4000
1295
+ SC_FOLDLEVELBOXFOOTERFLAG = 0x8000
1296
+ SC_FOLDLEVELCONTRACTED = 0x10000
1297
+ SC_FOLDLEVELUNINDENT = 0x20000
1298
+ SC_FOLDLEVELNUMBERMASK = 0x0FFF
1299
+
1300
+ # Set the fold level of a line.
1301
+ # This encodes an integer level along with flags indicating whether the
1302
+ # line is a header and whether it is effectively white space.
1303
+ def setFoldLevel(line, level)
1304
+ sendMessage(2222, line, level)
1305
+ end
1306
+
1307
+ # Retrieve the fold level of a line.
1308
+ def getFoldLevel(line)
1309
+ sendMessage(2223, line, 0)
1310
+ end
1311
+
1312
+ # Find the last child line of a header line.
1313
+ def getLastChild(line, level)
1314
+ sendMessage(2224, line, level)
1315
+ end
1316
+
1317
+ # Find the parent line of a child line.
1318
+ def getFoldParent(line)
1319
+ sendMessage(2225, line, 0)
1320
+ end
1321
+
1322
+ # Make a range of lines visible.
1323
+ def showLines(lineStart, lineEnd)
1324
+ sendMessage(2226, lineStart, lineEnd)
1325
+ end
1326
+
1327
+ # Make a range of lines invisible.
1328
+ def hideLines(lineStart, lineEnd)
1329
+ sendMessage(2227, lineStart, lineEnd)
1330
+ end
1331
+
1332
+ # Is a line visible?
1333
+ def getLineVisible(line)
1334
+ sendMessage(2228, line, 0) == 1 ? true : false
1335
+ end
1336
+
1337
+ # Show the children of a header line.
1338
+ def setFoldExpanded(line, expanded)
1339
+ sendMessage(2229, line, expanded)
1340
+ end
1341
+
1342
+ # Is a header line expanded?
1343
+ def getFoldExpanded(line)
1344
+ sendMessage(2230, line, 0) == 1 ? true : false
1345
+ end
1346
+
1347
+ # Switch a header line between expanded and contracted.
1348
+ def toggleFold(line)
1349
+ sendMessage(2231, line, 0)
1350
+ end
1351
+
1352
+ # Ensure a particular line is visible by expanding any header line hiding it.
1353
+ def ensureVisible(line)
1354
+ sendMessage(2232, line, 0)
1355
+ end
1356
+
1357
+ SC_FOLDFLAG_LINEBEFORE_EXPANDED = 0x0002
1358
+ SC_FOLDFLAG_LINEBEFORE_CONTRACTED = 0x0004
1359
+ SC_FOLDFLAG_LINEAFTER_EXPANDED = 0x0008
1360
+ SC_FOLDFLAG_LINEAFTER_CONTRACTED = 0x0010
1361
+ SC_FOLDFLAG_LEVELNUMBERS = 0x0040
1362
+ SC_FOLDFLAG_BOX = 0x0001
1363
+
1364
+ # Set some style options for folding.
1365
+ def setFoldFlags(flags)
1366
+ sendMessage(2233, flags, 0)
1367
+ end
1368
+
1369
+ # Ensure a particular line is visible by expanding any header line hiding it.
1370
+ # Use the currently set visibility policy to determine which range to display.
1371
+ def ensureVisibleEnforcePolicy(line)
1372
+ sendMessage(2234, line, 0)
1373
+ end
1374
+
1375
+ # Sets whether a tab pressed when caret is within indentation indents.
1376
+ def setTabIndents(tabIndents)
1377
+ sendMessage(2260, tabIndents, 0)
1378
+ end
1379
+
1380
+ # Does a tab pressed when caret is within indentation indent?
1381
+ def getTabIndents
1382
+ sendMessage(2261, 0, 0) == 1 ? true : false
1383
+ end
1384
+
1385
+ # Sets whether a backspace pressed when caret is within indentation unindents.
1386
+ def setBackSpaceUnIndents(bsUnIndents)
1387
+ sendMessage(2262, bsUnIndents, 0)
1388
+ end
1389
+
1390
+ # Does a backspace pressed when caret is within indentation unindent?
1391
+ def getBackSpaceUnIndents
1392
+ sendMessage(2263, 0, 0) == 1 ? true : false
1393
+ end
1394
+
1395
+ SC_TIME_FOREVER = 10000000
1396
+
1397
+ # Sets the time the mouse must sit still to generate a mouse dwell event.
1398
+ def setMouseDwellTime(periodMilliseconds)
1399
+ sendMessage(2264, periodMilliseconds, 0)
1400
+ end
1401
+
1402
+ # Retrieve the time the mouse must sit still to generate a mouse dwell event.
1403
+ def getMouseDwellTime
1404
+ sendMessage(2265, 0, 0)
1405
+ end
1406
+
1407
+ # Get position of start of word.
1408
+ def wordStartPosition(pos, onlyWordCharacters)
1409
+ sendMessage(2266, pos, onlyWordCharacters)
1410
+ end
1411
+
1412
+ # Get position of end of word.
1413
+ def wordEndPosition(pos, onlyWordCharacters)
1414
+ sendMessage(2267, pos, onlyWordCharacters)
1415
+ end
1416
+
1417
+ SC_WRAP_NONE = 0
1418
+ SC_WRAP_WORD = 1
1419
+ SC_WRAP_CHAR = 2
1420
+
1421
+ # Sets whether text is word wrapped.
1422
+ def setWrapMode(mode)
1423
+ sendMessage(2268, mode, 0)
1424
+ end
1425
+
1426
+ # Retrieve whether text is word wrapped.
1427
+ def getWrapMode
1428
+ sendMessage(2269, 0, 0)
1429
+ end
1430
+
1431
+ SC_WRAPVISUALFLAG_NONE = 0x0000
1432
+ SC_WRAPVISUALFLAG_END = 0x0001
1433
+ SC_WRAPVISUALFLAG_START = 0x0002
1434
+
1435
+ # Set the display mode of visual flags for wrapped lines.
1436
+ def setWrapVisualFlags(wrapVisualFlags)
1437
+ sendMessage(2460, wrapVisualFlags, 0)
1438
+ end
1439
+
1440
+ # Retrive the display mode of visual flags for wrapped lines.
1441
+ def getWrapVisualFlags
1442
+ sendMessage(2461, 0, 0)
1443
+ end
1444
+
1445
+ SC_WRAPVISUALFLAGLOC_DEFAULT = 0x0000
1446
+ SC_WRAPVISUALFLAGLOC_END_BY_TEXT = 0x0001
1447
+ SC_WRAPVISUALFLAGLOC_START_BY_TEXT = 0x0002
1448
+
1449
+ # Set the location of visual flags for wrapped lines.
1450
+ def setWrapVisualFlagsLocation(wrapVisualFlagsLocation)
1451
+ sendMessage(2462, wrapVisualFlagsLocation, 0)
1452
+ end
1453
+
1454
+ # Retrive the location of visual flags for wrapped lines.
1455
+ def getWrapVisualFlagsLocation
1456
+ sendMessage(2463, 0, 0)
1457
+ end
1458
+
1459
+ # Set the start indent for wrapped lines.
1460
+ def setWrapStartIndent(indent)
1461
+ sendMessage(2464, indent, 0)
1462
+ end
1463
+
1464
+ # Retrive the start indent for wrapped lines.
1465
+ def getWrapStartIndent
1466
+ sendMessage(2465, 0, 0)
1467
+ end
1468
+
1469
+ SC_CACHE_NONE = 0
1470
+ SC_CACHE_CARET = 1
1471
+ SC_CACHE_PAGE = 2
1472
+ SC_CACHE_DOCUMENT = 3
1473
+
1474
+ # Sets the degree of caching of layout information.
1475
+ def setLayoutCache(mode)
1476
+ sendMessage(2272, mode, 0)
1477
+ end
1478
+
1479
+ # Retrieve the degree of caching of layout information.
1480
+ def getLayoutCache
1481
+ sendMessage(2273, 0, 0)
1482
+ end
1483
+
1484
+ # Sets the document width assumed for scrolling.
1485
+ def setScrollWidth(pixelWidth)
1486
+ sendMessage(2274, pixelWidth, 0)
1487
+ end
1488
+
1489
+ # Retrieve the document width assumed for scrolling.
1490
+ def getScrollWidth
1491
+ sendMessage(2275, 0, 0)
1492
+ end
1493
+
1494
+ # Measure the pixel width of some text in a particular style.
1495
+ # NUL terminated text argument.
1496
+ # Does not handle tab or control characters.
1497
+ def textWidth(style, text)
1498
+ sendMessage(2276, style, text)
1499
+ end
1500
+
1501
+ # Sets the scroll range so that maximum scroll position has
1502
+ # the last line at the bottom of the view (default).
1503
+ # Setting this to false allows scrolling one page below the last line.
1504
+ def setEndAtLastLine(endAtLastLine)
1505
+ sendMessage(2277, endAtLastLine, 0)
1506
+ end
1507
+
1508
+ # Retrieve whether the maximum scroll position has the last
1509
+ # line at the bottom of the view.
1510
+ def getEndAtLastLine
1511
+ sendMessage(2278, 0, 0) == 1 ? true : false
1512
+ end
1513
+
1514
+ # Retrieve the height of a particular line of text in pixels.
1515
+ def textHeight(line)
1516
+ sendMessage(2279, line, 0)
1517
+ end
1518
+
1519
+ # Show or hide the vertical scroll bar.
1520
+ def setVScrollBar(show)
1521
+ sendMessage(2280, show, 0)
1522
+ end
1523
+
1524
+ # Is the vertical scroll bar visible?
1525
+ def getVScrollBar
1526
+ sendMessage(2281, 0, 0) == 1 ? true : false
1527
+ end
1528
+
1529
+ # Append a string to the end of the document without changing the selection.
1530
+ def appendText(length, text)
1531
+ sendMessage(2282, length, text)
1532
+ end
1533
+
1534
+ # Is drawing done in two phases with backgrounds drawn before faoregrounds?
1535
+ def getTwoPhaseDraw
1536
+ sendMessage(2283, 0, 0) == 1 ? true : false
1537
+ end
1538
+
1539
+ # In twoPhaseDraw mode, drawing is performed in two phases, first the background
1540
+ # and then the foreground. This avoids chopping off characters that overlap the next run.
1541
+ def setTwoPhaseDraw(twoPhase)
1542
+ sendMessage(2284, twoPhase, 0)
1543
+ end
1544
+
1545
+ # Make the target range start and end be the same as the selection range start and end.
1546
+ def targetFromSelection
1547
+ sendMessage(2287, 0, 0)
1548
+ end
1549
+
1550
+ # Join the lines in the target.
1551
+ def linesJoin
1552
+ sendMessage(2288, 0, 0)
1553
+ end
1554
+
1555
+ # Split the lines in the target into lines that are less wide than pixelWidth
1556
+ # where possible.
1557
+ def linesSplit(pixelWidth)
1558
+ sendMessage(2289, pixelWidth, 0)
1559
+ end
1560
+
1561
+ # Set the colours used as a chequerboard pattern in the fold margin
1562
+ def setFoldMarginColour(useSetting, back)
1563
+ sendMessage(2290, useSetting, back & 0xffffff)
1564
+ end
1565
+ def setFoldMarginHiColour(useSetting, fore)
1566
+ sendMessage(2291, useSetting, fore & 0xffffff)
1567
+ end
1568
+
1569
+
1570
+ # Move caret down one line.
1571
+ def lineDown
1572
+ sendMessage(2300, 0, 0)
1573
+ end
1574
+
1575
+ # Move caret down one line extending selection to new caret position.
1576
+ def lineDownExtend
1577
+ sendMessage(2301, 0, 0)
1578
+ end
1579
+
1580
+ # Move caret up one line.
1581
+ def lineUp
1582
+ sendMessage(2302, 0, 0)
1583
+ end
1584
+
1585
+ # Move caret up one line extending selection to new caret position.
1586
+ def lineUpExtend
1587
+ sendMessage(2303, 0, 0)
1588
+ end
1589
+
1590
+ # Move caret left one character.
1591
+ def charLeft
1592
+ sendMessage(2304, 0, 0)
1593
+ end
1594
+
1595
+ # Move caret left one character extending selection to new caret position.
1596
+ def charLeftExtend
1597
+ sendMessage(2305, 0, 0)
1598
+ end
1599
+
1600
+ # Move caret right one character.
1601
+ def charRight
1602
+ sendMessage(2306, 0, 0)
1603
+ end
1604
+
1605
+ # Move caret right one character extending selection to new caret position.
1606
+ def charRightExtend
1607
+ sendMessage(2307, 0, 0)
1608
+ end
1609
+
1610
+ # Move caret left one word.
1611
+ def wordLeft
1612
+ sendMessage(2308, 0, 0)
1613
+ end
1614
+
1615
+ # Move caret left one word extending selection to new caret position.
1616
+ def wordLeftExtend
1617
+ sendMessage(2309, 0, 0)
1618
+ end
1619
+
1620
+ # Move caret right one word.
1621
+ def wordRight
1622
+ sendMessage(2310, 0, 0)
1623
+ end
1624
+
1625
+ # Move caret right one word extending selection to new caret position.
1626
+ def wordRightExtend
1627
+ sendMessage(2311, 0, 0)
1628
+ end
1629
+
1630
+ # Move caret to first position on line.
1631
+ def home
1632
+ sendMessage(2312, 0, 0)
1633
+ end
1634
+
1635
+ # Move caret to first position on line extending selection to new caret position.
1636
+ def homeExtend
1637
+ sendMessage(2313, 0, 0)
1638
+ end
1639
+
1640
+ # Move caret to last position on line.
1641
+ def lineEnd
1642
+ sendMessage(2314, 0, 0)
1643
+ end
1644
+
1645
+ # Move caret to last position on line extending selection to new caret position.
1646
+ def lineEndExtend
1647
+ sendMessage(2315, 0, 0)
1648
+ end
1649
+
1650
+ # Move caret to first position in document.
1651
+ def documentStart
1652
+ sendMessage(2316, 0, 0)
1653
+ end
1654
+
1655
+ # Move caret to first position in document extending selection to new caret position.
1656
+ def documentStartExtend
1657
+ sendMessage(2317, 0, 0)
1658
+ end
1659
+
1660
+ # Move caret to last position in document.
1661
+ def documentEnd
1662
+ sendMessage(2318, 0, 0)
1663
+ end
1664
+
1665
+ # Move caret to last position in document extending selection to new caret position.
1666
+ def documentEndExtend
1667
+ sendMessage(2319, 0, 0)
1668
+ end
1669
+
1670
+ # Move caret one page up.
1671
+ def pageUp
1672
+ sendMessage(2320, 0, 0)
1673
+ end
1674
+
1675
+ # Move caret one page up extending selection to new caret position.
1676
+ def pageUpExtend
1677
+ sendMessage(2321, 0, 0)
1678
+ end
1679
+
1680
+ # Move caret one page down.
1681
+ def pageDown
1682
+ sendMessage(2322, 0, 0)
1683
+ end
1684
+
1685
+ # Move caret one page down extending selection to new caret position.
1686
+ def pageDownExtend
1687
+ sendMessage(2323, 0, 0)
1688
+ end
1689
+
1690
+ # Switch from insert to overtype mode or the reverse.
1691
+ def editToggleOvertype
1692
+ sendMessage(2324, 0, 0)
1693
+ end
1694
+
1695
+ # Cancel any modes such as call tip or auto-completion list display.
1696
+ def cancel
1697
+ sendMessage(2325, 0, 0)
1698
+ end
1699
+
1700
+ # Delete the selection or if no selection, the character before the caret.
1701
+ def deleteBack
1702
+ sendMessage(2326, 0, 0)
1703
+ end
1704
+
1705
+ # If selection is empty or all on one line replace the selection with a tab character.
1706
+ # If more than one line selected, indent the lines.
1707
+ def tab
1708
+ sendMessage(2327, 0, 0)
1709
+ end
1710
+
1711
+ # Dedent the selected lines.
1712
+ def backTab
1713
+ sendMessage(2328, 0, 0)
1714
+ end
1715
+
1716
+ # Insert a new line, may use a CRLF, CR or LF depending on EOL mode.
1717
+ def newLine
1718
+ sendMessage(2329, 0, 0)
1719
+ end
1720
+
1721
+ # Insert a Form Feed character.
1722
+ def formFeed
1723
+ sendMessage(2330, 0, 0)
1724
+ end
1725
+
1726
+ # Move caret to before first visible character on line.
1727
+ # If already there move to first character on line.
1728
+ def vCHome
1729
+ sendMessage(2331, 0, 0)
1730
+ end
1731
+
1732
+ # Like VCHome but extending selection to new caret position.
1733
+ def vCHomeExtend
1734
+ sendMessage(2332, 0, 0)
1735
+ end
1736
+
1737
+ # Magnify the displayed text by increasing the sizes by 1 point.
1738
+ def zoomIn
1739
+ sendMessage(2333, 0, 0)
1740
+ end
1741
+
1742
+ # Make the displayed text smaller by decreasing the sizes by 1 point.
1743
+ def zoomOut
1744
+ sendMessage(2334, 0, 0)
1745
+ end
1746
+
1747
+ # Delete the word to the left of the caret.
1748
+ def delWordLeft
1749
+ sendMessage(2335, 0, 0)
1750
+ end
1751
+
1752
+ # Delete the word to the right of the caret.
1753
+ def delWordRight
1754
+ sendMessage(2336, 0, 0)
1755
+ end
1756
+
1757
+ # Cut the line containing the caret.
1758
+ def lineCut
1759
+ sendMessage(2337, 0, 0)
1760
+ end
1761
+
1762
+ # Delete the line containing the caret.
1763
+ def lineDelete
1764
+ sendMessage(2338, 0, 0)
1765
+ end
1766
+
1767
+ # Switch the current line with the previous.
1768
+ def lineTranspose
1769
+ sendMessage(2339, 0, 0)
1770
+ end
1771
+
1772
+ # Duplicate the current line.
1773
+ def lineDuplicate
1774
+ sendMessage(2404, 0, 0)
1775
+ end
1776
+
1777
+ # Transform the selection to lower case.
1778
+ def lowerCase
1779
+ sendMessage(2340, 0, 0)
1780
+ end
1781
+
1782
+ # Transform the selection to upper case.
1783
+ def upperCase
1784
+ sendMessage(2341, 0, 0)
1785
+ end
1786
+
1787
+ # Scroll the document down, keeping the caret visible.
1788
+ def lineScrollDown
1789
+ sendMessage(2342, 0, 0)
1790
+ end
1791
+
1792
+ # Scroll the document up, keeping the caret visible.
1793
+ def lineScrollUp
1794
+ sendMessage(2343, 0, 0)
1795
+ end
1796
+
1797
+ # Delete the selection or if no selection, the character before the caret.
1798
+ # Will not delete the character before at the start of a line.
1799
+ def deleteBackNotLine
1800
+ sendMessage(2344, 0, 0)
1801
+ end
1802
+
1803
+ # Move caret to first position on display line.
1804
+ def homeDisplay
1805
+ sendMessage(2345, 0, 0)
1806
+ end
1807
+
1808
+ # Move caret to first position on display line extending selection to
1809
+ # new caret position.
1810
+ def homeDisplayExtend
1811
+ sendMessage(2346, 0, 0)
1812
+ end
1813
+
1814
+ # Move caret to last position on display line.
1815
+ def lineEndDisplay
1816
+ sendMessage(2347, 0, 0)
1817
+ end
1818
+
1819
+ # Move caret to last position on display line extending selection to new
1820
+ # caret position.
1821
+ def lineEndDisplayExtend
1822
+ sendMessage(2348, 0, 0)
1823
+ end
1824
+
1825
+ # These are like their namesakes Home(Extend)?, LineEnd(Extend)?, VCHome(Extend)?
1826
+ # except they behave differently when word-wrap is enabled:
1827
+ # They go first to the start / end of the display line, like (Home|LineEnd)Display
1828
+ # The difference is that, the cursor is already at the point, it goes on to the start
1829
+ # or end of the document line, as appropriate for (Home|LineEnd|VCHome)(Extend)?.
1830
+
1831
+ def homeWrap
1832
+ sendMessage(2349, 0, 0)
1833
+ end
1834
+ def homeWrapExtend
1835
+ sendMessage(2450, 0, 0)
1836
+ end
1837
+ def lineEndWrap
1838
+ sendMessage(2451, 0, 0)
1839
+ end
1840
+ def lineEndWrapExtend
1841
+ sendMessage(2452, 0, 0)
1842
+ end
1843
+ def vCHomeWrap
1844
+ sendMessage(2453, 0, 0)
1845
+ end
1846
+ def vCHomeWrapExtend
1847
+ sendMessage(2454, 0, 0)
1848
+ end
1849
+
1850
+ # Copy the line containing the caret.
1851
+ def lineCopy
1852
+ sendMessage(2455, 0, 0)
1853
+ end
1854
+
1855
+ # Move the caret inside current view if it's not there already.
1856
+ def moveCaretInsideView
1857
+ sendMessage(2401, 0, 0)
1858
+ end
1859
+
1860
+ # How many characters are on a line, not including end of line characters?
1861
+ def lineLength(line)
1862
+ sendMessage(2350, line, 0)
1863
+ end
1864
+
1865
+ # Highlight the characters at two positions.
1866
+ def braceHighlight(pos1, pos2)
1867
+ sendMessage(2351, pos1, pos2)
1868
+ end
1869
+
1870
+ # Highlight the character at a position indicating there is no matching brace.
1871
+ def braceBadLight(pos)
1872
+ sendMessage(2352, pos, 0)
1873
+ end
1874
+
1875
+ # Find the position of a matching brace or INVALID_POSITION if no match.
1876
+ def braceMatch(pos)
1877
+ sendMessage(2353, pos, 0)
1878
+ end
1879
+
1880
+ # Are the end of line characters visible?
1881
+ def getViewEOL
1882
+ sendMessage(2355, 0, 0) == 1 ? true : false
1883
+ end
1884
+
1885
+ # Make the end of line characters visible or invisible.
1886
+ def setViewEOL(visible)
1887
+ sendMessage(2356, visible, 0)
1888
+ end
1889
+
1890
+ # Retrieve a pointer to the document object.
1891
+ def getDocPointer
1892
+ sendMessage(2357, 0, 0)
1893
+ end
1894
+
1895
+ # Change the document object used.
1896
+ def setDocPointer(pointer)
1897
+ sendMessage(2358, 0, pointer)
1898
+ end
1899
+
1900
+ # Set which document modification events are sent to the container.
1901
+ def setModEventMask(mask)
1902
+ sendMessage(2359, mask, 0)
1903
+ end
1904
+
1905
+ EDGE_NONE = 0
1906
+ EDGE_LINE = 1
1907
+ EDGE_BACKGROUND = 2
1908
+
1909
+ # Retrieve the column number which text should be kept within.
1910
+ def getEdgeColumn
1911
+ sendMessage(2360, 0, 0)
1912
+ end
1913
+
1914
+ # Set the column number of the edge.
1915
+ # If text goes past the edge then it is highlighted.
1916
+ def setEdgeColumn(column)
1917
+ sendMessage(2361, column, 0)
1918
+ end
1919
+
1920
+ # Retrieve the edge highlight mode.
1921
+ def getEdgeMode
1922
+ sendMessage(2362, 0, 0)
1923
+ end
1924
+
1925
+ # The edge may be displayed by a line (EDGE_LINE) or by highlighting text that
1926
+ # goes beyond it (EDGE_BACKGROUND) or not displayed at all (EDGE_NONE).
1927
+ def setEdgeMode(mode)
1928
+ sendMessage(2363, mode, 0)
1929
+ end
1930
+
1931
+ # Retrieve the colour used in edge indication.
1932
+ def getEdgeColour
1933
+ sendMessage(2364, 0, 0)
1934
+ end
1935
+
1936
+ # Change the colour used in edge indication.
1937
+ def setEdgeColour(edgeColour)
1938
+ sendMessage(2365, edgeColour & 0xffffff, 0)
1939
+ end
1940
+
1941
+ # Sets the current caret position to be the search anchor.
1942
+ def searchAnchor
1943
+ sendMessage(2366, 0, 0)
1944
+ end
1945
+
1946
+ # Find some text starting at the search anchor.
1947
+ # Does not ensure the selection is visible.
1948
+ def searchNext(flags, text)
1949
+ sendMessage(2367, flags, text)
1950
+ end
1951
+
1952
+ # Find some text starting at the search anchor and moving backwards.
1953
+ # Does not ensure the selection is visible.
1954
+ def searchPrev(flags, text)
1955
+ sendMessage(2368, flags, text)
1956
+ end
1957
+
1958
+ # Retrieves the number of lines completely visible.
1959
+ def linesOnScreen
1960
+ sendMessage(2370, 0, 0)
1961
+ end
1962
+
1963
+ # Set whether a pop up menu is displayed automatically when the user presses
1964
+ # the wrong mouse button.
1965
+ def usePopUp(allowPopUp)
1966
+ sendMessage(2371, allowPopUp, 0)
1967
+ end
1968
+
1969
+ # Is the selection rectangular? The alternative is the more common stream selection.
1970
+ def selectionIsRectangle
1971
+ sendMessage(2372, 0, 0) == 1 ? true : false
1972
+ end
1973
+
1974
+ # Set the zoom level. This number of points is added to the size of all fonts.
1975
+ # It may be positive to magnify or negative to reduce.
1976
+ def setZoom(zoom)
1977
+ sendMessage(2373, zoom, 0)
1978
+ end
1979
+ # Retrieve the zoom level.
1980
+ def getZoom
1981
+ sendMessage(2374, 0, 0)
1982
+ end
1983
+
1984
+ # Create a new document object.
1985
+ # Starts with reference count of 1 and not selected into editor.
1986
+ def createDocument
1987
+ sendMessage(2375, 0, 0)
1988
+ end
1989
+ # Extend life of document.
1990
+ def addRefDocument(doc)
1991
+ sendMessage(2376, 0, doc)
1992
+ end
1993
+ # Release a reference to the document, deleting document if it fades to black.
1994
+ def releaseDocument(doc)
1995
+ sendMessage(2377, 0, doc)
1996
+ end
1997
+
1998
+ # Get which document modification events are sent to the container.
1999
+ def getModEventMask
2000
+ sendMessage(2378, 0, 0)
2001
+ end
2002
+
2003
+ # Change internal focus flag.
2004
+ def setFocusFlag(focus)
2005
+ sendMessage(2380, focus, 0)
2006
+ end
2007
+ # Get internal focus flag.
2008
+ def getFocus
2009
+ sendMessage(2381, 0, 0) == 1 ? true : false
2010
+ end
2011
+
2012
+ # Change error status - 0 = OK.
2013
+ def setStatus(statusCode)
2014
+ sendMessage(2382, statusCode, 0)
2015
+ end
2016
+ # Get error status.
2017
+ def getStatus
2018
+ sendMessage(2383, 0, 0)
2019
+ end
2020
+
2021
+ # Set whether the mouse is captured when its button is pressed.
2022
+ def setMouseDownCaptures(captures)
2023
+ sendMessage(2384, captures, 0)
2024
+ end
2025
+ # Get whether mouse gets captured.
2026
+ def getMouseDownCaptures
2027
+ sendMessage(2385, 0, 0) == 1 ? true : false
2028
+ end
2029
+
2030
+ SC_CURSORNORMAL = -1
2031
+ SC_CURSORWAIT = 4
2032
+ # Sets the cursor to one of the SC_CURSOR* values.
2033
+ def setCursor(cursorType)
2034
+ sendMessage(2386, cursorType, 0)
2035
+ end
2036
+ # Get cursor type.
2037
+ def getCursor
2038
+ sendMessage(2387, 0, 0)
2039
+ end
2040
+
2041
+ # Change the way control characters are displayed:
2042
+ # If symbol is < 32, keep the drawn way, else, use the given character.
2043
+ def setControlCharSymbol(symbol)
2044
+ sendMessage(2388, symbol, 0)
2045
+ end
2046
+ # Get the way control characters are displayed.
2047
+ def getControlCharSymbol
2048
+ sendMessage(2389, 0, 0)
2049
+ end
2050
+
2051
+ # Move to the previous change in capitalisation.
2052
+ def wordPartLeft
2053
+ sendMessage(2390, 0, 0)
2054
+ end
2055
+ # Move to the previous change in capitalisation extending selection
2056
+ # to new caret position.
2057
+ def wordPartLeftExtend
2058
+ sendMessage(2391, 0, 0)
2059
+ end
2060
+ # Move to the change next in capitalisation.
2061
+ def wordPartRight
2062
+ sendMessage(2392, 0, 0)
2063
+ end
2064
+ # Move to the next change in capitalisation extending selection
2065
+ # to new caret position.
2066
+ def wordPartRightExtend
2067
+ sendMessage(2393, 0, 0)
2068
+ end
2069
+
2070
+ # Constants for use with SetVisiblePolicy, similar to SetCaretPolicy.
2071
+ VISIBLE_SLOP = 0x01
2072
+ VISIBLE_STRICT = 0x04
2073
+ # Set the way the display area is determined when a particular line
2074
+ # is to be moved to by Find, FindNext, GotoLine, etc.
2075
+ def setVisiblePolicy(visiblePolicy, visibleSlop)
2076
+ sendMessage(2394, visiblePolicy, visibleSlop)
2077
+ end
2078
+
2079
+ # Delete back from the current position to the start of the line.
2080
+ def delLineLeft
2081
+ sendMessage(2395, 0, 0)
2082
+ end
2083
+
2084
+ # Delete forwards from the current position to the end of the line.
2085
+ def delLineRight
2086
+ sendMessage(2396, 0, 0)
2087
+ end
2088
+
2089
+ # Get and Set the xOffset (ie, horizonal scroll position).
2090
+ def setXOffset(newOffset)
2091
+ sendMessage(2397, newOffset, 0)
2092
+ end
2093
+ def getXOffset
2094
+ sendMessage(2398, 0, 0)
2095
+ end
2096
+
2097
+ # Set the last x chosen value to be the caret x position.
2098
+ def chooseCaretX
2099
+ sendMessage(2399, 0, 0)
2100
+ end
2101
+
2102
+ # Set the focus to this Scintilla widget.
2103
+ # GTK+ Specific.
2104
+ def grabFocus
2105
+ sendMessage(2400, 0, 0)
2106
+ end
2107
+
2108
+ # Caret policy, used by SetXCaretPolicy and SetYCaretPolicy.
2109
+ # If CARET_SLOP is set, we can define a slop value: caretSlop.
2110
+ # This value defines an unwanted zone (UZ) where the caret is... unwanted.
2111
+ # This zone is defined as a number of pixels near the vertical margins,
2112
+ # and as a number of lines near the horizontal margins.
2113
+ # By keeping the caret away from the edges, it is seen within its context,
2114
+ # so it is likely that the identifier that the caret is on can be completely seen,
2115
+ # and that the current line is seen with some of the lines following it which are
2116
+ # often dependent on that line.
2117
+ CARET_SLOP = 0x01
2118
+ # If CARET_STRICT is set, the policy is enforced... strictly.
2119
+ # The caret is centred on the display if slop is not set,
2120
+ # and cannot go in the UZ if slop is set.
2121
+ CARET_STRICT = 0x04
2122
+ # If CARET_JUMPS is set, the display is moved more energetically
2123
+ # so the caret can move in the same direction longer before the policy is applied again.
2124
+ CARET_JUMPS = 0x10
2125
+ # If CARET_EVEN is not set, instead of having symmetrical UZs,
2126
+ # the left and bottom UZs are extended up to right and top UZs respectively.
2127
+ # This way, we favour the displaying of useful information: the begining of lines,
2128
+ # where most code reside, and the lines after the caret, eg. the body of a function.
2129
+ CARET_EVEN = 0x08
2130
+
2131
+ # Set the way the caret is kept visible when going sideway.
2132
+ # The exclusion zone is given in pixels.
2133
+ def setXCaretPolicy(caretPolicy, caretSlop)
2134
+ sendMessage(2402, caretPolicy, caretSlop)
2135
+ end
2136
+
2137
+ # Set the way the line the caret is on is kept visible.
2138
+ # The exclusion zone is given in lines.
2139
+ def setYCaretPolicy(caretPolicy, caretSlop)
2140
+ sendMessage(2403, caretPolicy, caretSlop)
2141
+ end
2142
+
2143
+ # Set printing to line wrapped (SC_WRAP_WORD) or not line wrapped (SC_WRAP_NONE).
2144
+ def setPrintWrapMode(mode)
2145
+ sendMessage(2406, mode, 0)
2146
+ end
2147
+
2148
+ # Is printing line wrapped?
2149
+ def getPrintWrapMode
2150
+ sendMessage(2407, 0, 0)
2151
+ end
2152
+
2153
+ # Set a fore colour for active hotspots.
2154
+ def setHotspotActiveFore(useSetting, fore)
2155
+ sendMessage(2410, useSetting, fore & 0xffffff)
2156
+ end
2157
+
2158
+ # Set a back colour for active hotspots.
2159
+ def setHotspotActiveBack(useSetting, back)
2160
+ sendMessage(2411, useSetting, back & 0xffffff)
2161
+ end
2162
+
2163
+ # Enable / Disable underlining active hotspots.
2164
+ def setHotspotActiveUnderline(underline)
2165
+ sendMessage(2412, underline, 0)
2166
+ end
2167
+
2168
+ # Limit hotspots to single line so hotspots on two lines don't merge.
2169
+ def setHotspotSingleLine(singleLine)
2170
+ sendMessage(2421, singleLine, 0)
2171
+ end
2172
+
2173
+ # Move caret between paragraphs (delimited by empty lines).
2174
+ def paraDown
2175
+ sendMessage(2413, 0, 0)
2176
+ end
2177
+ def paraDownExtend
2178
+ sendMessage(2414, 0, 0)
2179
+ end
2180
+ def paraUp
2181
+ sendMessage(2415, 0, 0)
2182
+ end
2183
+ def paraUpExtend
2184
+ sendMessage(2416, 0, 0)
2185
+ end
2186
+
2187
+ # Given a valid document position, return the previous position taking code
2188
+ # page into account. Returns 0 if passed 0.
2189
+ def positionBefore(pos)
2190
+ sendMessage(2417, pos, 0)
2191
+ end
2192
+
2193
+ # Given a valid document position, return the next position taking code
2194
+ # page into account. Maximum value returned is the last position in the document.
2195
+ def positionAfter(pos)
2196
+ sendMessage(2418, pos, 0)
2197
+ end
2198
+
2199
+ # Copy a range of text to the clipboard. Positions are clipped into the document.
2200
+ def copyRange(start, last)
2201
+ sendMessage(2419, start, last)
2202
+ end
2203
+
2204
+ # Copy argument text to the clipboard.
2205
+ def copyText(length, text)
2206
+ sendMessage(2420, length, text)
2207
+ end
2208
+
2209
+ SC_SEL_STREAM = 0
2210
+ SC_SEL_RECTANGLE = 1
2211
+ SC_SEL_LINES = 2
2212
+
2213
+ # Set the selection mode to stream (SC_SEL_STREAM) or rectangular (SC_SEL_RECTANGLE) or
2214
+ # by lines (SC_SEL_LINES).
2215
+ def setSelectionMode(mode)
2216
+ sendMessage(2422, mode, 0)
2217
+ end
2218
+
2219
+ # Get the mode of the current selection.
2220
+ def getSelectionMode
2221
+ sendMessage(2423, 0, 0)
2222
+ end
2223
+
2224
+ # Retrieve the position of the start of the selection at the given line (INVALID_POSITION if no selection on this line).
2225
+ def getLineSelStartPosition(line)
2226
+ sendMessage(2424, line, 0)
2227
+ end
2228
+
2229
+ # Retrieve the position of the end of the selection at the given line (INVALID_POSITION if no selection on this line).
2230
+ def getLineSelEndPosition(line)
2231
+ sendMessage(2425, line, 0)
2232
+ end
2233
+
2234
+ # Move caret down one line, extending rectangular selection to new caret position.
2235
+ def lineDownRectExtend
2236
+ sendMessage(2426, 0, 0)
2237
+ end
2238
+
2239
+ # Move caret up one line, extending rectangular selection to new caret position.
2240
+ def lineUpRectExtend
2241
+ sendMessage(2427, 0, 0)
2242
+ end
2243
+
2244
+ # Move caret left one character, extending rectangular selection to new caret position.
2245
+ def charLeftRectExtend
2246
+ sendMessage(2428, 0, 0)
2247
+ end
2248
+
2249
+ # Move caret right one character, extending rectangular selection to new caret position.
2250
+ def charRightRectExtend
2251
+ sendMessage(2429, 0, 0)
2252
+ end
2253
+
2254
+ # Move caret to first position on line, extending rectangular selection to new caret position.
2255
+ def homeRectExtend
2256
+ sendMessage(2430, 0, 0)
2257
+ end
2258
+
2259
+ # Move caret to before first visible character on line.
2260
+ # If already there move to first character on line.
2261
+ # In either case, extend rectangular selection to new caret position.
2262
+ def vCHomeRectExtend
2263
+ sendMessage(2431, 0, 0)
2264
+ end
2265
+
2266
+ # Move caret to last position on line, extending rectangular selection to new caret position.
2267
+ def lineEndRectExtend
2268
+ sendMessage(2432, 0, 0)
2269
+ end
2270
+
2271
+ # Move caret one page up, extending rectangular selection to new caret position.
2272
+ def pageUpRectExtend
2273
+ sendMessage(2433, 0, 0)
2274
+ end
2275
+
2276
+ # Move caret one page down, extending rectangular selection to new caret position.
2277
+ def pageDownRectExtend
2278
+ sendMessage(2434, 0, 0)
2279
+ end
2280
+
2281
+
2282
+ # Move caret to top of page, or one page up if already at top of page.
2283
+ def stutteredPageUp
2284
+ sendMessage(2435, 0, 0)
2285
+ end
2286
+
2287
+ # Move caret to top of page, or one page up if already at top of page, extending selection to new caret position.
2288
+ def stutteredPageUpExtend
2289
+ sendMessage(2436, 0, 0)
2290
+ end
2291
+
2292
+ # Move caret to bottom of page, or one page down if already at bottom of page.
2293
+ def stutteredPageDown
2294
+ sendMessage(2437, 0, 0)
2295
+ end
2296
+
2297
+ # Move caret to bottom of page, or one page down if already at bottom of page, extending selection to new caret position.
2298
+ def stutteredPageDownExtend
2299
+ sendMessage(2438, 0, 0)
2300
+ end
2301
+
2302
+
2303
+ # Move caret left one word, position cursor at end of word.
2304
+ def wordLeftEnd
2305
+ sendMessage(2439, 0, 0)
2306
+ end
2307
+
2308
+ # Move caret left one word, position cursor at end of word, extending selection to new caret position.
2309
+ def wordLeftEndExtend
2310
+ sendMessage(2440, 0, 0)
2311
+ end
2312
+
2313
+ # Move caret right one word, position cursor at end of word.
2314
+ def wordRightEnd
2315
+ sendMessage(2441, 0, 0)
2316
+ end
2317
+
2318
+ # Move caret right one word, position cursor at end of word, extending selection to new caret position.
2319
+ def wordRightEndExtend
2320
+ sendMessage(2442, 0, 0)
2321
+ end
2322
+
2323
+ # Set the set of characters making up whitespace for when moving or selecting by word.
2324
+ # Should be called after SetWordChars.
2325
+ def setWhitespaceChars(characters)
2326
+ sendMessage(2443, 0, characters)
2327
+ end
2328
+
2329
+ # Reset the set of characters for whitespace and word characters to the defaults.
2330
+ def setCharsDefault
2331
+ sendMessage(2444, 0, 0)
2332
+ end
2333
+
2334
+ # Get currently selected item position in the auto-completion list
2335
+ def autoCGetCurrent
2336
+ sendMessage(2445, 0, 0)
2337
+ end
2338
+
2339
+ # Enlarge the document to a particular size of text bytes.
2340
+ def allocate(bytes)
2341
+ sendMessage(2446, bytes, 0)
2342
+ end
2343
+
2344
+ # Returns the target converted to UTF8.
2345
+ # Return the length in bytes.
2346
+ def targetAsUTF8
2347
+ sendMessage(2447, 0, s)
2348
+ end
2349
+
2350
+ # Set the length of the utf8 argument for calling EncodedFromUTF8.
2351
+ # Set to -1 and the string will be measured to the first nul.
2352
+ def setLengthForEncode(bytes)
2353
+ sendMessage(2448, bytes, 0)
2354
+ end
2355
+
2356
+ # Translates a UTF8 string into the document encoding.
2357
+ # Return the length of the result in bytes.
2358
+ # On error return 0.
2359
+ def encodedFromUTF8(utf8)
2360
+ buffer = "".ljust(utf8)
2361
+ sendMessage(2449, utf8, buffer)
2362
+ buffer
2363
+ end
2364
+
2365
+ # Find the position of a column on a line taking into account tabs and
2366
+ # multi-byte characters. If beyond end of line, return line end position.
2367
+ def findColumn(line, column)
2368
+ sendMessage(2456, line, column)
2369
+ end
2370
+
2371
+ # Can the caret preferred x position only be changed by explicit movement commands?
2372
+ def getCaretSticky
2373
+ sendMessage(2457, 0, 0) == 1 ? true : false
2374
+ end
2375
+
2376
+ # Stop the caret preferred x position changing when the user types.
2377
+ def setCaretSticky(useCaretStickyBehaviour)
2378
+ sendMessage(2458, useCaretStickyBehaviour, 0)
2379
+ end
2380
+
2381
+ # Switch between sticky and non-sticky: meant to be bound to a key.
2382
+ def toggleCaretSticky
2383
+ sendMessage(2459, 0, 0)
2384
+ end
2385
+
2386
+ # Enable/Disable convert-on-paste for line endings
2387
+ def setPasteConvertEndings(convert)
2388
+ sendMessage(2467, convert, 0)
2389
+ end
2390
+
2391
+ # Get convert-on-paste setting
2392
+ def getPasteConvertEndings
2393
+ sendMessage(2468, 0, 0) == 1 ? true : false
2394
+ end
2395
+
2396
+ # Duplicate the selection. If selection empty duplicate the line containing the caret.
2397
+ def selectionDuplicate
2398
+ sendMessage(2469, 0, 0)
2399
+ end
2400
+
2401
+ # Start notifying the container of all key presses and commands.
2402
+ def startRecord
2403
+ sendMessage(3001, 0, 0)
2404
+ end
2405
+
2406
+ # Stop notifying the container of all key presses and commands.
2407
+ def stopRecord
2408
+ sendMessage(3002, 0, 0)
2409
+ end
2410
+
2411
+ # Set the lexing language of the document.
2412
+ def setLexer(lexer)
2413
+ sendMessage(4001, lexer, 0)
2414
+ end
2415
+
2416
+ # Retrieve the lexing language of the document.
2417
+ def getLexer
2418
+ sendMessage(4002, 0, 0)
2419
+ end
2420
+
2421
+ # Colourise a segment of the document using the current lexing language.
2422
+ def colourise(start, last)
2423
+ sendMessage(4003, start, last)
2424
+ end
2425
+
2426
+ # Set up a value that may be used by a lexer for some optional feature.
2427
+ def setProperty(key, value)
2428
+ sendMessage(4004, key, value)
2429
+ end
2430
+
2431
+ # Maximum value of keywordSet parameter of SetKeyWords.
2432
+ KEYWORDSET_MAX = 8
2433
+
2434
+ # Set up the key words used by the lexer.
2435
+ def setKeyWords(keywordSet, keyWords)
2436
+ sendMessage(4005, keywordSet, keyWords)
2437
+ end
2438
+
2439
+ # Set the lexing language of the document based on string name.
2440
+ def setLexerLanguage(language)
2441
+ sendMessage(4006, 0, language)
2442
+ end
2443
+
2444
+ # Load a lexer library (dll / so).
2445
+ def loadLexerLibrary(path)
2446
+ sendMessage(4007, 0, path)
2447
+ end
2448
+
2449
+ # Retrieve a "property" value previously set with SetProperty.
2450
+ def getProperty(key)
2451
+ buffer = "".ljust(key)
2452
+ sendMessage(4008, key, buffer)
2453
+ buffer
2454
+ end
2455
+
2456
+ # Retrieve a "property" value previously set with SetProperty,
2457
+ # with "$()" variable replacement on returned buffer.
2458
+ def getPropertyExpanded(key)
2459
+ buffer = "".ljust(key)
2460
+ sendMessage(4009, key, buffer)
2461
+ buffer
2462
+ end
2463
+
2464
+ # Retrieve a "property" value previously set with SetProperty,
2465
+ # interpreted as an int AFTER any "$()" variable replacement.
2466
+ def getPropertyInt(key)
2467
+ sendMessage(4010, key, 0)
2468
+ end
2469
+
2470
+ # Retrieve the number of bits the current lexer needs for styling.
2471
+ def getStyleBitsNeeded
2472
+ sendMessage(4011, 0, 0)
2473
+ end
2474
+
2475
+ # Notifications
2476
+ # Type of modification and the action which caused the modification.
2477
+ # These are defined as a bit mask to make it easy to specify which notifications are wanted.
2478
+ # One bit is set from each of SC_MOD_* and SC_PERFORMED_*.
2479
+ SC_MOD_INSERTTEXT = 0x1
2480
+ SC_MOD_DELETETEXT = 0x2
2481
+ SC_MOD_CHANGESTYLE = 0x4
2482
+ SC_MOD_CHANGEFOLD = 0x8
2483
+ SC_PERFORMED_USER = 0x10
2484
+ SC_PERFORMED_UNDO = 0x20
2485
+ SC_PERFORMED_REDO = 0x40
2486
+ SC_MULTISTEPUNDOREDO = 0x80
2487
+ SC_LASTSTEPINUNDOREDO = 0x100
2488
+ SC_MOD_CHANGEMARKER = 0x200
2489
+ SC_MOD_BEFOREINSERT = 0x400
2490
+ SC_MOD_BEFOREDELETE = 0x800
2491
+ SC_MULTILINEUNDOREDO = 0x1000
2492
+ SC_MODEVENTMASKALL = 0x1FFF
2493
+
2494
+ # For compatibility, these go through the COMMAND notification rather than NOTIFY
2495
+ # and should have had exactly the same values as the EN_* constants.
2496
+ # Unfortunately the SETFOCUS and KILLFOCUS are flipped over from EN_*
2497
+ # As clients depend on these constants, this will not be changed.
2498
+ SCEN_CHANGE = 768
2499
+ SCEN_SETFOCUS = 512
2500
+ SCEN_KILLFOCUS = 256
2501
+
2502
+ # Symbolic key codes and modifier flags.
2503
+ # ASCII and other printable characters below 256.
2504
+ # Extended keys above 300.
2505
+
2506
+ SCK_DOWN = 300
2507
+ SCK_UP = 301
2508
+ SCK_LEFT = 302
2509
+ SCK_RIGHT = 303
2510
+ SCK_HOME = 304
2511
+ SCK_END = 305
2512
+ SCK_PRIOR = 306
2513
+ SCK_NEXT = 307
2514
+ SCK_DELETE = 308
2515
+ SCK_INSERT = 309
2516
+ SCK_ESCAPE = 7
2517
+ SCK_BACK = 8
2518
+ SCK_TAB = 9
2519
+ SCK_RETURN = 13
2520
+ SCK_ADD = 310
2521
+ SCK_SUBTRACT = 311
2522
+ SCK_DIVIDE = 312
2523
+
2524
+ SCMOD_NORM = 0
2525
+ SCMOD_SHIFT = 1
2526
+ SCMOD_CTRL = 2
2527
+ SCMOD_ALT = 4
2528
+
2529
+ # For SciLexer.h
2530
+ SCLEX_CONTAINER = 0
2531
+ SCLEX_NULL = 1
2532
+ SCLEX_PYTHON = 2
2533
+ SCLEX_CPP = 3
2534
+ SCLEX_HTML = 4
2535
+ SCLEX_XML = 5
2536
+ SCLEX_PERL = 6
2537
+ SCLEX_SQL = 7
2538
+ SCLEX_VB = 8
2539
+ SCLEX_PROPERTIES = 9
2540
+ SCLEX_ERRORLIST = 10
2541
+ SCLEX_MAKEFILE = 11
2542
+ SCLEX_BATCH = 12
2543
+ SCLEX_XCODE = 13
2544
+ SCLEX_LATEX = 14
2545
+ SCLEX_LUA = 15
2546
+ SCLEX_DIFF = 16
2547
+ SCLEX_CONF = 17
2548
+ SCLEX_PASCAL = 18
2549
+ SCLEX_AVE = 19
2550
+ SCLEX_ADA = 20
2551
+ SCLEX_LISP = 21
2552
+ SCLEX_RUBY = 22
2553
+ SCLEX_EIFFEL = 23
2554
+ SCLEX_EIFFELKW = 24
2555
+ SCLEX_TCL = 25
2556
+ SCLEX_NNCRONTAB = 26
2557
+ SCLEX_BULLANT = 27
2558
+ SCLEX_VBSCRIPT = 28
2559
+ SCLEX_BAAN = 31
2560
+ SCLEX_MATLAB = 32
2561
+ SCLEX_SCRIPTOL = 33
2562
+ SCLEX_ASM = 34
2563
+ SCLEX_CPPNOCASE = 35
2564
+ SCLEX_FORTRAN = 36
2565
+ SCLEX_F77 = 37
2566
+ SCLEX_CSS = 38
2567
+ SCLEX_POV = 39
2568
+ SCLEX_LOUT = 40
2569
+ SCLEX_ESCRIPT = 41
2570
+ SCLEX_PS = 42
2571
+ SCLEX_NSIS = 43
2572
+ SCLEX_MMIXAL = 44
2573
+ SCLEX_CLW = 45
2574
+ SCLEX_CLWNOCASE = 46
2575
+ SCLEX_LOT = 47
2576
+ SCLEX_YAML = 48
2577
+ SCLEX_TEX = 49
2578
+ SCLEX_METAPOST = 50
2579
+ SCLEX_POWERBASIC = 51
2580
+ SCLEX_FORTH = 52
2581
+ SCLEX_ERLANG = 53
2582
+ SCLEX_OCTAVE = 54
2583
+ SCLEX_MSSQL = 55
2584
+ SCLEX_VERILOG = 56
2585
+ SCLEX_KIX = 57
2586
+ SCLEX_GUI4CLI = 58
2587
+ SCLEX_SPECMAN = 59
2588
+ SCLEX_AU3 = 60
2589
+ SCLEX_APDL = 61
2590
+ SCLEX_BASH = 62
2591
+ SCLEX_ASN1 = 63
2592
+ SCLEX_VHDL = 64
2593
+ SCLEX_CAML = 65
2594
+ SCLEX_BLITZBASIC = 66
2595
+ SCLEX_PUREBASIC = 67
2596
+ SCLEX_HASKELL = 68
2597
+ SCLEX_PHPSCRIPT = 69
2598
+ SCLEX_TADS3 = 70
2599
+ SCLEX_REBOL = 71
2600
+ SCLEX_SMALLTALK = 72
2601
+ SCLEX_FLAGSHIP = 73
2602
+ SCLEX_CSOUND = 74
2603
+ SCLEX_FREEBASIC = 75
2604
+
2605
+ # When a lexer specifies its language as SCLEX_AUTOMATIC it receives a
2606
+ # value assigned in sequence from SCLEX_AUTOMATIC+1.
2607
+ SCLEX_AUTOMATIC = 1000
2608
+ # Lexical states for SCLEX_PYTHON
2609
+ SCE_P_DEFAULT = 0
2610
+ SCE_P_COMMENTLINE = 1
2611
+ SCE_P_NUMBER = 2
2612
+ SCE_P_STRING = 3
2613
+ SCE_P_CHARACTER = 4
2614
+ SCE_P_WORD = 5
2615
+ SCE_P_TRIPLE = 6
2616
+ SCE_P_TRIPLEDOUBLE = 7
2617
+ SCE_P_CLASSNAME = 8
2618
+ SCE_P_DEFNAME = 9
2619
+ SCE_P_OPERATOR = 10
2620
+ SCE_P_IDENTIFIER = 11
2621
+ SCE_P_COMMENTBLOCK = 12
2622
+ SCE_P_STRINGEOL = 13
2623
+ SCE_P_WORD2 = 14
2624
+ SCE_P_DECORATOR = 15
2625
+ # Lexical states for SCLEX_CPP
2626
+ SCE_C_DEFAULT = 0
2627
+ SCE_C_COMMENT = 1
2628
+ SCE_C_COMMENTLINE = 2
2629
+ SCE_C_COMMENTDOC = 3
2630
+ SCE_C_NUMBER = 4
2631
+ SCE_C_WORD = 5
2632
+ SCE_C_STRING = 6
2633
+ SCE_C_CHARACTER = 7
2634
+ SCE_C_UUID = 8
2635
+ SCE_C_PREPROCESSOR = 9
2636
+ SCE_C_OPERATOR = 10
2637
+ SCE_C_IDENTIFIER = 11
2638
+ SCE_C_STRINGEOL = 12
2639
+ SCE_C_VERBATIM = 13
2640
+ SCE_C_REGEX = 14
2641
+ SCE_C_COMMENTLINEDOC = 15
2642
+ SCE_C_WORD2 = 16
2643
+ SCE_C_COMMENTDOCKEYWORD = 17
2644
+ SCE_C_COMMENTDOCKEYWORDERROR = 18
2645
+ SCE_C_GLOBALCLASS = 19
2646
+ # Lexical states for SCLEX_HTML, SCLEX_XML
2647
+ SCE_H_DEFAULT = 0
2648
+ SCE_H_TAG = 1
2649
+ SCE_H_TAGUNKNOWN = 2
2650
+ SCE_H_ATTRIBUTE = 3
2651
+ SCE_H_ATTRIBUTEUNKNOWN = 4
2652
+ SCE_H_NUMBER = 5
2653
+ SCE_H_DOUBLESTRING = 6
2654
+ SCE_H_SINGLESTRING = 7
2655
+ SCE_H_OTHER = 8
2656
+ SCE_H_COMMENT = 9
2657
+ SCE_H_ENTITY = 10
2658
+ # XML and ASP
2659
+ SCE_H_TAGEND = 11
2660
+ SCE_H_XMLSTART = 12
2661
+ SCE_H_XMLEND = 13
2662
+ SCE_H_SCRIPT = 14
2663
+ SCE_H_ASP = 15
2664
+ SCE_H_ASPAT = 16
2665
+ SCE_H_CDATA = 17
2666
+ SCE_H_QUESTION = 18
2667
+ # More HTML
2668
+ SCE_H_VALUE = 19
2669
+ # X-Code
2670
+ SCE_H_XCCOMMENT = 20
2671
+ # SGML
2672
+ SCE_H_SGML_DEFAULT = 21
2673
+ SCE_H_SGML_COMMAND = 22
2674
+ SCE_H_SGML_1ST_PARAM = 23
2675
+ SCE_H_SGML_DOUBLESTRING = 24
2676
+ SCE_H_SGML_SIMPLESTRING = 25
2677
+ SCE_H_SGML_ERROR = 26
2678
+ SCE_H_SGML_SPECIAL = 27
2679
+ SCE_H_SGML_ENTITY = 28
2680
+ SCE_H_SGML_COMMENT = 29
2681
+ SCE_H_SGML_1ST_PARAM_COMMENT = 30
2682
+ SCE_H_SGML_BLOCK_DEFAULT = 31
2683
+ # Embedded Javascript
2684
+ SCE_HJ_START = 40
2685
+ SCE_HJ_DEFAULT = 41
2686
+ SCE_HJ_COMMENT = 42
2687
+ SCE_HJ_COMMENTLINE = 43
2688
+ SCE_HJ_COMMENTDOC = 44
2689
+ SCE_HJ_NUMBER = 45
2690
+ SCE_HJ_WORD = 46
2691
+ SCE_HJ_KEYWORD = 47
2692
+ SCE_HJ_DOUBLESTRING = 48
2693
+ SCE_HJ_SINGLESTRING = 49
2694
+ SCE_HJ_SYMBOLS = 50
2695
+ SCE_HJ_STRINGEOL = 51
2696
+ SCE_HJ_REGEX = 52
2697
+ # ASP Javascript
2698
+ SCE_HJA_START = 55
2699
+ SCE_HJA_DEFAULT = 56
2700
+ SCE_HJA_COMMENT = 57
2701
+ SCE_HJA_COMMENTLINE = 58
2702
+ SCE_HJA_COMMENTDOC = 59
2703
+ SCE_HJA_NUMBER = 60
2704
+ SCE_HJA_WORD = 61
2705
+ SCE_HJA_KEYWORD = 62
2706
+ SCE_HJA_DOUBLESTRING = 63
2707
+ SCE_HJA_SINGLESTRING = 64
2708
+ SCE_HJA_SYMBOLS = 65
2709
+ SCE_HJA_STRINGEOL = 66
2710
+ SCE_HJA_REGEX = 67
2711
+ # Embedded VBScript
2712
+ SCE_HB_START = 70
2713
+ SCE_HB_DEFAULT = 71
2714
+ SCE_HB_COMMENTLINE = 72
2715
+ SCE_HB_NUMBER = 73
2716
+ SCE_HB_WORD = 74
2717
+ SCE_HB_STRING = 75
2718
+ SCE_HB_IDENTIFIER = 76
2719
+ SCE_HB_STRINGEOL = 77
2720
+ # ASP VBScript
2721
+ SCE_HBA_START = 80
2722
+ SCE_HBA_DEFAULT = 81
2723
+ SCE_HBA_COMMENTLINE = 82
2724
+ SCE_HBA_NUMBER = 83
2725
+ SCE_HBA_WORD = 84
2726
+ SCE_HBA_STRING = 85
2727
+ SCE_HBA_IDENTIFIER = 86
2728
+ SCE_HBA_STRINGEOL = 87
2729
+ # Embedded Python
2730
+ SCE_HP_START = 90
2731
+ SCE_HP_DEFAULT = 91
2732
+ SCE_HP_COMMENTLINE = 92
2733
+ SCE_HP_NUMBER = 93
2734
+ SCE_HP_STRING = 94
2735
+ SCE_HP_CHARACTER = 95
2736
+ SCE_HP_WORD = 96
2737
+ SCE_HP_TRIPLE = 97
2738
+ SCE_HP_TRIPLEDOUBLE = 98
2739
+ SCE_HP_CLASSNAME = 99
2740
+ SCE_HP_DEFNAME = 100
2741
+ SCE_HP_OPERATOR = 101
2742
+ SCE_HP_IDENTIFIER = 102
2743
+ # PHP
2744
+ SCE_HPHP_COMPLEX_VARIABLE = 104
2745
+ # ASP Python
2746
+ SCE_HPA_START = 105
2747
+ SCE_HPA_DEFAULT = 106
2748
+ SCE_HPA_COMMENTLINE = 107
2749
+ SCE_HPA_NUMBER = 108
2750
+ SCE_HPA_STRING = 109
2751
+ SCE_HPA_CHARACTER = 110
2752
+ SCE_HPA_WORD = 111
2753
+ SCE_HPA_TRIPLE = 112
2754
+ SCE_HPA_TRIPLEDOUBLE = 113
2755
+ SCE_HPA_CLASSNAME = 114
2756
+ SCE_HPA_DEFNAME = 115
2757
+ SCE_HPA_OPERATOR = 116
2758
+ SCE_HPA_IDENTIFIER = 117
2759
+ # PHP
2760
+ SCE_HPHP_DEFAULT = 118
2761
+ SCE_HPHP_HSTRING = 119
2762
+ SCE_HPHP_SIMPLESTRING = 120
2763
+ SCE_HPHP_WORD = 121
2764
+ SCE_HPHP_NUMBER = 122
2765
+ SCE_HPHP_VARIABLE = 123
2766
+ SCE_HPHP_COMMENT = 124
2767
+ SCE_HPHP_COMMENTLINE = 125
2768
+ SCE_HPHP_HSTRING_VARIABLE = 126
2769
+ SCE_HPHP_OPERATOR = 127
2770
+ # Lexical states for SCLEX_PERL
2771
+ SCE_PL_DEFAULT = 0
2772
+ SCE_PL_ERROR = 1
2773
+ SCE_PL_COMMENTLINE = 2
2774
+ SCE_PL_POD = 3
2775
+ SCE_PL_NUMBER = 4
2776
+ SCE_PL_WORD = 5
2777
+ SCE_PL_STRING = 6
2778
+ SCE_PL_CHARACTER = 7
2779
+ SCE_PL_PUNCTUATION = 8
2780
+ SCE_PL_PREPROCESSOR = 9
2781
+ SCE_PL_OPERATOR = 10
2782
+ SCE_PL_IDENTIFIER = 11
2783
+ SCE_PL_SCALAR = 12
2784
+ SCE_PL_ARRAY = 13
2785
+ SCE_PL_HASH = 14
2786
+ SCE_PL_SYMBOLTABLE = 15
2787
+ SCE_PL_VARIABLE_INDEXER = 16
2788
+ SCE_PL_REGEX = 17
2789
+ SCE_PL_REGSUBST = 18
2790
+ SCE_PL_LONGQUOTE = 19
2791
+ SCE_PL_BACKTICKS = 20
2792
+ SCE_PL_DATASECTION = 21
2793
+ SCE_PL_HERE_DELIM = 22
2794
+ SCE_PL_HERE_Q = 23
2795
+ SCE_PL_HERE_QQ = 24
2796
+ SCE_PL_HERE_QX = 25
2797
+ SCE_PL_STRING_Q = 26
2798
+ SCE_PL_STRING_QQ = 27
2799
+ SCE_PL_STRING_QX = 28
2800
+ SCE_PL_STRING_QR = 29
2801
+ SCE_PL_STRING_QW = 30
2802
+ SCE_PL_POD_VERB = 31
2803
+ # Lexical states for SCLEX_RUBY
2804
+ SCE_RB_DEFAULT = 0
2805
+ SCE_RB_ERROR = 1
2806
+ SCE_RB_COMMENTLINE = 2
2807
+ SCE_RB_POD = 3
2808
+ SCE_RB_NUMBER = 4
2809
+ SCE_RB_WORD = 5
2810
+ SCE_RB_STRING = 6
2811
+ SCE_RB_CHARACTER = 7
2812
+ SCE_RB_CLASSNAME = 8
2813
+ SCE_RB_DEFNAME = 9
2814
+ SCE_RB_OPERATOR = 10
2815
+ SCE_RB_IDENTIFIER = 11
2816
+ SCE_RB_REGEX = 12
2817
+ SCE_RB_GLOBAL = 13
2818
+ SCE_RB_SYMBOL = 14
2819
+ SCE_RB_MODULE_NAME = 15
2820
+ SCE_RB_INSTANCE_VAR = 16
2821
+ SCE_RB_CLASS_VAR = 17
2822
+ SCE_RB_BACKTICKS = 18
2823
+ SCE_RB_DATASECTION = 19
2824
+ SCE_RB_HERE_DELIM = 20
2825
+ SCE_RB_HERE_Q = 21
2826
+ SCE_RB_HERE_QQ = 22
2827
+ SCE_RB_HERE_QX = 23
2828
+ SCE_RB_STRING_Q = 24
2829
+ SCE_RB_STRING_QQ = 25
2830
+ SCE_RB_STRING_QX = 26
2831
+ SCE_RB_STRING_QR = 27
2832
+ SCE_RB_STRING_QW = 28
2833
+ SCE_RB_WORD_DEMOTED = 29
2834
+ SCE_RB_STDIN = 30
2835
+ SCE_RB_STDOUT = 31
2836
+ SCE_RB_STDERR = 40
2837
+ SCE_RB_UPPER_BOUND = 41
2838
+ # Lexical states for SCLEX_VB, SCLEX_VBSCRIPT, SCLEX_POWERBASIC
2839
+ SCE_B_DEFAULT = 0
2840
+ SCE_B_COMMENT = 1
2841
+ SCE_B_NUMBER = 2
2842
+ SCE_B_KEYWORD = 3
2843
+ SCE_B_STRING = 4
2844
+ SCE_B_PREPROCESSOR = 5
2845
+ SCE_B_OPERATOR = 6
2846
+ SCE_B_IDENTIFIER = 7
2847
+ SCE_B_DATE = 8
2848
+ SCE_B_STRINGEOL = 9
2849
+ SCE_B_KEYWORD2 = 10
2850
+ SCE_B_KEYWORD3 = 11
2851
+ SCE_B_KEYWORD4 = 12
2852
+ SCE_B_CONSTANT = 13
2853
+ SCE_B_ASM = 14
2854
+ SCE_B_LABEL = 15
2855
+ SCE_B_ERROR = 16
2856
+ SCE_B_HEXNUMBER = 17
2857
+ SCE_B_BINNUMBER = 18
2858
+ # Lexical states for SCLEX_PROPERTIES
2859
+ SCE_PROPS_DEFAULT = 0
2860
+ SCE_PROPS_COMMENT = 1
2861
+ SCE_PROPS_SECTION = 2
2862
+ SCE_PROPS_ASSIGNMENT = 3
2863
+ SCE_PROPS_DEFVAL = 4
2864
+ # Lexical states for SCLEX_LATEX
2865
+ SCE_L_DEFAULT = 0
2866
+ SCE_L_COMMAND = 1
2867
+ SCE_L_TAG = 2
2868
+ SCE_L_MATH = 3
2869
+ SCE_L_COMMENT = 4
2870
+ # Lexical states for SCLEX_LUA
2871
+ SCE_LUA_DEFAULT = 0
2872
+ SCE_LUA_COMMENT = 1
2873
+ SCE_LUA_COMMENTLINE = 2
2874
+ SCE_LUA_COMMENTDOC = 3
2875
+ SCE_LUA_NUMBER = 4
2876
+ SCE_LUA_WORD = 5
2877
+ SCE_LUA_STRING = 6
2878
+ SCE_LUA_CHARACTER = 7
2879
+ SCE_LUA_LITERALSTRING = 8
2880
+ SCE_LUA_PREPROCESSOR = 9
2881
+ SCE_LUA_OPERATOR = 10
2882
+ SCE_LUA_IDENTIFIER = 11
2883
+ SCE_LUA_STRINGEOL = 12
2884
+ SCE_LUA_WORD2 = 13
2885
+ SCE_LUA_WORD3 = 14
2886
+ SCE_LUA_WORD4 = 15
2887
+ SCE_LUA_WORD5 = 16
2888
+ SCE_LUA_WORD6 = 17
2889
+ SCE_LUA_WORD7 = 18
2890
+ SCE_LUA_WORD8 = 19
2891
+ # Lexical states for SCLEX_ERRORLIST
2892
+ SCE_ERR_DEFAULT = 0
2893
+ SCE_ERR_PYTHON = 1
2894
+ SCE_ERR_GCC = 2
2895
+ SCE_ERR_MS = 3
2896
+ SCE_ERR_CMD = 4
2897
+ SCE_ERR_BORLAND = 5
2898
+ SCE_ERR_PERL = 6
2899
+ SCE_ERR_NET = 7
2900
+ SCE_ERR_LUA = 8
2901
+ SCE_ERR_CTAG = 9
2902
+ SCE_ERR_DIFF_CHANGED = 10
2903
+ SCE_ERR_DIFF_ADDITION = 11
2904
+ SCE_ERR_DIFF_DELETION = 12
2905
+ SCE_ERR_DIFF_MESSAGE = 13
2906
+ SCE_ERR_PHP = 14
2907
+ SCE_ERR_ELF = 15
2908
+ SCE_ERR_IFC = 16
2909
+ SCE_ERR_IFORT = 17
2910
+ SCE_ERR_ABSF = 18
2911
+ SCE_ERR_TIDY = 19
2912
+ SCE_ERR_JAVA_STACK = 20
2913
+ # Lexical states for SCLEX_BATCH
2914
+ SCE_BAT_DEFAULT = 0
2915
+ SCE_BAT_COMMENT = 1
2916
+ SCE_BAT_WORD = 2
2917
+ SCE_BAT_LABEL = 3
2918
+ SCE_BAT_HIDE = 4
2919
+ SCE_BAT_COMMAND = 5
2920
+ SCE_BAT_IDENTIFIER = 6
2921
+ SCE_BAT_OPERATOR = 7
2922
+ # Lexical states for SCLEX_MAKEFILE
2923
+ SCE_MAKE_DEFAULT = 0
2924
+ SCE_MAKE_COMMENT = 1
2925
+ SCE_MAKE_PREPROCESSOR = 2
2926
+ SCE_MAKE_IDENTIFIER = 3
2927
+ SCE_MAKE_OPERATOR = 4
2928
+ SCE_MAKE_TARGET = 5
2929
+ SCE_MAKE_IDEOL = 9
2930
+ # Lexical states for SCLEX_DIFF
2931
+ SCE_DIFF_DEFAULT = 0
2932
+ SCE_DIFF_COMMENT = 1
2933
+ SCE_DIFF_COMMAND = 2
2934
+ SCE_DIFF_HEADER = 3
2935
+ SCE_DIFF_POSITION = 4
2936
+ SCE_DIFF_DELETED = 5
2937
+ SCE_DIFF_ADDED = 6
2938
+ # Lexical states for SCLEX_CONF (Apache Configuration Files Lexer)
2939
+ SCE_CONF_DEFAULT = 0
2940
+ SCE_CONF_COMMENT = 1
2941
+ SCE_CONF_NUMBER = 2
2942
+ SCE_CONF_IDENTIFIER = 3
2943
+ SCE_CONF_EXTENSION = 4
2944
+ SCE_CONF_PARAMETER = 5
2945
+ SCE_CONF_STRING = 6
2946
+ SCE_CONF_OPERATOR = 7
2947
+ SCE_CONF_IP = 8
2948
+ SCE_CONF_DIRECTIVE = 9
2949
+ # Lexical states for SCLEX_AVE, Avenue
2950
+ SCE_AVE_DEFAULT = 0
2951
+ SCE_AVE_COMMENT = 1
2952
+ SCE_AVE_NUMBER = 2
2953
+ SCE_AVE_WORD = 3
2954
+ SCE_AVE_STRING = 6
2955
+ SCE_AVE_ENUM = 7
2956
+ SCE_AVE_STRINGEOL = 8
2957
+ SCE_AVE_IDENTIFIER = 9
2958
+ SCE_AVE_OPERATOR = 10
2959
+ SCE_AVE_WORD1 = 11
2960
+ SCE_AVE_WORD2 = 12
2961
+ SCE_AVE_WORD3 = 13
2962
+ SCE_AVE_WORD4 = 14
2963
+ SCE_AVE_WORD5 = 15
2964
+ SCE_AVE_WORD6 = 16
2965
+ # Lexical states for SCLEX_ADA
2966
+ SCE_ADA_DEFAULT = 0
2967
+ SCE_ADA_WORD = 1
2968
+ SCE_ADA_IDENTIFIER = 2
2969
+ SCE_ADA_NUMBER = 3
2970
+ SCE_ADA_DELIMITER = 4
2971
+ SCE_ADA_CHARACTER = 5
2972
+ SCE_ADA_CHARACTEREOL = 6
2973
+ SCE_ADA_STRING = 7
2974
+ SCE_ADA_STRINGEOL = 8
2975
+ SCE_ADA_LABEL = 9
2976
+ SCE_ADA_COMMENTLINE = 10
2977
+ SCE_ADA_ILLEGAL = 11
2978
+ # Lexical states for SCLEX_BAAN
2979
+ SCE_BAAN_DEFAULT = 0
2980
+ SCE_BAAN_COMMENT = 1
2981
+ SCE_BAAN_COMMENTDOC = 2
2982
+ SCE_BAAN_NUMBER = 3
2983
+ SCE_BAAN_WORD = 4
2984
+ SCE_BAAN_STRING = 5
2985
+ SCE_BAAN_PREPROCESSOR = 6
2986
+ SCE_BAAN_OPERATOR = 7
2987
+ SCE_BAAN_IDENTIFIER = 8
2988
+ SCE_BAAN_STRINGEOL = 9
2989
+ SCE_BAAN_WORD2 = 10
2990
+ # Lexical states for SCLEX_LISP
2991
+ SCE_LISP_DEFAULT = 0
2992
+ SCE_LISP_COMMENT = 1
2993
+ SCE_LISP_NUMBER = 2
2994
+ SCE_LISP_KEYWORD = 3
2995
+ SCE_LISP_KEYWORD_KW = 4
2996
+ SCE_LISP_SYMBOL = 5
2997
+ SCE_LISP_STRING = 6
2998
+ SCE_LISP_STRINGEOL = 8
2999
+ SCE_LISP_IDENTIFIER = 9
3000
+ SCE_LISP_OPERATOR = 10
3001
+ SCE_LISP_SPECIAL = 11
3002
+ SCE_LISP_MULTI_COMMENT = 12
3003
+ # Lexical states for SCLEX_EIFFEL and SCLEX_EIFFELKW
3004
+ SCE_EIFFEL_DEFAULT = 0
3005
+ SCE_EIFFEL_COMMENTLINE = 1
3006
+ SCE_EIFFEL_NUMBER = 2
3007
+ SCE_EIFFEL_WORD = 3
3008
+ SCE_EIFFEL_STRING = 4
3009
+ SCE_EIFFEL_CHARACTER = 5
3010
+ SCE_EIFFEL_OPERATOR = 6
3011
+ SCE_EIFFEL_IDENTIFIER = 7
3012
+ SCE_EIFFEL_STRINGEOL = 8
3013
+ # Lexical states for SCLEX_NNCRONTAB (nnCron crontab Lexer)
3014
+ SCE_NNCRONTAB_DEFAULT = 0
3015
+ SCE_NNCRONTAB_COMMENT = 1
3016
+ SCE_NNCRONTAB_TASK = 2
3017
+ SCE_NNCRONTAB_SECTION = 3
3018
+ SCE_NNCRONTAB_KEYWORD = 4
3019
+ SCE_NNCRONTAB_MODIFIER = 5
3020
+ SCE_NNCRONTAB_ASTERISK = 6
3021
+ SCE_NNCRONTAB_NUMBER = 7
3022
+ SCE_NNCRONTAB_STRING = 8
3023
+ SCE_NNCRONTAB_ENVIRONMENT = 9
3024
+ SCE_NNCRONTAB_IDENTIFIER = 10
3025
+ # Lexical states for SCLEX_FORTH (Forth Lexer)
3026
+ SCE_FORTH_DEFAULT = 0
3027
+ SCE_FORTH_COMMENT = 1
3028
+ SCE_FORTH_COMMENT_ML = 2
3029
+ SCE_FORTH_IDENTIFIER = 3
3030
+ SCE_FORTH_CONTROL = 4
3031
+ SCE_FORTH_KEYWORD = 5
3032
+ SCE_FORTH_DEFWORD = 6
3033
+ SCE_FORTH_PREWORD1 = 7
3034
+ SCE_FORTH_PREWORD2 = 8
3035
+ SCE_FORTH_NUMBER = 9
3036
+ SCE_FORTH_STRING = 10
3037
+ SCE_FORTH_LOCALE = 11
3038
+ # Lexical states for SCLEX_MATLAB
3039
+ SCE_MATLAB_DEFAULT = 0
3040
+ SCE_MATLAB_COMMENT = 1
3041
+ SCE_MATLAB_COMMAND = 2
3042
+ SCE_MATLAB_NUMBER = 3
3043
+ SCE_MATLAB_KEYWORD = 4
3044
+ # single quoted string
3045
+ SCE_MATLAB_STRING = 5
3046
+ SCE_MATLAB_OPERATOR = 6
3047
+ SCE_MATLAB_IDENTIFIER = 7
3048
+ SCE_MATLAB_DOUBLEQUOTESTRING = 8
3049
+ # Lexical states for SCLEX_SCRIPTOL
3050
+ SCE_SCRIPTOL_DEFAULT = 0
3051
+ SCE_SCRIPTOL_WHITE = 1
3052
+ SCE_SCRIPTOL_COMMENTLINE = 2
3053
+ SCE_SCRIPTOL_PERSISTENT = 3
3054
+ SCE_SCRIPTOL_CSTYLE = 4
3055
+ SCE_SCRIPTOL_COMMENTBLOCK = 5
3056
+ SCE_SCRIPTOL_NUMBER = 6
3057
+ SCE_SCRIPTOL_STRING = 7
3058
+ SCE_SCRIPTOL_CHARACTER = 8
3059
+ SCE_SCRIPTOL_STRINGEOL = 9
3060
+ SCE_SCRIPTOL_KEYWORD = 10
3061
+ SCE_SCRIPTOL_OPERATOR = 11
3062
+ SCE_SCRIPTOL_IDENTIFIER = 12
3063
+ SCE_SCRIPTOL_TRIPLE = 13
3064
+ SCE_SCRIPTOL_CLASSNAME = 14
3065
+ SCE_SCRIPTOL_PREPROCESSOR = 15
3066
+ # Lexical states for SCLEX_ASM
3067
+ SCE_ASM_DEFAULT = 0
3068
+ SCE_ASM_COMMENT = 1
3069
+ SCE_ASM_NUMBER = 2
3070
+ SCE_ASM_STRING = 3
3071
+ SCE_ASM_OPERATOR = 4
3072
+ SCE_ASM_IDENTIFIER = 5
3073
+ SCE_ASM_CPUINSTRUCTION = 6
3074
+ SCE_ASM_MATHINSTRUCTION = 7
3075
+ SCE_ASM_REGISTER = 8
3076
+ SCE_ASM_DIRECTIVE = 9
3077
+ SCE_ASM_DIRECTIVEOPERAND = 10
3078
+ SCE_ASM_COMMENTBLOCK = 11
3079
+ SCE_ASM_CHARACTER = 12
3080
+ SCE_ASM_STRINGEOL = 13
3081
+ SCE_ASM_EXTINSTRUCTION = 14
3082
+ # Lexical states for SCLEX_FORTRAN
3083
+ SCE_F_DEFAULT = 0
3084
+ SCE_F_COMMENT = 1
3085
+ SCE_F_NUMBER = 2
3086
+ SCE_F_STRING1 = 3
3087
+ SCE_F_STRING2 = 4
3088
+ SCE_F_STRINGEOL = 5
3089
+ SCE_F_OPERATOR = 6
3090
+ SCE_F_IDENTIFIER = 7
3091
+ SCE_F_WORD = 8
3092
+ SCE_F_WORD2 = 9
3093
+ SCE_F_WORD3 = 10
3094
+ SCE_F_PREPROCESSOR = 11
3095
+ SCE_F_OPERATOR2 = 12
3096
+ SCE_F_LABEL = 13
3097
+ SCE_F_CONTINUATION = 14
3098
+ # Lexical states for SCLEX_CSS
3099
+ SCE_CSS_DEFAULT = 0
3100
+ SCE_CSS_TAG = 1
3101
+ SCE_CSS_CLASS = 2
3102
+ SCE_CSS_PSEUDOCLASS = 3
3103
+ SCE_CSS_UNKNOWN_PSEUDOCLASS = 4
3104
+ SCE_CSS_OPERATOR = 5
3105
+ SCE_CSS_IDENTIFIER = 6
3106
+ SCE_CSS_UNKNOWN_IDENTIFIER = 7
3107
+ SCE_CSS_VALUE = 8
3108
+ SCE_CSS_COMMENT = 9
3109
+ SCE_CSS_ID = 10
3110
+ SCE_CSS_IMPORTANT = 11
3111
+ SCE_CSS_DIRECTIVE = 12
3112
+ SCE_CSS_DOUBLESTRING = 13
3113
+ SCE_CSS_SINGLESTRING = 14
3114
+ SCE_CSS_IDENTIFIER2 = 15
3115
+ SCE_CSS_ATTRIBUTE = 16
3116
+ # Lexical states for SCLEX_POV
3117
+ SCE_POV_DEFAULT = 0
3118
+ SCE_POV_COMMENT = 1
3119
+ SCE_POV_COMMENTLINE = 2
3120
+ SCE_POV_NUMBER = 3
3121
+ SCE_POV_OPERATOR = 4
3122
+ SCE_POV_IDENTIFIER = 5
3123
+ SCE_POV_STRING = 6
3124
+ SCE_POV_STRINGEOL = 7
3125
+ SCE_POV_DIRECTIVE = 8
3126
+ SCE_POV_BADDIRECTIVE = 9
3127
+ SCE_POV_WORD2 = 10
3128
+ SCE_POV_WORD3 = 11
3129
+ SCE_POV_WORD4 = 12
3130
+ SCE_POV_WORD5 = 13
3131
+ SCE_POV_WORD6 = 14
3132
+ SCE_POV_WORD7 = 15
3133
+ SCE_POV_WORD8 = 16
3134
+ # Lexical states for SCLEX_LOUT
3135
+ SCE_LOUT_DEFAULT = 0
3136
+ SCE_LOUT_COMMENT = 1
3137
+ SCE_LOUT_NUMBER = 2
3138
+ SCE_LOUT_WORD = 3
3139
+ SCE_LOUT_WORD2 = 4
3140
+ SCE_LOUT_WORD3 = 5
3141
+ SCE_LOUT_WORD4 = 6
3142
+ SCE_LOUT_STRING = 7
3143
+ SCE_LOUT_OPERATOR = 8
3144
+ SCE_LOUT_IDENTIFIER = 9
3145
+ SCE_LOUT_STRINGEOL = 10
3146
+ # Lexical states for SCLEX_ESCRIPT
3147
+ SCE_ESCRIPT_DEFAULT = 0
3148
+ SCE_ESCRIPT_COMMENT = 1
3149
+ SCE_ESCRIPT_COMMENTLINE = 2
3150
+ SCE_ESCRIPT_COMMENTDOC = 3
3151
+ SCE_ESCRIPT_NUMBER = 4
3152
+ SCE_ESCRIPT_WORD = 5
3153
+ SCE_ESCRIPT_STRING = 6
3154
+ SCE_ESCRIPT_OPERATOR = 7
3155
+ SCE_ESCRIPT_IDENTIFIER = 8
3156
+ SCE_ESCRIPT_BRACE = 9
3157
+ SCE_ESCRIPT_WORD2 = 10
3158
+ SCE_ESCRIPT_WORD3 = 11
3159
+ # Lexical states for SCLEX_PS
3160
+ SCE_PS_DEFAULT = 0
3161
+ SCE_PS_COMMENT = 1
3162
+ SCE_PS_DSC_COMMENT = 2
3163
+ SCE_PS_DSC_VALUE = 3
3164
+ SCE_PS_NUMBER = 4
3165
+ SCE_PS_NAME = 5
3166
+ SCE_PS_KEYWORD = 6
3167
+ SCE_PS_LITERAL = 7
3168
+ SCE_PS_IMMEVAL = 8
3169
+ SCE_PS_PAREN_ARRAY = 9
3170
+ SCE_PS_PAREN_DICT = 10
3171
+ SCE_PS_PAREN_PROC = 11
3172
+ SCE_PS_TEXT = 12
3173
+ SCE_PS_HEXSTRING = 13
3174
+ SCE_PS_BASE85STRING = 14
3175
+ SCE_PS_BADSTRINGCHAR = 15
3176
+ # Lexical states for SCLEX_NSIS
3177
+ SCE_NSIS_DEFAULT = 0
3178
+ SCE_NSIS_COMMENT = 1
3179
+ SCE_NSIS_STRINGDQ = 2
3180
+ SCE_NSIS_STRINGLQ = 3
3181
+ SCE_NSIS_STRINGRQ = 4
3182
+ SCE_NSIS_FUNCTION = 5
3183
+ SCE_NSIS_VARIABLE = 6
3184
+ SCE_NSIS_LABEL = 7
3185
+ SCE_NSIS_USERDEFINED = 8
3186
+ SCE_NSIS_SECTIONDEF = 9
3187
+ SCE_NSIS_SUBSECTIONDEF = 10
3188
+ SCE_NSIS_IFDEFINEDEF = 11
3189
+ SCE_NSIS_MACRODEF = 12
3190
+ SCE_NSIS_STRINGVAR = 13
3191
+ SCE_NSIS_NUMBER = 14
3192
+ SCE_NSIS_SECTIONGROUP = 15
3193
+ SCE_NSIS_PAGEEX = 16
3194
+ SCE_NSIS_FUNCTIONDEF = 17
3195
+ SCE_NSIS_COMMENTBOX = 18
3196
+ # Lexical states for SCLEX_MMIXAL
3197
+ SCE_MMIXAL_LEADWS = 0
3198
+ SCE_MMIXAL_COMMENT = 1
3199
+ SCE_MMIXAL_LABEL = 2
3200
+ SCE_MMIXAL_OPCODE = 3
3201
+ SCE_MMIXAL_OPCODE_PRE = 4
3202
+ SCE_MMIXAL_OPCODE_VALID = 5
3203
+ SCE_MMIXAL_OPCODE_UNKNOWN = 6
3204
+ SCE_MMIXAL_OPCODE_POST = 7
3205
+ SCE_MMIXAL_OPERANDS = 8
3206
+ SCE_MMIXAL_NUMBER = 9
3207
+ SCE_MMIXAL_REF = 10
3208
+ SCE_MMIXAL_CHAR = 11
3209
+ SCE_MMIXAL_STRING = 12
3210
+ SCE_MMIXAL_REGISTER = 13
3211
+ SCE_MMIXAL_HEX = 14
3212
+ SCE_MMIXAL_OPERATOR = 15
3213
+ SCE_MMIXAL_SYMBOL = 16
3214
+ SCE_MMIXAL_INCLUDE = 17
3215
+ # Lexical states for SCLEX_CLW
3216
+ SCE_CLW_DEFAULT = 0
3217
+ SCE_CLW_LABEL = 1
3218
+ SCE_CLW_COMMENT = 2
3219
+ SCE_CLW_STRING = 3
3220
+ SCE_CLW_USER_IDENTIFIER = 4
3221
+ SCE_CLW_INTEGER_CONSTANT = 5
3222
+ SCE_CLW_REAL_CONSTANT = 6
3223
+ SCE_CLW_PICTURE_STRING = 7
3224
+ SCE_CLW_KEYWORD = 8
3225
+ SCE_CLW_COMPILER_DIRECTIVE = 9
3226
+ SCE_CLW_RUNTIME_EXPRESSIONS = 10
3227
+ SCE_CLW_BUILTIN_PROCEDURES_FUNCTION = 11
3228
+ SCE_CLW_STRUCTURE_DATA_TYPE = 12
3229
+ SCE_CLW_ATTRIBUTE = 13
3230
+ SCE_CLW_STANDARD_EQUATE = 14
3231
+ SCE_CLW_ERROR = 15
3232
+ SCE_CLW_DEPRECATED = 16
3233
+ # Lexical states for SCLEX_LOT
3234
+ SCE_LOT_DEFAULT = 0
3235
+ SCE_LOT_HEADER = 1
3236
+ SCE_LOT_BREAK = 2
3237
+ SCE_LOT_SET = 3
3238
+ SCE_LOT_PASS = 4
3239
+ SCE_LOT_FAIL = 5
3240
+ SCE_LOT_ABORT = 6
3241
+ # Lexical states for SCLEX_YAML
3242
+ SCE_YAML_DEFAULT = 0
3243
+ SCE_YAML_COMMENT = 1
3244
+ SCE_YAML_IDENTIFIER = 2
3245
+ SCE_YAML_KEYWORD = 3
3246
+ SCE_YAML_NUMBER = 4
3247
+ SCE_YAML_REFERENCE = 5
3248
+ SCE_YAML_DOCUMENT = 6
3249
+ SCE_YAML_TEXT = 7
3250
+ SCE_YAML_ERROR = 8
3251
+ # Lexical states for SCLEX_TEX
3252
+ SCE_TEX_DEFAULT = 0
3253
+ SCE_TEX_SPECIAL = 1
3254
+ SCE_TEX_GROUP = 2
3255
+ SCE_TEX_SYMBOL = 3
3256
+ SCE_TEX_COMMAND = 4
3257
+ SCE_TEX_TEXT = 5
3258
+ SCE_METAPOST_DEFAULT = 0
3259
+ SCE_METAPOST_SPECIAL = 1
3260
+ SCE_METAPOST_GROUP = 2
3261
+ SCE_METAPOST_SYMBOL = 3
3262
+ SCE_METAPOST_COMMAND = 4
3263
+ SCE_METAPOST_TEXT = 5
3264
+ SCE_METAPOST_EXTRA = 6
3265
+ # Lexical states for SCLEX_ERLANG
3266
+ SCE_ERLANG_DEFAULT = 0
3267
+ SCE_ERLANG_COMMENT = 1
3268
+ SCE_ERLANG_VARIABLE = 2
3269
+ SCE_ERLANG_NUMBER = 3
3270
+ SCE_ERLANG_KEYWORD = 4
3271
+ SCE_ERLANG_STRING = 5
3272
+ SCE_ERLANG_OPERATOR = 6
3273
+ SCE_ERLANG_ATOM = 7
3274
+ SCE_ERLANG_FUNCTION_NAME = 8
3275
+ SCE_ERLANG_CHARACTER = 9
3276
+ SCE_ERLANG_MACRO = 10
3277
+ SCE_ERLANG_RECORD = 11
3278
+ SCE_ERLANG_SEPARATOR = 12
3279
+ SCE_ERLANG_NODE_NAME = 13
3280
+ SCE_ERLANG_UNKNOWN = 31
3281
+ # Lexical states for SCLEX_OCTAVE are identical to MatLab
3282
+ # Lexical states for SCLEX_MSSQL
3283
+ SCE_MSSQL_DEFAULT = 0
3284
+ SCE_MSSQL_COMMENT = 1
3285
+ SCE_MSSQL_LINE_COMMENT = 2
3286
+ SCE_MSSQL_NUMBER = 3
3287
+ SCE_MSSQL_STRING = 4
3288
+ SCE_MSSQL_OPERATOR = 5
3289
+ SCE_MSSQL_IDENTIFIER = 6
3290
+ SCE_MSSQL_VARIABLE = 7
3291
+ SCE_MSSQL_COLUMN_NAME = 8
3292
+ SCE_MSSQL_STATEMENT = 9
3293
+ SCE_MSSQL_DATATYPE = 10
3294
+ SCE_MSSQL_SYSTABLE = 11
3295
+ SCE_MSSQL_GLOBAL_VARIABLE = 12
3296
+ SCE_MSSQL_FUNCTION = 13
3297
+ SCE_MSSQL_STORED_PROCEDURE = 14
3298
+ SCE_MSSQL_DEFAULT_PREF_DATATYPE = 15
3299
+ SCE_MSSQL_COLUMN_NAME_2 = 16
3300
+ # Lexical states for SCLEX_VERILOG
3301
+ SCE_V_DEFAULT = 0
3302
+ SCE_V_COMMENT = 1
3303
+ SCE_V_COMMENTLINE = 2
3304
+ SCE_V_COMMENTLINEBANG = 3
3305
+ SCE_V_NUMBER = 4
3306
+ SCE_V_WORD = 5
3307
+ SCE_V_STRING = 6
3308
+ SCE_V_WORD2 = 7
3309
+ SCE_V_WORD3 = 8
3310
+ SCE_V_PREPROCESSOR = 9
3311
+ SCE_V_OPERATOR = 10
3312
+ SCE_V_IDENTIFIER = 11
3313
+ SCE_V_STRINGEOL = 12
3314
+ SCE_V_USER = 19
3315
+ # Lexical states for SCLEX_KIX
3316
+ SCE_KIX_DEFAULT = 0
3317
+ SCE_KIX_COMMENT = 1
3318
+ SCE_KIX_STRING1 = 2
3319
+ SCE_KIX_STRING2 = 3
3320
+ SCE_KIX_NUMBER = 4
3321
+ SCE_KIX_VAR = 5
3322
+ SCE_KIX_MACRO = 6
3323
+ SCE_KIX_KEYWORD = 7
3324
+ SCE_KIX_FUNCTIONS = 8
3325
+ SCE_KIX_OPERATOR = 9
3326
+ SCE_KIX_IDENTIFIER = 31
3327
+ # Lexical states for SCLEX_GUI4CLI
3328
+ SCE_GC_DEFAULT = 0
3329
+ SCE_GC_COMMENTLINE = 1
3330
+ SCE_GC_COMMENTBLOCK = 2
3331
+ SCE_GC_GLOBAL = 3
3332
+ SCE_GC_EVENT = 4
3333
+ SCE_GC_ATTRIBUTE = 5
3334
+ SCE_GC_CONTROL = 6
3335
+ SCE_GC_COMMAND = 7
3336
+ SCE_GC_STRING = 8
3337
+ SCE_GC_OPERATOR = 9
3338
+ # Lexical states for SCLEX_SPECMAN
3339
+ SCE_SN_DEFAULT = 0
3340
+ SCE_SN_CODE = 1
3341
+ SCE_SN_COMMENTLINE = 2
3342
+ SCE_SN_COMMENTLINEBANG = 3
3343
+ SCE_SN_NUMBER = 4
3344
+ SCE_SN_WORD = 5
3345
+ SCE_SN_STRING = 6
3346
+ SCE_SN_WORD2 = 7
3347
+ SCE_SN_WORD3 = 8
3348
+ SCE_SN_PREPROCESSOR = 9
3349
+ SCE_SN_OPERATOR = 10
3350
+ SCE_SN_IDENTIFIER = 11
3351
+ SCE_SN_STRINGEOL = 12
3352
+ SCE_SN_REGEXTAG = 13
3353
+ SCE_SN_SIGNAL = 14
3354
+ SCE_SN_USER = 19
3355
+ # Lexical states for SCLEX_AU3
3356
+ SCE_AU3_DEFAULT = 0
3357
+ SCE_AU3_COMMENT = 1
3358
+ SCE_AU3_COMMENTBLOCK = 2
3359
+ SCE_AU3_NUMBER = 3
3360
+ SCE_AU3_FUNCTION = 4
3361
+ SCE_AU3_KEYWORD = 5
3362
+ SCE_AU3_MACRO = 6
3363
+ SCE_AU3_STRING = 7
3364
+ SCE_AU3_OPERATOR = 8
3365
+ SCE_AU3_VARIABLE = 9
3366
+ SCE_AU3_SENT = 10
3367
+ SCE_AU3_PREPROCESSOR = 11
3368
+ SCE_AU3_SPECIAL = 12
3369
+ SCE_AU3_EXPAND = 13
3370
+ SCE_AU3_COMOBJ = 14
3371
+ # Lexical states for SCLEX_APDL
3372
+ SCE_APDL_DEFAULT = 0
3373
+ SCE_APDL_COMMENT = 1
3374
+ SCE_APDL_COMMENTBLOCK = 2
3375
+ SCE_APDL_NUMBER = 3
3376
+ SCE_APDL_STRING = 4
3377
+ SCE_APDL_OPERATOR = 5
3378
+ SCE_APDL_WORD = 6
3379
+ SCE_APDL_PROCESSOR = 7
3380
+ SCE_APDL_COMMAND = 8
3381
+ SCE_APDL_SLASHCOMMAND = 9
3382
+ SCE_APDL_STARCOMMAND = 10
3383
+ SCE_APDL_ARGUMENT = 11
3384
+ SCE_APDL_FUNCTION = 12
3385
+ # Lexical states for SCLEX_BASH
3386
+ SCE_SH_DEFAULT = 0
3387
+ SCE_SH_ERROR = 1
3388
+ SCE_SH_COMMENTLINE = 2
3389
+ SCE_SH_NUMBER = 3
3390
+ SCE_SH_WORD = 4
3391
+ SCE_SH_STRING = 5
3392
+ SCE_SH_CHARACTER = 6
3393
+ SCE_SH_OPERATOR = 7
3394
+ SCE_SH_IDENTIFIER = 8
3395
+ SCE_SH_SCALAR = 9
3396
+ SCE_SH_PARAM = 10
3397
+ SCE_SH_BACKTICKS = 11
3398
+ SCE_SH_HERE_DELIM = 12
3399
+ SCE_SH_HERE_Q = 13
3400
+ # Lexical states for SCLEX_ASN1
3401
+ SCE_ASN1_DEFAULT = 0
3402
+ SCE_ASN1_COMMENT = 1
3403
+ SCE_ASN1_IDENTIFIER = 2
3404
+ SCE_ASN1_STRING = 3
3405
+ SCE_ASN1_OID = 4
3406
+ SCE_ASN1_SCALAR = 5
3407
+ SCE_ASN1_KEYWORD = 6
3408
+ SCE_ASN1_ATTRIBUTE = 7
3409
+ SCE_ASN1_DESCRIPTOR = 8
3410
+ SCE_ASN1_TYPE = 9
3411
+ SCE_ASN1_OPERATOR = 10
3412
+ # Lexical states for SCLEX_VHDL
3413
+ SCE_VHDL_DEFAULT = 0
3414
+ SCE_VHDL_COMMENT = 1
3415
+ SCE_VHDL_COMMENTLINEBANG = 2
3416
+ SCE_VHDL_NUMBER = 3
3417
+ SCE_VHDL_STRING = 4
3418
+ SCE_VHDL_OPERATOR = 5
3419
+ SCE_VHDL_IDENTIFIER = 6
3420
+ SCE_VHDL_STRINGEOL = 7
3421
+ SCE_VHDL_KEYWORD = 8
3422
+ SCE_VHDL_STDOPERATOR = 9
3423
+ SCE_VHDL_ATTRIBUTE = 10
3424
+ SCE_VHDL_STDFUNCTION = 11
3425
+ SCE_VHDL_STDPACKAGE = 12
3426
+ SCE_VHDL_STDTYPE = 13
3427
+ SCE_VHDL_USERWORD = 14
3428
+ # Lexical states for SCLEX_CAML
3429
+ SCE_CAML_DEFAULT = 0
3430
+ SCE_CAML_IDENTIFIER = 1
3431
+ SCE_CAML_TAGNAME = 2
3432
+ SCE_CAML_KEYWORD = 3
3433
+ SCE_CAML_KEYWORD2 = 4
3434
+ SCE_CAML_KEYWORD3 = 5
3435
+ SCE_CAML_LINENUM = 6
3436
+ SCE_CAML_OPERATOR = 7
3437
+ SCE_CAML_NUMBER = 8
3438
+ SCE_CAML_CHAR = 9
3439
+ SCE_CAML_STRING = 11
3440
+ SCE_CAML_COMMENT = 12
3441
+ SCE_CAML_COMMENT1 = 13
3442
+ SCE_CAML_COMMENT2 = 14
3443
+ SCE_CAML_COMMENT3 = 15
3444
+ # Lexical states for SCLEX_HASKELL
3445
+ SCE_HA_DEFAULT = 0
3446
+ SCE_HA_IDENTIFIER = 1
3447
+ SCE_HA_KEYWORD = 2
3448
+ SCE_HA_NUMBER = 3
3449
+ SCE_HA_STRING = 4
3450
+ SCE_HA_CHARACTER = 5
3451
+ SCE_HA_CLASS = 6
3452
+ SCE_HA_MODULE = 7
3453
+ SCE_HA_CAPITAL = 8
3454
+ SCE_HA_DATA = 9
3455
+ SCE_HA_IMPORT = 10
3456
+ SCE_HA_OPERATOR = 11
3457
+ SCE_HA_INSTANCE = 12
3458
+ SCE_HA_COMMENTLINE = 13
3459
+ SCE_HA_COMMENTBLOCK = 14
3460
+ SCE_HA_COMMENTBLOCK2 = 15
3461
+ SCE_HA_COMMENTBLOCK3 = 16
3462
+ # Lexical states of SCLEX_TADS3
3463
+ SCE_T3_DEFAULT = 0
3464
+ SCE_T3_X_DEFAULT = 1
3465
+ SCE_T3_PREPROCESSOR = 2
3466
+ SCE_T3_BLOCK_COMMENT = 3
3467
+ SCE_T3_LINE_COMMENT = 4
3468
+ SCE_T3_OPERATOR = 5
3469
+ SCE_T3_KEYWORD = 6
3470
+ SCE_T3_NUMBER = 7
3471
+ SCE_T3_IDENTIFIER = 8
3472
+ SCE_T3_S_STRING = 9
3473
+ SCE_T3_D_STRING = 10
3474
+ SCE_T3_X_STRING = 11
3475
+ SCE_T3_LIB_DIRECTIVE = 12
3476
+ SCE_T3_MSG_PARAM = 13
3477
+ SCE_T3_HTML_TAG = 14
3478
+ SCE_T3_HTML_DEFAULT = 15
3479
+ SCE_T3_HTML_STRING = 16
3480
+ SCE_T3_USER1 = 17
3481
+ SCE_T3_USER2 = 18
3482
+ SCE_T3_USER3 = 19
3483
+ # Lexical states for SCLEX_REBOL
3484
+ SCE_REBOL_DEFAULT = 0
3485
+ SCE_REBOL_COMMENTLINE = 1
3486
+ SCE_REBOL_COMMENTBLOCK = 2
3487
+ SCE_REBOL_PREFACE = 3
3488
+ SCE_REBOL_OPERATOR = 4
3489
+ SCE_REBOL_CHARACTER = 5
3490
+ SCE_REBOL_QUOTEDSTRING = 6
3491
+ SCE_REBOL_BRACEDSTRING = 7
3492
+ SCE_REBOL_NUMBER = 8
3493
+ SCE_REBOL_PAIR = 9
3494
+ SCE_REBOL_TUPLE = 10
3495
+ SCE_REBOL_BINARY = 11
3496
+ SCE_REBOL_MONEY = 12
3497
+ SCE_REBOL_ISSUE = 13
3498
+ SCE_REBOL_TAG = 14
3499
+ SCE_REBOL_FILE = 15
3500
+ SCE_REBOL_EMAIL = 16
3501
+ SCE_REBOL_URL = 17
3502
+ SCE_REBOL_DATE = 18
3503
+ SCE_REBOL_TIME = 19
3504
+ SCE_REBOL_IDENTIFIER = 20
3505
+ SCE_REBOL_WORD = 21
3506
+ SCE_REBOL_WORD2 = 22
3507
+ SCE_REBOL_WORD3 = 23
3508
+ SCE_REBOL_WORD4 = 24
3509
+ SCE_REBOL_WORD5 = 25
3510
+ SCE_REBOL_WORD6 = 26
3511
+ SCE_REBOL_WORD7 = 27
3512
+ SCE_REBOL_WORD8 = 28
3513
+ # Lexical states for SCLEX_SQL
3514
+ SCE_SQL_DEFAULT = 0
3515
+ SCE_SQL_COMMENT = 1
3516
+ SCE_SQL_COMMENTLINE = 2
3517
+ SCE_SQL_COMMENTDOC = 3
3518
+ SCE_SQL_NUMBER = 4
3519
+ SCE_SQL_WORD = 5
3520
+ SCE_SQL_STRING = 6
3521
+ SCE_SQL_CHARACTER = 7
3522
+ SCE_SQL_SQLPLUS = 8
3523
+ SCE_SQL_SQLPLUS_PROMPT = 9
3524
+ SCE_SQL_OPERATOR = 10
3525
+ SCE_SQL_IDENTIFIER = 11
3526
+ SCE_SQL_SQLPLUS_COMMENT = 13
3527
+ SCE_SQL_COMMENTLINEDOC = 15
3528
+ SCE_SQL_WORD2 = 16
3529
+ SCE_SQL_COMMENTDOCKEYWORD = 17
3530
+ SCE_SQL_COMMENTDOCKEYWORDERROR = 18
3531
+ SCE_SQL_USER1 = 19
3532
+ SCE_SQL_USER2 = 20
3533
+ SCE_SQL_USER3 = 21
3534
+ SCE_SQL_USER4 = 22
3535
+ SCE_SQL_QUOTEDIDENTIFIER = 23
3536
+ # Lexical states for SCLEX_SMALLTALK
3537
+ SCE_ST_DEFAULT = 0
3538
+ SCE_ST_STRING = 1
3539
+ SCE_ST_NUMBER = 2
3540
+ SCE_ST_COMMENT = 3
3541
+ SCE_ST_SYMBOL = 4
3542
+ SCE_ST_BINARY = 5
3543
+ SCE_ST_BOOL = 6
3544
+ SCE_ST_SELF = 7
3545
+ SCE_ST_SUPER = 8
3546
+ SCE_ST_NIL = 9
3547
+ SCE_ST_GLOBAL = 10
3548
+ SCE_ST_RETURN = 11
3549
+ SCE_ST_SPECIAL = 12
3550
+ SCE_ST_KWSEND = 13
3551
+ SCE_ST_ASSIGN = 14
3552
+ SCE_ST_CHARACTER = 15
3553
+ SCE_ST_SPEC_SEL = 16
3554
+ # Lexical states for SCLEX_FLAGSHIP (clipper)
3555
+ SCE_FS_DEFAULT = 0
3556
+ SCE_FS_COMMENT = 1
3557
+ SCE_FS_COMMENTLINE = 2
3558
+ SCE_FS_COMMENTDOC = 3
3559
+ SCE_FS_COMMENTLINEDOC = 4
3560
+ SCE_FS_COMMENTDOCKEYWORD = 5
3561
+ SCE_FS_COMMENTDOCKEYWORDERROR = 6
3562
+ SCE_FS_KEYWORD = 7
3563
+ SCE_FS_KEYWORD2 = 8
3564
+ SCE_FS_KEYWORD3 = 9
3565
+ SCE_FS_KEYWORD4 = 10
3566
+ SCE_FS_NUMBER = 11
3567
+ SCE_FS_STRING = 12
3568
+ SCE_FS_PREPROCESSOR = 13
3569
+ SCE_FS_OPERATOR = 14
3570
+ SCE_FS_IDENTIFIER = 15
3571
+ SCE_FS_DATE = 16
3572
+ SCE_FS_STRINGEOL = 17
3573
+ SCE_FS_CONSTANT = 18
3574
+ SCE_FS_ASM = 19
3575
+ SCE_FS_LABEL = 20
3576
+ SCE_FS_ERROR = 21
3577
+ SCE_FS_HEXNUMBER = 22
3578
+ SCE_FS_BINNUMBER = 23
3579
+ # Lexical states for SCLEX_CSOUND
3580
+ SCE_CSOUND_DEFAULT = 0
3581
+ SCE_CSOUND_COMMENT = 1
3582
+ SCE_CSOUND_NUMBER = 2
3583
+ SCE_CSOUND_OPERATOR = 3
3584
+ SCE_CSOUND_INSTR = 4
3585
+ SCE_CSOUND_IDENTIFIER = 5
3586
+ SCE_CSOUND_OPCODE = 6
3587
+ SCE_CSOUND_HEADERSTMT = 7
3588
+ SCE_CSOUND_USERKEYWORD = 8
3589
+ SCE_CSOUND_COMMENTBLOCK = 9
3590
+ SCE_CSOUND_PARAM = 10
3591
+ SCE_CSOUND_ARATE_VAR = 11
3592
+ SCE_CSOUND_KRATE_VAR = 12
3593
+ SCE_CSOUND_IRATE_VAR = 13
3594
+ SCE_CSOUND_GLOBAL_VAR = 14
3595
+ SCE_CSOUND_STRINGEOL = 15
3596
+
3597
+ # Events
3598
+
3599
+ SCN_STYLENEEDED = 2000
3600
+ SCN_CHARADDED = 2001
3601
+ SCN_SAVEPOINTREACHED = 2002
3602
+ SCN_SAVEPOINTLEFT = 2003
3603
+ SCN_MODIFYATTEMPTRO = 2004
3604
+ # GTK+ Specific to work around focus and accelerator problems:
3605
+ SCN_KEY = 2005
3606
+ SCN_DOUBLECLICK = 2006
3607
+ SCN_UPDATEUI = 2007
3608
+ SCN_MODIFIED = 2008
3609
+ SCN_MACRORECORD = 2009
3610
+ SCN_MARGINCLICK = 2010
3611
+ SCN_NEEDSHOWN = 2011
3612
+ SCN_PAINTED = 2013
3613
+ SCN_USERLISTSELECTION = 2014
3614
+ SCN_URIDROPPED = 2015
3615
+ SCN_DWELLSTART = 2016
3616
+ SCN_DWELLEND = 2017
3617
+ SCN_ZOOM = 2018
3618
+ SCN_HOTSPOTCLICK = 2019
3619
+ SCN_HOTSPOTDOUBLECLICK = 2020
3620
+ SCN_CALLTIPCLICK = 2021
3621
+ SCN_AUTOCSELECTION = 2022
3622
+
3623
+ # Deprecated
3624
+
3625
+ # CARET_POLICY changed in 1.47
3626
+ def setCaretPolicy(caretPolicy, caretSlop)
3627
+ sendMessage(2369, caretPolicy, caretSlop)
3628
+ end
3629
+ CARET_CENTER = 0x02
3630
+ CARET_XEVEN = 0x08
3631
+ CARET_XJUMPS = 0x10
3632
+
3633
+ # The old name for SCN_UPDATEUI
3634
+ SCN_CHECKBRACE = 2007
3635
+ SCN_POSCHANGED = 2012
3636
+
3637
+ # SCLEX_HTML should be used in preference to these.
3638
+ SCLEX_ASP = 29
3639
+ SCLEX_PHP = 30
3640
+ end
3641
+ end