ChildPanelOnParentReturn()

Opens a child panel in the specified panel with return values.

Synopsis

void ChildPanelOnParentReturn(string FileName,string PanelName, string ParentName, dyn_string Parameter, int x,int y,dyn_float &resultFloat, dyn_string &resultText, 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 Name of the parent panel
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
timeout Optional timeout for the panel, default 1 day. 0 = no timeout. If the user does not close the panel, the function returns the value anyway after the specified timeout.

Return Value

Depending on the parameters set, see standard dialogs for example.

Description

Opens a child panel in the specified panel "ParentName" 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.

Example

Opens the modal child panel "ChildPanel.pnl" in the own root panel (function rootPanel()) with return parameters. The function also passes the dollar parameters "first" and "example" to the child panel.

main()
{
  int x, y;
  y = 100;
  x = 300;
  string strvar = "example";
  dyn_float dreturnf;
  dyn_string dreturns;
  ChildPanelOnParentReturn("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";.

main()
{
  dyn_float wert1;
  dyn_string wert2;
  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

Availability

UI