ChildPanelOnParentModalReturn()
Opens a modal child panel in the specified panel with return values.
Synopsis
void ChildPanelOnParentModalReturn(string FileName,string PanelName, string ParentName, dyn_string Parameter,int x, int y, dyn_float &resultFloat, dyn_string
&resultText);
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 to be opened |
Parameters | Parameters for transfer to the child panel |
x, y | Position of the child panel |
resultFloat | Return field for floats |
resultText | Return field for strings |
Return Value
None
Description
Opens a modal child panel in the specified panel with a return value. Otherwise the function works in the same way as ChildPanelOnReturn(). 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.
A child panel can not be resized. The only exception to this is the use of Layout Management in the child panel.
When a modal child panel is opened from a modal child panel, the opened child panel is modal application wise, ie. modal to the current UI.
Example
Opens the child panel "ChildPanel.pnl" modally in the own root panel with return parameters. The function also passes the dollar parameters "first"; and "example "; to the child panel.
main()
{
dyn_float dreturnf;
dyn_string dreturns;
string strvar = "example";
int x, y;
x = 300;
y = 100;
ChildPanelOnParentModalReturn("ChildPanel.pnl",
"Testpanel", rootPanel(), makeDynString("$p1:first",
"$p2:"+strvar),x,y,dreturnf, dreturns);
DebugN("Return values", dreturnf, "and", dreturns);
}
Example
Since you passed dollar parameters, you can call , for example,
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";.
Child panel:
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
panel.ctl