IupMultiLine
Creates an editable field with one or more lines.
Creation
Ihandle* IupMultiLine(const char *action); [in C] iup.multiline{} -> (elem: ihandle) [in Lua] multiline(action) [in LED]
action: name of the action generated when the user types something. It can be NULL.
Returns: the identifier of the created element, or NULL if an error occurs.
Attributes
APPEND: Inserts a text at the end of the multiline.
INSERT: Inserts a text in the caret's position.
BORDER: Shows a frame around the multiline. Default: "YES".
CARET: Position of the insertion point in the multiline.
READONLY: Allows the user only to read the contents, without changing it. Possible values: "YES", "NO" (default).
SCROLLBAR (creation only): Associates an automatic horizontal and/or vertical scrollbar to the multiline. Default: "YES".
SELECTION: Selection interval.
SELECTEDTEXT: Selection's text.
NC: Maximum number of characters.The maximum NC value is 231.
SIZE: Multiline size. Default: room for 5 characters in 1 line. If EXPAND is set to NO, when the dialog is resized and the multiline SIZE is not set, then the multiline initial size will be set to display its contents as the default control size calculation in IUP. But if EXPAND is enabled then the multiline will not expand to its contents and it will respect the expansion of the dialog.
ALIGNMENT: (Windows Only) Label's alignment. Possible values: "ALEFT", "ARIGHT", "ACENTER". Default: "ALEFT".
VALUE: Text typed by the user. The '\n' character indicates line change. Default: NULL.
TABSIZE: (Windows Only) Controls the number of characters for a tab stop.
CLIPBOARD [write-only]: cut, copy or paste the selection to or from the clipboard. Values: "CUT", "COPY" or "PASTE".
WORDWRAP: if enable will force a word wrap of lines that are greater than the with of the control. Default: NO.
Callbacks
ACTION: Action generated when a keyboard event occurs. The callback also receives the typed key.
int function(Ihandle *self, int c, char* after); [in C] elem:action(c: number, after: string) -> (ret: number) [in Lua]
c:
Identifier of the typed key. Please refer to
the
Keyboard Codes
table for a list of possible values.
after:
Represents the new text value if the key is
validated (i.e. the callback returns IUP_DEFAULT).
If the function returns IUP_IGNORE, the system will ignore the typed character. If the function returns the code of any other key, IUP will treat this new key instead of the one typed by the user.
CARET_CB: Action generated when the caret/cursor position is changed.
int function(Ihandle *self, int row, int col); [in C] elem:caret_cb(row, col: number) -> (ret: number) [in Lua]
row, col: Row and collumn number.
Notes
Text is always left aligned.
Since all the keys are processed to change focus to the next element press <Ctrl>+<Tab>. The "DEFAULTENTER" button will not be processed, but the "DEFAULTESC" will.