fxruby 1.4.2 → 1.4.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -652,6 +652,14 @@ FXMemoryBuffer *FXImage_getData(FXImage const *self){
652
652
  return 0;
653
653
  }
654
654
  }
655
+ FXColor FXImage_getPixel(FXImage const *self,FXint x,FXint y){
656
+ if(self->getData()==0) rb_raise(rb_eRuntimeError,"client side pixel buffer already released");
657
+ return self->getPixel(x,y);
658
+ }
659
+ void FXImage_setPixel(FXImage *self,FXint x,FXint y,FXColor color){
660
+ if(self->getData()==0) rb_raise(rb_eRuntimeError,"client side pixel buffer already released");
661
+ self->setPixel(x,y,color);
662
+ }
655
663
 
656
664
  swig_class cFXImage;
657
665
  static void free_FXImage(FXImage *);
@@ -1110,11 +1118,11 @@ static VALUE _wrap_FXImage_getPixel(int argc, VALUE *argv, VALUE self) { FXImage
1110
1118
  FXint arg3 ; FXColor result; VALUE vresult = Qnil; if ((argc < 2) || (argc > 2))
1111
1119
  rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc);
1112
1120
  SWIG_ConvertPtr(self, (void **) &arg1, SWIGTYPE_p_FXImage, 1); arg2 = NUM2INT(argv[0]); arg3 = NUM2INT(argv[1]);
1113
- result = (FXColor)((FXImage const *)arg1)->getPixel(arg2,arg3); vresult = UINT2NUM(result); return vresult; }
1121
+ result = (FXColor)FXImage_getPixel((FXImage const *)arg1,arg2,arg3); vresult = UINT2NUM(result); return vresult; }
1114
1122
  static VALUE _wrap_FXImage_setPixel(int argc, VALUE *argv, VALUE self) { FXImage *arg1 = (FXImage *) 0 ; FXint arg2 ;
1115
1123
  FXint arg3 ; FXColor arg4 ; if ((argc < 3) || (argc > 3)) rb_raise(rb_eArgError, "wrong # of arguments(%d for 3)",argc);
1116
1124
  SWIG_ConvertPtr(self, (void **) &arg1, SWIGTYPE_p_FXImage, 1); arg2 = NUM2INT(argv[0]); arg3 = NUM2INT(argv[1]);
1117
- arg4 = to_FXColor(argv[2]); (arg1)->setPixel(arg2,arg3,arg4); return Qnil; }
1125
+ arg4 = to_FXColor(argv[2]); FXImage_setPixel(arg1,arg2,arg3,arg4); return Qnil; }
1118
1126
  static VALUE _wrap_FXImage_hasAlphaq___(int argc, VALUE *argv, VALUE self) { FXImage *arg1 = (FXImage *) 0 ; FXbool result;
1119
1127
  VALUE vresult = Qnil; if ((argc < 0) || (argc > 0)) rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc);
1120
1128
  SWIG_ConvertPtr(self, (void **) &arg1, SWIGTYPE_p_FXImage, 1); result = (FXbool)((FXImage const *)arg1)->hasAlpha();
@@ -2313,9 +2313,7 @@ static VALUE _wrap_FXTable_acceptInput(int argc, VALUE *argv, VALUE self) { FXTa
2313
2313
  FXTable_acceptInput(arg1,arg2); return Qnil; }
2314
2314
  static VALUE _wrap_FXTable_makePositionVisible(int argc, VALUE *argv, VALUE self) { FXTable *arg1 = (FXTable *) 0 ; FXint arg2 ;
2315
2315
  FXint arg3 ; if ((argc < 2) || (argc > 2)) rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc);
2316
- SWIG_ConvertPtr(self, (void **) &arg1, SWIGTYPE_p_FXTable, 1); arg2 = NUM2INT(argv[0]); arg3 = NUM2INT(argv[1]); {
2317
- if (arg2 < 0 || arg2 >= arg1->getNumRows()) { rb_raise(rb_eIndexError, "table row out of bounds"); } } {
2318
- if (arg3 < 0 || arg3 >= arg1->getNumColumns()) { rb_raise(rb_eIndexError, "table column out of bounds"); } }
2316
+ SWIG_ConvertPtr(self, (void **) &arg1, SWIGTYPE_p_FXTable, 1); arg2 = NUM2INT(argv[0]); arg3 = NUM2INT(argv[1]);
2319
2317
  FXTable_makePositionVisible(arg1,arg2,arg3); return Qnil; }
2320
2318
  static VALUE _wrap_FXTable_enableItem(int argc, VALUE *argv, VALUE self) { FXTable *arg1 = (FXTable *) 0 ; FXint arg2 ;
2321
2319
  FXint arg3 ; FXbool result; VALUE vresult = Qnil; if ((argc < 2) || (argc > 2))
data/lib/fox14/chore.rb CHANGED
@@ -1,9 +1,11 @@
1
1
  require 'fox14'
2
+ require 'ostruct'
2
3
 
3
4
  module Fox
4
5
  class FXApp
5
6
 
6
7
  alias addChoreOrig addChore # :nodoc:
8
+ alias removeChoreOrig removeChore # :nodoc:
7
9
 
8
10
  #
9
11
  # Add a idle processing message to be sent to a target object when
@@ -28,12 +30,11 @@ module Fox
28
30
  # ... handle the chore ...
29
31
  # }
30
32
  #
31
- # All of these return a reference to an opaque FXChore instance that
32
- # can be passed to #removeChore if it is necessary to remove the chore
33
- # before it fires.
33
+ # All of these return a reference to an object that can be passed to
34
+ # #removeChore if it is necessary to remove the chore before it fires.
34
35
  #
35
36
  def addChore(*args, &block)
36
- tgt, sel = nil, 0
37
+ tgt, sel, ptr = nil, 0, nil
37
38
  if args.length > 0
38
39
  if args[0].respond_to? :call
39
40
  tgt = FXPseudoTarget.new
@@ -45,7 +46,22 @@ module Fox
45
46
  tgt = FXPseudoTarget.new
46
47
  tgt.pconnect(SEL_CHORE, nil, block)
47
48
  end
48
- addChoreOrig(tgt, sel)
49
+ addChoreOrig(tgt, sel, ptr)
50
+ OpenStruct.new({ "tgt" => tgt, "sel" => sel })
51
+ end
52
+
53
+ #
54
+ # Remove idle processing chore.
55
+ #
56
+ def removeChore(chore)
57
+ removeChoreOrig(chore.tgt, chore.sel)
58
+ end
59
+
60
+ #
61
+ # Return +true+ if given chore has been set, otherwise return +false+.
62
+ #
63
+ def hasChore?(chore)
64
+ hasChore(chore.tgt, chore.sel)
49
65
  end
50
66
  end
51
67
  end
@@ -14,13 +14,13 @@ module Fox
14
14
  # Basics
15
15
 
16
16
  INVALID_POSITION = -1
17
- # Define start of Scintilla messages to be greater than all edit (EM_*) messages
17
+ # Define start of Scintilla messages to be greater than all Windows edit (EM_*) messages
18
18
  # as many EM_ messages can be used although that use is deprecated.
19
19
  SCI_START = 2000
20
20
  SCI_OPTIONAL_START = 3000
21
21
  SCI_LEXER_START = 4000
22
22
 
23
- # Add text to the document.
23
+ # Add text to the document at current position.
24
24
  def addText(length, text)
25
25
  sendMessage(2001, length, text)
26
26
  end
@@ -45,7 +45,7 @@ module Fox
45
45
  sendMessage(2005, 0, 0)
46
46
  end
47
47
 
48
- # The number of characters in the document.
48
+ # Returns the number of characters in the document.
49
49
  def getLength
50
50
  sendMessage(2006, 0, 0)
51
51
  end
@@ -93,7 +93,7 @@ module Fox
93
93
  end
94
94
 
95
95
  # Retrieve a buffer of cells.
96
- # Returns the number of bytes in the buffer not including terminating nulls.
96
+ # Returns the number of bytes in the buffer not including terminating NULs.
97
97
  def getStyledText(tr)
98
98
  sendMessage(2015, 0, tr)
99
99
  end
@@ -478,6 +478,11 @@ module Fox
478
478
  sendMessage(2066, style, characterSet)
479
479
  end
480
480
 
481
+ # Set a style to be a hotspot or not.
482
+ def styleSetHotSpot(style, hotspot)
483
+ sendMessage(2409, style, hotspot)
484
+ end
485
+
481
486
  # Set the foreground colour of the selection and whether to use this setting.
482
487
  def setSelFore(useSetting, fore)
483
488
  sendMessage(2067, useSetting, fore & 0xffffff)
@@ -498,7 +503,7 @@ module Fox
498
503
  sendMessage(2070, km, msg)
499
504
  end
500
505
 
501
- # When key+modifier combination km do nothing.
506
+ # When key+modifier combination km is pressed do nothing.
502
507
  def clearCmdKey(km)
503
508
  sendMessage(2071, km, 0)
504
509
  end
@@ -529,6 +534,7 @@ module Fox
529
534
  end
530
535
 
531
536
  # Set the set of characters making up words for when moving or selecting by word.
537
+ # First sets deaults like SetCharsDefault.
532
538
  def setWordChars(characters)
533
539
  sendMessage(2077, 0, characters)
534
540
  end
@@ -550,6 +556,8 @@ module Fox
550
556
  INDIC_TT = 2
551
557
  INDIC_DIAGONAL = 3
552
558
  INDIC_STRIKE = 4
559
+ INDIC_HIDDEN = 5
560
+ INDIC_BOX = 6
553
561
  INDIC0_MASK = 0x20
554
562
  INDIC1_MASK = 0x40
555
563
  INDIC2_MASK = 0x80
@@ -771,6 +779,28 @@ module Fox
771
779
  sendMessage(2286, separatorCharacter, 0)
772
780
  end
773
781
 
782
+ # Set the maximum width, in characters, of auto-completion and user lists.
783
+ # Set to 0 to autosize to fit longest item, which is the default.
784
+ def autoCSetMaxWidth(characterCount)
785
+ sendMessage(2208, characterCount, 0)
786
+ end
787
+
788
+ # Get the maximum width, in characters, of auto-completion and user lists.
789
+ def autoCGetMaxWidth
790
+ sendMessage(2209, 0, 0)
791
+ end
792
+
793
+ # Set the maximum height, in rows, of auto-completion and user lists.
794
+ # The default is 5 rows.
795
+ def autoCSetMaxHeight(rowCount)
796
+ sendMessage(2210, rowCount, 0)
797
+ end
798
+
799
+ # Set the maximum height, in rows, of auto-completion and user lists.
800
+ def autoCGetMaxHeight
801
+ sendMessage(2211, 0, 0)
802
+ end
803
+
774
804
  # Set the number of spaces used for one level of indentation.
775
805
  def setIndent(indentSize)
776
806
  sendMessage(2122, indentSize, 0)
@@ -928,6 +958,7 @@ module Fox
928
958
  SCFIND_MATCHCASE = 4
929
959
  SCFIND_WORDSTART = 0x00100000
930
960
  SCFIND_REGEXP = 0x00200000
961
+ SCFIND_POSIX = 0x00400000
931
962
 
932
963
  # Find some text in the document.
933
964
  def findText(flags, ft)
@@ -1161,14 +1192,14 @@ module Fox
1161
1192
  end
1162
1193
 
1163
1194
  # Replace the target text with the argument text.
1164
- # Text is counted so it can contain nulls.
1195
+ # Text is counted so it can contain NULs.
1165
1196
  # Returns the length of the replacement text.
1166
1197
  def replaceTarget(length, text)
1167
1198
  sendMessage(2194, length, text)
1168
1199
  end
1169
1200
 
1170
1201
  # Replace the target text with the argument text after \d processing.
1171
- # Text is counted so it can contain nulls.
1202
+ # Text is counted so it can contain NULs.
1172
1203
  # Looks for \d where d is between 1 and 9 and replaces these with the strings
1173
1204
  # matched in the last search operation which were surrounded by \( and \).
1174
1205
  # Returns the length of the replacement text including any change
@@ -1178,7 +1209,7 @@ module Fox
1178
1209
  end
1179
1210
 
1180
1211
  # Search for a counted string in the target and set the target to the found
1181
- # range. Text is counted so it can contain nulls.
1212
+ # range. Text is counted so it can contain NULs.
1182
1213
  # Returns length of range or -1 for failure in which case target is not moved.
1183
1214
  def searchInTarget(length, text)
1184
1215
  sendMessage(2197, length, text)
@@ -1224,6 +1255,16 @@ module Fox
1224
1255
  sendMessage(2205, back & 0xffffff, 0)
1225
1256
  end
1226
1257
 
1258
+ # Set the foreground colour for the call tip.
1259
+ def callTipSetFore(fore)
1260
+ sendMessage(2206, fore & 0xffffff, 0)
1261
+ end
1262
+
1263
+ # Set the foreground colour for the highlighted part of the call tip.
1264
+ def callTipSetForeHlt(fore)
1265
+ sendMessage(2207, fore & 0xffffff, 0)
1266
+ end
1267
+
1227
1268
  # Find the display line of a document line taking hidden lines into account.
1228
1269
  def visibleFromDocLine(line)
1229
1270
  sendMessage(2220, line, 0)
@@ -1234,6 +1275,11 @@ module Fox
1234
1275
  sendMessage(2221, lineDisplay, 0)
1235
1276
  end
1236
1277
 
1278
+ # The number of display lines needed to wrap a document line
1279
+ def wrapCount(line)
1280
+ sendMessage(2235, line, 0)
1281
+ end
1282
+
1237
1283
  SC_FOLDLEVELBASE = 0x400
1238
1284
  SC_FOLDLEVELWHITEFLAG = 0x1000
1239
1285
  SC_FOLDLEVELHEADERFLAG = 0x2000
@@ -1362,6 +1408,7 @@ module Fox
1362
1408
 
1363
1409
  SC_WRAP_NONE = 0
1364
1410
  SC_WRAP_WORD = 1
1411
+ SC_WRAP_CHAR = 2
1365
1412
 
1366
1413
  # Sets whether text is word wrapped.
1367
1414
  def setWrapMode(mode)
@@ -1373,6 +1420,44 @@ module Fox
1373
1420
  sendMessage(2269, 0, 0)
1374
1421
  end
1375
1422
 
1423
+ SC_WRAPVISUALFLAG_NONE = 0x0000
1424
+ SC_WRAPVISUALFLAG_END = 0x0001
1425
+ SC_WRAPVISUALFLAG_START = 0x0002
1426
+
1427
+ # Set the display mode of visual flags for wrapped lines.
1428
+ def setWrapVisualFlags(wrapVisualFlags)
1429
+ sendMessage(2460, wrapVisualFlags, 0)
1430
+ end
1431
+
1432
+ # Retrive the display mode of visual flags for wrapped lines.
1433
+ def getWrapVisualFlags
1434
+ sendMessage(2461, 0, 0)
1435
+ end
1436
+
1437
+ SC_WRAPVISUALFLAGLOC_DEFAULT = 0x0000
1438
+ SC_WRAPVISUALFLAGLOC_END_BY_TEXT = 0x0001
1439
+ SC_WRAPVISUALFLAGLOC_START_BY_TEXT = 0x0002
1440
+
1441
+ # Set the location of visual flags for wrapped lines.
1442
+ def setWrapVisualFlagsLocation(wrapVisualFlagsLocation)
1443
+ sendMessage(2462, wrapVisualFlagsLocation, 0)
1444
+ end
1445
+
1446
+ # Retrive the location of visual flags for wrapped lines.
1447
+ def getWrapVisualFlagsLocation
1448
+ sendMessage(2463, 0, 0)
1449
+ end
1450
+
1451
+ # Set the start indent for wrapped lines.
1452
+ def setWrapStartIndent(indent)
1453
+ sendMessage(2464, indent, 0)
1454
+ end
1455
+
1456
+ # Retrive the start indent for wrapped lines.
1457
+ def getWrapStartIndent
1458
+ sendMessage(2465, 0, 0)
1459
+ end
1460
+
1376
1461
  SC_CACHE_NONE = 0
1377
1462
  SC_CACHE_CARET = 1
1378
1463
  SC_CACHE_PAGE = 2
@@ -1399,7 +1484,7 @@ module Fox
1399
1484
  end
1400
1485
 
1401
1486
  # Measure the pixel width of some text in a particular style.
1402
- # Nul terminated text argument.
1487
+ # NUL terminated text argument.
1403
1488
  # Does not handle tab or control characters.
1404
1489
  def textWidth(style, text)
1405
1490
  sendMessage(2276, style, text)
@@ -1455,7 +1540,6 @@ module Fox
1455
1540
  end
1456
1541
 
1457
1542
  # Join the lines in the target.
1458
- # This is an experimental feature and may be changed or removed.
1459
1543
  def linesJoin
1460
1544
  sendMessage(2288, 0, 0)
1461
1545
  end
@@ -1730,6 +1814,36 @@ module Fox
1730
1814
  sendMessage(2348, 0, 0)
1731
1815
  end
1732
1816
 
1817
+ # These are like their namesakes Home(Extend)?, LineEnd(Extend)?, VCHome(Extend)?
1818
+ # except they behave differently when word-wrap is enabled:
1819
+ # They go first to the start / end of the display line, like (Home|LineEnd)Display
1820
+ # The difference is that, the cursor is already at the point, it goes on to the start
1821
+ # or end of the document line, as appropriate for (Home|LineEnd|VCHome)(Extend)?.
1822
+
1823
+ def homeWrap
1824
+ sendMessage(2349, 0, 0)
1825
+ end
1826
+ def homeWrapExtend
1827
+ sendMessage(2450, 0, 0)
1828
+ end
1829
+ def lineEndWrap
1830
+ sendMessage(2451, 0, 0)
1831
+ end
1832
+ def lineEndWrapExtend
1833
+ sendMessage(2452, 0, 0)
1834
+ end
1835
+ def vCHomeWrap
1836
+ sendMessage(2453, 0, 0)
1837
+ end
1838
+ def vCHomeWrapExtend
1839
+ sendMessage(2454, 0, 0)
1840
+ end
1841
+
1842
+ # Copy the line containing the caret.
1843
+ def lineCopy
1844
+ sendMessage(2455, 0, 0)
1845
+ end
1846
+
1733
1847
  # Move the caret inside current view if it's not there already.
1734
1848
  def moveCaretInsideView
1735
1849
  sendMessage(2401, 0, 0)
@@ -1972,7 +2086,7 @@ module Fox
1972
2086
  sendMessage(2398, 0, 0)
1973
2087
  end
1974
2088
 
1975
- # Set the last x chosen value to be the caret x position
2089
+ # Set the last x chosen value to be the caret x position.
1976
2090
  def chooseCaretX
1977
2091
  sendMessage(2399, 0, 0)
1978
2092
  end
@@ -2023,11 +2137,244 @@ module Fox
2023
2137
  sendMessage(2406, mode, 0)
2024
2138
  end
2025
2139
 
2026
- # Is printing line wrapped.
2140
+ # Is printing line wrapped?
2027
2141
  def getPrintWrapMode
2028
2142
  sendMessage(2407, 0, 0)
2029
2143
  end
2030
2144
 
2145
+ # Set a fore colour for active hotspots.
2146
+ def setHotspotActiveFore(useSetting, fore)
2147
+ sendMessage(2410, useSetting, fore & 0xffffff)
2148
+ end
2149
+
2150
+ # Set a back colour for active hotspots.
2151
+ def setHotspotActiveBack(useSetting, back)
2152
+ sendMessage(2411, useSetting, back & 0xffffff)
2153
+ end
2154
+
2155
+ # Enable / Disable underlining active hotspots.
2156
+ def setHotspotActiveUnderline(underline)
2157
+ sendMessage(2412, underline, 0)
2158
+ end
2159
+
2160
+ # Limit hotspots to single line so hotspots on two lines don't merge.
2161
+ def setHotspotSingleLine(singleLine)
2162
+ sendMessage(2421, singleLine, 0)
2163
+ end
2164
+
2165
+ # Move caret between paragraphs (delimited by empty lines).
2166
+ def paraDown
2167
+ sendMessage(2413, 0, 0)
2168
+ end
2169
+ def paraDownExtend
2170
+ sendMessage(2414, 0, 0)
2171
+ end
2172
+ def paraUp
2173
+ sendMessage(2415, 0, 0)
2174
+ end
2175
+ def paraUpExtend
2176
+ sendMessage(2416, 0, 0)
2177
+ end
2178
+
2179
+ # Given a valid document position, return the previous position taking code
2180
+ # page into account. Returns 0 if passed 0.
2181
+ def positionBefore(pos)
2182
+ sendMessage(2417, pos, 0)
2183
+ end
2184
+
2185
+ # Given a valid document position, return the next position taking code
2186
+ # page into account. Maximum value returned is the last position in the document.
2187
+ def positionAfter(pos)
2188
+ sendMessage(2418, pos, 0)
2189
+ end
2190
+
2191
+ # Copy a range of text to the clipboard. Positions are clipped into the document.
2192
+ def copyRange(start, last)
2193
+ sendMessage(2419, start, last)
2194
+ end
2195
+
2196
+ # Copy argument text to the clipboard.
2197
+ def copyText(length, text)
2198
+ sendMessage(2420, length, text)
2199
+ end
2200
+
2201
+ SC_SEL_STREAM = 0
2202
+ SC_SEL_RECTANGLE = 1
2203
+ SC_SEL_LINES = 2
2204
+
2205
+ # Set the selection mode to stream (SC_SEL_STREAM) or rectangular (SC_SEL_RECTANGLE) or
2206
+ # by lines (SC_SEL_LINES).
2207
+ def setSelectionMode(mode)
2208
+ sendMessage(2422, mode, 0)
2209
+ end
2210
+
2211
+ # Get the mode of the current selection.
2212
+ def getSelectionMode
2213
+ sendMessage(2423, 0, 0)
2214
+ end
2215
+
2216
+ # Retrieve the position of the start of the selection at the given line (INVALID_POSITION if no selection on this line).
2217
+ def getLineSelStartPosition(line)
2218
+ sendMessage(2424, line, 0)
2219
+ end
2220
+
2221
+ # Retrieve the position of the end of the selection at the given line (INVALID_POSITION if no selection on this line).
2222
+ def getLineSelEndPosition(line)
2223
+ sendMessage(2425, line, 0)
2224
+ end
2225
+
2226
+ # Move caret down one line, extending rectangular selection to new caret position.
2227
+ def lineDownRectExtend
2228
+ sendMessage(2426, 0, 0)
2229
+ end
2230
+
2231
+ # Move caret up one line, extending rectangular selection to new caret position.
2232
+ def lineUpRectExtend
2233
+ sendMessage(2427, 0, 0)
2234
+ end
2235
+
2236
+ # Move caret left one character, extending rectangular selection to new caret position.
2237
+ def charLeftRectExtend
2238
+ sendMessage(2428, 0, 0)
2239
+ end
2240
+
2241
+ # Move caret right one character, extending rectangular selection to new caret position.
2242
+ def charRightRectExtend
2243
+ sendMessage(2429, 0, 0)
2244
+ end
2245
+
2246
+ # Move caret to first position on line, extending rectangular selection to new caret position.
2247
+ def homeRectExtend
2248
+ sendMessage(2430, 0, 0)
2249
+ end
2250
+
2251
+ # Move caret to before first visible character on line.
2252
+ # If already there move to first character on line.
2253
+ # In either case, extend rectangular selection to new caret position.
2254
+ def vCHomeRectExtend
2255
+ sendMessage(2431, 0, 0)
2256
+ end
2257
+
2258
+ # Move caret to last position on line, extending rectangular selection to new caret position.
2259
+ def lineEndRectExtend
2260
+ sendMessage(2432, 0, 0)
2261
+ end
2262
+
2263
+ # Move caret one page up, extending rectangular selection to new caret position.
2264
+ def pageUpRectExtend
2265
+ sendMessage(2433, 0, 0)
2266
+ end
2267
+
2268
+ # Move caret one page down, extending rectangular selection to new caret position.
2269
+ def pageDownRectExtend
2270
+ sendMessage(2434, 0, 0)
2271
+ end
2272
+
2273
+
2274
+ # Move caret to top of page, or one page up if already at top of page.
2275
+ def stutteredPageUp
2276
+ sendMessage(2435, 0, 0)
2277
+ end
2278
+
2279
+ # Move caret to top of page, or one page up if already at top of page, extending selection to new caret position.
2280
+ def stutteredPageUpExtend
2281
+ sendMessage(2436, 0, 0)
2282
+ end
2283
+
2284
+ # Move caret to bottom of page, or one page down if already at bottom of page.
2285
+ def stutteredPageDown
2286
+ sendMessage(2437, 0, 0)
2287
+ end
2288
+
2289
+ # Move caret to bottom of page, or one page down if already at bottom of page, extending selection to new caret position.
2290
+ def stutteredPageDownExtend
2291
+ sendMessage(2438, 0, 0)
2292
+ end
2293
+
2294
+
2295
+ # Move caret left one word, position cursor at end of word.
2296
+ def wordLeftEnd
2297
+ sendMessage(2439, 0, 0)
2298
+ end
2299
+
2300
+ # Move caret left one word, position cursor at end of word, extending selection to new caret position.
2301
+ def wordLeftEndExtend
2302
+ sendMessage(2440, 0, 0)
2303
+ end
2304
+
2305
+ # Move caret right one word, position cursor at end of word.
2306
+ def wordRightEnd
2307
+ sendMessage(2441, 0, 0)
2308
+ end
2309
+
2310
+ # Move caret right one word, position cursor at end of word, extending selection to new caret position.
2311
+ def wordRightEndExtend
2312
+ sendMessage(2442, 0, 0)
2313
+ end
2314
+
2315
+ # Set the set of characters making up whitespace for when moving or selecting by word.
2316
+ # Should be called after SetWordChars.
2317
+ def setWhitespaceChars(characters)
2318
+ sendMessage(2443, 0, characters)
2319
+ end
2320
+
2321
+ # Reset the set of characters for whitespace and word characters to the defaults.
2322
+ def setCharsDefault
2323
+ sendMessage(2444, 0, 0)
2324
+ end
2325
+
2326
+ # Get currently selected item position in the auto-completion list
2327
+ def autoCGetCurrent
2328
+ sendMessage(2445, 0, 0)
2329
+ end
2330
+
2331
+ # Enlarge the document to a particular size of text bytes.
2332
+ def allocate(bytes)
2333
+ sendMessage(2446, bytes, 0)
2334
+ end
2335
+
2336
+ # Returns the target converted to UTF8.
2337
+ # Return the length in bytes.
2338
+ def targetAsUTF8
2339
+ sendMessage(2447, 0, s)
2340
+ end
2341
+
2342
+ # Set the length of the utf8 argument for calling EncodedFromUTF8.
2343
+ # Set to 0 and the string will be measured to the first nul.
2344
+ def setLengthForEncode(bytes)
2345
+ sendMessage(2448, bytes, 0)
2346
+ end
2347
+
2348
+ # Translates a UTF8 string into the document encoding.
2349
+ # Return the length of the result in bytes.
2350
+ # On error return 0.
2351
+ def encodedFromUTF8(utf8)
2352
+ buffer = "".ljust(utf8)
2353
+ sendMessage(2449, utf8, buffer)
2354
+ buffer
2355
+ end
2356
+
2357
+ # Find the position of a column on a line taking into account tabs and
2358
+ # multi-byte characters. If beyond end of line, return line end position.
2359
+ def findColumn(line, column)
2360
+ sendMessage(2456, line, column)
2361
+ end
2362
+
2363
+ # Can the caret preferred x position only be changed by explicit movement commands?
2364
+ def getCaretSticky
2365
+ sendMessage(2457, 0, 0) == 1 ? true : false
2366
+ end
2367
+
2368
+ # Stop the caret preferred x position changing when the user types.
2369
+ def setCaretSticky(useCaretStickyBehaviour)
2370
+ sendMessage(2458, useCaretStickyBehaviour, 0)
2371
+ end
2372
+
2373
+ # Switch between sticky and non-sticky: meant to be bound to a key.
2374
+ def toggleCaretSticky
2375
+ sendMessage(2459, 0, 0)
2376
+ end
2377
+
2031
2378
  # Start notifying the container of all key presses and commands.
2032
2379
  def startRecord
2033
2380
  sendMessage(3001, 0, 0)
@@ -2058,6 +2405,9 @@ module Fox
2058
2405
  sendMessage(4004, key, value)
2059
2406
  end
2060
2407
 
2408
+ # Maximum value of keywordSet parameter of SetKeyWords.
2409
+ KEYWORDSET_MAX = 8
2410
+
2061
2411
  # Set up the key words used by the lexer.
2062
2412
  def setKeyWords(keywordSet, keyWords)
2063
2413
  sendMessage(4005, keywordSet, keyWords)
@@ -2068,6 +2418,11 @@ module Fox
2068
2418
  sendMessage(4006, 0, language)
2069
2419
  end
2070
2420
 
2421
+ # Load a lexer library (dll / so).
2422
+ def loadLexerLibrary(path)
2423
+ sendMessage(4007, 0, path)
2424
+ end
2425
+
2071
2426
  # Notifications
2072
2427
  # Type of modification and the action which caused the modification.
2073
2428
  # These are defined as a bit mask to make it easy to specify which notifications are wanted.
@@ -2149,8 +2504,6 @@ module Fox
2149
2504
  SCLEX_NNCRONTAB = 26
2150
2505
  SCLEX_BULLANT = 27
2151
2506
  SCLEX_VBSCRIPT = 28
2152
- SCLEX_ASP = 29
2153
- SCLEX_PHP = 30
2154
2507
  SCLEX_BAAN = 31
2155
2508
  SCLEX_MATLAB = 32
2156
2509
  SCLEX_SCRIPTOL = 33
@@ -2159,6 +2512,37 @@ module Fox
2159
2512
  SCLEX_FORTRAN = 36
2160
2513
  SCLEX_F77 = 37
2161
2514
  SCLEX_CSS = 38
2515
+ SCLEX_POV = 39
2516
+ SCLEX_LOUT = 40
2517
+ SCLEX_ESCRIPT = 41
2518
+ SCLEX_PS = 42
2519
+ SCLEX_NSIS = 43
2520
+ SCLEX_MMIXAL = 44
2521
+ SCLEX_CLW = 45
2522
+ SCLEX_CLWNOCASE = 46
2523
+ SCLEX_LOT = 47
2524
+ SCLEX_YAML = 48
2525
+ SCLEX_TEX = 49
2526
+ SCLEX_METAPOST = 50
2527
+ SCLEX_POWERBASIC = 51
2528
+ SCLEX_FORTH = 52
2529
+ SCLEX_ERLANG = 53
2530
+ SCLEX_OCTAVE = 54
2531
+ SCLEX_MSSQL = 55
2532
+ SCLEX_VERILOG = 56
2533
+ SCLEX_KIX = 57
2534
+ SCLEX_GUI4CLI = 58
2535
+ SCLEX_SPECMAN = 59
2536
+ SCLEX_AU3 = 60
2537
+ SCLEX_APDL = 61
2538
+ SCLEX_BASH = 62
2539
+ SCLEX_ASN1 = 63
2540
+ SCLEX_VHDL = 64
2541
+ SCLEX_CAML = 65
2542
+ SCLEX_BLITZBASIC = 66
2543
+ SCLEX_PUREBASIC = 67
2544
+ SCLEX_HASKELL = 68
2545
+ SCLEX_PHPSCRIPT = 69
2162
2546
 
2163
2547
  # When a lexer specifies its language as SCLEX_AUTOMATIC it receives a
2164
2548
  # value assigned in sequence from SCLEX_AUTOMATIC+1.
@@ -2198,6 +2582,7 @@ module Fox
2198
2582
  SCE_C_WORD2 = 16
2199
2583
  SCE_C_COMMENTDOCKEYWORD = 17
2200
2584
  SCE_C_COMMENTDOCKEYWORDERROR = 18
2585
+ SCE_C_GLOBALCLASS = 19
2201
2586
  # Lexical states for SCLEX_HTML, SCLEX_XML
2202
2587
  SCE_H_DEFAULT = 0
2203
2588
  SCE_H_TAG = 1
@@ -2295,6 +2680,8 @@ module Fox
2295
2680
  SCE_HP_DEFNAME = 100
2296
2681
  SCE_HP_OPERATOR = 101
2297
2682
  SCE_HP_IDENTIFIER = 102
2683
+ # PHP
2684
+ SCE_HPHP_COMPLEX_VARIABLE = 104
2298
2685
  # ASP Python
2299
2686
  SCE_HPA_START = 105
2300
2687
  SCE_HPA_DEFAULT = 106
@@ -2351,7 +2738,7 @@ module Fox
2351
2738
  SCE_PL_STRING_QX = 28
2352
2739
  SCE_PL_STRING_QR = 29
2353
2740
  SCE_PL_STRING_QW = 30
2354
- # Lexical states for SCLEX_VB, SCLEX_VBSCRIPT
2741
+ # Lexical states for SCLEX_VB, SCLEX_VBSCRIPT, SCLEX_POWERBASIC
2355
2742
  SCE_B_DEFAULT = 0
2356
2743
  SCE_B_COMMENT = 1
2357
2744
  SCE_B_NUMBER = 2
@@ -2361,6 +2748,16 @@ module Fox
2361
2748
  SCE_B_OPERATOR = 6
2362
2749
  SCE_B_IDENTIFIER = 7
2363
2750
  SCE_B_DATE = 8
2751
+ SCE_B_STRINGEOL = 9
2752
+ SCE_B_KEYWORD2 = 10
2753
+ SCE_B_KEYWORD3 = 11
2754
+ SCE_B_KEYWORD4 = 12
2755
+ SCE_B_CONSTANT = 13
2756
+ SCE_B_ASM = 14
2757
+ SCE_B_LABEL = 15
2758
+ SCE_B_ERROR = 16
2759
+ SCE_B_HEXNUMBER = 17
2760
+ SCE_B_BINNUMBER = 18
2364
2761
  # Lexical states for SCLEX_PROPERTIES
2365
2762
  SCE_PROPS_DEFAULT = 0
2366
2763
  SCE_PROPS_COMMENT = 1
@@ -2392,6 +2789,8 @@ module Fox
2392
2789
  SCE_LUA_WORD4 = 15
2393
2790
  SCE_LUA_WORD5 = 16
2394
2791
  SCE_LUA_WORD6 = 17
2792
+ SCE_LUA_WORD7 = 18
2793
+ SCE_LUA_WORD8 = 19
2395
2794
  # Lexical states for SCLEX_ERRORLIST
2396
2795
  SCE_ERR_DEFAULT = 0
2397
2796
  SCE_ERR_PYTHON = 1
@@ -2408,6 +2807,12 @@ module Fox
2408
2807
  SCE_ERR_DIFF_DELETION = 12
2409
2808
  SCE_ERR_DIFF_MESSAGE = 13
2410
2809
  SCE_ERR_PHP = 14
2810
+ SCE_ERR_ELF = 15
2811
+ SCE_ERR_IFC = 16
2812
+ SCE_ERR_IFORT = 17
2813
+ SCE_ERR_ABSF = 18
2814
+ SCE_ERR_TIDY = 19
2815
+ SCE_ERR_JAVA_STACK = 20
2411
2816
  # Lexical states for SCLEX_BATCH
2412
2817
  SCE_BAT_DEFAULT = 0
2413
2818
  SCE_BAT_COMMENT = 1
@@ -2516,36 +2921,47 @@ module Fox
2516
2921
  SCE_NNCRONTAB_STRING = 8
2517
2922
  SCE_NNCRONTAB_ENVIRONMENT = 9
2518
2923
  SCE_NNCRONTAB_IDENTIFIER = 10
2924
+ # Lexical states for SCLEX_FORTH (Forth Lexer)
2925
+ SCE_FORTH_DEFAULT = 0
2926
+ SCE_FORTH_COMMENT = 1
2927
+ SCE_FORTH_COMMENT_ML = 2
2928
+ SCE_FORTH_IDENTIFIER = 3
2929
+ SCE_FORTH_CONTROL = 4
2930
+ SCE_FORTH_KEYWORD = 5
2931
+ SCE_FORTH_DEFWORD = 6
2932
+ SCE_FORTH_PREWORD1 = 7
2933
+ SCE_FORTH_PREWORD2 = 8
2934
+ SCE_FORTH_NUMBER = 9
2935
+ SCE_FORTH_STRING = 10
2936
+ SCE_FORTH_LOCALE = 11
2519
2937
  # Lexical states for SCLEX_MATLAB
2520
2938
  SCE_MATLAB_DEFAULT = 0
2521
2939
  SCE_MATLAB_COMMENT = 1
2522
2940
  SCE_MATLAB_COMMAND = 2
2523
2941
  SCE_MATLAB_NUMBER = 3
2524
2942
  SCE_MATLAB_KEYWORD = 4
2943
+ # single quoted string
2525
2944
  SCE_MATLAB_STRING = 5
2526
2945
  SCE_MATLAB_OPERATOR = 6
2527
2946
  SCE_MATLAB_IDENTIFIER = 7
2947
+ SCE_MATLAB_DOUBLEQUOTESTRING = 8
2528
2948
  # Lexical states for SCLEX_SCRIPTOL
2529
2949
  SCE_SCRIPTOL_DEFAULT = 0
2530
- SCE_SCRIPTOL_COMMENT = 1
2950
+ SCE_SCRIPTOL_WHITE = 1
2531
2951
  SCE_SCRIPTOL_COMMENTLINE = 2
2532
- SCE_SCRIPTOL_COMMENTDOC = 3
2533
- SCE_SCRIPTOL_NUMBER = 4
2534
- SCE_SCRIPTOL_WORD = 5
2535
- SCE_SCRIPTOL_STRING = 6
2536
- SCE_SCRIPTOL_CHARACTER = 7
2537
- SCE_SCRIPTOL_UUID = 8
2538
- SCE_SCRIPTOL_PREPROCESSOR = 9
2539
- SCE_SCRIPTOL_OPERATOR = 10
2540
- SCE_SCRIPTOL_IDENTIFIER = 11
2541
- SCE_SCRIPTOL_STRINGEOL = 12
2542
- SCE_SCRIPTOL_VERBATIM = 13
2543
- SCE_SCRIPTOL_REGEX = 14
2544
- SCE_SCRIPTOL_COMMENTLINEDOC = 15
2545
- SCE_SCRIPTOL_WORD2 = 16
2546
- SCE_SCRIPTOL_COMMENTDOCKEYWORD = 17
2547
- SCE_SCRIPTOL_COMMENTDOCKEYWORDERROR = 18
2548
- SCE_SCRIPTOL_COMMENTBASIC = 19
2952
+ SCE_SCRIPTOL_PERSISTENT = 3
2953
+ SCE_SCRIPTOL_CSTYLE = 4
2954
+ SCE_SCRIPTOL_COMMENTBLOCK = 5
2955
+ SCE_SCRIPTOL_NUMBER = 6
2956
+ SCE_SCRIPTOL_STRING = 7
2957
+ SCE_SCRIPTOL_CHARACTER = 8
2958
+ SCE_SCRIPTOL_STRINGEOL = 9
2959
+ SCE_SCRIPTOL_KEYWORD = 10
2960
+ SCE_SCRIPTOL_OPERATOR = 11
2961
+ SCE_SCRIPTOL_IDENTIFIER = 12
2962
+ SCE_SCRIPTOL_TRIPLE = 13
2963
+ SCE_SCRIPTOL_CLASSNAME = 14
2964
+ SCE_SCRIPTOL_PREPROCESSOR = 15
2549
2965
  # Lexical states for SCLEX_ASM
2550
2966
  SCE_ASM_DEFAULT = 0
2551
2967
  SCE_ASM_COMMENT = 1
@@ -2558,6 +2974,10 @@ module Fox
2558
2974
  SCE_ASM_REGISTER = 8
2559
2975
  SCE_ASM_DIRECTIVE = 9
2560
2976
  SCE_ASM_DIRECTIVEOPERAND = 10
2977
+ SCE_ASM_COMMENTBLOCK = 11
2978
+ SCE_ASM_CHARACTER = 12
2979
+ SCE_ASM_STRINGEOL = 13
2980
+ SCE_ASM_EXTINSTRUCTION = 14
2561
2981
  # Lexical states for SCLEX_FORTRAN
2562
2982
  SCE_F_DEFAULT = 0
2563
2983
  SCE_F_COMMENT = 1
@@ -2588,6 +3008,354 @@ module Fox
2588
3008
  SCE_CSS_ID = 10
2589
3009
  SCE_CSS_IMPORTANT = 11
2590
3010
  SCE_CSS_DIRECTIVE = 12
3011
+ SCE_CSS_DOUBLESTRING = 13
3012
+ SCE_CSS_SINGLESTRING = 14
3013
+ SCE_CSS_IDENTIFIER2 = 15
3014
+ SCE_CSS_ATTRIBUTE = 16
3015
+ # Lexical states for SCLEX_POV
3016
+ SCE_POV_DEFAULT = 0
3017
+ SCE_POV_COMMENT = 1
3018
+ SCE_POV_COMMENTLINE = 2
3019
+ SCE_POV_NUMBER = 3
3020
+ SCE_POV_OPERATOR = 4
3021
+ SCE_POV_IDENTIFIER = 5
3022
+ SCE_POV_STRING = 6
3023
+ SCE_POV_STRINGEOL = 7
3024
+ SCE_POV_DIRECTIVE = 8
3025
+ SCE_POV_BADDIRECTIVE = 9
3026
+ SCE_POV_WORD2 = 10
3027
+ SCE_POV_WORD3 = 11
3028
+ SCE_POV_WORD4 = 12
3029
+ SCE_POV_WORD5 = 13
3030
+ SCE_POV_WORD6 = 14
3031
+ SCE_POV_WORD7 = 15
3032
+ SCE_POV_WORD8 = 16
3033
+ # Lexical states for SCLEX_LOUT
3034
+ SCE_LOUT_DEFAULT = 0
3035
+ SCE_LOUT_COMMENT = 1
3036
+ SCE_LOUT_NUMBER = 2
3037
+ SCE_LOUT_WORD = 3
3038
+ SCE_LOUT_WORD2 = 4
3039
+ SCE_LOUT_WORD3 = 5
3040
+ SCE_LOUT_WORD4 = 6
3041
+ SCE_LOUT_STRING = 7
3042
+ SCE_LOUT_OPERATOR = 8
3043
+ SCE_LOUT_IDENTIFIER = 9
3044
+ SCE_LOUT_STRINGEOL = 10
3045
+ # Lexical states for SCLEX_ESCRIPT
3046
+ SCE_ESCRIPT_DEFAULT = 0
3047
+ SCE_ESCRIPT_COMMENT = 1
3048
+ SCE_ESCRIPT_COMMENTLINE = 2
3049
+ SCE_ESCRIPT_COMMENTDOC = 3
3050
+ SCE_ESCRIPT_NUMBER = 4
3051
+ SCE_ESCRIPT_WORD = 5
3052
+ SCE_ESCRIPT_STRING = 6
3053
+ SCE_ESCRIPT_OPERATOR = 7
3054
+ SCE_ESCRIPT_IDENTIFIER = 8
3055
+ SCE_ESCRIPT_BRACE = 9
3056
+ SCE_ESCRIPT_WORD2 = 10
3057
+ SCE_ESCRIPT_WORD3 = 11
3058
+ # Lexical states for SCLEX_PS
3059
+ SCE_PS_DEFAULT = 0
3060
+ SCE_PS_COMMENT = 1
3061
+ SCE_PS_DSC_COMMENT = 2
3062
+ SCE_PS_DSC_VALUE = 3
3063
+ SCE_PS_NUMBER = 4
3064
+ SCE_PS_NAME = 5
3065
+ SCE_PS_KEYWORD = 6
3066
+ SCE_PS_LITERAL = 7
3067
+ SCE_PS_IMMEVAL = 8
3068
+ SCE_PS_PAREN_ARRAY = 9
3069
+ SCE_PS_PAREN_DICT = 10
3070
+ SCE_PS_PAREN_PROC = 11
3071
+ SCE_PS_TEXT = 12
3072
+ SCE_PS_HEXSTRING = 13
3073
+ SCE_PS_BASE85STRING = 14
3074
+ SCE_PS_BADSTRINGCHAR = 15
3075
+ # Lexical states for SCLEX_NSIS
3076
+ SCE_NSIS_DEFAULT = 0
3077
+ SCE_NSIS_COMMENT = 1
3078
+ SCE_NSIS_STRINGDQ = 2
3079
+ SCE_NSIS_STRINGLQ = 3
3080
+ SCE_NSIS_STRINGRQ = 4
3081
+ SCE_NSIS_FUNCTION = 5
3082
+ SCE_NSIS_VARIABLE = 6
3083
+ SCE_NSIS_LABEL = 7
3084
+ SCE_NSIS_USERDEFINED = 8
3085
+ SCE_NSIS_SECTIONDEF = 9
3086
+ SCE_NSIS_SUBSECTIONDEF = 10
3087
+ SCE_NSIS_IFDEFINEDEF = 11
3088
+ SCE_NSIS_MACRODEF = 12
3089
+ SCE_NSIS_STRINGVAR = 13
3090
+ SCE_NSIS_NUMBER = 14
3091
+ SCE_NSIS_SECTIONGROUP = 15
3092
+ SCE_NSIS_PAGEEX = 16
3093
+ SCE_NSIS_FUNCTIONDEF = 17
3094
+ SCE_NSIS_COMMENTBOX = 18
3095
+ # Lexical states for SCLEX_MMIXAL
3096
+ SCE_MMIXAL_LEADWS = 0
3097
+ SCE_MMIXAL_COMMENT = 1
3098
+ SCE_MMIXAL_LABEL = 2
3099
+ SCE_MMIXAL_OPCODE = 3
3100
+ SCE_MMIXAL_OPCODE_PRE = 4
3101
+ SCE_MMIXAL_OPCODE_VALID = 5
3102
+ SCE_MMIXAL_OPCODE_UNKNOWN = 6
3103
+ SCE_MMIXAL_OPCODE_POST = 7
3104
+ SCE_MMIXAL_OPERANDS = 8
3105
+ SCE_MMIXAL_NUMBER = 9
3106
+ SCE_MMIXAL_REF = 10
3107
+ SCE_MMIXAL_CHAR = 11
3108
+ SCE_MMIXAL_STRING = 12
3109
+ SCE_MMIXAL_REGISTER = 13
3110
+ SCE_MMIXAL_HEX = 14
3111
+ SCE_MMIXAL_OPERATOR = 15
3112
+ SCE_MMIXAL_SYMBOL = 16
3113
+ SCE_MMIXAL_INCLUDE = 17
3114
+ # Lexical states for SCLEX_CLW
3115
+ SCE_CLW_DEFAULT = 0
3116
+ SCE_CLW_LABEL = 1
3117
+ SCE_CLW_COMMENT = 2
3118
+ SCE_CLW_STRING = 3
3119
+ SCE_CLW_USER_IDENTIFIER = 4
3120
+ SCE_CLW_INTEGER_CONSTANT = 5
3121
+ SCE_CLW_REAL_CONSTANT = 6
3122
+ SCE_CLW_PICTURE_STRING = 7
3123
+ SCE_CLW_KEYWORD = 8
3124
+ SCE_CLW_COMPILER_DIRECTIVE = 9
3125
+ SCE_CLW_RUNTIME_EXPRESSIONS = 10
3126
+ SCE_CLW_BUILTIN_PROCEDURES_FUNCTION = 11
3127
+ SCE_CLW_STRUCTURE_DATA_TYPE = 12
3128
+ SCE_CLW_ATTRIBUTE = 13
3129
+ SCE_CLW_STANDARD_EQUATE = 14
3130
+ SCE_CLW_ERROR = 15
3131
+ SCE_CLW_DEPRECATED = 16
3132
+ # Lexical states for SCLEX_LOT
3133
+ SCE_LOT_DEFAULT = 0
3134
+ SCE_LOT_HEADER = 1
3135
+ SCE_LOT_BREAK = 2
3136
+ SCE_LOT_SET = 3
3137
+ SCE_LOT_PASS = 4
3138
+ SCE_LOT_FAIL = 5
3139
+ SCE_LOT_ABORT = 6
3140
+ # Lexical states for SCLEX_YAML
3141
+ SCE_YAML_DEFAULT = 0
3142
+ SCE_YAML_COMMENT = 1
3143
+ SCE_YAML_IDENTIFIER = 2
3144
+ SCE_YAML_KEYWORD = 3
3145
+ SCE_YAML_NUMBER = 4
3146
+ SCE_YAML_REFERENCE = 5
3147
+ SCE_YAML_DOCUMENT = 6
3148
+ SCE_YAML_TEXT = 7
3149
+ SCE_YAML_ERROR = 8
3150
+ # Lexical states for SCLEX_TEX
3151
+ SCE_TEX_DEFAULT = 0
3152
+ SCE_TEX_SPECIAL = 1
3153
+ SCE_TEX_GROUP = 2
3154
+ SCE_TEX_SYMBOL = 3
3155
+ SCE_TEX_COMMAND = 4
3156
+ SCE_TEX_TEXT = 5
3157
+ SCE_METAPOST_DEFAULT = 0
3158
+ SCE_METAPOST_SPECIAL = 1
3159
+ SCE_METAPOST_GROUP = 2
3160
+ SCE_METAPOST_SYMBOL = 3
3161
+ SCE_METAPOST_COMMAND = 4
3162
+ SCE_METAPOST_TEXT = 5
3163
+ SCE_METAPOST_EXTRA = 6
3164
+ # Lexical states for SCLEX_ERLANG
3165
+ SCE_ERLANG_DEFAULT = 0
3166
+ SCE_ERLANG_COMMENT = 1
3167
+ SCE_ERLANG_VARIABLE = 2
3168
+ SCE_ERLANG_NUMBER = 3
3169
+ SCE_ERLANG_KEYWORD = 4
3170
+ SCE_ERLANG_STRING = 5
3171
+ SCE_ERLANG_OPERATOR = 6
3172
+ SCE_ERLANG_ATOM = 7
3173
+ SCE_ERLANG_FUNCTION_NAME = 8
3174
+ SCE_ERLANG_CHARACTER = 9
3175
+ SCE_ERLANG_MACRO = 10
3176
+ SCE_ERLANG_RECORD = 11
3177
+ SCE_ERLANG_SEPARATOR = 12
3178
+ SCE_ERLANG_NODE_NAME = 13
3179
+ SCE_ERLANG_UNKNOWN = 31
3180
+ # Lexical states for SCLEX_OCTAVE are identical to MatLab
3181
+ # Lexical states for SCLEX_MSSQL
3182
+ SCE_MSSQL_DEFAULT = 0
3183
+ SCE_MSSQL_COMMENT = 1
3184
+ SCE_MSSQL_LINE_COMMENT = 2
3185
+ SCE_MSSQL_NUMBER = 3
3186
+ SCE_MSSQL_STRING = 4
3187
+ SCE_MSSQL_OPERATOR = 5
3188
+ SCE_MSSQL_IDENTIFIER = 6
3189
+ SCE_MSSQL_VARIABLE = 7
3190
+ SCE_MSSQL_COLUMN_NAME = 8
3191
+ SCE_MSSQL_STATEMENT = 9
3192
+ SCE_MSSQL_DATATYPE = 10
3193
+ SCE_MSSQL_SYSTABLE = 11
3194
+ SCE_MSSQL_GLOBAL_VARIABLE = 12
3195
+ SCE_MSSQL_FUNCTION = 13
3196
+ SCE_MSSQL_STORED_PROCEDURE = 14
3197
+ SCE_MSSQL_DEFAULT_PREF_DATATYPE = 15
3198
+ SCE_MSSQL_COLUMN_NAME_2 = 16
3199
+ # Lexical states for SCLEX_VERILOG
3200
+ SCE_V_DEFAULT = 0
3201
+ SCE_V_COMMENT = 1
3202
+ SCE_V_COMMENTLINE = 2
3203
+ SCE_V_COMMENTLINEBANG = 3
3204
+ SCE_V_NUMBER = 4
3205
+ SCE_V_WORD = 5
3206
+ SCE_V_STRING = 6
3207
+ SCE_V_WORD2 = 7
3208
+ SCE_V_WORD3 = 8
3209
+ SCE_V_PREPROCESSOR = 9
3210
+ SCE_V_OPERATOR = 10
3211
+ SCE_V_IDENTIFIER = 11
3212
+ SCE_V_STRINGEOL = 12
3213
+ SCE_V_USER = 19
3214
+ # Lexical states for SCLEX_KIX
3215
+ SCE_KIX_DEFAULT = 0
3216
+ SCE_KIX_COMMENT = 1
3217
+ SCE_KIX_STRING1 = 2
3218
+ SCE_KIX_STRING2 = 3
3219
+ SCE_KIX_NUMBER = 4
3220
+ SCE_KIX_VAR = 5
3221
+ SCE_KIX_MACRO = 6
3222
+ SCE_KIX_KEYWORD = 7
3223
+ SCE_KIX_FUNCTIONS = 8
3224
+ SCE_KIX_OPERATOR = 9
3225
+ SCE_KIX_IDENTIFIER = 31
3226
+ # Lexical states for SCLEX_GUI4CLI
3227
+ SCE_GC_DEFAULT = 0
3228
+ SCE_GC_COMMENTLINE = 1
3229
+ SCE_GC_COMMENTBLOCK = 2
3230
+ SCE_GC_GLOBAL = 3
3231
+ SCE_GC_EVENT = 4
3232
+ SCE_GC_ATTRIBUTE = 5
3233
+ SCE_GC_CONTROL = 6
3234
+ SCE_GC_COMMAND = 7
3235
+ SCE_GC_STRING = 8
3236
+ SCE_GC_OPERATOR = 9
3237
+ # Lexical states for SCLEX_SPECMAN
3238
+ SCE_SN_DEFAULT = 0
3239
+ SCE_SN_CODE = 1
3240
+ SCE_SN_COMMENTLINE = 2
3241
+ SCE_SN_COMMENTLINEBANG = 3
3242
+ SCE_SN_NUMBER = 4
3243
+ SCE_SN_WORD = 5
3244
+ SCE_SN_STRING = 6
3245
+ SCE_SN_WORD2 = 7
3246
+ SCE_SN_WORD3 = 8
3247
+ SCE_SN_PREPROCESSOR = 9
3248
+ SCE_SN_OPERATOR = 10
3249
+ SCE_SN_IDENTIFIER = 11
3250
+ SCE_SN_STRINGEOL = 12
3251
+ SCE_SN_REGEXTAG = 13
3252
+ SCE_SN_SIGNAL = 14
3253
+ SCE_SN_USER = 19
3254
+ # Lexical states for SCLEX_AU3
3255
+ SCE_AU3_DEFAULT = 0
3256
+ SCE_AU3_COMMENT = 1
3257
+ SCE_AU3_COMMENTBLOCK = 2
3258
+ SCE_AU3_NUMBER = 3
3259
+ SCE_AU3_FUNCTION = 4
3260
+ SCE_AU3_KEYWORD = 5
3261
+ SCE_AU3_MACRO = 6
3262
+ SCE_AU3_STRING = 7
3263
+ SCE_AU3_OPERATOR = 8
3264
+ SCE_AU3_VARIABLE = 9
3265
+ SCE_AU3_SENT = 10
3266
+ SCE_AU3_PREPROCESSOR = 11
3267
+ SCE_AU3_SPECIAL = 12
3268
+ SCE_AU3_EXPAND = 13
3269
+ # Lexical states for SCLEX_APDL
3270
+ SCE_APDL_DEFAULT = 0
3271
+ SCE_APDL_COMMENT = 1
3272
+ SCE_APDL_COMMENTBLOCK = 2
3273
+ SCE_APDL_NUMBER = 3
3274
+ SCE_APDL_STRING = 4
3275
+ SCE_APDL_OPERATOR = 5
3276
+ SCE_APDL_WORD = 6
3277
+ SCE_APDL_PROCESSOR = 7
3278
+ SCE_APDL_COMMAND = 8
3279
+ SCE_APDL_SLASHCOMMAND = 9
3280
+ SCE_APDL_STARCOMMAND = 10
3281
+ SCE_APDL_ARGUMENT = 11
3282
+ SCE_APDL_FUNCTION = 12
3283
+ # Lexical states for SCLEX_BASH
3284
+ SCE_SH_DEFAULT = 0
3285
+ SCE_SH_ERROR = 1
3286
+ SCE_SH_COMMENTLINE = 2
3287
+ SCE_SH_NUMBER = 3
3288
+ SCE_SH_WORD = 4
3289
+ SCE_SH_STRING = 5
3290
+ SCE_SH_CHARACTER = 6
3291
+ SCE_SH_OPERATOR = 7
3292
+ SCE_SH_IDENTIFIER = 8
3293
+ SCE_SH_SCALAR = 9
3294
+ SCE_SH_PARAM = 10
3295
+ SCE_SH_BACKTICKS = 11
3296
+ SCE_SH_HERE_DELIM = 12
3297
+ SCE_SH_HERE_Q = 13
3298
+ # Lexical states for SCLEX_ASN1
3299
+ SCE_ASN1_DEFAULT = 0
3300
+ SCE_ASN1_COMMENT = 1
3301
+ SCE_ASN1_IDENTIFIER = 2
3302
+ SCE_ASN1_STRING = 3
3303
+ SCE_ASN1_OID = 4
3304
+ SCE_ASN1_SCALAR = 5
3305
+ SCE_ASN1_KEYWORD = 6
3306
+ SCE_ASN1_ATTRIBUTE = 7
3307
+ SCE_ASN1_DESCRIPTOR = 8
3308
+ SCE_ASN1_TYPE = 9
3309
+ SCE_ASN1_OPERATOR = 10
3310
+ # Lexical states for SCLEX_VHDL
3311
+ SCE_VHDL_DEFAULT = 0
3312
+ SCE_VHDL_COMMENT = 1
3313
+ SCE_VHDL_COMMENTLINEBANG = 2
3314
+ SCE_VHDL_NUMBER = 3
3315
+ SCE_VHDL_STRING = 4
3316
+ SCE_VHDL_OPERATOR = 5
3317
+ SCE_VHDL_IDENTIFIER = 6
3318
+ SCE_VHDL_STRINGEOL = 7
3319
+ SCE_VHDL_KEYWORD = 8
3320
+ SCE_VHDL_STDOPERATOR = 9
3321
+ SCE_VHDL_ATTRIBUTE = 10
3322
+ SCE_VHDL_STDFUNCTION = 11
3323
+ SCE_VHDL_STDPACKAGE = 12
3324
+ SCE_VHDL_STDTYPE = 13
3325
+ SCE_VHDL_USERWORD = 14
3326
+ # Lexical states for SCLEX_CAML
3327
+ SCE_CAML_DEFAULT = 0
3328
+ SCE_CAML_IDENTIFIER = 1
3329
+ SCE_CAML_TAGNAME = 2
3330
+ SCE_CAML_KEYWORD = 3
3331
+ SCE_CAML_KEYWORD2 = 4
3332
+ SCE_CAML_LINENUM = 5
3333
+ SCE_CAML_OPERATOR = 6
3334
+ SCE_CAML_NUMBER = 7
3335
+ SCE_CAML_CHAR = 8
3336
+ SCE_CAML_STRING = 9
3337
+ SCE_CAML_COMMENT = 10
3338
+ SCE_CAML_COMMENT1 = 11
3339
+ SCE_CAML_COMMENT2 = 12
3340
+ SCE_CAML_COMMENT3 = 13
3341
+ # Lexical states for SCLEX_HASKELL
3342
+ SCE_HA_DEFAULT = 0
3343
+ SCE_HA_IDENTIFIER = 1
3344
+ SCE_HA_KEYWORD = 2
3345
+ SCE_HA_NUMBER = 3
3346
+ SCE_HA_STRING = 4
3347
+ SCE_HA_CHARACTER = 5
3348
+ SCE_HA_CLASS = 6
3349
+ SCE_HA_MODULE = 7
3350
+ SCE_HA_CAPITAL = 8
3351
+ SCE_HA_DATA = 9
3352
+ SCE_HA_IMPORT = 10
3353
+ SCE_HA_OPERATOR = 11
3354
+ SCE_HA_INSTANCE = 12
3355
+ SCE_HA_COMMENTLINE = 13
3356
+ SCE_HA_COMMENTBLOCK = 14
3357
+ SCE_HA_COMMENTBLOCK2 = 15
3358
+ SCE_HA_COMMENTBLOCK3 = 16
2591
3359
 
2592
3360
  # Events
2593
3361
 
@@ -2610,6 +3378,10 @@ module Fox
2610
3378
  SCN_DWELLSTART = 2016
2611
3379
  SCN_DWELLEND = 2017
2612
3380
  SCN_ZOOM = 2018
3381
+ SCN_HOTSPOTCLICK = 2019
3382
+ SCN_HOTSPOTDOUBLECLICK = 2020
3383
+ SCN_CALLTIPCLICK = 2021
3384
+ SCN_AUTOCSELECTION = 2022
2613
3385
 
2614
3386
  # Deprecated
2615
3387
 
@@ -2625,5 +3397,8 @@ module Fox
2625
3397
  SCN_CHECKBRACE = 2007
2626
3398
  SCN_POSCHANGED = 2012
2627
3399
 
3400
+ # SCLEX_HTML should be used in preference to these.
3401
+ SCLEX_ASP = 29
3402
+ SCLEX_PHP = 30
2628
3403
  end
2629
3404
  end