fxruby 1.6.20 → 1.6.22.pre2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. data/.gemtest +0 -0
  2. data/README.txt +2 -1
  3. data/Rakefile +43 -35
  4. data/TODO +4 -4
  5. data/doap.rdf +2 -2
  6. data/ext/fox16/FXRbDataTarget.cpp +2 -2
  7. data/ext/fox16/FXRuby.cpp +31 -96
  8. data/ext/fox16/core_wrap.cpp +5 -1
  9. data/ext/fox16/dialogs_wrap.cpp +4 -4
  10. data/ext/fox16/extconf.rb +15 -7
  11. data/ext/fox16/frames_wrap.cpp +1 -1
  12. data/ext/fox16/fx3d_wrap.cpp +1 -1
  13. data/ext/fox16/iconlist_wrap.cpp +2 -2
  14. data/ext/fox16/include/FXRbApp.h +2 -2
  15. data/ext/fox16/include/FXRbCommon.h +2 -0
  16. data/ext/fox16/list_wrap.cpp +3 -3
  17. data/ext/fox16/markfuncs.cpp +1 -0
  18. data/ext/fox16/treelist_wrap.cpp +2 -2
  19. data/ext/fox16/ui_wrap.cpp +3 -3
  20. data/lib/fox16/accel_table.rb +16 -3
  21. data/lib/fox16/bitmapview.rb +7 -8
  22. data/lib/fox16/core.rb +5 -5
  23. data/lib/fox16/kwargs.rb +877 -879
  24. data/lib/fox16/scintilla.rb +1321 -45
  25. data/lib/fox16/version.rb +1 -1
  26. data/scripts/generate_kwargs_lib.rb +2 -4
  27. data/swig-interfaces/FXMemoryStream.i +9 -5
  28. data/swig-interfaces/ruby-typemaps.i +4 -4
  29. data/test/TC_FXAccelTable.rb +2 -2
  30. data/test/TC_FXApp.rb +48 -2
  31. data/test/TC_FXArc.rb +2 -2
  32. data/test/TC_FXBMPIcon.rb +2 -2
  33. data/test/TC_FXBMPImage.rb +2 -2
  34. data/test/TC_FXButton.rb +2 -2
  35. data/test/TC_FXCheckButton.rb +2 -2
  36. data/test/TC_FXComboBox.rb +2 -2
  37. data/test/TC_FXDC.rb +2 -2
  38. data/test/TC_FXDCPrint.rb +6 -5
  39. data/test/TC_FXDCWindow.rb +5 -3
  40. data/test/TC_FXDataTarget.rb +2 -2
  41. data/test/TC_FXDialogBox.rb +2 -2
  42. data/test/TC_FXDirList.rb +2 -2
  43. data/test/TC_FXExtentd.rb +2 -2
  44. data/test/TC_FXExtentf.rb +2 -2
  45. data/test/TC_FXFileAssoc.rb +2 -2
  46. data/test/TC_FXFileStream.rb +2 -2
  47. data/test/TC_FXFoldingList.rb +2 -2
  48. data/test/TC_FXFont.rb +2 -2
  49. data/test/TC_FXFontDesc.rb +2 -2
  50. data/test/TC_FXGLGroup.rb +2 -2
  51. data/test/TC_FXGLShape.rb +2 -2
  52. data/test/TC_FXGLViewer.rb +2 -2
  53. data/test/TC_FXGradientBar.rb +2 -2
  54. data/test/TC_FXHeader.rb +2 -2
  55. data/test/TC_FXHiliteStyle.rb +2 -2
  56. data/test/TC_FXIconDict.rb +2 -2
  57. data/test/TC_FXIconList.rb +2 -2
  58. data/test/TC_FXId.rb +2 -2
  59. data/test/TC_FXImage.rb +2 -2
  60. data/test/TC_FXLight.rb +2 -2
  61. data/test/TC_FXList.rb +2 -2
  62. data/test/TC_FXListBox.rb +2 -2
  63. data/test/TC_FXMainWindow.rb +2 -2
  64. data/test/TC_FXMat4f.rb +2 -2
  65. data/test/TC_FXMaterial.rb +2 -16
  66. data/test/TC_FXMemoryStream.rb +6 -6
  67. data/test/TC_FXMenuCheck.rb +2 -2
  68. data/test/TC_FXMenuCommand.rb +2 -2
  69. data/test/TC_FXMenuRadio.rb +7 -7
  70. data/test/TC_FXMessageBox.rb +2 -2
  71. data/test/TC_FXPoint.rb +2 -2
  72. data/test/TC_FXQuatf.rb +2 -2
  73. data/test/TC_FXRadioButton.rb +2 -2
  74. data/test/TC_FXRanged.rb +2 -2
  75. data/test/TC_FXRangef.rb +2 -2
  76. data/test/TC_FXRectangle.rb +2 -2
  77. data/test/TC_FXRegion.rb +2 -2
  78. data/test/TC_FXRegistry.rb +2 -2
  79. data/test/TC_FXScrollArea.rb +2 -2
  80. data/test/TC_FXScrollWindow.rb +2 -2
  81. data/test/TC_FXSegment.rb +2 -2
  82. data/test/TC_FXSettings.rb +2 -2
  83. data/test/TC_FXShell.rb +2 -2
  84. data/test/TC_FXSize.rb +2 -2
  85. data/test/TC_FXStream.rb +2 -2
  86. data/test/TC_FXTable.rb +47 -47
  87. data/test/TC_FXTableItem.rb +4 -4
  88. data/test/TC_FXText.rb +4 -4
  89. data/test/TC_FXTopWindow.rb +2 -2
  90. data/test/TC_FXTreeList.rb +2 -2
  91. data/test/TC_FXTreeListBox.rb +2 -2
  92. data/test/TC_FXUndoList.rb +3 -3
  93. data/test/TC_FXVec2d.rb +2 -2
  94. data/test/TC_FXVec2f.rb +2 -2
  95. data/test/TC_FXVec3d.rb +2 -2
  96. data/test/TC_FXVec3f.rb +2 -2
  97. data/test/TC_FXVec4f.rb +2 -2
  98. data/test/TC_FXViewport.rb +2 -2
  99. data/test/TC_FXXBMIcon.rb +2 -2
  100. data/test/TC_FXXBMImage.rb +2 -2
  101. data/test/TC_FXXPMIcon.rb +2 -2
  102. data/test/TC_FXXPMImage.rb +2 -2
  103. data/test/TC_downcast.rb +2 -2
  104. metadata +112 -77
@@ -45,7 +45,7 @@ module Fox
45
45
  sendMessage(2005, 0, 0)
46
46
  end
47
47
 
48
- # Returns the number of characters in the document.
48
+ # Returns the number of bytes in the document.
49
49
  def getLength
50
50
  sendMessage(2006, 0, 0)
51
51
  end
@@ -229,9 +229,6 @@ module Fox
229
229
  # This is the same value as CP_UTF8 in Windows
230
230
  SC_CP_UTF8 = 65001
231
231
 
232
- # The SC_CP_DBCS value can be used to indicate a DBCS mode for GTK+.
233
- SC_CP_DBCS = 1
234
-
235
232
  # Set the code page used to interpret the bytes of the document as characters.
236
233
  # The SC_CP_UTF8 value can be used to enter Unicode mode.
237
234
  def setCodePage(codePage)
@@ -270,12 +267,16 @@ module Fox
270
267
  SC_MARK_CIRCLEMINUS = 20
271
268
  SC_MARK_CIRCLEMINUSCONNECTED = 21
272
269
 
273
- # Invisible mark that only sets the line background color.
270
+ # Invisible mark that only sets the line background colour.
274
271
  SC_MARK_BACKGROUND = 22
275
272
  SC_MARK_DOTDOTDOT = 23
276
273
  SC_MARK_ARROWS = 24
277
274
  SC_MARK_PIXMAP = 25
278
275
  SC_MARK_FULLRECT = 26
276
+ SC_MARK_LEFTRECT = 27
277
+ SC_MARK_AVAILABLE = 28
278
+ SC_MARK_UNDERLINE = 29
279
+ SC_MARK_RGBAIMAGE = 30
279
280
 
280
281
  SC_MARK_CHARACTER = 10000
281
282
 
@@ -305,6 +306,16 @@ module Fox
305
306
  sendMessage(2042, markerNumber, back & 0xffffff)
306
307
  end
307
308
 
309
+ # Set the background colour used for a particular marker number when its folding block is selected.
310
+ def markerSetBackSelected(markerNumber, back)
311
+ sendMessage(2292, markerNumber, back & 0xffffff)
312
+ end
313
+
314
+ # Enable/disable highlight for current folding bloc (smallest one that contains the caret)
315
+ def markerEnableHighlight(enabled)
316
+ sendMessage(2293, enabled, 0)
317
+ end
318
+
308
319
  # Add a marker to a line, returning an ID which can be used to find or delete the marker.
309
320
  def markerAdd(line, markerNumber)
310
321
  sendMessage(2043, line, markerNumber)
@@ -325,7 +336,8 @@ module Fox
325
336
  sendMessage(2046, line, 0)
326
337
  end
327
338
 
328
- # Find the next line after lineStart that includes a marker in mask.
339
+ # Find the next line at or after lineStart that includes a marker in mask.
340
+ # Return -1 when no more lines.
329
341
  def markerNext(lineStart, markerMask)
330
342
  sendMessage(2047, lineStart, markerMask)
331
343
  end
@@ -354,6 +366,8 @@ module Fox
354
366
  SC_MARGIN_NUMBER = 1
355
367
  SC_MARGIN_BACK = 2
356
368
  SC_MARGIN_FORE = 3
369
+ SC_MARGIN_TEXT = 4
370
+ SC_MARGIN_RTEXT = 5
357
371
 
358
372
  # Set a margin to be either numeric or symbolic.
359
373
  def setMarginTypeN(margin, marginType)
@@ -395,6 +409,16 @@ module Fox
395
409
  sendMessage(2247, margin, 0) == 1 ? true : false
396
410
  end
397
411
 
412
+ # Set the cursor shown when the mouse is inside a margin.
413
+ def setMarginCursorN(margin, cursor)
414
+ sendMessage(2248, margin, cursor)
415
+ end
416
+
417
+ # Retrieve the cursor shown in a margin.
418
+ def getMarginCursorN(margin)
419
+ sendMessage(2249, margin, 0)
420
+ end
421
+
398
422
  # Styles in range 32..38 are predefined for parts of the UI and are not used as normal styles.
399
423
  # Style 39 is for future use.
400
424
  STYLE_DEFAULT = 32
@@ -405,7 +429,7 @@ module Fox
405
429
  STYLE_INDENTGUIDE = 37
406
430
  STYLE_CALLTIP = 38
407
431
  STYLE_LASTPREDEFINED = 39
408
- STYLE_MAX = 127
432
+ STYLE_MAX = 255
409
433
 
410
434
  # Character set identifiers are used in StyleSetCharacterSet.
411
435
  # The values are the same as the Windows *_CHARSET values.
@@ -484,6 +508,76 @@ module Fox
484
508
  SC_CASE_MIXED = 0
485
509
  SC_CASE_UPPER = 1
486
510
  SC_CASE_LOWER = 2
511
+
512
+ # Get the foreground colour of a style.
513
+ def styleGetFore(style)
514
+ sendMessage(2481, style, 0)
515
+ end
516
+
517
+ # Get the background colour of a style.
518
+ def styleGetBack(style)
519
+ sendMessage(2482, style, 0)
520
+ end
521
+
522
+ # Get is a style bold or not.
523
+ def styleGetBold(style)
524
+ sendMessage(2483, style, 0) == 1 ? true : false
525
+ end
526
+
527
+ # Get is a style italic or not.
528
+ def styleGetItalic(style)
529
+ sendMessage(2484, style, 0) == 1 ? true : false
530
+ end
531
+
532
+ # Get the size of characters of a style.
533
+ def styleGetSize(style)
534
+ sendMessage(2485, style, 0)
535
+ end
536
+
537
+ # Get the font of a style.
538
+ # Returns the length of the fontName
539
+ def styleGetFont(style)
540
+ buffer = "".ljust(style)
541
+ sendMessage(2486, style, buffer)
542
+ buffer
543
+ end
544
+
545
+ # Get is a style to have its end of line filled or not.
546
+ def styleGetEOLFilled(style)
547
+ sendMessage(2487, style, 0) == 1 ? true : false
548
+ end
549
+
550
+ # Get is a style underlined or not.
551
+ def styleGetUnderline(style)
552
+ sendMessage(2488, style, 0) == 1 ? true : false
553
+ end
554
+
555
+ # Get is a style mixed case, or to force upper or lower case.
556
+ def styleGetCase(style)
557
+ sendMessage(2489, style, 0)
558
+ end
559
+
560
+ # Get the character get of the font in a style.
561
+ def styleGetCharacterSet(style)
562
+ sendMessage(2490, style, 0)
563
+ end
564
+
565
+ # Get is a style visible or not.
566
+ def styleGetVisible(style)
567
+ sendMessage(2491, style, 0) == 1 ? true : false
568
+ end
569
+
570
+ # Get is a style changeable or not (read only).
571
+ # Experimental feature, currently buggy.
572
+ def styleGetChangeable(style)
573
+ sendMessage(2492, style, 0) == 1 ? true : false
574
+ end
575
+
576
+ # Get is a style a hotspot or not.
577
+ def styleGetHotSpot(style)
578
+ sendMessage(2493, style, 0) == 1 ? true : false
579
+ end
580
+
487
581
  # Set a style to be mixed case, or to force upper or lower case.
488
582
  def styleSetCase(style, caseForce)
489
583
  sendMessage(2060, style, caseForce)
@@ -499,12 +593,12 @@ module Fox
499
593
  sendMessage(2409, style, hotspot)
500
594
  end
501
595
 
502
- # Set the foreground colour of the selection and whether to use this setting.
596
+ # Set the foreground colour of the main and additional selections and whether to use this setting.
503
597
  def setSelFore(useSetting, fore)
504
598
  sendMessage(2067, useSetting, fore & 0xffffff)
505
599
  end
506
600
 
507
- # Set the background colour of the selection and whether to use this setting.
601
+ # Set the background colour of the main and additional selections and whether to use this setting.
508
602
  def setSelBack(useSetting, back)
509
603
  sendMessage(2068, useSetting, back & 0xffffff)
510
604
  end
@@ -519,6 +613,16 @@ module Fox
519
613
  sendMessage(2478, alpha, 0)
520
614
  end
521
615
 
616
+ # Is the selection end of line filled?
617
+ def getSelEOLFilled
618
+ sendMessage(2479, 0, 0) == 1 ? true : false
619
+ end
620
+
621
+ # Set the selection to have its end of line filled or not.
622
+ def setSelEOLFilled(filled)
623
+ sendMessage(2480, filled, 0)
624
+ end
625
+
522
626
  # Set the foreground colour of the caret.
523
627
  def setCaretFore(fore)
524
628
  sendMessage(2069, fore & 0xffffff, 0)
@@ -560,7 +664,7 @@ module Fox
560
664
  end
561
665
 
562
666
  # Set the set of characters making up words for when moving or selecting by word.
563
- # First sets deaults like SetCharsDefault.
667
+ # First sets defaults like SetCharsDefault.
564
668
  def setWordChars(characters)
565
669
  sendMessage(2077, 0, characters)
566
670
  end
@@ -576,7 +680,7 @@ module Fox
576
680
  sendMessage(2079, 0, 0)
577
681
  end
578
682
 
579
- INDIC_MAX = 7
683
+ # Indicator style enumeration and some constants
580
684
  INDIC_PLAIN = 0
581
685
  INDIC_SQUIGGLE = 1
582
686
  INDIC_TT = 2
@@ -585,6 +689,13 @@ module Fox
585
689
  INDIC_HIDDEN = 5
586
690
  INDIC_BOX = 6
587
691
  INDIC_ROUNDBOX = 7
692
+ INDIC_STRAIGHTBOX = 8
693
+ INDIC_DASH = 9
694
+ INDIC_DOTS = 10
695
+ INDIC_SQUIGGLELOW = 11
696
+ INDIC_DOTBOX = 12
697
+ INDIC_MAX = 31
698
+ INDIC_CONTAINER = 8
588
699
  INDIC0_MASK = 0x20
589
700
  INDIC1_MASK = 0x40
590
701
  INDIC2_MASK = 0x80
@@ -610,6 +721,16 @@ module Fox
610
721
  sendMessage(2083, indic, 0)
611
722
  end
612
723
 
724
+ # Set an indicator to draw under text or over(default).
725
+ def indicSetUnder(indic, under)
726
+ sendMessage(2510, indic, under)
727
+ end
728
+
729
+ # Retrieve whether indicator drawn under or over text.
730
+ def indicGetUnder(indic)
731
+ sendMessage(2511, indic, 0) == 1 ? true : false
732
+ end
733
+
613
734
  # Set the foreground colour of all whitespace and whether to use this setting.
614
735
  def setWhitespaceFore(useSetting, fore)
615
736
  sendMessage(2084, useSetting, fore & 0xffffff)
@@ -620,6 +741,16 @@ module Fox
620
741
  sendMessage(2085, useSetting, back & 0xffffff)
621
742
  end
622
743
 
744
+ # Set the size of the dots used to mark space characters.
745
+ def setWhitespaceSize(size)
746
+ sendMessage(2086, size, 0)
747
+ end
748
+
749
+ # Get the size of the dots used to mark space characters.
750
+ def getWhitespaceSize
751
+ sendMessage(2087, 0, 0)
752
+ end
753
+
623
754
  # Divide each styling byte into lexical class bits (default: 5) and indicator
624
755
  # bits (default: 3). If a lexer requires more than 32 lexical states, then this
625
756
  # is used to expand the possible states.
@@ -879,14 +1010,19 @@ module Fox
879
1010
  sendMessage(2131, 0, 0) == 1 ? true : false
880
1011
  end
881
1012
 
1013
+ SC_IV_NONE = 0
1014
+ SC_IV_REAL = 1
1015
+ SC_IV_LOOKFORWARD = 2
1016
+ SC_IV_LOOKBOTH = 3
1017
+
882
1018
  # Show or hide indentation guides.
883
- def setIndentationGuides(show)
884
- sendMessage(2132, show, 0)
1019
+ def setIndentationGuides(indentView)
1020
+ sendMessage(2132, indentView, 0)
885
1021
  end
886
1022
 
887
1023
  # Are the indentation guides visible?
888
1024
  def getIndentationGuides
889
- sendMessage(2133, 0, 0) == 1 ? true : false
1025
+ sendMessage(2133, 0, 0)
890
1026
  end
891
1027
 
892
1028
  # Set the highlighted indentation guide column.
@@ -950,6 +1086,11 @@ module Fox
950
1086
  sendMessage(2145, 0, 0)
951
1087
  end
952
1088
 
1089
+ # Set caret to a position, while removing any existing selection.
1090
+ def setEmptySelection(pos)
1091
+ sendMessage(2556, pos, 0)
1092
+ end
1093
+
953
1094
  # Sets the print magnification added to the point size of each style for printing.
954
1095
  def setPrintMagnification(magnification)
955
1096
  sendMessage(2146, magnification, 0)
@@ -1315,10 +1456,6 @@ module Fox
1315
1456
  SC_FOLDLEVELBASE = 0x400
1316
1457
  SC_FOLDLEVELWHITEFLAG = 0x1000
1317
1458
  SC_FOLDLEVELHEADERFLAG = 0x2000
1318
- SC_FOLDLEVELBOXHEADERFLAG = 0x4000
1319
- SC_FOLDLEVELBOXFOOTERFLAG = 0x8000
1320
- SC_FOLDLEVELCONTRACTED = 0x10000
1321
- SC_FOLDLEVELUNINDENT = 0x20000
1322
1459
  SC_FOLDLEVELNUMBERMASK = 0x0FFF
1323
1460
 
1324
1461
  # Set the fold level of a line.
@@ -1383,7 +1520,6 @@ module Fox
1383
1520
  SC_FOLDFLAG_LINEAFTER_EXPANDED = 0x0008
1384
1521
  SC_FOLDFLAG_LINEAFTER_CONTRACTED = 0x0010
1385
1522
  SC_FOLDFLAG_LEVELNUMBERS = 0x0040
1386
- SC_FOLDFLAG_BOX = 0x0001
1387
1523
 
1388
1524
  # Set some style options for folding.
1389
1525
  def setFoldFlags(flags)
@@ -1490,6 +1626,20 @@ module Fox
1490
1626
  sendMessage(2465, 0, 0)
1491
1627
  end
1492
1628
 
1629
+ SC_WRAPINDENT_FIXED = 0
1630
+ SC_WRAPINDENT_SAME = 1
1631
+ SC_WRAPINDENT_INDENT = 2
1632
+
1633
+ # Sets how wrapped sublines are placed. Default is fixed.
1634
+ def setWrapIndentMode(mode)
1635
+ sendMessage(2472, mode, 0)
1636
+ end
1637
+
1638
+ # Retrieve how wrapped sublines are placed. Default is fixed.
1639
+ def getWrapIndentMode
1640
+ sendMessage(2473, 0, 0)
1641
+ end
1642
+
1493
1643
  SC_CACHE_NONE = 0
1494
1644
  SC_CACHE_CARET = 1
1495
1645
  SC_CACHE_PAGE = 2
@@ -1515,6 +1665,16 @@ module Fox
1515
1665
  sendMessage(2275, 0, 0)
1516
1666
  end
1517
1667
 
1668
+ # Sets whether the maximum width line displayed is used to set scroll width.
1669
+ def setScrollWidthTracking(tracking)
1670
+ sendMessage(2516, tracking, 0)
1671
+ end
1672
+
1673
+ # Retrieve whether the scroll width tracks wide lines.
1674
+ def getScrollWidthTracking
1675
+ sendMessage(2517, 0, 0) == 1 ? true : false
1676
+ end
1677
+
1518
1678
  # Measure the pixel width of some text in a particular style.
1519
1679
  # NUL terminated text argument.
1520
1680
  # Does not handle tab or control characters.
@@ -1566,6 +1726,49 @@ module Fox
1566
1726
  sendMessage(2284, twoPhase, 0)
1567
1727
  end
1568
1728
 
1729
+ # Control font anti-aliasing.
1730
+
1731
+ SC_EFF_QUALITY_MASK = 0xF
1732
+ SC_EFF_QUALITY_DEFAULT = 0
1733
+ SC_EFF_QUALITY_NON_ANTIALIASED = 1
1734
+ SC_EFF_QUALITY_ANTIALIASED = 2
1735
+ SC_EFF_QUALITY_LCD_OPTIMIZED = 3
1736
+
1737
+ # Choose the quality level for text from the FontQuality enumeration.
1738
+ def setFontQuality(fontQuality)
1739
+ sendMessage(2611, fontQuality, 0)
1740
+ end
1741
+
1742
+ # Retrieve the quality level for text.
1743
+ def getFontQuality
1744
+ sendMessage(2612, 0, 0)
1745
+ end
1746
+
1747
+ # Scroll so that a display line is at the top of the display.
1748
+ def setFirstVisibleLine(lineDisplay)
1749
+ sendMessage(2613, lineDisplay, 0)
1750
+ end
1751
+
1752
+ SC_MULTIPASTE_ONCE = 0
1753
+ SC_MULTIPASTE_EACH = 1
1754
+
1755
+ # Change the effect of pasting when there are multiple selections.
1756
+ def setMultiPaste(multiPaste)
1757
+ sendMessage(2614, multiPaste, 0)
1758
+ end
1759
+
1760
+ # Retrieve the effect of pasting when there are multiple selections..
1761
+ def getMultiPaste
1762
+ sendMessage(2615, 0, 0)
1763
+ end
1764
+
1765
+ # Retrieve the value of a tag from a regular expression search.
1766
+ def getTag(tagNumber)
1767
+ buffer = "".ljust(tagNumber)
1768
+ sendMessage(2616, tagNumber, buffer)
1769
+ buffer
1770
+ end
1771
+
1569
1772
  # Make the target range start and end be the same as the selection range start and end.
1570
1773
  def targetFromSelection
1571
1774
  sendMessage(2287, 0, 0)
@@ -1778,6 +1981,11 @@ module Fox
1778
1981
  sendMessage(2336, 0, 0)
1779
1982
  end
1780
1983
 
1984
+ # Delete the word to the right of the caret, but not the trailing non-word characters.
1985
+ def delWordRightEnd
1986
+ sendMessage(2518, 0, 0)
1987
+ end
1988
+
1781
1989
  # Cut the line containing the caret.
1782
1990
  def lineCut
1783
1991
  sendMessage(2337, 0, 0)
@@ -1881,7 +2089,7 @@ module Fox
1881
2089
  sendMessage(2401, 0, 0)
1882
2090
  end
1883
2091
 
1884
- # How many characters are on a line, not including end of line characters?
2092
+ # How many characters are on a line, including end of line characters?
1885
2093
  def lineLength(line)
1886
2094
  sendMessage(2350, line, 0)
1887
2095
  end
@@ -1891,11 +2099,21 @@ module Fox
1891
2099
  sendMessage(2351, pos1, pos2)
1892
2100
  end
1893
2101
 
2102
+ # Use specified indicator to highlight matching braces instead of changing their style.
2103
+ def braceHighlightIndicator(useBraceHighlightIndicator, indicator)
2104
+ sendMessage(2498, useBraceHighlightIndicator, indicator)
2105
+ end
2106
+
1894
2107
  # Highlight the character at a position indicating there is no matching brace.
1895
2108
  def braceBadLight(pos)
1896
2109
  sendMessage(2352, pos, 0)
1897
2110
  end
1898
2111
 
2112
+ # Use specified indicator to highlight non matching brace instead of changing its style.
2113
+ def braceBadLightIndicator(useBraceBadLightIndicator, indicator)
2114
+ sendMessage(2499, useBraceBadLightIndicator, indicator)
2115
+ end
2116
+
1899
2117
  # Find the position of a matching brace or INVALID_POSITION if no match.
1900
2118
  def braceMatch(pos)
1901
2119
  sendMessage(2353, pos, 0)
@@ -2033,6 +2251,10 @@ module Fox
2033
2251
  sendMessage(2381, 0, 0) == 1 ? true : false
2034
2252
  end
2035
2253
 
2254
+ SC_STATUS_OK = 0
2255
+ SC_STATUS_FAILURE = 1
2256
+ SC_STATUS_BADALLOC = 2
2257
+
2036
2258
  # Change error status - 0 = OK.
2037
2259
  def setStatus(statusCode)
2038
2260
  sendMessage(2382, statusCode, 0)
@@ -2052,7 +2274,9 @@ module Fox
2052
2274
  end
2053
2275
 
2054
2276
  SC_CURSORNORMAL = -1
2277
+ SC_CURSORARROW = 2
2055
2278
  SC_CURSORWAIT = 4
2279
+ SC_CURSORREVERSEARROW = 7
2056
2280
  # Sets the cursor to one of the SC_CURSOR* values.
2057
2281
  def setCursor(cursorType)
2058
2282
  sendMessage(2386, cursorType, 0)
@@ -2178,21 +2402,41 @@ module Fox
2178
2402
  sendMessage(2410, useSetting, fore & 0xffffff)
2179
2403
  end
2180
2404
 
2405
+ # Get the fore colour for active hotspots.
2406
+ def getHotspotActiveFore
2407
+ sendMessage(2494, 0, 0)
2408
+ end
2409
+
2181
2410
  # Set a back colour for active hotspots.
2182
2411
  def setHotspotActiveBack(useSetting, back)
2183
2412
  sendMessage(2411, useSetting, back & 0xffffff)
2184
2413
  end
2185
2414
 
2415
+ # Get the back colour for active hotspots.
2416
+ def getHotspotActiveBack
2417
+ sendMessage(2495, 0, 0)
2418
+ end
2419
+
2186
2420
  # Enable / Disable underlining active hotspots.
2187
2421
  def setHotspotActiveUnderline(underline)
2188
2422
  sendMessage(2412, underline, 0)
2189
2423
  end
2190
2424
 
2425
+ # Get whether underlining for active hotspots.
2426
+ def getHotspotActiveUnderline
2427
+ sendMessage(2496, 0, 0) == 1 ? true : false
2428
+ end
2429
+
2191
2430
  # Limit hotspots to single line so hotspots on two lines don't merge.
2192
2431
  def setHotspotSingleLine(singleLine)
2193
2432
  sendMessage(2421, singleLine, 0)
2194
2433
  end
2195
2434
 
2435
+ # Get the HotspotSingleLine property
2436
+ def getHotspotSingleLine
2437
+ sendMessage(2497, 0, 0) == 1 ? true : false
2438
+ end
2439
+
2196
2440
  # Move caret between paragraphs (delimited by empty lines).
2197
2441
  def paraDown
2198
2442
  sendMessage(2413, 0, 0)
@@ -2232,8 +2476,9 @@ module Fox
2232
2476
  SC_SEL_STREAM = 0
2233
2477
  SC_SEL_RECTANGLE = 1
2234
2478
  SC_SEL_LINES = 2
2479
+ SC_SEL_THIN = 3
2235
2480
 
2236
- # Set the selection mode to stream (SC_SEL_STREAM) or rectangular (SC_SEL_RECTANGLE) or
2481
+ # Set the selection mode to stream (SC_SEL_STREAM) or rectangular (SC_SEL_RECTANGLE/SC_SEL_THIN) or
2237
2482
  # by lines (SC_SEL_LINES).
2238
2483
  def setSelectionMode(mode)
2239
2484
  sendMessage(2422, mode, 0)
@@ -2359,6 +2604,12 @@ module Fox
2359
2604
  sendMessage(2445, 0, 0)
2360
2605
  end
2361
2606
 
2607
+ # Get currently selected item text in the auto-completion list
2608
+ # Returns the length of the item text
2609
+ def autoCGetCurrentText
2610
+ sendMessage(2610, 0, s)
2611
+ end
2612
+
2362
2613
  # Enlarge the document to a particular size of text bytes.
2363
2614
  def allocate(bytes)
2364
2615
  sendMessage(2446, bytes, 0)
@@ -2393,7 +2644,7 @@ module Fox
2393
2644
 
2394
2645
  # Can the caret preferred x position only be changed by explicit movement commands?
2395
2646
  def getCaretSticky
2396
- sendMessage(2457, 0, 0) == 1 ? true : false
2647
+ sendMessage(2457, 0, 0)
2397
2648
  end
2398
2649
 
2399
2650
  # Stop the caret preferred x position changing when the user types.
@@ -2401,6 +2652,10 @@ module Fox
2401
2652
  sendMessage(2458, useCaretStickyBehaviour, 0)
2402
2653
  end
2403
2654
 
2655
+ SC_CARETSTICKY_OFF = 0
2656
+ SC_CARETSTICKY_ON = 1
2657
+ SC_CARETSTICKY_WHITESPACE = 2
2658
+
2404
2659
  # Switch between sticky and non-sticky: meant to be bound to a key.
2405
2660
  def toggleCaretSticky
2406
2661
  sendMessage(2459, 0, 0)
@@ -2435,6 +2690,570 @@ module Fox
2435
2690
  sendMessage(2471, 0, 0)
2436
2691
  end
2437
2692
 
2693
+ CARETSTYLE_INVISIBLE = 0
2694
+ CARETSTYLE_LINE = 1
2695
+ CARETSTYLE_BLOCK = 2
2696
+
2697
+ # Set the style of the caret to be drawn.
2698
+ def setCaretStyle(caretStyle)
2699
+ sendMessage(2512, caretStyle, 0)
2700
+ end
2701
+
2702
+ # Returns the current style of the caret.
2703
+ def getCaretStyle
2704
+ sendMessage(2513, 0, 0)
2705
+ end
2706
+
2707
+ # Set the indicator used for IndicatorFillRange and IndicatorClearRange
2708
+ def setIndicatorCurrent(indicator)
2709
+ sendMessage(2500, indicator, 0)
2710
+ end
2711
+
2712
+ # Get the current indicator
2713
+ def getIndicatorCurrent
2714
+ sendMessage(2501, 0, 0)
2715
+ end
2716
+
2717
+ # Set the value used for IndicatorFillRange
2718
+ def setIndicatorValue(value)
2719
+ sendMessage(2502, value, 0)
2720
+ end
2721
+
2722
+ # Get the current indicator vaue
2723
+ def getIndicatorValue
2724
+ sendMessage(2503, 0, 0)
2725
+ end
2726
+
2727
+ # Turn a indicator on over a range.
2728
+ def indicatorFillRange(position, fillLength)
2729
+ sendMessage(2504, position, fillLength)
2730
+ end
2731
+
2732
+ # Turn a indicator off over a range.
2733
+ def indicatorClearRange(position, clearLength)
2734
+ sendMessage(2505, position, clearLength)
2735
+ end
2736
+
2737
+ # Are any indicators present at position?
2738
+ def indicatorAllOnFor(position)
2739
+ sendMessage(2506, position, 0)
2740
+ end
2741
+
2742
+ # What value does a particular indicator have at at a position?
2743
+ def indicatorValueAt(indicator, position)
2744
+ sendMessage(2507, indicator, position)
2745
+ end
2746
+
2747
+ # Where does a particular indicator start?
2748
+ def indicatorStart(indicator, position)
2749
+ sendMessage(2508, indicator, position)
2750
+ end
2751
+
2752
+ # Where does a particular indicator end?
2753
+ def indicatorEnd(indicator, position)
2754
+ sendMessage(2509, indicator, position)
2755
+ end
2756
+
2757
+ # Set number of entries in position cache
2758
+ def setPositionCache(size)
2759
+ sendMessage(2514, size, 0)
2760
+ end
2761
+
2762
+ # How many entries are allocated to the position cache?
2763
+ def getPositionCache
2764
+ sendMessage(2515, 0, 0)
2765
+ end
2766
+
2767
+ # Copy the selection, if selection empty copy the line with the caret
2768
+ def copyAllowLine
2769
+ sendMessage(2519, 0, 0)
2770
+ end
2771
+
2772
+ # Compact the document buffer and return a read-only pointer to the
2773
+ # characters in the document.
2774
+ def getCharacterPointer
2775
+ sendMessage(2520, 0, 0)
2776
+ end
2777
+
2778
+ # Always interpret keyboard input as Unicode
2779
+ def setKeysUnicode(keysUnicode)
2780
+ sendMessage(2521, keysUnicode, 0)
2781
+ end
2782
+
2783
+ # Are keys always interpreted as Unicode?
2784
+ def getKeysUnicode
2785
+ sendMessage(2522, 0, 0) == 1 ? true : false
2786
+ end
2787
+
2788
+ # Set the alpha fill colour of the given indicator.
2789
+ def indicSetAlpha(indicator, alpha)
2790
+ sendMessage(2523, indicator, alpha)
2791
+ end
2792
+
2793
+ # Get the alpha fill colour of the given indicator.
2794
+ def indicGetAlpha(indicator)
2795
+ sendMessage(2524, indicator, 0)
2796
+ end
2797
+
2798
+ # Set the alpha outline colour of the given indicator.
2799
+ def indicSetOutlineAlpha(indicator, alpha)
2800
+ sendMessage(2558, indicator, alpha)
2801
+ end
2802
+
2803
+ # Get the alpha outline colour of the given indicator.
2804
+ def indicGetOutlineAlpha(indicator)
2805
+ sendMessage(2559, indicator, 0)
2806
+ end
2807
+
2808
+ # Set extra ascent for each line
2809
+ def setExtraAscent(extraAscent)
2810
+ sendMessage(2525, extraAscent, 0)
2811
+ end
2812
+
2813
+ # Get extra ascent for each line
2814
+ def getExtraAscent
2815
+ sendMessage(2526, 0, 0)
2816
+ end
2817
+
2818
+ # Set extra descent for each line
2819
+ def setExtraDescent(extraDescent)
2820
+ sendMessage(2527, extraDescent, 0)
2821
+ end
2822
+
2823
+ # Get extra descent for each line
2824
+ def getExtraDescent
2825
+ sendMessage(2528, 0, 0)
2826
+ end
2827
+
2828
+ # Which symbol was defined for markerNumber with MarkerDefine
2829
+ def markerSymbolDefined(markerNumber)
2830
+ sendMessage(2529, markerNumber, 0)
2831
+ end
2832
+
2833
+ # Set the text in the text margin for a line
2834
+ def marginSetText(line, text)
2835
+ sendMessage(2530, line, text)
2836
+ end
2837
+
2838
+ # Get the text in the text margin for a line
2839
+ def marginGetText(line)
2840
+ buffer = "".ljust(line)
2841
+ sendMessage(2531, line, buffer)
2842
+ buffer
2843
+ end
2844
+
2845
+ # Set the style number for the text margin for a line
2846
+ def marginSetStyle(line, style)
2847
+ sendMessage(2532, line, style)
2848
+ end
2849
+
2850
+ # Get the style number for the text margin for a line
2851
+ def marginGetStyle(line)
2852
+ sendMessage(2533, line, 0)
2853
+ end
2854
+
2855
+ # Set the style in the text margin for a line
2856
+ def marginSetStyles(line, styles)
2857
+ sendMessage(2534, line, styles)
2858
+ end
2859
+
2860
+ # Get the styles in the text margin for a line
2861
+ def marginGetStyles(line)
2862
+ buffer = "".ljust(line)
2863
+ sendMessage(2535, line, buffer)
2864
+ buffer
2865
+ end
2866
+
2867
+ # Clear the margin text on all lines
2868
+ def marginTextClearAll
2869
+ sendMessage(2536, 0, 0)
2870
+ end
2871
+
2872
+ # Get the start of the range of style numbers used for margin text
2873
+ def marginSetStyleOffset(style)
2874
+ sendMessage(2537, style, 0)
2875
+ end
2876
+
2877
+ # Get the start of the range of style numbers used for margin text
2878
+ def marginGetStyleOffset
2879
+ sendMessage(2538, 0, 0)
2880
+ end
2881
+
2882
+ SC_MARGINOPTION_NONE = 0
2883
+ SC_MARGINOPTION_SUBLINESELECT = 1
2884
+
2885
+ # Set the margin options.
2886
+ def setMarginOptions(marginOptions)
2887
+ sendMessage(2539, marginOptions, 0)
2888
+ end
2889
+
2890
+ # Get the margin options.
2891
+ def getMarginOptions
2892
+ sendMessage(2557, 0, 0)
2893
+ end
2894
+
2895
+ # Set the annotation text for a line
2896
+ def annotationSetText(line, text)
2897
+ sendMessage(2540, line, text)
2898
+ end
2899
+
2900
+ # Get the annotation text for a line
2901
+ def annotationGetText(line)
2902
+ buffer = "".ljust(line)
2903
+ sendMessage(2541, line, buffer)
2904
+ buffer
2905
+ end
2906
+
2907
+ # Set the style number for the annotations for a line
2908
+ def annotationSetStyle(line, style)
2909
+ sendMessage(2542, line, style)
2910
+ end
2911
+
2912
+ # Get the style number for the annotations for a line
2913
+ def annotationGetStyle(line)
2914
+ sendMessage(2543, line, 0)
2915
+ end
2916
+
2917
+ # Set the annotation styles for a line
2918
+ def annotationSetStyles(line, styles)
2919
+ sendMessage(2544, line, styles)
2920
+ end
2921
+
2922
+ # Get the annotation styles for a line
2923
+ def annotationGetStyles(line)
2924
+ buffer = "".ljust(line)
2925
+ sendMessage(2545, line, buffer)
2926
+ buffer
2927
+ end
2928
+
2929
+ # Get the number of annotation lines for a line
2930
+ def annotationGetLines(line)
2931
+ sendMessage(2546, line, 0)
2932
+ end
2933
+
2934
+ # Clear the annotations from all lines
2935
+ def annotationClearAll
2936
+ sendMessage(2547, 0, 0)
2937
+ end
2938
+
2939
+ ANNOTATION_HIDDEN = 0
2940
+ ANNOTATION_STANDARD = 1
2941
+ ANNOTATION_BOXED = 2
2942
+
2943
+ # Set the visibility for the annotations for a view
2944
+ def annotationSetVisible(visible)
2945
+ sendMessage(2548, visible, 0)
2946
+ end
2947
+
2948
+ # Get the visibility for the annotations for a view
2949
+ def annotationGetVisible
2950
+ sendMessage(2549, 0, 0)
2951
+ end
2952
+
2953
+ # Get the start of the range of style numbers used for annotations
2954
+ def annotationSetStyleOffset(style)
2955
+ sendMessage(2550, style, 0)
2956
+ end
2957
+
2958
+ # Get the start of the range of style numbers used for annotations
2959
+ def annotationGetStyleOffset
2960
+ sendMessage(2551, 0, 0)
2961
+ end
2962
+
2963
+ UNDO_MAY_COALESCE = 1
2964
+
2965
+ # Add a container action to the undo stack
2966
+ def addUndoAction(token, flags)
2967
+ sendMessage(2560, token, flags)
2968
+ end
2969
+
2970
+ # Find the position of a character from a point within the window.
2971
+ def charPositionFromPoint(x, y)
2972
+ sendMessage(2561, x, y)
2973
+ end
2974
+
2975
+ # Find the position of a character from a point within the window.
2976
+ # Return INVALID_POSITION if not close to text.
2977
+ def charPositionFromPointClose(x, y)
2978
+ sendMessage(2562, x, y)
2979
+ end
2980
+
2981
+ # Set whether multiple selections can be made
2982
+ def setMultipleSelection(multipleSelection)
2983
+ sendMessage(2563, multipleSelection, 0)
2984
+ end
2985
+
2986
+ # Whether multiple selections can be made
2987
+ def getMultipleSelection
2988
+ sendMessage(2564, 0, 0) == 1 ? true : false
2989
+ end
2990
+
2991
+ # Set whether typing can be performed into multiple selections
2992
+ def setAdditionalSelectionTyping(additionalSelectionTyping)
2993
+ sendMessage(2565, additionalSelectionTyping, 0)
2994
+ end
2995
+
2996
+ # Whether typing can be performed into multiple selections
2997
+ def getAdditionalSelectionTyping
2998
+ sendMessage(2566, 0, 0) == 1 ? true : false
2999
+ end
3000
+
3001
+ # Set whether additional carets will blink
3002
+ def setAdditionalCaretsBlink(additionalCaretsBlink)
3003
+ sendMessage(2567, additionalCaretsBlink, 0)
3004
+ end
3005
+
3006
+ # Whether additional carets will blink
3007
+ def getAdditionalCaretsBlink
3008
+ sendMessage(2568, 0, 0) == 1 ? true : false
3009
+ end
3010
+
3011
+ # Set whether additional carets are visible
3012
+ def setAdditionalCaretsVisible(additionalCaretsBlink)
3013
+ sendMessage(2608, additionalCaretsBlink, 0)
3014
+ end
3015
+
3016
+ # Whether additional carets are visible
3017
+ def getAdditionalCaretsVisible
3018
+ sendMessage(2609, 0, 0) == 1 ? true : false
3019
+ end
3020
+
3021
+ # How many selections are there?
3022
+ def getSelections
3023
+ sendMessage(2570, 0, 0)
3024
+ end
3025
+
3026
+ # Clear selections to a single empty stream selection
3027
+ def clearSelections
3028
+ sendMessage(2571, 0, 0)
3029
+ end
3030
+
3031
+ # Set a simple selection
3032
+ def setSelection(caret, anchor)
3033
+ sendMessage(2572, caret, anchor)
3034
+ end
3035
+
3036
+ # Add a selection
3037
+ def addSelection(caret, anchor)
3038
+ sendMessage(2573, caret, anchor)
3039
+ end
3040
+
3041
+ # Set the main selection
3042
+ def setMainSelection(selection)
3043
+ sendMessage(2574, selection, 0)
3044
+ end
3045
+
3046
+ # Which selection is the main selection
3047
+ def getMainSelection
3048
+ sendMessage(2575, 0, 0)
3049
+ end
3050
+
3051
+ def setSelectionNCaret(selection, pos)
3052
+ sendMessage(2576, selection, pos)
3053
+ end
3054
+ def getSelectionNCaret(selection)
3055
+ sendMessage(2577, selection, 0)
3056
+ end
3057
+ def setSelectionNAnchor(selection, posAnchor)
3058
+ sendMessage(2578, selection, posAnchor)
3059
+ end
3060
+ def getSelectionNAnchor(selection)
3061
+ sendMessage(2579, selection, 0)
3062
+ end
3063
+ def setSelectionNCaretVirtualSpace(selection, space)
3064
+ sendMessage(2580, selection, space)
3065
+ end
3066
+ def getSelectionNCaretVirtualSpace(selection)
3067
+ sendMessage(2581, selection, 0)
3068
+ end
3069
+ def setSelectionNAnchorVirtualSpace(selection, space)
3070
+ sendMessage(2582, selection, space)
3071
+ end
3072
+ def getSelectionNAnchorVirtualSpace(selection)
3073
+ sendMessage(2583, selection, 0)
3074
+ end
3075
+
3076
+ # Sets the position that starts the selection - this becomes the anchor.
3077
+ def setSelectionNStart(selection, pos)
3078
+ sendMessage(2584, selection, pos)
3079
+ end
3080
+
3081
+ # Returns the position at the start of the selection.
3082
+ def getSelectionNStart(selection)
3083
+ sendMessage(2585, selection, 0)
3084
+ end
3085
+
3086
+ # Sets the position that ends the selection - this becomes the currentPosition.
3087
+ def setSelectionNEnd(selection, pos)
3088
+ sendMessage(2586, selection, pos, 0)
3089
+ end
3090
+
3091
+ # Returns the position at the end of the selection.
3092
+ def getSelectionNEnd(selection)
3093
+ sendMessage(2587, selection, 0)
3094
+ end
3095
+
3096
+ def setRectangularSelectionCaret(pos)
3097
+ sendMessage(2588, pos, 0)
3098
+ end
3099
+ def getRectangularSelectionCaret
3100
+ sendMessage(2589, 0, 0)
3101
+ end
3102
+ def setRectangularSelectionAnchor(posAnchor)
3103
+ sendMessage(2590, posAnchor, 0)
3104
+ end
3105
+ def getRectangularSelectionAnchor
3106
+ sendMessage(2591, 0, 0)
3107
+ end
3108
+ def setRectangularSelectionCaretVirtualSpace(space)
3109
+ sendMessage(2592, space, 0)
3110
+ end
3111
+ def getRectangularSelectionCaretVirtualSpace
3112
+ sendMessage(2593, 0, 0)
3113
+ end
3114
+ def setRectangularSelectionAnchorVirtualSpace(space)
3115
+ sendMessage(2594, space, 0)
3116
+ end
3117
+ def getRectangularSelectionAnchorVirtualSpace
3118
+ sendMessage(2595, 0, 0)
3119
+ end
3120
+
3121
+ SCVS_NONE = 0
3122
+ SCVS_RECTANGULARSELECTION = 1
3123
+ SCVS_USERACCESSIBLE = 2
3124
+
3125
+ def setVirtualSpaceOptions(virtualSpaceOptions)
3126
+ sendMessage(2596, virtualSpaceOptions, 0)
3127
+ end
3128
+ def getVirtualSpaceOptions
3129
+ sendMessage(2597, 0, 0)
3130
+ end
3131
+
3132
+ # On GTK+, allow selecting the modifier key to use for mouse-based
3133
+ # rectangular selection. Often the window manager requires Alt+Mouse Drag
3134
+ # for moving windows.
3135
+ # Valid values are SCMOD_CTRL(default), SCMOD_ALT, or SCMOD_SUPER.
3136
+
3137
+ def setRectangularSelectionModifier(modifier)
3138
+ sendMessage(2598, modifier, 0)
3139
+ end
3140
+
3141
+ # Get the modifier key used for rectangular selection.
3142
+ def getRectangularSelectionModifier
3143
+ sendMessage(2599, 0, 0)
3144
+ end
3145
+
3146
+ # Set the foreground colour of additional selections.
3147
+ # Must have previously called SetSelFore with non-zero first argument for this to have an effect.
3148
+ def setAdditionalSelFore(fore)
3149
+ sendMessage(2600, fore & 0xffffff, 0)
3150
+ end
3151
+
3152
+ # Set the background colour of additional selections.
3153
+ # Must have previously called SetSelBack with non-zero first argument for this to have an effect.
3154
+ def setAdditionalSelBack(back)
3155
+ sendMessage(2601, back & 0xffffff, 0)
3156
+ end
3157
+
3158
+ # Set the alpha of the selection.
3159
+ def setAdditionalSelAlpha(alpha)
3160
+ sendMessage(2602, alpha, 0)
3161
+ end
3162
+
3163
+ # Get the alpha of the selection.
3164
+ def getAdditionalSelAlpha
3165
+ sendMessage(2603, 0, 0)
3166
+ end
3167
+
3168
+ # Set the foreground colour of additional carets.
3169
+ def setAdditionalCaretFore(fore)
3170
+ sendMessage(2604, fore & 0xffffff, 0)
3171
+ end
3172
+
3173
+ # Get the foreground colour of additional carets.
3174
+ def getAdditionalCaretFore
3175
+ sendMessage(2605, 0, 0)
3176
+ end
3177
+
3178
+ # Set the main selection to the next selection.
3179
+ def rotateSelection
3180
+ sendMessage(2606, 0, 0)
3181
+ end
3182
+
3183
+ # Swap that caret and anchor of the main selection.
3184
+ def swapMainAnchorCaret
3185
+ sendMessage(2607, 0, 0)
3186
+ end
3187
+
3188
+ # Indicate that the internal state of a lexer has changed over a range and therefore
3189
+ # there may be a need to redraw.
3190
+ def changeLexerState(start, last)
3191
+ sendMessage(2617, start, last)
3192
+ end
3193
+
3194
+ # Find the next line at or after lineStart that is a contracted fold header line.
3195
+ # Return -1 when no more lines.
3196
+ def contractedFoldNext(lineStart)
3197
+ sendMessage(2618, lineStart, 0)
3198
+ end
3199
+
3200
+ # Centre current line in window.
3201
+ def verticalCentreCaret
3202
+ sendMessage(2619, 0, 0)
3203
+ end
3204
+
3205
+ # Move the selected lines up one line, shifting the line above after the selection
3206
+ def moveSelectedLinesUp
3207
+ sendMessage(2620, 0, 0)
3208
+ end
3209
+
3210
+ # Move the selected lines down one line, shifting the line below before the selection
3211
+ def moveSelectedLinesDown
3212
+ sendMessage(2621, 0, 0)
3213
+ end
3214
+
3215
+ # Set the identifier reported as idFrom in notification messages.
3216
+ def setIdentifier(identifier)
3217
+ sendMessage(2622, identifier, 0)
3218
+ end
3219
+
3220
+ # Get the identifier.
3221
+ def getIdentifier
3222
+ sendMessage(2623, 0, 0)
3223
+ end
3224
+
3225
+ # Set the width for future RGBA image data.
3226
+ def rGBAImageSetWidth(width)
3227
+ sendMessage(2624, width, 0)
3228
+ end
3229
+
3230
+ # Set the height for future RGBA image data.
3231
+ def rGBAImageSetHeight(height)
3232
+ sendMessage(2625, height, 0)
3233
+ end
3234
+
3235
+ # Define a marker from RGBA data.
3236
+ # It has the width and height from RGBAImageSetWidth/Height
3237
+ def markerDefineRGBAImage(markerNumber, pixels)
3238
+ sendMessage(2626, markerNumber, pixels)
3239
+ end
3240
+
3241
+ # Register an RGBA image for use in autocompletion lists.
3242
+ # It has the width and height from RGBAImageSetWidth/Height
3243
+ def registerRGBAImage(type, pixels)
3244
+ sendMessage(2627, type, pixels)
3245
+ end
3246
+
3247
+ # Scroll to start of document.
3248
+ def scrollToStart
3249
+ sendMessage(2628, 0, 0)
3250
+ end
3251
+
3252
+ # Scroll to end of document.
3253
+ def scrollToEnd
3254
+ sendMessage(2629, 0, 0)
3255
+ end
3256
+
2438
3257
  # Start notifying the container of all key presses and commands.
2439
3258
  def startRecord
2440
3259
  sendMessage(3001, 0, 0)
@@ -2509,6 +3328,43 @@ module Fox
2509
3328
  sendMessage(4011, 0, 0)
2510
3329
  end
2511
3330
 
3331
+ # Retrieve the name of the lexer.
3332
+ # Return the length of the text.
3333
+ def getLexerLanguage
3334
+ sendMessage(4012, 0, text)
3335
+ end
3336
+
3337
+ # For private communication between an application and a known lexer.
3338
+ def privateLexerCall(operation, pointer)
3339
+ sendMessage(4013, operation, pointer)
3340
+ end
3341
+
3342
+ # Retrieve a '\n' separated list of properties understood by the current lexer.
3343
+ def propertyNames
3344
+ sendMessage(4014, 0, names)
3345
+ end
3346
+
3347
+ SC_TYPE_BOOLEAN = 0
3348
+ SC_TYPE_INTEGER = 1
3349
+ SC_TYPE_STRING = 2
3350
+
3351
+ # Retrieve the type of a property.
3352
+ def propertyType(name)
3353
+ sendMessage(4015, name, 0)
3354
+ end
3355
+
3356
+ # Describe a property.
3357
+ def describeProperty(name)
3358
+ buffer = "".ljust(name)
3359
+ sendMessage(4016, name, buffer)
3360
+ buffer
3361
+ end
3362
+
3363
+ # Retrieve a '\n' separated list of descriptions of the keyword sets understood by the current lexer.
3364
+ def describeKeyWordSets
3365
+ sendMessage(4017, 0, descriptions)
3366
+ end
3367
+
2512
3368
  # Notifications
2513
3369
  # Type of modification and the action which caused the modification.
2514
3370
  # These are defined as a bit mask to make it easy to specify which notifications are wanted.
@@ -2526,7 +3382,19 @@ module Fox
2526
3382
  SC_MOD_BEFOREINSERT = 0x400
2527
3383
  SC_MOD_BEFOREDELETE = 0x800
2528
3384
  SC_MULTILINEUNDOREDO = 0x1000
2529
- SC_MODEVENTMASKALL = 0x1FFF
3385
+ SC_STARTACTION = 0x2000
3386
+ SC_MOD_CHANGEINDICATOR = 0x4000
3387
+ SC_MOD_CHANGELINESTATE = 0x8000
3388
+ SC_MOD_CHANGEMARGIN = 0x10000
3389
+ SC_MOD_CHANGEANNOTATION = 0x20000
3390
+ SC_MOD_CONTAINER = 0x40000
3391
+ SC_MOD_LEXERSTATE = 0x80000
3392
+ SC_MODEVENTMASKALL = 0xFFFFF
3393
+
3394
+ SC_UPDATE_CONTENT = 0x1
3395
+ SC_UPDATE_SELECTION = 0x2
3396
+ SC_UPDATE_V_SCROLL = 0x4
3397
+ SC_UPDATE_H_SCROLL = 0x8
2530
3398
 
2531
3399
  # For compatibility, these go through the COMMAND notification rather than NOTIFY
2532
3400
  # and should have had exactly the same values as the EN_* constants.
@@ -2557,11 +3425,16 @@ module Fox
2557
3425
  SCK_ADD = 310
2558
3426
  SCK_SUBTRACT = 311
2559
3427
  SCK_DIVIDE = 312
3428
+ SCK_WIN = 313
3429
+ SCK_RWIN = 314
3430
+ SCK_MENU = 315
2560
3431
 
2561
3432
  SCMOD_NORM = 0
2562
3433
  SCMOD_SHIFT = 1
2563
3434
  SCMOD_CTRL = 2
2564
3435
  SCMOD_ALT = 4
3436
+ SCMOD_SUPER = 8
3437
+ SCMOD_META = 16
2565
3438
 
2566
3439
  # For SciLexer.h
2567
3440
  SCLEX_CONTAINER = 0
@@ -2641,6 +3514,29 @@ module Fox
2641
3514
  SCLEX_INNOSETUP = 76
2642
3515
  SCLEX_OPAL = 77
2643
3516
  SCLEX_SPICE = 78
3517
+ SCLEX_D = 79
3518
+ SCLEX_CMAKE = 80
3519
+ SCLEX_GAP = 81
3520
+ SCLEX_PLM = 82
3521
+ SCLEX_PROGRESS = 83
3522
+ SCLEX_ABAQUS = 84
3523
+ SCLEX_ASYMPTOTE = 85
3524
+ SCLEX_R = 86
3525
+ SCLEX_MAGIK = 87
3526
+ SCLEX_POWERSHELL = 88
3527
+ SCLEX_MYSQL = 89
3528
+ SCLEX_PO = 90
3529
+ SCLEX_TAL = 91
3530
+ SCLEX_COBOL = 92
3531
+ SCLEX_TACL = 93
3532
+ SCLEX_SORCUS = 94
3533
+ SCLEX_POWERPRO = 95
3534
+ SCLEX_NIMROD = 96
3535
+ SCLEX_SML = 97
3536
+ SCLEX_MARKDOWN = 98
3537
+ SCLEX_TXT2TAGS = 99
3538
+ SCLEX_A68K = 100
3539
+ SCLEX_MODULA = 101
2644
3540
 
2645
3541
  # When a lexer specifies its language as SCLEX_AUTOMATIC it receives a
2646
3542
  # value assigned in sequence from SCLEX_AUTOMATIC+1.
@@ -2683,6 +3579,32 @@ module Fox
2683
3579
  SCE_C_COMMENTDOCKEYWORD = 17
2684
3580
  SCE_C_COMMENTDOCKEYWORDERROR = 18
2685
3581
  SCE_C_GLOBALCLASS = 19
3582
+ SCE_C_STRINGRAW = 20
3583
+ SCE_C_TRIPLEVERBATIM = 21
3584
+ # Lexical states for SCLEX_D
3585
+ SCE_D_DEFAULT = 0
3586
+ SCE_D_COMMENT = 1
3587
+ SCE_D_COMMENTLINE = 2
3588
+ SCE_D_COMMENTDOC = 3
3589
+ SCE_D_COMMENTNESTED = 4
3590
+ SCE_D_NUMBER = 5
3591
+ SCE_D_WORD = 6
3592
+ SCE_D_WORD2 = 7
3593
+ SCE_D_WORD3 = 8
3594
+ SCE_D_TYPEDEF = 9
3595
+ SCE_D_STRING = 10
3596
+ SCE_D_STRINGEOL = 11
3597
+ SCE_D_CHARACTER = 12
3598
+ SCE_D_OPERATOR = 13
3599
+ SCE_D_IDENTIFIER = 14
3600
+ SCE_D_COMMENTLINEDOC = 15
3601
+ SCE_D_COMMENTDOCKEYWORD = 16
3602
+ SCE_D_COMMENTDOCKEYWORDERROR = 17
3603
+ SCE_D_STRINGB = 18
3604
+ SCE_D_STRINGR = 19
3605
+ SCE_D_WORD5 = 20
3606
+ SCE_D_WORD6 = 21
3607
+ SCE_D_WORD7 = 22
2686
3608
  # Lexical states for SCLEX_TCL
2687
3609
  SCE_TCL_DEFAULT = 0
2688
3610
  SCE_TCL_COMMENT = 1
@@ -2863,6 +3785,9 @@ module Fox
2863
3785
  SCE_PL_STRING_QR = 29
2864
3786
  SCE_PL_STRING_QW = 30
2865
3787
  SCE_PL_POD_VERB = 31
3788
+ SCE_PL_SUB_PROTOTYPE = 40
3789
+ SCE_PL_FORMAT_IDENT = 41
3790
+ SCE_PL_FORMAT = 42
2866
3791
  # Lexical states for SCLEX_RUBY
2867
3792
  SCE_RB_DEFAULT = 0
2868
3793
  SCE_RB_ERROR = 1
@@ -2974,6 +3899,7 @@ module Fox
2974
3899
  SCE_ERR_ABSF = 18
2975
3900
  SCE_ERR_TIDY = 19
2976
3901
  SCE_ERR_JAVA_STACK = 20
3902
+ SCE_ERR_VALUE = 21
2977
3903
  # Lexical states for SCLEX_BATCH
2978
3904
  SCE_BAT_DEFAULT = 0
2979
3905
  SCE_BAT_COMMENT = 1
@@ -2999,6 +3925,7 @@ module Fox
2999
3925
  SCE_DIFF_POSITION = 4
3000
3926
  SCE_DIFF_DELETED = 5
3001
3927
  SCE_DIFF_ADDED = 6
3928
+ SCE_DIFF_CHANGED = 7
3002
3929
  # Lexical states for SCLEX_CONF (Apache Configuration Files Lexer)
3003
3930
  SCE_CONF_DEFAULT = 0
3004
3931
  SCE_CONF_COMMENT = 1
@@ -3143,6 +4070,7 @@ module Fox
3143
4070
  SCE_ASM_CHARACTER = 12
3144
4071
  SCE_ASM_STRINGEOL = 13
3145
4072
  SCE_ASM_EXTINSTRUCTION = 14
4073
+ SCE_ASM_COMMENTDIRECTIVE = 15
3146
4074
  # Lexical states for SCLEX_FORTRAN
3147
4075
  SCE_F_DEFAULT = 0
3148
4076
  SCE_F_COMMENT = 1
@@ -3177,6 +4105,12 @@ module Fox
3177
4105
  SCE_CSS_SINGLESTRING = 14
3178
4106
  SCE_CSS_IDENTIFIER2 = 15
3179
4107
  SCE_CSS_ATTRIBUTE = 16
4108
+ SCE_CSS_IDENTIFIER3 = 17
4109
+ SCE_CSS_PSEUDOELEMENT = 18
4110
+ SCE_CSS_EXTENDED_IDENTIFIER = 19
4111
+ SCE_CSS_EXTENDED_PSEUDOCLASS = 20
4112
+ SCE_CSS_EXTENDED_PSEUDOELEMENT = 21
4113
+ SCE_CSS_MEDIA = 22
3180
4114
  # Lexical states for SCLEX_POV
3181
4115
  SCE_POV_DEFAULT = 0
3182
4116
  SCE_POV_COMMENT = 1
@@ -3312,6 +4246,7 @@ module Fox
3312
4246
  SCE_YAML_DOCUMENT = 6
3313
4247
  SCE_YAML_TEXT = 7
3314
4248
  SCE_YAML_ERROR = 8
4249
+ SCE_YAML_OPERATOR = 9
3315
4250
  # Lexical states for SCLEX_TEX
3316
4251
  SCE_TEX_DEFAULT = 0
3317
4252
  SCE_TEX_SPECIAL = 1
@@ -3339,8 +4274,19 @@ module Fox
3339
4274
  SCE_ERLANG_CHARACTER = 9
3340
4275
  SCE_ERLANG_MACRO = 10
3341
4276
  SCE_ERLANG_RECORD = 11
3342
- SCE_ERLANG_SEPARATOR = 12
4277
+ SCE_ERLANG_PREPROC = 12
3343
4278
  SCE_ERLANG_NODE_NAME = 13
4279
+ SCE_ERLANG_COMMENT_FUNCTION = 14
4280
+ SCE_ERLANG_COMMENT_MODULE = 15
4281
+ SCE_ERLANG_COMMENT_DOC = 16
4282
+ SCE_ERLANG_COMMENT_DOC_MACRO = 17
4283
+ SCE_ERLANG_ATOM_QUOTED = 18
4284
+ SCE_ERLANG_MACRO_QUOTED = 19
4285
+ SCE_ERLANG_RECORD_QUOTED = 20
4286
+ SCE_ERLANG_NODE_NAME_QUOTED = 21
4287
+ SCE_ERLANG_BIFS = 22
4288
+ SCE_ERLANG_MODULES = 23
4289
+ SCE_ERLANG_MODULES_ATT = 24
3344
4290
  SCE_ERLANG_UNKNOWN = 31
3345
4291
  # Lexical states for SCLEX_OCTAVE are identical to MatLab
3346
4292
  # Lexical states for SCLEX_MSSQL
@@ -3501,6 +4447,7 @@ module Fox
3501
4447
  SCE_CAML_OPERATOR = 7
3502
4448
  SCE_CAML_NUMBER = 8
3503
4449
  SCE_CAML_CHAR = 9
4450
+ SCE_CAML_WHITE = 10
3504
4451
  SCE_CAML_STRING = 11
3505
4452
  SCE_CAML_COMMENT = 12
3506
4453
  SCE_CAML_COMMENT1 = 13
@@ -3545,6 +4492,7 @@ module Fox
3545
4492
  SCE_T3_USER1 = 17
3546
4493
  SCE_T3_USER2 = 18
3547
4494
  SCE_T3_USER3 = 19
4495
+ SCE_T3_BRACE = 20
3548
4496
  # Lexical states for SCLEX_REBOL
3549
4497
  SCE_REBOL_DEFAULT = 0
3550
4498
  SCE_REBOL_COMMENTLINE = 1
@@ -3636,11 +4584,19 @@ module Fox
3636
4584
  SCE_FS_DATE = 16
3637
4585
  SCE_FS_STRINGEOL = 17
3638
4586
  SCE_FS_CONSTANT = 18
3639
- SCE_FS_ASM = 19
3640
- SCE_FS_LABEL = 20
3641
- SCE_FS_ERROR = 21
3642
- SCE_FS_HEXNUMBER = 22
3643
- SCE_FS_BINNUMBER = 23
4587
+ SCE_FS_WORDOPERATOR = 19
4588
+ SCE_FS_DISABLEDCODE = 20
4589
+ SCE_FS_DEFAULT_C = 21
4590
+ SCE_FS_COMMENTDOC_C = 22
4591
+ SCE_FS_COMMENTLINEDOC_C = 23
4592
+ SCE_FS_KEYWORD_C = 24
4593
+ SCE_FS_KEYWORD2_C = 25
4594
+ SCE_FS_NUMBER_C = 26
4595
+ SCE_FS_STRING_C = 27
4596
+ SCE_FS_PREPROCESSOR_C = 28
4597
+ SCE_FS_OPERATOR_C = 29
4598
+ SCE_FS_IDENTIFIER_C = 30
4599
+ SCE_FS_STRINGEOL_C = 31
3644
4600
  # Lexical states for SCLEX_CSOUND
3645
4601
  SCE_CSOUND_DEFAULT = 0
3646
4602
  SCE_CSOUND_COMMENT = 1
@@ -3665,7 +4621,7 @@ module Fox
3665
4621
  SCE_INNO_PARAMETER = 3
3666
4622
  SCE_INNO_SECTION = 4
3667
4623
  SCE_INNO_PREPROC = 5
3668
- SCE_INNO_PREPROC_INLINE = 6
4624
+ SCE_INNO_INLINE_EXPANSION = 6
3669
4625
  SCE_INNO_COMMENT_PASCAL = 7
3670
4626
  SCE_INNO_KEYWORD_PASCAL = 8
3671
4627
  SCE_INNO_KEYWORD_USER = 9
@@ -3693,6 +4649,333 @@ module Fox
3693
4649
  SCE_SPICE_DELIMITER = 6
3694
4650
  SCE_SPICE_VALUE = 7
3695
4651
  SCE_SPICE_COMMENTLINE = 8
4652
+ # Lexical states for SCLEX_CMAKE
4653
+ SCE_CMAKE_DEFAULT = 0
4654
+ SCE_CMAKE_COMMENT = 1
4655
+ SCE_CMAKE_STRINGDQ = 2
4656
+ SCE_CMAKE_STRINGLQ = 3
4657
+ SCE_CMAKE_STRINGRQ = 4
4658
+ SCE_CMAKE_COMMANDS = 5
4659
+ SCE_CMAKE_PARAMETERS = 6
4660
+ SCE_CMAKE_VARIABLE = 7
4661
+ SCE_CMAKE_USERDEFINED = 8
4662
+ SCE_CMAKE_WHILEDEF = 9
4663
+ SCE_CMAKE_FOREACHDEF = 10
4664
+ SCE_CMAKE_IFDEFINEDEF = 11
4665
+ SCE_CMAKE_MACRODEF = 12
4666
+ SCE_CMAKE_STRINGVAR = 13
4667
+ SCE_CMAKE_NUMBER = 14
4668
+ # Lexical states for SCLEX_GAP
4669
+ SCE_GAP_DEFAULT = 0
4670
+ SCE_GAP_IDENTIFIER = 1
4671
+ SCE_GAP_KEYWORD = 2
4672
+ SCE_GAP_KEYWORD2 = 3
4673
+ SCE_GAP_KEYWORD3 = 4
4674
+ SCE_GAP_KEYWORD4 = 5
4675
+ SCE_GAP_STRING = 6
4676
+ SCE_GAP_CHAR = 7
4677
+ SCE_GAP_OPERATOR = 8
4678
+ SCE_GAP_COMMENT = 9
4679
+ SCE_GAP_NUMBER = 10
4680
+ SCE_GAP_STRINGEOL = 11
4681
+ # Lexical state for SCLEX_PLM
4682
+ SCE_PLM_DEFAULT = 0
4683
+ SCE_PLM_COMMENT = 1
4684
+ SCE_PLM_STRING = 2
4685
+ SCE_PLM_NUMBER = 3
4686
+ SCE_PLM_IDENTIFIER = 4
4687
+ SCE_PLM_OPERATOR = 5
4688
+ SCE_PLM_CONTROL = 6
4689
+ SCE_PLM_KEYWORD = 7
4690
+ # Lexical state for SCLEX_PROGRESS
4691
+ SCE_4GL_DEFAULT = 0
4692
+ SCE_4GL_NUMBER = 1
4693
+ SCE_4GL_WORD = 2
4694
+ SCE_4GL_STRING = 3
4695
+ SCE_4GL_CHARACTER = 4
4696
+ SCE_4GL_PREPROCESSOR = 5
4697
+ SCE_4GL_OPERATOR = 6
4698
+ SCE_4GL_IDENTIFIER = 7
4699
+ SCE_4GL_BLOCK = 8
4700
+ SCE_4GL_END = 9
4701
+ SCE_4GL_COMMENT1 = 10
4702
+ SCE_4GL_COMMENT2 = 11
4703
+ SCE_4GL_COMMENT3 = 12
4704
+ SCE_4GL_COMMENT4 = 13
4705
+ SCE_4GL_COMMENT5 = 14
4706
+ SCE_4GL_COMMENT6 = 15
4707
+ SCE_4GL_DEFAULT_ = 16
4708
+ SCE_4GL_NUMBER_ = 17
4709
+ SCE_4GL_WORD_ = 18
4710
+ SCE_4GL_STRING_ = 19
4711
+ SCE_4GL_CHARACTER_ = 20
4712
+ SCE_4GL_PREPROCESSOR_ = 21
4713
+ SCE_4GL_OPERATOR_ = 22
4714
+ SCE_4GL_IDENTIFIER_ = 23
4715
+ SCE_4GL_BLOCK_ = 24
4716
+ SCE_4GL_END_ = 25
4717
+ SCE_4GL_COMMENT1_ = 26
4718
+ SCE_4GL_COMMENT2_ = 27
4719
+ SCE_4GL_COMMENT3_ = 28
4720
+ SCE_4GL_COMMENT4_ = 29
4721
+ SCE_4GL_COMMENT5_ = 30
4722
+ SCE_4GL_COMMENT6_ = 31
4723
+ # Lexical states for SCLEX_ABAQUS
4724
+ SCE_ABAQUS_DEFAULT = 0
4725
+ SCE_ABAQUS_COMMENT = 1
4726
+ SCE_ABAQUS_COMMENTBLOCK = 2
4727
+ SCE_ABAQUS_NUMBER = 3
4728
+ SCE_ABAQUS_STRING = 4
4729
+ SCE_ABAQUS_OPERATOR = 5
4730
+ SCE_ABAQUS_WORD = 6
4731
+ SCE_ABAQUS_PROCESSOR = 7
4732
+ SCE_ABAQUS_COMMAND = 8
4733
+ SCE_ABAQUS_SLASHCOMMAND = 9
4734
+ SCE_ABAQUS_STARCOMMAND = 10
4735
+ SCE_ABAQUS_ARGUMENT = 11
4736
+ SCE_ABAQUS_FUNCTION = 12
4737
+ # Lexical states for SCLEX_ASYMPTOTE
4738
+ SCE_ASY_DEFAULT = 0
4739
+ SCE_ASY_COMMENT = 1
4740
+ SCE_ASY_COMMENTLINE = 2
4741
+ SCE_ASY_NUMBER = 3
4742
+ SCE_ASY_WORD = 4
4743
+ SCE_ASY_STRING = 5
4744
+ SCE_ASY_CHARACTER = 6
4745
+ SCE_ASY_OPERATOR = 7
4746
+ SCE_ASY_IDENTIFIER = 8
4747
+ SCE_ASY_STRINGEOL = 9
4748
+ SCE_ASY_COMMENTLINEDOC = 10
4749
+ SCE_ASY_WORD2 = 11
4750
+ # Lexical states for SCLEX_R
4751
+ SCE_R_DEFAULT = 0
4752
+ SCE_R_COMMENT = 1
4753
+ SCE_R_KWORD = 2
4754
+ SCE_R_BASEKWORD = 3
4755
+ SCE_R_OTHERKWORD = 4
4756
+ SCE_R_NUMBER = 5
4757
+ SCE_R_STRING = 6
4758
+ SCE_R_STRING2 = 7
4759
+ SCE_R_OPERATOR = 8
4760
+ SCE_R_IDENTIFIER = 9
4761
+ SCE_R_INFIX = 10
4762
+ SCE_R_INFIXEOL = 11
4763
+ # Lexical state for SCLEX_MAGIKSF
4764
+ SCE_MAGIK_DEFAULT = 0
4765
+ SCE_MAGIK_COMMENT = 1
4766
+ SCE_MAGIK_HYPER_COMMENT = 16
4767
+ SCE_MAGIK_STRING = 2
4768
+ SCE_MAGIK_CHARACTER = 3
4769
+ SCE_MAGIK_NUMBER = 4
4770
+ SCE_MAGIK_IDENTIFIER = 5
4771
+ SCE_MAGIK_OPERATOR = 6
4772
+ SCE_MAGIK_FLOW = 7
4773
+ SCE_MAGIK_CONTAINER = 8
4774
+ SCE_MAGIK_BRACKET_BLOCK = 9
4775
+ SCE_MAGIK_BRACE_BLOCK = 10
4776
+ SCE_MAGIK_SQBRACKET_BLOCK = 11
4777
+ SCE_MAGIK_UNKNOWN_KEYWORD = 12
4778
+ SCE_MAGIK_KEYWORD = 13
4779
+ SCE_MAGIK_PRAGMA = 14
4780
+ SCE_MAGIK_SYMBOL = 15
4781
+ # Lexical state for SCLEX_POWERSHELL
4782
+ SCE_POWERSHELL_DEFAULT = 0
4783
+ SCE_POWERSHELL_COMMENT = 1
4784
+ SCE_POWERSHELL_STRING = 2
4785
+ SCE_POWERSHELL_CHARACTER = 3
4786
+ SCE_POWERSHELL_NUMBER = 4
4787
+ SCE_POWERSHELL_VARIABLE = 5
4788
+ SCE_POWERSHELL_OPERATOR = 6
4789
+ SCE_POWERSHELL_IDENTIFIER = 7
4790
+ SCE_POWERSHELL_KEYWORD = 8
4791
+ SCE_POWERSHELL_CMDLET = 9
4792
+ SCE_POWERSHELL_ALIAS = 10
4793
+ SCE_POWERSHELL_FUNCTION = 11
4794
+ SCE_POWERSHELL_USER1 = 12
4795
+ SCE_POWERSHELL_COMMENTSTREAM = 13
4796
+ # Lexical state for SCLEX_MYSQL
4797
+ SCE_MYSQL_DEFAULT = 0
4798
+ SCE_MYSQL_COMMENT = 1
4799
+ SCE_MYSQL_COMMENTLINE = 2
4800
+ SCE_MYSQL_VARIABLE = 3
4801
+ SCE_MYSQL_SYSTEMVARIABLE = 4
4802
+ SCE_MYSQL_KNOWNSYSTEMVARIABLE = 5
4803
+ SCE_MYSQL_NUMBER = 6
4804
+ SCE_MYSQL_MAJORKEYWORD = 7
4805
+ SCE_MYSQL_KEYWORD = 8
4806
+ SCE_MYSQL_DATABASEOBJECT = 9
4807
+ SCE_MYSQL_PROCEDUREKEYWORD = 10
4808
+ SCE_MYSQL_STRING = 11
4809
+ SCE_MYSQL_SQSTRING = 12
4810
+ SCE_MYSQL_DQSTRING = 13
4811
+ SCE_MYSQL_OPERATOR = 14
4812
+ SCE_MYSQL_FUNCTION = 15
4813
+ SCE_MYSQL_IDENTIFIER = 16
4814
+ SCE_MYSQL_QUOTEDIDENTIFIER = 17
4815
+ SCE_MYSQL_USER1 = 18
4816
+ SCE_MYSQL_USER2 = 19
4817
+ SCE_MYSQL_USER3 = 20
4818
+ SCE_MYSQL_HIDDENCOMMAND = 21
4819
+ # Lexical state for SCLEX_PO
4820
+ SCE_PO_DEFAULT = 0
4821
+ SCE_PO_COMMENT = 1
4822
+ SCE_PO_MSGID = 2
4823
+ SCE_PO_MSGID_TEXT = 3
4824
+ SCE_PO_MSGSTR = 4
4825
+ SCE_PO_MSGSTR_TEXT = 5
4826
+ SCE_PO_MSGCTXT = 6
4827
+ SCE_PO_MSGCTXT_TEXT = 7
4828
+ SCE_PO_FUZZY = 8
4829
+ # Lexical states for SCLEX_PASCAL
4830
+ SCE_PAS_DEFAULT = 0
4831
+ SCE_PAS_IDENTIFIER = 1
4832
+ SCE_PAS_COMMENT = 2
4833
+ SCE_PAS_COMMENT2 = 3
4834
+ SCE_PAS_COMMENTLINE = 4
4835
+ SCE_PAS_PREPROCESSOR = 5
4836
+ SCE_PAS_PREPROCESSOR2 = 6
4837
+ SCE_PAS_NUMBER = 7
4838
+ SCE_PAS_HEXNUMBER = 8
4839
+ SCE_PAS_WORD = 9
4840
+ SCE_PAS_STRING = 10
4841
+ SCE_PAS_STRINGEOL = 11
4842
+ SCE_PAS_CHARACTER = 12
4843
+ SCE_PAS_OPERATOR = 13
4844
+ SCE_PAS_ASM = 14
4845
+ # Lexical state for SCLEX_SORCUS
4846
+ SCE_SORCUS_DEFAULT = 0
4847
+ SCE_SORCUS_COMMAND = 1
4848
+ SCE_SORCUS_PARAMETER = 2
4849
+ SCE_SORCUS_COMMENTLINE = 3
4850
+ SCE_SORCUS_STRING = 4
4851
+ SCE_SORCUS_STRINGEOL = 5
4852
+ SCE_SORCUS_IDENTIFIER = 6
4853
+ SCE_SORCUS_OPERATOR = 7
4854
+ SCE_SORCUS_NUMBER = 8
4855
+ SCE_SORCUS_CONSTANT = 9
4856
+ # Lexical state for SCLEX_POWERPRO
4857
+ SCE_POWERPRO_DEFAULT = 0
4858
+ SCE_POWERPRO_COMMENTBLOCK = 1
4859
+ SCE_POWERPRO_COMMENTLINE = 2
4860
+ SCE_POWERPRO_NUMBER = 3
4861
+ SCE_POWERPRO_WORD = 4
4862
+ SCE_POWERPRO_WORD2 = 5
4863
+ SCE_POWERPRO_WORD3 = 6
4864
+ SCE_POWERPRO_WORD4 = 7
4865
+ SCE_POWERPRO_DOUBLEQUOTEDSTRING = 8
4866
+ SCE_POWERPRO_SINGLEQUOTEDSTRING = 9
4867
+ SCE_POWERPRO_LINECONTINUE = 10
4868
+ SCE_POWERPRO_OPERATOR = 11
4869
+ SCE_POWERPRO_IDENTIFIER = 12
4870
+ SCE_POWERPRO_STRINGEOL = 13
4871
+ SCE_POWERPRO_VERBATIM = 14
4872
+ SCE_POWERPRO_ALTQUOTE = 15
4873
+ SCE_POWERPRO_FUNCTION = 16
4874
+ # Lexical states for SCLEX_SML
4875
+ SCE_SML_DEFAULT = 0
4876
+ SCE_SML_IDENTIFIER = 1
4877
+ SCE_SML_TAGNAME = 2
4878
+ SCE_SML_KEYWORD = 3
4879
+ SCE_SML_KEYWORD2 = 4
4880
+ SCE_SML_KEYWORD3 = 5
4881
+ SCE_SML_LINENUM = 6
4882
+ SCE_SML_OPERATOR = 7
4883
+ SCE_SML_NUMBER = 8
4884
+ SCE_SML_CHAR = 9
4885
+ SCE_SML_STRING = 11
4886
+ SCE_SML_COMMENT = 12
4887
+ SCE_SML_COMMENT1 = 13
4888
+ SCE_SML_COMMENT2 = 14
4889
+ SCE_SML_COMMENT3 = 15
4890
+ # Lexical state for SCLEX_MARKDOWN
4891
+ SCE_MARKDOWN_DEFAULT = 0
4892
+ SCE_MARKDOWN_LINE_BEGIN = 1
4893
+ SCE_MARKDOWN_STRONG1 = 2
4894
+ SCE_MARKDOWN_STRONG2 = 3
4895
+ SCE_MARKDOWN_EM1 = 4
4896
+ SCE_MARKDOWN_EM2 = 5
4897
+ SCE_MARKDOWN_HEADER1 = 6
4898
+ SCE_MARKDOWN_HEADER2 = 7
4899
+ SCE_MARKDOWN_HEADER3 = 8
4900
+ SCE_MARKDOWN_HEADER4 = 9
4901
+ SCE_MARKDOWN_HEADER5 = 10
4902
+ SCE_MARKDOWN_HEADER6 = 11
4903
+ SCE_MARKDOWN_PRECHAR = 12
4904
+ SCE_MARKDOWN_ULIST_ITEM = 13
4905
+ SCE_MARKDOWN_OLIST_ITEM = 14
4906
+ SCE_MARKDOWN_BLOCKQUOTE = 15
4907
+ SCE_MARKDOWN_STRIKEOUT = 16
4908
+ SCE_MARKDOWN_HRULE = 17
4909
+ SCE_MARKDOWN_LINK = 18
4910
+ SCE_MARKDOWN_CODE = 19
4911
+ SCE_MARKDOWN_CODE2 = 20
4912
+ SCE_MARKDOWN_CODEBK = 21
4913
+ # Lexical state for SCLEX_TXT2TAGS
4914
+ SCE_TXT2TAGS_DEFAULT = 0
4915
+ SCE_TXT2TAGS_LINE_BEGIN = 1
4916
+ SCE_TXT2TAGS_STRONG1 = 2
4917
+ SCE_TXT2TAGS_STRONG2 = 3
4918
+ SCE_TXT2TAGS_EM1 = 4
4919
+ SCE_TXT2TAGS_EM2 = 5
4920
+ SCE_TXT2TAGS_HEADER1 = 6
4921
+ SCE_TXT2TAGS_HEADER2 = 7
4922
+ SCE_TXT2TAGS_HEADER3 = 8
4923
+ SCE_TXT2TAGS_HEADER4 = 9
4924
+ SCE_TXT2TAGS_HEADER5 = 10
4925
+ SCE_TXT2TAGS_HEADER6 = 11
4926
+ SCE_TXT2TAGS_PRECHAR = 12
4927
+ SCE_TXT2TAGS_ULIST_ITEM = 13
4928
+ SCE_TXT2TAGS_OLIST_ITEM = 14
4929
+ SCE_TXT2TAGS_BLOCKQUOTE = 15
4930
+ SCE_TXT2TAGS_STRIKEOUT = 16
4931
+ SCE_TXT2TAGS_HRULE = 17
4932
+ SCE_TXT2TAGS_LINK = 18
4933
+ SCE_TXT2TAGS_CODE = 19
4934
+ SCE_TXT2TAGS_CODE2 = 20
4935
+ SCE_TXT2TAGS_CODEBK = 21
4936
+ SCE_TXT2TAGS_COMMENT = 22
4937
+ SCE_TXT2TAGS_OPTION = 23
4938
+ SCE_TXT2TAGS_PREPROC = 24
4939
+ SCE_TXT2TAGS_POSTPROC = 25
4940
+ # Lexical states for SCLEX_A68K
4941
+ SCE_A68K_DEFAULT = 0
4942
+ SCE_A68K_COMMENT = 1
4943
+ SCE_A68K_NUMBER_DEC = 2
4944
+ SCE_A68K_NUMBER_BIN = 3
4945
+ SCE_A68K_NUMBER_HEX = 4
4946
+ SCE_A68K_STRING1 = 5
4947
+ SCE_A68K_OPERATOR = 6
4948
+ SCE_A68K_CPUINSTRUCTION = 7
4949
+ SCE_A68K_EXTINSTRUCTION = 8
4950
+ SCE_A68K_REGISTER = 9
4951
+ SCE_A68K_DIRECTIVE = 10
4952
+ SCE_A68K_MACRO_ARG = 11
4953
+ SCE_A68K_LABEL = 12
4954
+ SCE_A68K_STRING2 = 13
4955
+ SCE_A68K_IDENTIFIER = 14
4956
+ SCE_A68K_MACRO_DECLARATION = 15
4957
+ SCE_A68K_COMMENT_WORD = 16
4958
+ SCE_A68K_COMMENT_SPECIAL = 17
4959
+ SCE_A68K_COMMENT_DOXYGEN = 18
4960
+ # Lexical states for SCLEX_MODULA
4961
+ SCE_MODULA_DEFAULT = 0
4962
+ SCE_MODULA_COMMENT = 1
4963
+ SCE_MODULA_DOXYCOMM = 2
4964
+ SCE_MODULA_DOXYKEY = 3
4965
+ SCE_MODULA_KEYWORD = 4
4966
+ SCE_MODULA_RESERVED = 5
4967
+ SCE_MODULA_NUMBER = 6
4968
+ SCE_MODULA_BASENUM = 7
4969
+ SCE_MODULA_FLOAT = 8
4970
+ SCE_MODULA_STRING = 9
4971
+ SCE_MODULA_STRSPEC = 10
4972
+ SCE_MODULA_CHAR = 11
4973
+ SCE_MODULA_CHARSPEC = 12
4974
+ SCE_MODULA_PROC = 13
4975
+ SCE_MODULA_PRAGMA = 14
4976
+ SCE_MODULA_PRGKEY = 15
4977
+ SCE_MODULA_OPERATOR = 16
4978
+ SCE_MODULA_BADSTR = 17
3696
4979
 
3697
4980
  # Events
3698
4981
 
@@ -3719,23 +5002,16 @@ module Fox
3719
5002
  SCN_HOTSPOTDOUBLECLICK = 2020
3720
5003
  SCN_CALLTIPCLICK = 2021
3721
5004
  SCN_AUTOCSELECTION = 2022
5005
+ SCN_INDICATORCLICK = 2023
5006
+ SCN_INDICATORRELEASE = 2024
5007
+ SCN_AUTOCCANCELLED = 2025
5008
+ SCN_AUTOCCHARDELETED = 2026
5009
+ SCN_HOTSPOTRELEASECLICK = 2027
3722
5010
 
3723
5011
  # Deprecated
3724
5012
 
3725
- # CARET_POLICY changed in 1.47
3726
- def setCaretPolicy(caretPolicy, caretSlop)
3727
- sendMessage(2369, caretPolicy, caretSlop)
3728
- end
3729
- CARET_CENTER = 0x02
3730
- CARET_XEVEN = 0x08
3731
- CARET_XJUMPS = 0x10
3732
-
3733
- # The old name for SCN_UPDATEUI
3734
- SCN_CHECKBRACE = 2007
3735
- SCN_POSCHANGED = 2012
3736
-
3737
- # SCLEX_HTML should be used in preference to these.
3738
- SCLEX_ASP = 29
3739
- SCLEX_PHP = 30
5013
+ # Deprecated in 2.21
5014
+ # The SC_CP_DBCS value can be used to indicate a DBCS mode for GTK+.
5015
+ SC_CP_DBCS = 1
3740
5016
  end
3741
5017
  end