Difference between revisions of "ONELAB scripting syntax"

From ONELAB
Jump to: navigation, search
(Clients declaration)
(Parameter declaration)
Line 34: Line 34:
 
:defines a ONELAB parameter of type ''string", with name ''Path/name'' and assign the value ''Value'' to it.  ''Label'' is the display name in the ONELAB window.  
 
:defines a ONELAB parameter of type ''string", with name ''Path/name'' and assign the value ''Value'' to it.  ''Label'' is the display name in the ONELAB window.  
 
;''name''.setVisible(0|1)
 
;''name''.setVisible(0|1)
:
+
:sets the parameter ''name'' to be visible or not in the ONELAB window.
 
;''name''.setReadOnly(0|1)
 
;''name''.setReadOnly(0|1)
:
+
:sets the parameter ''name'' to be read-only or not. Read-only parameters are depending parameters, i.e. parameters that depend on other parameters. Their value is set by the metamodel and not by the user. Even if visible, they cannot be modified in the ONELAB window.
 
;''name''.addChoices(Value, ...)
 
;''name''.addChoices(Value, ...)
 
:add items to the list of possible choices for the parameter.
 
:add items to the list of possible choices for the parameter.
 
;''name''.valueLabels(Value, Label, ...)
 
;''name''.valueLabels(Value, Label, ...)
:adds items to the list of possible choices for a parameter of type "number", and associates a label with each choice.  
+
:adds items to the list of possible choices for a parameter of type "number", and associates a label with each choice. The labels appear in a small menu when clicking on the drop-down arraw besides the parameter in the ONELAB window. Several pairs "Value, Label" can be given in one single "valueLabel" statement.
The labels appear in a small menu when clicking on the drop-down arraw besides the parameter in the ONELAB window.
 
  
 
== Conditional statements ==
 
== Conditional statements ==

Revision as of 13:59, 17 September 2012


Clients declaration

name.register(interfaced|encapsulated{, pathname});
register the client name as an interfaced or native (encapsulated) client. The second argument is the executable name (full pathname or any alias that would be defined on your system).
name.commandLine(pathname)
defines the pathname to the client executable, if it was not given as second argument in the register statement.
name.in(file,...)
comma-separated list of input files. Their presence is checked before execution. File with a .ol extension are converted before execution.
name.out(file,...)
comma separated list of output files. They are deleted before execution.
name.args(options)
the string options is interpreted (if it contains substitution statements) and appended to the commandline when calling the client.
name.Active(0|1)
sets the client active or inactive. Inactive clients are not executed but remain registered.
name.up(file,j,k,Parameter/Name, ...)
tells ONELAB to extract the kth numbers from the jst line in the file file, and to upload it as a new parameters named Parameter/Name. If the line number j is "-1", the last line of the file is considered instead of the jth. The group of four arguments can be repeated in one single "up" statement to upload several parameters.
name.merge(file, ...)
comma separated list of solution files interpretable by Gmsh (.pos, .msh, .geo, ...) to be merged after execution.
name.check()
This optional statement forces the client to be checked immediately after its declaration so that parameters defined in the .geo file can be used directly in the sequel of the metamodel definition.

Parameter declaration

name.number(Value{,Path{,Label{,Range}}})
defines a ONELAB parameter of type number", with name Path/name and assign the value Value to it. The prepended Path string allows sorting parameters hierarchically in the ONELAB window. Label is the display name in the ONELAB window. The Range is a string built on the model of "min:max:step" that indicate the minimum and maximum value of the parameter as well as an increment that will be used when looping on the parameter.
name.range(Range)
defines the range of the parameter if it was not given in the declaration.
name.string(Value,Path,ShortHelp)
defines a ONELAB parameter of type string", with name Path/name and assign the value Value to it. Label is the display name in the ONELAB window.
name.setVisible(0|1)
sets the parameter name to be visible or not in the ONELAB window.
name.setReadOnly(0|1)
sets the parameter name to be read-only or not. Read-only parameters are depending parameters, i.e. parameters that depend on other parameters. Their value is set by the metamodel and not by the user. Even if visible, they cannot be modified in the ONELAB window.
name.addChoices(Value, ...)
add items to the list of possible choices for the parameter.
name.valueLabels(Value, Label, ...)
adds items to the list of possible choices for a parameter of type "number", and associates a label with each choice. The labels appear in a small menu when clicking on the drop-down arraw besides the parameter in the ONELAB window. Several pairs "Value, Label" can be given in one single "valueLabel" statement.

Conditional statements

OL.iftrue(param)
lignes de codes transférées si le paramètre "param est différent de 0 ou ""
OL.else
lignes de codes transférées si le paramètre "param est égal à 0 ""
OL.endif

File inclusion

OL.include(file)
insert here the result of the preprocessing of the file file

Value substitution

OL.get(name)
insert here the value from the server of the parameter name. This command may appear several time in the same line.