ChildPanelOnRelativModalReturn()
Opens a modal child panel relative to the calling object, with a return value.
Synopsis
ChildPanelOnRelativModalReturn(string FileName, string PanelName, 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 |
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
Depending on the parameters set, see standard dialogs for example.
Description
Opens a child panel with return values. The position of the panel is relative to the calling object, the coordinates are specified via offsetX and offsetY. The return values are handled like in the function 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.
This function cannot be used in panel events.
Example
Opens the ChildPanel.pnl relative to the calling object and with return values.
main()
{
dyn_float dreturnf;
dyn_string dreturns;
string strvar = "example";
int x, y;
x = 300;
y = 100;
ChildPanelOnRelativModalReturn("ChildPanel.pnl",
"Testpanel", makeDynString("$p1:first", "$p2:"+strvar), x, y,
dreturnf, dreturns);
DebugN("Return values", dreturnf);
//The return values from the child panel
DebugN(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";.
main()
{
dyn_float value1;
dyn_string value2;
value1[1] = 66.23;
//set the value of the variable value1
value2[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
Availability
UI