ChildPanelOnModal()
Opens a modal child panel at the position x, y.
Synopsis
void ChildPanelOnModal(string FileName, string
PanelName, dyn_string Parameter, int x, int
y);
Parameters
Parameter | Meaning |
---|---|
FileName | File name of the child panel that is opened. |
PanelName | Name with which the panel is opened |
Parameters | List of the $ parameters that are passed to the child panel |
x, y | Position of the panel (0.0 is the top left-hand corner in the parent panel) |
Return Value
None.
Description
The function ChildPanelOnModal() opens a modal child panel at the position x, y. Before it is opened a check is made 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.
-
Open the GNOME window manager configs by executing /usr/bin/gnome-tweaks.
-
Set the "Attach Modal Dialog" property to "off".
On Linux systems the child panel may open centrally to the parent panel and not at the desired position. This is related to the window manager settings. When using the window manager GNOME, this behavior is controlled by the "Attach Modal Dialog" which is set to "on" by default and will set the modal child window centrally to the parent. To deactivate this property, follow these steps:
Please note that this is be a different property in other window managers.
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 panel "ChildPanel" modally in the module Testpanel" at position 300, 100. The function also passes the dollar parameters "first" and "example" to the child panel.
main()
{
string strvar = "example";
int x, y;
x = 300;
y = 100;
ChildPanelOnModal("ChildPanel.pnl",
"Testpanel", makeDynString("$p1:first",
"$p2:"+strvar),x, y);
}
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".
Assignment
panel.ctl
Availability
See also
ChildPanel...(), isPanelOpen()