CUE Design Director Script Language User Manual

Reference Manual
Design Director Script Language
CUE, a.s., Na Dolinách 6, 147 00 Praha 4, Czech Republic
phone: +420 241 433 555 fax: +420 241 432 446
www.cuesystem.com
e-mail: info@cue.cz
Reference Manual Design Director Script Language
PM004_01, 01.04.2003
Copyright © CUE, a.s., Praha, Czech Republic 1990 - 2003.
All rights reserved. Specifications are subject to change without prior notice.
Table of Contents
1. Introduction....................................................................................................................................... 4
2. Language Syntax.............................................................................................................................. 5
2.1. Overview..........................................................................................................................................................................5
2.2. Basic Terms ....................................................................................................................................................................5
2.3. Expressions ....................................................................................................................................................................6
2.3.1. Data types............................................................................................................................................................6
2.3.2. Expression type Object ........................................................................................................................................6
2.3.3. Expression type uint ............................................................................................................................................8
2.3.4. Expression type string .......................................................................................................................................10
2.3.5. Expression type callable ....................................................................................................................................11
2.4. Commands ....................................................................................................................................................................12
2.4.1. Declaration commands ......................................................................................................................................12
2.4.2. Executive Commands ........................................................................................................................................14
2.4.3. Flow control commands .....................................................................................................................................15
2.4.4. Error Handling Commands ................................................................................................................................17
2.4.5. Command Writing Syntax ..................................................................................................................................20
3. Objects – properties description .................................................................................................. 21
3.1. Abstract objects ...........................................................................................................................................................21
3.1.1. BackGroundObject A .........................................................................................................................................21
3.1.2. BitmapObjectA ...................................................................................................................................................22
3.1.3. CaptionObjectA..................................................................................................................................................23
3.1.4. CollectionObjectA ..............................................................................................................................................23
3.1.5. Efekt3DobjectA ..................................................................................................................................................24
3.1.6. FeedBackObject A .............................................................................................................................................24
3.1.7. IndetificationObjectA ..........................................................................................................................................25
3.1.8. LineObjectA .......................................................................................................................................................26
3.1.9. ObjectLookObjectA ............................................................................................................................................27
3.1.10. PositionObjectA .................................................................................................................................................28
3.1.11. SubCollectionObjectA........................................................................................................................................28
3.1.12. TextObjectA .......................................................................................................................................................29
3.1.13. TopLevelObjectA ...............................................................................................................................................30
3.1.14. VisibilityObjectA .................................................................................................................................................33
3.2. Application Objects......................................................................................................................................................36
3.2.1. BargraphObject..................................................................................................................................................37
3.2.2. BitmapObject .....................................................................................................................................................41
3.2.3. BoardObject .......................................................................................................................................................42
3.2.4. ButtonObject ......................................................................................................................................................45
3.2.5. Circle Object ......................................................................................................................................................49
3.2.6. ColorObject ........................................................................................................................................................52
3.2.7. FeedBackObject ................................................................................................................................................53
3.2.8. FontObject .........................................................................................................................................................55
3.2.9. GroupObject ......................................................................................................................................................56
3.2.10. LabelObject........................................................................................................................................................57
3.2.11. LineObject..........................................................................................................................................................60
3.2.12. MessageObject..................................................................................................................................................63
3.2.13. MessageTextObject...........................................................................................................................................66
3.2.14. PageObject ........................................................................................................................................................68
3.2.15. PanelObject .......................................................................................................................................................71
3.2.16. PictureBoxObject ...............................................................................................................................................73
3.2.17. RectangleObject ................................................................................................................................................76
3.2.18. TabPageObject..................................................................................................................................................79
3.2.19. TabsObject ........................................................................................................................................................81
3.2.20. TimerObject .......................................................................................................................................................85
3.2.21. WindowObject....................................................................................................................................................86
3.3. System Objects.............................................................................................................................................................90
3.3.1. Err ......................................................................................................................................................................90
3.3.2. View ...................................................................................................................................................................91
3.3.3. System ...............................................................................................................................................................92
4. Software and Firmware License ...................................................................................................93
Reference Manual Design Director Script Language
www.cuesystem.com
Page 3 of 94

1. Introduction

The text contains a reference book of the language. It contains complete language syntax, including a description of all the elements in the language.
On the other hand this text is not suitable for the beginners who have not had that much of experience with a similar documentation or tools.
For the better understanding it is desirable to know at least the basics of programming in visual programming tools – i.e. The Microsoft Visual Basic from which the language design comes out.
In the text there was used a context-free notation of grammar for the better illustration of the language syntax. The knowledge of their syntax and semantics is expected as well.
Reference Manual Design Director Script Language
www.cuesystem.com
Page 4 of 94
2. Language Syntax
2.1. Overview
The language syntax originates in the Microsoft’s Visual Basic. The semantics of the operators, the data types and the expressions of various in-build language functions are similar to expressions in the Visual Basic language.
The description of the syntax is divided in the following chapters:
1. Basic terms – in brief the basic terms are introduced from which the language originates.
2. Expression - they are language constructions that describe the value calculation. These are used in the language commands.
3. Commands – they are language constructions from which the program code is composed.

2.2. Basic Terms

The basic terminology of the language is taken form an object oriented paradigm. Everything except the basic elementary values (number, string), is an object in the system.
Every object has its own type, property, method and an event. The object type states what property, method or an event the object ”knows.”
The object property is a simplified variable of a concrete name held in the object. The object method is an action that can be passed on an object. Under the object event there is a code, that is called with the change of the status of the outside world. The event for the world of the touch panels is i.e. the user’s touch of a finger on a touch sensor. The event happens for an object of a user interface that is displayed at a place where the user has touched the screen.
The language world is static. That means that the language gives object types and the user does not have a possibility to add his object types. The user can design his object in the design environment. While the system is running it is impossible to create a new object or delete the present one.
The language gives likewise all object methods.
The user designes his own application objects in the design environment that the application will be working with. For the designed objects he sets property values and under events he writes a code, what the given event should execute.
The events are raised according to the changes of the status of the outside world i.e. touch of a finger on a screen. The event code can change values of some object properties, call object method, event code and as well the code of general macros.
The general macro is a code written in the design environment out of the objects. The code syntax is equal to the code syntax of the event.
Reference Manual Design Director Script Language
www.cuesystem.com
Page 5 of 94
2.3. Expressions
A term is a language construction, which describes the value calculation. Among expressions we distinguish a distinctive type of expressions – Iexpressions. They are such expressions where it is explicitly stated where the value comes from, that is where the value is stored i.e. the name of the parameter.
These expressions can be consecutively used even for the place determination where the value of a different term should be stored.

2.3.1. Data types

The allowed expression type constructions differ from the expression type. According to the resulting expression value.
The expression types of the language are:
object – the expression value is a reference to an object
uint – the expression value is an unsigned integer number
string – the expression value is a string – that means a text string
callable - the expression value is a reference to callable code or a method.

2.3.2. Expression type Object

Notation
Notation of expression type Object:
Expression_Type_Object -> noobject | variable_type_object | (Expression_Type_Object)
| Reference_To_Item_Type_Object | Item_Collection_Type_Object
where:
noobject – the value marks empty i.e. non-existing object.
variable type object - it is the name of the variable declared as a type object. Except variables
explicitly declared there are implicitly declared variables for the following objects:
Me – in every event there is automatically defined variable that refers to an object whose event has been called.
System objects – the name of the variable equals to a name type. More about system objects in the following chapter.
Object type BitmapObject, FontObject, GroupObject, PageObject, PanelObject and WindowObject – the variables for all are automatically declared – the name equals to
an object name as it is determined in the design environment.
Reference Manual Design Director Script Language
www.cuesystem.com
Page 6 of 94
The reference to element
The reference to element
Reference_to_Element -> Expression_Type_Object . element_name
where the element name is name of a property, method or an event. Every object type has a declared allowed names and expression types to what name they refer to.
When the expression refers to a method or an event, the resulting type is always callable.
The list of allowed names for every type is stated in chapter 3 Objects – Properties Description.
: in the syntax description they are not explicitly stated that means a default property. Default object
Note property is a property that when in the expression a given type is required (property) and is stated only expression type object. That means it is not required to write a reference for a default property through a dot notation.
Default property is predominantly used for collection transmission from a property type object directly to original object.
Collection
Getting the item from the collection:
Collection_Item ->Expression_Type_Object ! collection_item_name |
Expression_Type_Object (Expression_Type_String)
Expression_Type_Object (Expression_Type_Uint)
Collection in the language is a simple list of other objects. In the language design an item of the collection is always type object.
Expression type object always has to be a type that contains the collection itself.
The value of the expression is an object that in the collection is either on a position determined by an expression type uint (numbered from zero) or the one whose name (assigned to an object in the design environment) is identical to a given name respectively by the expression value type string.
If such an object does not exist in the collection then the expression value is noobject.
The function type object
In the language the following function is defined that returns type object.
Function Description
RGB (Expression_Type_Uint, Expression_Type_Uint_, Expression_Type_Uint)
the value of object is object type ColorObject whose color best responds to entered red, green, blue color value.
Note:
More about defined object types see under chapter 3 Object –
Properties Description The function value is already evaluated during the compilation – the entered
expressions therefore have to be constant.
Reference Manual Design Director Script Language
www.cuesystem.com
Page 7 of 94

2.3.3. Expression type uint

Expression type uint:
Expression_Type_Uint -> Expression_Type_Uint or Expression_A_Type_Uint | Expression_A_Type_Uint
Expression_A_Type_Uint -> Expression_A_Type_Uint xor Expression_B_Type_Uint | Expression_B_Type_Uint
Expression_B_Type_Uint -> Expression_B_Type_Uint and Expression_C_Uint | Expression_C_Type_Uint
Expression_C_Type_Uint -> Expression_C_Type_Uint = Expression_D_Uint | Expression_C_Type_Uint <> Expression_D_Type_Uint | Expression_D_Type_Uint
Expression_D_Type_Uint -> Expression_D_Type_Uint < Expression_E_Type_Uint | Expression_D_Type_Uint > Expression_E_Type_Uint | Expression_D_Type_Uint >= Expression_E_Type_Uint | Expression_D_Type_Uint <= Expression_E_Type_Uint | Expression_E_Type_Uint
Expression_E_Type_Uint -> Expression_E_Uint + Expression_F_Type_Uint | Expression_E_Type_Uint – Expression_F_Uint | Expression_F_Type_Uint
Expression_F_Type_Uint -> Expression_F_Type_Uint * Expression_G_Type_Uint | Expression_F_Type_Uint / Expression_G_Type_Uint | Expression_F_Type_Uint mod Expression_G_Type_Uint | Expression_G_Type_Uint
Expression_G_Type_Uint -> - Expression_G_Type_Uint | not Expression_G_Type_Uint | Expression_H_Type_Uint
Expression_H_Type_Uint -> numeral constant | parameter_type_uint | (Expression_Type_Uint) | Reference_To_Element_Type_Uint |
Function_Type_Uint
Reference Manual Design Director Script Language
www.cuesystem.com
Page 8 of 94
Numerical Constant
Numerical constant is in general a few of decimal digits entered after each other. In the text name type object can also be used as a string constant.
There are two specially defined name constants:
Name Value Description
False 0 the value refers to a logical status ”no”, the condition is not fulfilled True 65535 the value refers to a logical status ”yes”, the condition is fulfilled
Unary Operators
The unary operators mentioned in this grammar have the following semantics:
Operator Symbol Value
Sign - a bitwise complement is executed to a number and the result is incremented by
one. It refers to a sign change operation at the sign types
Logical not not a bitwise complement of a number. The value not true is false; the value not false
is true. But the value not 2 is 65533
Binary operators
The binary operators mentioned in this grammar have the following semantics:
Operator Symbol Value
multiplication * the result is a product of expressions. In the case of overflow the error does not
occur, the result is trimmed ”It is all right without any error.”
division / the result is a quotient of expressions. In the case of division by a zero an error
occurs ”division by zero”
Modulo mod the result is a remainder after division. When dividing by a zero, an error
occurs ”division by a zero”
Plus + the result is the expressions sum, when overflow is trimmed, an error occurs ”It is
all right without any error”
Minus - the result is the difference of expressions. When overflow is trimmed , an error
does not happen ”It is all right without any error”
Relation <,>, <=, =, <> Relates expressions. If the operation of comparison is fulfilled, then result is true
value. Otherwise the result of relation is false. And Or Exlusive Or
and or xor
bitwise and executed above expressions. Anything and false is false.
bitwise or executed above expressions. Anything or true is true
bitwise xor executed above expressions. Anything xor true is similar to an
operation not, anything xor 0 does not change it leaves the value unchanged
Reference Manual Design Director Script Language
www.cuesystem.com
Page 9 of 94
Function type uint
In the language the following functions are defined that returns uint type:
Function Description
typeof (Expression_Type_Object) the value is identification (i.e. number) of the real type object Len (Expression_Type_String) the value is the length of data stored in the parameter DecLen (Expression_Type_String) the value is a declared length the parameter value InStr (Expression_Type_String,
Expression_Type_String)
Instr (Expression_Type_Unt, Expression_Type_String, Expression_Type_String)
Asc (Expression_Type_String) the value is the code of the first parameter value sign. If the value of the
if the value of the first parameter contains as its understring the value of the second parameter, the result value is the value position of the second parameter in the value of the first parameter, Otherwise the value is a zero.
If the value of the second parameter contains as its understring at the higher position than the value of the first parameter the value of the third parameter, the resulting value is the position value of the third parameter in the value of the second parameter. Otherwise the value is a zero.
parameter is an empty string, an error is generated

2.3.4. Expression type string

Expression type string:
Expression_Type_String - > Expression_A_Type String + Expression_Type_String |
Expression_A_Type_String & Expression_Type_String | Expression_Type_String
Expression_A_String - > string_constant | variable_type_string | (Expression_Type_String) | Reference_To_Element_Type_String | Function_Type_String
String constant
In general a string constant is a few characters closed in double quotation mark – i.e. character ”. If the double quotation mark should be a part of the constant value, it is needed to write the double quotation mark twice after each other.
Binary operator
The binary operators mentioned in this grammar have the following semantics:
Operator Symbol Value
Concatenation + the result is the concatenation of original type string values which are put
in one after another.
Concatenation & the result is the concatenation of original type string values which are put
in one after another. The operation is identical to the previous operation.
Reference Manual Design Director Script Language
www.cuesystem.com
Page 10 of 94
Function type string
In the language the following functions are defined that returns string type:
Function Description
Char$ (Expression_Type_Uint)
Left$ (Expression_Type_String, Expression_Type_Uint)
Right$ (Expression_Type_String, Expression_Type_Uint)
Mid$ (Expression_Type_String, Expression_Type_Uint)
Mid$ (Expression_Type_String,
Expression_Type_Uint, Expression_Type_String)
LTrim$ (Expression_Type_String) RTrim$ (Expression_Type_String) Trim$ (Expression_Type_String) Str$ (Expression_Type_Uint)
Hex$ (Expression_Type_Uint)
Format$ (Expression_Type_Uint, Expression_Type_Uint)
UCase$ (Expression_Type_String) Lcase$ (Expression_Type_String)
the value is a one character string whose first character bears the code of the parameter value
the value is a number of the (determined by the second parameter) first characters of the first parameter. If the first parameter has fewer characters than is the value of the second parameter, the value is the first parameter.
the value is a number of (determined the second parameter) the last character of the first parameter. If the first parameter has fewer characters than is the value of the second parameter, the value is the first parameter
the value are the characters of the first parameter beginning with the one at the position determined by the value of the second parameter (indexed from number one). If the value of the second parameter is a greater than the length of the first parameter, then the resulting value is an empty string (i.e. ””) If the value of the second parameter is a zero, then an error is generated.
the value is a number of (determined by the third parameter) characters of the first parameter beginning with the one at the position determined by the value of the second parameter (indexed from number one). If the sum value of the second and the third parameter is greater than the length of the first parameter, then the value is Mid$ (first parameter, second parameter). If the value of the second parameter is a zero then an error is generated.
the value is a parameter without the leading spaces the value is a parameter without the trailing spaces the value is parameter without the leading and trailing spaces the value is a string containing textually expressed number of the parameter
value in a decimal number system the value is a string containing textually expressed number of the parameter
value in the hexadecimal numberl system the first parameter has to contain the complete formatting string for
C-function sprintf. It enables to assign only one numerical parameter. The value is a string created after sprintf function call to formatting string value of the first parameter and numerical value of the second parameter
the value is a string whose all letters are capital. the value is a string whose all letters are small.

2.3.5. Expression type callable

The most common type callable has been mentioned in chapter 2.2.2.1 Reference to Element. The second possibility is the direct use name of the global macro.
Macros are defined in the design environment.
Reference Manual Design Director Script Language
www.cuesystem.com
Page 11 of 94
2.4. Commands
Commands are divided into the following classes:
1. declaration - used for declaration of variables and parameters of the designed macros.
2. executive – change the status of world of objects
3. flow control - conditionally determine what commands will be executed
4. error handling – enable to define what should be done when an error occurs
5. comments - enable to write user comments into a code

2.4.1. Declaration commands

Declaration commands in macros have to precede other commands.
They are divided into two groups
declaraction of parameters
declaration of variables.
Declaration of parameter precedes the declaration of variables. When the parameters are declared the order matters – the same parameter order applies to macro call. When the variables are declared the order is not important – it is possible to mix the declaration of the local variables (the value is known only at the moment when the macro is running) and static variable (the value of the variable remains even after macro is left – when the macro is running next the value is available)
The parameter declaration command called by a reference and parameter declaration command called by a value have been designed for the declaration of parameters.
Two commands have also been designed for the declaration of variables – the first one for local variables, the second one for static ones.
The all declared names (parameters and variables) have to be unique in macro. In addition to this it cannot be identical to keywords of the language, global object names or global macro names.
Declaration command called by a parameter – Param
Designed syntax:
Param <parameter name> <type name>
; where
<parameter name> - name of the declared parameter
<type name> - name of the declared parameter. Types are uint, string or any name from object
types.
When the variable type string called by a parameter is declared, the length of the declared variable is not assigned. This way the language enables one macro to use various types of variables, respectively with variables type string with a differently declared size of storage space.
Reference Manual Design Director Script Language
www.cuesystem.com
Page 12 of 94
Iexpression needs to be entered after the parameter value when the macro, whose parameter is called by a reference, is called. When the changes of parameter value in the macro are performed, the exact same changes will appear in Iexpression entered after the parameter.
Declaration of parameter called by a value - ParamByVal
Designed syntax:
ParamByVal <parameter name> <type name> [* <declared type length>]
: where
<parameter name> - name of the declared parameter
<type name> - name of the type of the declared parameter. Type names are uint, string or any
name from object types
<declared type length> - the length is mentioned for variable type string only
If the macro is called whose parameter is called by a value, it is possible to insert any expression in place of the parameter value. When the changes of parameter value in the macro are performed no changes will apply in variable in the original expression.
Declaration of local variable - Dim
Designed syntax:
Dim < variable name> <type name> [* <declared length type>]
; where
<type variable> - name of the declared variable
<type name> - type name of the declared variable. Type are uint, string names are uint, string or
any name from type of objects
<declared type length> - it is mentioned in variables type string only. It declares the size of the storage space for the given variable.
Declaration of static variable - Static
Designed syntax:
Static <variable name> <type name> [* declared type length]
; where
<variable name> - name of the declared variable
<type name> - type name of the declared variable. Type are uint, string or any name from
object types
<declared type length> - it is mentioned in variables type string only. It declares the size of the storage space for the given variable.
The static variable corresponds to static variables in Visual Language (declared by Static command). In Visual Basic the Global variables are additionally declared (i.e. visible from everywhere, they keep the same value), here are not supported.
Reference Manual Design Director Script Language
www.cuesystem.com
Page 13 of 94

2.4.2. Executive Commands

The executive commands perform changes in the virtual world of touch panels. Two commands are designed – value assignment into a variable/parameter/property and macro/method/event calling.
The own execution of changes in the virtual world is taken care of by semantics either called by a method or by property change.
Assignment – Set
Designed syntax:
Set <variable/parameter/property name> <expression>
; where
<variable/parameter/property name> - property or parameter name declared in macro. Dealing with the property name can be fully dereferred (i.e. object name, respectively variable name) – it is always Iexpression. When errors during the process of dereference occur, if the value is for reading only, an error will be generated and the variable/parameter/property value will remain unchanged.
<expression> - it is an expression whose value after the data evaluation are checked whether is same as variable/parameter/property type and if everything is all right, and hands over into a variable/parameter/property. When an error during the value evaluation occurs, an error will be generated and the variable/parameter/property value will remain unchanged.
Calling – Call
Designed syntax:
Call < macro/method/event name> <parameter list>
; where
<macro/method/event> - global macro name or method/event name – in case of method / event it can be a full dereference of method/event (i.e. object name, respectively variable name). To be exact it is always expression type callable. When errors during the process of dereference occur, errors will be generated.
<parameter list> - comma separated expressions that are paired with method/event macro. The number of expressions and parameters as well as the types has to correspond, if it is not this way, an error will be generated.
Reference Manual Design Director Script Language
www.cuesystem.com
Page 14 of 94

2.4.3. Flow control commands

Three commands from Visual Basic have been used – early macro exit, conditional macro branching and cycle.
Macro exit – ExitMacro
Designed syntax:
ExitMacro
This command causes to exit the macro code. The control is given back to macro that the actual macro was calling - in case of the use of macro for the event handling, the control is returned to system and waits for the next event.
The command refers to Exit Sub and Exit Function commands from Visual Basic. EndSub Command from Visual Basic is not required - as the particular macros are not required to be divided in text, only to mark the end and the beginning each of them.
Conditional Branching
Designed syntax:
If <expression>
<commands>
ElseIf <expression>
<commands>
ElseIf <expression>
<commands>
..
Else <expression>
<commands>
EndIf
; where
<expression> - it is an expression that has to be uint type. When an error during the expression evaluation occurs, an error is generated. If the control, after the error was handled, should return to the next command then the expression is handled like it evaluated to zero.
<commands> - any syntactical correct block of commands
When generated the design environment checks the correctness of blocks If..EndIf. To every If command there has to exit one EndIf command in the macro. Between If and EndIf commands there can exist maximum one Else command and many or no ElseIf commands that need to be before the Else command. At the same time If..EndIf block cannot interfere with the block structure of the command cycle.
When run the first to be evaluated is If command. If the value is none zero then the commands after If and the following will be executed. Then it is continued with the commands after EndIf. Otherwise the first following ElseIf command is found and evaluates its expression. When the expression value is none zero, its commands are executed and it is continued after EndIf, otherwise it keeps on searching.
Reference Manual Design Director Script Language
www.cuesystem.com
Page 15 of 94
Cycle Do [While | Until] .. Loop [While | Until] (ExitDo)
This cycle handles of all type of cycles with one condition at the beginning / at the end, at the both places or nowhere. When generated, the design environment checks the correctness of the block Do..Loop, it assigns to every Do commands only one Loop command. And in addition the block structure of the other block of commands is not broken i.e. the branching of other cycles.
Between the Do and Loop command can be an unlimited number of commands. The cycle can be left anywhere using the ExitDo command except the condition at the beginning and at the end. The parameter of ExitDo command is the level number of Do..Loop commands that are left. If the expression is evaluated as zero then it will be continued by the following command to ExitDo, otherwise it is continued by decent “emerge’ of Loop command. If there are not enough Do..Loop loops in a macro then it is continued with the highest possible level of emerge in the given macro – the macro is neither left nor the loops are skipped in those the calculation has not started yet (other blocks in row).
When the cycle is left by ExitDo command, in the number of nest levels from command branching.
Designed syntax of each command:
Do
DoWhile <expression>
DoUntil <expression>
Loop <expression>
LoopWhile <expression>
LoopUntil <expression>
ExitDo <expression>
; where
<expression> - expression that has to be uint type. When an error during the process of evaluation occurs, an error is generated. If the control, after the error was handled, should return to the next command then the expression is viewed as it evaluated to zero.
The word While in the condition means, that the cycle is continued, if the expression value is none zero
The word Until in the condition means, that the cycle will continue, if the expression value is zero
Reference Manual Design Director Script Language
www.cuesystem.com
Page 16 of 94

2.4.4. Error Handling Commands

The commands are divided into two following group
declaration handling commands
resume error handling commands.
Declaration handling commands are not any different from the executive and flow control commands, from the place where they can be used. They can be used anywhere where are other commands.
For the macro it is always used the last called declaration handling command – the block structure of the program does not have any influence on declaration handling command (if before the cycle command
OnErrorCallException command for the error handling is used and in the cycle command OnErrorResumeNext command is called then even after the cycle will end, the declaration OnErrorResumeNext is used when an error occurs).
Resume error handling commands as well the declaration handling commands do not differ from the place of use from the executive and flow control commands.
While declaration handling commands are similar to executive commands – they change the system status (i.e. change the way of error handling), the resume error handling commands are closer to flow control commands. In the macro that handles an error ( or macro that was called by error handling macro – it can do with an arbitrary call level) resume from error command makes a change of place of the program execution - returns through all the macros that they have called among themselves during the process of error handling to the place where the error has occurred (even somewhere according to used error handling resume command)
Declaration error handling command – on error resume - OnErrorResumeNext
Designed syntax:
OnErrorResumeNext
After this command is called and if an error occurs, the command, where the mistake has occurred is skipped to Err object then the error code is set and it is continued with the next command.
In case the position where the error has occurred is a condition of the structured command (i.e. If,Do..Loop), then it is resumed with the next command after the entire structure.
That means for If command it is continued after particular EndIf, in case of Do..Loop cycle it is continued after Loop.
Reference Manual Design Director Script Language
www.cuesystem.com
Page 17 of 94
Declaration of error handling command – on error call macro – OnErrorCallException
Designed syntax:
OnErrorCallException <macro/event name> <parameter list>
; where
<macro/event name> - global macro name or event name – in case of an event it can be a full event dereference (i.e. object name, ..variable name,..) – to be more precise it is an expression type callable.
<parameter list> - comma separated expressions that are paired with the macro /event parameters. The number of expressions and parameters as well the types has to correspond, if it is not this way, an error will be generated.
At the moment when an error occurs this command is called, Err object is set into error code and the macro that handles this error is called.
If during the process of the name deference of error handling macro or during the parameters evaluation that handles the macro an error occurs, then the macro code, where the error has originally occurred, will be also interrupted, and the error is arisen at the position where the calling macro called the macro, where the error has originally occurred.
The parameter evaluation called by a macro takes place within the macro context where the calling has been declared. Therefore it is possible for the macro parameters to use even the local macro variables.
Return from error handling - resume on next command - ResumeNext
Designed syntax:
ResumeNext
The command causes to end the error handling process and then code continues with the next command after the command where an error during the error handling has occurred.
In case the error has occurred in the condition of the structured command (that is If,Do..LoopI) then it continues with the next command after the entire structure. See the above comments of Declaration of error handling – OnErroResumeNext.
Return from error handling - leave error macro – ResumeLeaveMacro
Designed syntax:
ResumeLeaveMacro
This command causes to end the error handling process and then code continues with the next command that has called the error macro (that is the macro where an error has occurred).
If the error happens directly in the macro that handles the event, then the event handling will be finished – it is passed on the next event handling, respectively it will wait for the next event if none takes place.
Reference Manual Design Director Script Language
www.cuesystem.com
Page 18 of 94
Leave Error Event – ResumeLeaveEvent
Designed syntax:
ResumeLeaveEvent
This command causes to end the error handling and event handling process. It is passed on the next event, if the next event has not taken place so far, it is waited for the next event.
Remarks
Rem command is used to insert remarks into source code.
Designed syntax:
Rem <any text>
; where
<any text> - one line of text inserted by a user, within this text no syntactical restriction are set.
Reference Manual Design Director Script Language
www.cuesystem.com
Page 19 of 94

2.4.5. Command Writing Syntax

In the design environment commands are written in Grid i.e. a table. This Grid has three columns with the following semantics:
1. Command
2. Command specification
3. Parameter
The following syntax has been assigned for each command:
Command Command specification Parameter
Call <expression type callable> <parameter list> Dim <variable name> <type name> [* <declared length>] Do Do While <expression type uint> Do Until <expression type uint> Else Else If <expression type uint> EndIf Exit Do Exit Macro If <expression type uint> Loop Loop While <expression type uint> OnErrorCallException <expression type callable> <parameter list> OnErrorResumeNext Param <parameter name> <type name> ParamByval <parameter name> <type name> [* <declared length>] Rem <arbitrary text> Resume LeaveEvent Resume LeaveMacro Static <variable name> <type name> [*<declared length>] Set <lexpression> <expression>
Reference Manual Design Director Script Language
www.cuesystem.com
Page 20 of 94

3. Objects – properties description

The objects are divided into the following groups:
1. Abstract – there are such objects which the real objects are inherited from and they alone do not have any instance (except from the rule). Such abstract object that has an instance is i.e. IdentificationObjectA at the button – the button (i.e. ButtonObject object) does not inherit from it, but the IndetificationObjectA object is the value of its property.
2. Application – there are such objects whose instances have been created in the design environment i.e. window, panel, picture or font. Most of their properties are inherited from abstract objects.
3. System – it is the fixed part of the virtual world of the designed panels. The objects do not have any events, but on the other hand they define all methods and properties of the outside world.
3.1. Abstract objects
Abstract objects apart from exceptions are the part of the bigger object through the inheritance mechanism. Exceptions deal with a case when the object is an abstract type of the object property. If they are a part created through the inheritance mechanism, they can be directly retyped to a bigger object. To distinguish their names, all their names end with the letter A.

3.1.1. BackGroundObject A

An object inherits from the object BitmapObjectA. It contains:
Property Type Description
BackColor ColorObject Background color. Reference to a real color object or to
NoObject, if not filled then the color is transparent. The object of the color can be the part of the palette which has been
defined in the design environment. Bitmap BitmapObject Reference to the real picture object or to NoObject, if not filled. BtmHOri uint The picture horizontal orientation. The values are defined
0..left, 1..middle, 2..right, 3..tile (i.e. it repeats) To insert a
different values is not checked, what will appear is not defined. BtmVOri uint The picture vertical orientation. The values are defined 0..up,
1..middle, 2..down, 3..tile (i.e. it repeats) To insert a different
values is not checked, what will appear is not defined.
Event Parameters Description
OnSetBitmap ParamByVal Prev BitmapObject The event is called immediately after when someone changes
the Bitmap object property. The event is dedicated i.e. for the
change of the object size based on the object size.
Reference Manual Design Director Script Language
www.cuesystem.com
Page 21 of 94

3.1.2. BitmapObjectA

The object is basic that means there is no object it could inherit from.
Property Type Description
Bitmap BitmapObject Reference to a real picture object or to NoObject, if not filled. BtmHOri uint The picture horizontal orientation. The values are defined
0..left, 1..middle, 2..right, 3..tile (i.e. it repeats) To insert a different values isnot checked, what will appear is not defined.
BtmVOri uint The picture vertical orientation. The values are defined 0..up,
1..middle, 2..down, 3..tile (i.e. it repeats) To insert a different values isnot checked, what will appear is not defined.
Event Parameters Description
OnSetBitmap ParamByVal Prev BitmapObject The event is called immediately when someone changes the
Bitmap object property. This event is dedicated i.e. to change the object size upon the size change of the picture.
Reference Manual Design Director Script Language
www.cuesystem.com
Page 22 of 94

3.1.3. CaptionObjectA

An object inherits from the object – TextObjectA. It contains:
Property Type Description
BackColor ColorObject The caption background color of the window. Reference to a real color object or to
NoObject, if not filled then the color is transparent. The objects of the color can be the part of the palette, which has been defined in the design environment.
Color ColorObject Text color. Reference to a real color object – it can never be NoObject then the
color would be transparent. The objects of the color can be the part of the palette, which has been defined in the design environment.
Flash uint If the value is a zero the text will not flash. Otherwise the text flashes according to
entered Period and Ratio parameters. Font FontObject Reference to a real font object or NoObject, if not filled then text will not appear. Height uint The caption height of the window. If the height is a zero then the caption will not
appear (in the case is not possible to move the window) Period uint Assigns the text-flashing period in milliseconds. If the value is a zero then the text
will not be flashing. Ratio uint Assigns the number percentage of the period when the text appears. For instance
for the value Period=4000 and Ratio=25 the text appears for 1 second and hides for
3 seconds. Text string*50 Text of caption TxtHOri uint The text horizontal orientation. The values are defined 0..left, 1..middle, 2..right. To
insert a different value is not checked, what will appear is not defined. TxtVOri uint The text vertical orientation. The values are defined 0..left, 1..middle, 2..right. To
insert a different value is not checked, what will appear is not defined. WordWrap uint If the value is a zero then the text appears on one line. In the opposite case the text
is automatically broken into more lines according to the width of the object.

3.1.4. CollectionObjectA

The object is basic i.e. there is no object from which it could inherit. The object contains a collection composed of other object. Except the collection the object has one additional property:
Property Type Description
Count uint Number of object stored in collection (it is possible to refer to them through the
number 0..Count –1)
Reference Manual Design Director Script Language
www.cuesystem.com
Page 23 of 94

3.1.5. Efekt3DobjectA

The object is elementary/basic i.e. there is no object from which it could inherit.
Property Type Description
EbackColor ColorObject The darker color of the effect color. Reference to a real color, it can
never be NoObject, and then the color would be transparent. The objects of the color can be the part of palette that has been defined in the design environment.
EColor ColorObject The lighter color of the effect color. Referent to a real color, it can
never be NoObject then the color would be transparent. The object of the color can be the part of palette that has been defined in the design environment.
EfektType uint The type of 3D effect. The values are defined 0..for no effect,
1..raised, 2..inset. To insert different values is not checked, what will appear is not defined.
EfektWidth uint The width of the effect. It is only used when the EfektType type is a
zero.

3.1.6. FeedBackObject A

The object is elementary/basic i.e. there is no object from which it could inherit.
Property Type Description
FeedAddr uint Number i.e. address of the variable (for FeedType type 2 and 3) or
the value (for FeedType type 1)
FeedType uint The address stored in the object. According to the values it is:
0. no address, that means other properties have no meaning
1. the address of value, through this value the feedback is realized
2. the address of variable
3. the address of variable with value condition
FeedValue uint It is only defined for FeedType type 3. Then the feedback is
defined not only through the variable but also through its actual value. Here the variable value is stored that it has to have, so the feedback would set the object value.
Value uint The current object value. According to this value the object is
drawn i.e. button, bargraph. According to this value the Message resp. Tabs object define what Message message resp. Tabs page will be displayed. This property is default.
Event Parameters Description
OnFeedBack ParamByVal Prev uint The event occurs at the moment when the feedback comes on
resp. at the moment when its forced changes are performed. The event parameter is the previous object value.
Reference Manual Design Director Script Language
www.cuesystem.com
Page 24 of 94

3.1.7. IndetificationObjectA

The object is basic i.e. there is no object which it could inherit from.
Property Type Description
Father IdentificationObjectA The father of the object. For the button itself, for instance it is the board
that it is lying on. For the window and the page (as well as for the ”free” objects – i.e. a picture, font or a color) the value is NoObject. The
property is for reading only. Name String * 50 The object name. The property is for reading only. Tag uint Free space where anyone, while the program is running, can note
something. For the virtual world itself it has no importance. For the
design environment it is forbidden. At the beginning the value is zero
here. Top IdentificationObjectA Top object for an object. This means an object that has no father – that
is a page or a window. For the ”free” objects – i.e. a picture, font, color
– the value is NoObject. The property is for reading only.
Method Parameters Description
PosMe2Parent Param x uint
Param y uint
PosParent2Me Param x uint
Param y uint
PosParent2Top Param x uint
Param y uint
PosScreen2Top Param x uint
Param y uint
PosTop2Parent Param x uint
Param y uint
PosTop2Screen Param x uint
Param y uint
Converts the entered coordinates x, y relative to the object to
coordinate relative to the parent object. If the father of the object is not
defined (the value of the property Father is NoObject) then the
coordinates remain the same.
Converts the entered coordinates x, y relative to the parent object to
relative coordinate directly to the object. If the father of the object is not
defined (the value of the property Father is NoObject) then the
coordinates remain the same.
Converts the entered coordinates x, y relative to the parent object to
relative coordinate to the top object (i.e. relative to the window or the
page) If the father of the object is not defined (the value of the property
Father is NoObject) then the coordinates relative to the top object
remain the same as the coordinates relative to father of the object.
Converts the entered coordinates x, y relative to the entire screen to
coordinate relative to the top object (i.e. relative to the window or the
page)
Converts the entered coordinates x, y relative to the top object (i.e.
relative to the window or the page) to coordinates relative to the parent
of the object. If the father of the object is not defined (the value of the
property Father is NoObject) then the coordinates relative to object
remain the same as the coordinate relative to the father of the object.
Converts the entered coordinates x, y relative to the top object (i.e.
relative to a window or page) to coordinates relative to the entire
screen.
Reference Manual Design Director Script Language
www.cuesystem.com
Page 25 of 94

3.1.8. LineObjectA

The object is basic i.e. there is no object from which it could inherit.
Property Type Description
BackColor ColorObject The color used for the filling of the eventual gaps in line (see LineType).
Reference to a real color object or NoObject, if not filled then the color is transparent. The objects of the color can be the part of the palette, which has been defined in the design environment.
Color ColorObject It is the color of the line. Reference to a real color object – it can never be
NoObject then the color would be transparent. The objects of the color can be the part of the palette, which has been defined in the design environment
LineType uint It is the type of the drawn line. The defined values are 0..none, 1..Solid,
2..Dash (dashes), 4..DashDot (dash dot), 5..DashDotDot (dash and two dots)
LineWidth uint The line width
Reference Manual Design Director Script Language
www.cuesystem.com
Page 26 of 94

3.1.9. ObjectLookObjectA

The object is inherited from BackGroundObjectA and TextObjectA objects. It contains:
Property Type Description
BackColor ColorObject Background color. Reference to a real color object, if not filled
then the color is transparent. The objects of the color can be the part of the palette, which has been defined in the design
environment. Bitmap BitmapObject Reference to a real picture object or to NoObject, if not filled. BtmHOri uint The picture horizontal orientation. The defined values are
0..up, 1..middle, 2..down, 3..tile (i.e. it repeats) To insert a
different values is not checked, what will appear is not
defined. BtmVOri uint The picture vertical orientation. The picture horizontal
orientation. The defined values are 0..up, 1..middle, 2..down,
3..tile (i.e. it repeats) To insert a different values is not
checked, what will appear is not defined. Color ColorObject The text color. Reference to a real color object – it can never
be NoObject (then the color would be transparent). The
objects of the color can be the part of the palette, which has
been defined in the design environment. Flash uint If the value is a zero then will not flash. Otherwise the text
would flash according to the entered Period and Ration
parameters. Font FontObject Reference to a real font object or to NoObject, if not filled (in
this case the text is not displayed). Period uint It defines the flashing period in the milliseconds. If the value is
a zero, then the text will not flash. Ratio uint It defines the number of the period percentage, when the text
will be displayed. For instance for the Period=4000 and
Ratio=25 the text is displayed for 1 second and hidden for 3
seconds. Text string*50 The text caption TxTHOri uint The text horizontal orientation. The defined values are 0..left,
1..middle, 2..right. To insert different values is not checked,
what will appear is not defined. TxtVOri uint The text vertical orientation. The defined values are 0..up,
1..middle, 2..down. To insert different values is not checked,
what will appear is not defined. WordWrap uint If the value is a zero then the text appears on one line. In the
opposite case the text is automatically broken into more lines
according to the width of the object
Event Parameters Description
OnSetBitmap ParamByVal Prev BitmapObject The event is called immediately after when someone
changes the Bitmap object property. The event is dedicated
i.e. for the change of the object size based on the picture size
Reference Manual Design Director Script Language
www.cuesystem.com
Page 27 of 94
3.1.10. PositionObjectA
Object is basic i.e. there is no object it could inherit from.
Property Type Description
Height uint The total object height. For the page the property cannot be changed. Width uint The total object width. For the page the property cannot be changed. X uint The coordinate X object position within the area of its parent. For the window it
is a position on the screen, for the page the property cannot be changed.
Y uint The coordinate Y object position within the area of its parent. For the window it
is a position on the screen, for the page the property cannot be changed.
Z uint The Z coordinate position of the object within the area of its parent that means it
determines the overlapping of the objects among each other. In case two objects will have the same coordinate Z, the resulting status on the screen is not explicitly defined. For the top object (that is a window or a page), the coordinate sets position on the screen among other top objects. For these objects the property cannot be changed, only read.
3.1.11. SubCollectionObjectA
The object is basic i.e. there is no object it could inherit from. This object is read only. It is possible to edit the stored objects in the collection.
Property Type Description
Child CollectionObjectA It is the collection of all child objects of IdentificationObjectA type. The property
is for read only. The value is default.
Reference Manual Design Director Script Language
www.cuesystem.com
Page 28 of 94
3.1.12. TextObjectA
The object is basic i.e. there is no object from which it could inherit.
Property Type Description
Color ColorObject Text color. Reference to a real color object – it can never be NoObject then the
color would be transparent. The objects of the color can be the part of the palette which has been defined in the design environment.
Flash uint If the value is a zero the text will not flash. Otherwise the text flashes according to
entered Period and Ratio parameters. Font FontObject Reference to a real font object or NoObject, if not filled then text will not appear. Period uint Assigns the text-flashing period in milliseconds. If the value is a zero then the text
will not be flashing. Ratio uint Assigns the number percentage of the period when the text appears. For instance
for the value Period=4000 and Ratio=25 the text appears for 1 second and hides for
3 seconds. Text string*50 Text of caption TxtHOri uint The text horizontal orientation. The values are defined 0..left, 1..middle, 2..right. To
insert a different value is not checked, what will appear is not defined. TxtVOri uint The text vertical orientation. The values are defined 0..left, 1..middle, 2..right. To
insert a different value is not checked, what will appear is not defined. WordWrap uint If the value is a zero then the text appears on one line. In the opposite case the text
is automatically broken into more lines according to the width of the object.
Reference Manual Design Director Script Language
www.cuesystem.com
Page 29 of 94
Loading...
+ 65 hidden pages