type of event, mouse timer event. Runtime sends this event when mouse is over the element, not pressed and not moving for some time. By default this event triggers popup of tooltip.
MOUSE_DRAG_REQUEST
-
mouse pressed and moved by distance larger than some threshold. <input|text> and <textarea> strat draging selection while handling the event. To discard default handlers - consume the event by returning true.
+
mouse pressed and moved by distance larger than some threshold. <input|text> and <textarea> start dragging selection while handling the event. To discard default handlers - consume the event by returning true.
Keyboard event codes
KEY_DOWN
type of event, key pressed when element or one of its children is in focus.
@@ -50,19 +50,19 @@
Keyboard event codes
type of event, character key pressed when element or one of its children is in focus.
Scroll event codes
SCROLL_HOME
-
+
SCROLL_END
-
+
SCROLL_STEP_PLUS
-
+
SCROLL_STEP_MINUS
-
+
SCROLL_PAGE_PLUS
-
+
SCROLL_PAGE_MINUS
-
+
SCROLL_POS
-
+
Gesture (touch screen) event codes
GESTURE_REQUEST
The engine sends this event to request list of gestures that the element supports. Set "ORed" flags in Event.flags field. List of supported flags/gesture types:
@@ -93,36 +93,36 @@
Gesture (touch screen) event codes
Event.GESTURE_STATE_END - is "on" for last event in the gesture sequence.
Focus event codes
LOST_FOCUS
-
+
GOT_FOCUS
-
+
Logical event codes from builtin behaviors
BUTTON_CLICK
-
+
BUTTON_PRESS
-
+
BUTTON_STATE_CHANGED
Checkbox/radio state was changed. ( Not all BUTTON_CLICKs are changing state of those. )
EDIT_VALUE_CHANGING
-
+
EDIT_VALUE_CHANGED
-
+
SELECT_SELECTION_CHANGED
-
+
SELECT_STATE_CHANGED
-
+
HYPERLINK_CLICK
-
+
ACTIVATE_CHILD
-
+
POPUP_REQUEST
-
+
POPUP_READY
-
+
POPUP_DISMISSED
-
+
POPUP_DISMISSING
-
+
MENU_ITEM_ACTIVE
Mouse over the menu item, Event.target is a menu item, Event.owner - initiator of the menu
Blends img onto the graphics surface. Operation takes in account per pixel alpha of the imeage and optional alpha value. alpha here is either float [ 0.0 .. 1.0 ] or integer [ 0 .. 255 ].
Setup parameters of gradient radial fill using list of colors. Optionally you can provide stop positions - array of 0.0 ... 1.0 values.
noFill
( ) : Graphics
Disables fills for subsequent drawing operations.
@@ -271,7 +277,7 @@
Graphics.Path object
Draws vertical line and moves current drawing path position to (current)x, y. If relative is true then y is interpreted as a delta from the current path position.
( [string| float | Date | [ year, month, day [, hour [, minute [, second [, millisecond ]]]]]] )
+
( [string| float | Date | [ year, month, day [, hour [, minute [, second [, millisecond ]]]]]] )
Creates new date object. If no parameters were given then initializes date fields to the current time(UTC). If single string parameter provided then parses date contained in the string. If single float parameter provided then it is treated as number of milliseconds since midnight, January 1, 1970 UTC. If single Date parameter provided then copy of that date object is created. And if year, month, day, etc. provided uses these numeric values to initialize new Date instance. Note: values are in UTC timezone.
Returns RFC-822 string representation of this date object.
+
([format:string [, utc:bool ]]) : string
+
By default it returns RFC-822 string representation of this date object.
+
If format is provided then it gets interpreted by strftime rules.
+
If utc is provided and is true then formatting is made without local timezone shift.
toUTCString
() : string
Returns RFC-822 string representation of this date object as UTC date/time.
toISOString
-
( [asUTC: false|true ] )
+
( [asUTC: false|true ] )
Returns ISO 8601 string representation of this date object as either local or UTC date/time.
toLocaleString
-
( [longFormat] ) returns: string
-
Returns string representation of the date using current system settings. Local time. If longFormat is equal exactly true then formats date using system long date format.
String literals are sequences of characters, enclosed by double quotes - ", or back ticks (grave accent, character with code 0x60) - `
"Hello world" and `Hello world` are valid string literals. The escapement symbol in string literals is the back slash - \.
Escapement rules:
-
+
Sequence
Character
@@ -110,7 +110,7 @@
String literals
\4e - hexadecimal character code
\u[0-9a-fA-F]{4}
-
\u004E - unicode character code
+
\u004E - unicode character code
Two or more string literals, separated by whitespaces or EOL characters, constitute a single string literal. Thus, the following two strings:
var str1 = "The quick brown "
"fox jumps over "
@@ -128,7 +128,7 @@
Symbol literals
Special literals
-
+
Literal
Description
@@ -142,7 +142,7 @@
Special literals
true value in logical operations. typeof true is #boolean
false
-
false value in logical operations. typeof false is #boolean
+
false value in logical operations. typeof false is #boolean
Array literals
Array literals allow to define (construct) arrays inline. The array literal is a list of expressions-initializers, separated by comma , and enclosed in [ and ] brackets (square brackets):
var a = [ 1, 2, 3, "four", 5 ];
@@ -188,7 +188,8 @@
Tuple literals
Macro variables
There are three macro variables that can be used for logging and debugging purposes:
-
__FILE__ - name of current file;
+
__FILE__ - full path of current file;
+
__FOLDER__ - full path of current folder;
__LINE__ - current line number in the file;
__TRACE__ - actually is an instruction that creates current call trace snapshot as a vector of triplets. Each triplet is a vector of three elements where:
[script] await/yield syntax compatibility with JS:
await is allowed to be in async function() only, see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function
-
yield is allowed to be in function*() only, see: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/function*
-
Existing code that uses await/yield shall work as it is but with compile time warnings.
[osx] IME support (Far East languages input method in particular).
-
[win] support of mouse devices with MOUSE WHEEL deltas < 120.
-
[config.h] #define HTTP_SUPPORT - enables/disables internal HTTP client. Without it no external resources are loaded and http client is excluded from compilation completely.
[win] fix of "D3DGear bug" - crash when D3DGear is running.
cr/lf handling in plaintext editing.
Fix of click on <label> when bound input is disabled.
[tooltips] - better tooltips handling - now tooltip gets removed only when mouse leaves tooltip's owner element.
[osx] CMD+A handling fix.
[pager] fix of Pager.onRequest() handling.
[css] min/max-width: 100% fix.
<select|dropdown>, fix of "change" event generation when popup is shown. "change" is postponed until popup dismissal.
[editing] fix of VK_LEFT/VK_RIGHT handling.
more responsive handling of set focus on element.
[editing] fix of surrogate pairs handling.
-
[textarea] fox of selection by mouse handling.
-
[textarea, edit] fix of dynamic @novalue handling
+
[DOM,script] forcing deletion of html::element instance on removed elements (Element.remove(), Element.clear(), etc). Use Element.detach() if you want DOM element to be removed from DOM tree but preserved from deletion.
NOTE: this may affect existing code. plus.tis and vlist.tis are updated to use template.detach() in repeatables.
[drawing] fix of text color used while drawing of floats and other edge cases.
+
[svg] support of opacity as attribute.
+
fix of AV in element.timer() when the function is called on deleted element.
+
view.msgbox() - host screen location
+
[gtk] <circle> rendering fix
+
[script] fix of GC issues related to async and generator functions
+
[script] Fix of Bytes.load(name) damages name content.
+
[DOM,layout] fix of layout re-calculation after dynamic <td> content update.
+
[win,touch screen] default handling of touch pan gesture on scrollables.
+
[richtext] IME is back.
+
[richtext, editing] fix of deletion of sequences of atomic boxes like <br><br><br> or <img><img><img>
+
[doc] Date.toLocaleString([longFormat[,andTime]]) is documented.
+
Date.parse("iso-date",now Date()) fix when ISO date contains timezone shift.
+
[CSS,DOM] fix of { content:attr(alt) } update on dynamic change of alt (or any other) attribute.
[script, DOM] forcing element removed from the DOM be invisible for GC.
[tooltip] removing tooltips before showing context menu.
[richtext] Fix of multiline text pasting.
Element.request() fix of doubled request.
[select] fix of doubled onValueChanged notification.
[css] fix of vertical-align: middle; in flow:default|vertical;
+
<input|decimal> fix of value rendering.
+
NOTE: sciter.dlls, sciter.exe and notes.exe Windows executables in SDK are digitally signed now. MacOS SDK executables are also signed.
4.0.3.5348
09-09-2017
+
new:
+
+
[script] await/yield syntax compatibility with JS:
await is allowed to be in async function() only, see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function
+
yield is allowed to be in function*() only, see: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/function*
+
Existing code that uses await/yield shall work as it is but with compile time warnings.
[osx] IME support (Far East languages input method in particular).
+
[win] support of mouse devices with MOUSE WHEEL deltas < 120.
+
[config.h] #define HTTP_SUPPORT - enables/disables internal HTTP client. Without it no external resources are loaded and http client is excluded from compilation completely.
[win] fix of "D3DGear bug" - crash when D3DGear is running.
cr/lf handling in plaintext editing.
Fix of click on <label> when bound input is disabled.
[tooltips] - better tooltips handling - now tooltip gets removed only when mouse leaves tooltip's owner element.
[osx] CMD+A handling fix.
[pager] fix of Pager.onRequest() handling.
[css] min/max-width: 100% fix.
<select|dropdown>, fix of "change" event generation when popup is shown. "change" is postponed until popup dismissal.
[editing] fix of VK_LEFT/VK_RIGHT handling.
more responsive handling of set focus on element.
[editing] fix of surrogate pairs handling.
+
[textarea] fox of selection by mouse handling.
+
[textarea, edit] fix of dynamic @novalue handling
+
NOTE: sciter.dlls, sciter.exe and notes.exe Windows executables in SDK are digitally signed now. On MacOS you may need to run SDK executables directly from console as they are not signed too.
4.0.2.5262
03-08-2017
fixes:
fixes internal promise() implementation;
[CSS] fix of column width calculation in flow:vertical-wrap; containers;