ChildPanelReturnValue()
Opens a child panel of a particular type with a return value.
Synopsis
void ChildPanelReturnValue( string FileName, string
PanelName, string ParentName, string ModuleName, dyn_string
Parameter, int x, int y, dyn_float &resultFloat,
dyn_string &resultText,int type, time
timeout=86400);
Parameters
Parameter | Meaning |
---|---|
FileName | File name of the child panel to be opened |
PanelName | Name under which the child panel is to be displayed |
ParentName | Module in which the panel is opened |
ModuleName | Module in which the panel is to be opened |
Parameters | Parameters that are passed to the child panel |
x, y | Position of the child panel |
resultFloat | Return field for floats |
resultText | Return field for strings |
typ | Number of the function called (see list below) |
Return Value
None
Description
Opens a child panel of a particular type with a return value. Before the panel is opened a check is made as to whether this panel is already open (isPanelOpen()). The size ratio between child and parent panel is 1 (scale = 1). If the size of the parent panel is changed, the child panel is not scaled to the new size.
Internally the appropriate functions are called internally, see there for a more detailed description.
The function opens the specified child panel in the panel Parent Name and in the module ModuleName. The return values are to be transferred in the same way as with ChildPanelOnReturn().
Return values for the fields resultFloat and resultText must be transferred from the child panel to two predefined data points. The value can be set by means of a dpSet. The names of the reserved data points are:
-
"_Ui_<i>.ReturnValue.Float:_original.._value"
-
"_Ui_<i>ReturnValue.Text:_original.._value",
where the number of the current manager is to be used for i, for example,
"_Ui_2.ReturnValue.Text:_original.._value"
If an empty string is specified for a Parent Name or Module Name, the current panel / module is used.
A child panel can not be resized. The only exception to this is the use of Layout Management in the child panel.
The panel "ChildPanel" is opened as a modal panel (type 2) in the current panel and module. The function also passes the dollar parameters "first" and "example" to the child panel.
main()
{
dyn_float dreturnf;
// Variablen für die Rückgabewerte vom Childpanel
dyn_string dreturns;
string strvar = "example";
int x, y;
x = 300;
y = 100;
ChildPanelReturnValue("ChildPanel.pnl","Testpanel", rootPanel(), myModuleName(),
makeDynString("$p1:first", "$p2:"+strvar),x,y,dreturnf,dreturns,2);
// The code below is executed first when the child panel is closed
DebugN("Ausgabe der Rückgabewerte", dreturnf, "und", dreturns);
//Show the return values
}
The values are set in the child panel "ChildPanel". When the panel is closed they are
passed to the root (parent) panel. Since you passed dollar parameters, you can , for
example, call DebugN($p1);
and DebugN($p2);
in the
child panel.
The first definition DebugN($p1); shows the string "first"; and the second definition the string "example".
main()
{
dyn_float value1;
dyn_string value2;
wert1[1] = 66.23;
//set the value of the variable value1
wert2[1] = "abc";
//set the value of the variable value2
/* Set the values for the main panel (return values).
The values are written to the variables dreturnf and dreturns */
dpSet("_Ui_"+myManNum()+ ".ReturnValue.Float:_original.._value",value1);
dpSet("_Ui_"+myManNum()+ ".ReturnValue.Text:_original.._value",value2);
DebugN($p1);
DebugN($p2);
}
Assignment
Intern, panel.ctl
Availability
UI