IUP/Dialogs/IupDialog: Difference between revisions

From Vendetta Lua
Jump to navigationJump to search
Blanked the page
Line 1: Line 1:
__NOTOC__
=IupDialog=


:Creates a dialog element. It manages user interaction with the interface elements. For any interface element to be shown, it must be encapsulated in a dialog.
===Creation===
:iup.dialog{'''element''': ihandle} -> ('''elem''': ihandle)
:'''element''': Identifier of an interface element.
:This function returns the identifier of the created dialog, or NULL if an error occurs.
===Attributes===
:BORDER: Shows a thick border around the dialog. Default: "YES". Used only in the creation. Can not be changed after that.
:MAXBOX: Requires a maximize button from the window manager. Creation-only attribute.
:MINBOX: Requires a minimize button from the window manager. Creation-only attribute.
:RESIZE: Allows interactively changing the dialog’s size. Creation-only attribute.
:[[IUP/Attributes/Common/SIZE|SIZE]]: Dialog’s size. Differently from other interface elements, the following values can be defined for width and height:
:*      "FULL": Defines the dialog’s width (or height) equal to the screen's width (or height)
:*        "HALF": Defines the dialog’s width (or height) equal to half the screen's width (or height)
:*        "THIRD": Defines the dialog’s width (or height) equal to 1/3 the screen's width (or height)
:*        "QUARTER": Defines the dialog’s width (or height) equal to 1/4 of the screen's width (or height)
:*        "EIGHTH": Defines the dialog’s width (or height) equal to 1/8 of the screen's width (or height)
::Default: the smallest size that allows viewing the dialog.
::The dialog’s size has precedence over the smallest size required by its children (either if it was specified in its creation or in run-time). Attributing a NULL value to SIZE or RASTERSIZE (in C) in a dialog will recompute its size according to its children.
:[[IUP/Attributes/Common/TITLE|TITLE]]: Dialog’s title.
:[[IUP/Attributes/STARTFOCUS|STARTFOCUS]]: Name of the dialog element that must receive the focus right after the dialog is opened.
:[[IUP/Attributes/DEFAULTENTER|DEFAULTENTER]]:  Name of the button activated when Enter is hit.
:[[IUP/Attributes/DEFAULTESC|DEFAULTESC]]: Name of the button activated when Esc is hit.
:[[IUP/Attributes/Common/X|X]]: Dialog’s horizontal position on the screen, in pixels.
:[[IUP/Attributes/Common/Y|Y]]: Dialog’s vertical position on the screen, in pixels.
:[[IUP/Attributes/SHRINK|SHRINK]]: Allows changing the elements’ distribution when the dialog is smaller than the minimum size.
:FULLSCREEN
::Makes the dialog occupy the whole screen. All dialog details, such as border, maximize button, etc, are removed. Possible values: YES, NO. In Motif you may have to click in the dialog to set its focus.
:TOPMOST
::This attribute puts the dialog always in front of all other dialogs in all applications. Default: NO.
===Callbacks===
:SHOW_CB: Called right after the dialog is opened, minimized or restored from a minimization.
:MAP_CB: Called right after the element is mapped.
:CLOSE_CB: Called right before the dialog is closed.
===Notes===
:Except for the menu, all other elements must be inside a dialog to interact with the user. Therefore, an interface element will only be visible when its VISIBLE attribute and that of the dialog are "YES".
:A menu that is not associated to a dialog can interact with the user by means of the IupPopup function.
:Values attributed to the SIZE attribute of a dialog are always accepted, regardless of the minimum size required by its children. For a dialog to have the minimum necessary size to fit all elements contained in it, simply define NULL (in C) to SIZE. In the case of partial dimensions, a specified dimension is always used, while a non-defined dimension uses the smallest necessary size for the elements in the corresponding direction.
===Example===
<source lang=lua>
--IupDialog Example in IupLua
--Creates a simple dialog.
vbox = iup.vbox { iup.label {title="Label"}, iup.button { title="Test" } }
dlg = iup.dialog{vbox; title="Dialog"}
dlg:show()
</source>

Revision as of 07:48, 12 May 2023