Accessing the Data Stream (Part 1: Screen)

Most of the contents of the data stream are visually displayed in the iNow UI Client.
These can also be retrieved by scripting.
In addition, access to attributes and NONDISPLAY fields is also possible.
In the following the functionalities relevant for iNow are described.

Properties preceded by an asterisk ‘*’ are only available for reading.
All screen coordinates in iNow start at 0.

DataScreen

In the iNow screens, there is a Screen property of the DataScreen type for accessing the data stream. This refers to the entire current screen, including all possible windows.

* Collection<DataPanel> Panels 

since there may also be windows on a screen in addition to the basic screen, these are represented by individual panel layers. The basic screen is always Panels[0]. The first window is then Panels[1], then Panels[2] and so on.

* DataPanel TopPanel 

to avoid that you always have to check if there are windows and which window is the top one, there is the property TopPanel. On the host side all panels are readable, but input is only on the top panel possible.

* int Rows

Number of lines on the current screen

* int Cols

Number of columns on the current screen

* ScreenPos CurrPos

Current position of the cursor.
You can set the values via the subproperties CurrPos.X and CurPos.Y

* ScreenPos HomePos

Home position of the cursor (as transmitted by the data stream, cannot be changed)

* bool isErrorMessage

If the property is true, the data stream contains an error message in the ErrorMessage property.

* string ErrorMessage

Error message from the data stream. Only valid if the isErrorMessage property is true.
This is the error message that is often displayed in the status line of other terminal emulations (sometimes with the keyboard locked). In iNow this error message comes as a message window.

* bool MessageWaiting 

Displays whether messages are available for the user from the host.

string GetText(int X, int y, int length)

Queries the text at position x,y in a given length.

DataSign Sign (int x, int y)

Queries the character at the x,y position.
The content of the character (DataSign) is in the Value property of type Character.
If the IsAttrib property is true, then the character is an attribute byte.

see also:
Panels
Labels
Editfields