mirror of
				https://github.com/luanti-org/luanti.git
				synced 2025-10-30 23:15:32 +01:00 
			
		
		
		
	Add formspec table
This commit is contained in:
		| @@ -1011,6 +1011,7 @@ textlist[<X>,<Y>;<W>,<H>;<name>;<listelem 1>,<listelem 2>,...,<listelem n>;<sele | ||||
| ^    if you want a listelement to start with # write ## | ||||
| ^ index to be selected within textlist | ||||
| ^ true/false draw transparent background | ||||
| ^ see also minetest.explode_textlist_event (main menu: engine.explode_textlist_event) | ||||
|  | ||||
| tabheader[<X>,<Y>;<name>;<caption 1>,<caption 2>,...,<caption n>;<current_tab>;<transparent>;<draw_border>] | ||||
| ^ show a tabHEADER at specific position (ignores formsize) | ||||
| @@ -1043,6 +1044,57 @@ checkbox[<X>,<Y>;<name>;<label>;<selected>] | ||||
| ^ label to be shown left of checkbox | ||||
| ^ selected (optional) true/false | ||||
|  | ||||
| table[<X>,<Y>;<W>,<H>;<name>;<cell 1>,<cell 2>,...,<cell n>;<selected idx>] | ||||
| ^ show scrollable table using options defined by the previous tableoptions[] | ||||
| ^ displays cells as defined by the previous tablecolumns[] | ||||
| ^ x and y position the itemlist relative to the top left of the menu | ||||
| ^ w and h are the size of the itemlist | ||||
| ^ name fieldname sent to server on row select or doubleclick | ||||
| ^ cell 1...n cell contents given in row-major order | ||||
| ^ selected idx: index of row to be selected within table (first row = 1) | ||||
| ^ see also minetest.explode_table_event (main menu: engine.explode_table_event) | ||||
|  | ||||
| tableoptions[<opt 1>;<opt 2>;...] | ||||
| ^ sets options for table[]: | ||||
| ^ color=#RRGGBB | ||||
| ^^ default text color (HEX-Color), defaults to #FFFFFF | ||||
| ^ background=#RRGGBB | ||||
| ^^ table background color (HEX-Color), defaults to #000000 | ||||
| ^ border=<true/false> | ||||
| ^^ should the table be drawn with a border? (default true) | ||||
| ^ highlight=#RRGGBB | ||||
| ^^ highlight background color (HEX-Color), defaults to #466432 | ||||
| ^ highlight_text=#RRGGBB | ||||
| ^^ highlight text color (HEX-Color), defaults to #FFFFFF | ||||
| ^ opendepth=<value> | ||||
| ^^ all subtrees up to depth < value are open (default value = 0) | ||||
| ^^ only useful when there is a column of type "tree" | ||||
|  | ||||
| tablecolumns[<type 1>,<opt 1a>,<opt 1b>,...;<type 2>,<opt 2a>,<opt 2b>;...] | ||||
| ^ sets columns for table[]: | ||||
| ^ types: text, image, color, indent, tree | ||||
| ^^ text:   show cell contents as text | ||||
| ^^ image:  cell contents are an image index, use column options to define images | ||||
| ^^ color:  cell contents are a HEX-Color and define color of following cell | ||||
| ^^ indent: cell contents are a number and define indentation of following cell | ||||
| ^^ tree:   same as indent, but user can open and close subtrees (treeview-like) | ||||
| ^ column options: | ||||
| ^^    align=<value>   for "text" and "image": content alignment within cells | ||||
| ^^                    available values: left (default), center, right, inline | ||||
| ^^    width=<value>   for "text" and "image": minimum width in em (default 0) | ||||
| ^^                    for "indent" and "tree": indent width in em (default 1.5) | ||||
| ^^    padding=<value> padding left of the column, in em (default 0.5) | ||||
| ^^                    exception: defaults to 0 for indent columns | ||||
| ^^    tooltip=<value> tooltip text (default empty) | ||||
| ^ "image" column options: | ||||
| ^^    0=<value>       sets image for image index 0 | ||||
| ^^    1=<value>       sets image for image index 1 | ||||
| ^^    2=<value>       sets image for image index 2 | ||||
| ^^                    and so on; defined indices need not be contiguous | ||||
| ^^                    empty or non-numeric cells are treated as 0 | ||||
| ^ "color" column options: | ||||
| ^^    span=<value>    number of following columns to affect (default infinite) | ||||
|  | ||||
| Note: do NOT use a element name starting with "key_" those names are reserved to | ||||
| pass key press events to formspec!  | ||||
|  | ||||
| @@ -1346,11 +1398,21 @@ minetest.get_inventory(location) -> InvRef | ||||
| minetest.create_detached_inventory(name, callbacks) -> InvRef | ||||
| ^ callbacks: See "Detached inventory callbacks" | ||||
| ^ Creates a detached inventory. If it already exists, it is cleared. | ||||
|  | ||||
| Formspec: | ||||
| minetest.show_formspec(playername, formname, formspec) | ||||
| ^ playername: name of player to show formspec | ||||
| ^ formname: name passed to on_player_receive_fields callbacks | ||||
| ^           should follow "modname:<whatever>" naming convention | ||||
| ^ formspec: formspec to display | ||||
| minetest.formspec_escape(string) -> string | ||||
| ^ escapes characters [ ] \ , ; that can not be used in formspecs | ||||
| minetest.explode_table_event(string) -> table | ||||
| ^ returns e.g. {type="CHG", row=1, column=2} | ||||
| ^ type: "INV" (no row selected), "CHG" (selected) or "DCL" (double-click) | ||||
| minetest.explode_textlist_event(string) -> table | ||||
| ^ returns e.g. {type="CHG", index=1} | ||||
| ^ type: "INV" (no row selected), "CHG" (selected) or "DCL" (double-click) | ||||
|  | ||||
| Item handling: | ||||
| minetest.inventorycube(img1, img2, img3) | ||||
|   | ||||
| @@ -89,12 +89,33 @@ engine.sound_play(spec, looped) -> handle | ||||
| ^ looped = bool | ||||
| engine.sound_stop(handle) | ||||
|  | ||||
| GUI: | ||||
| Formspec: | ||||
| engine.update_formspec(formspec) | ||||
| - engine.set_background(type, texturepath) | ||||
| engine.get_table_index(tablename) -> index | ||||
| ^ can also handle textlists | ||||
| engine.formspec_escape(string) -> string | ||||
| ^ escapes characters [ ] \ , ; that can not be used in formspecs | ||||
| engine.explode_table_event(string) -> table | ||||
| ^ returns e.g. {type="CHG", row=1, column=2} | ||||
| ^ type: "INV" (no row selected), "CHG" (selected) or "DCL" (double-click) | ||||
| engine.explode_textlist_event(string) -> table | ||||
| ^ returns e.g. {type="CHG", index=1} | ||||
| ^ type: "INV" (no row selected), "CHG" (selected) or "DCL" (double-click) | ||||
|  | ||||
| GUI: | ||||
| engine.set_background(type, texturepath) | ||||
| ^ type: "background", "overlay", "header" or "footer" | ||||
| engine.set_clouds(<true/false>) | ||||
| engine.set_topleft_text(text) | ||||
| engine.show_keys_menu() | ||||
| engine.file_open_dialog(formname,caption) | ||||
| ^ shows a file open dialog | ||||
| ^ formname is base name of dialog response returned in fields | ||||
| ^     -if dialog was accepted "_accepted" | ||||
| ^^       will be added to fieldname containing the path | ||||
| ^     -if dialog was canceled "_cancelled" | ||||
| ^        will be added to fieldname value is set to formname itself | ||||
| ^ returns nil or selected file/folder | ||||
|  | ||||
| Games: | ||||
| engine.get_game(index) | ||||
| @@ -155,22 +176,7 @@ engine.get_worlds() -> list of worlds (possible in async calls) | ||||
| engine.create_world(worldname, gameid) | ||||
| engine.delete_world(index) | ||||
|  | ||||
|  | ||||
| UI: | ||||
| engine.get_textlist_index(textlistname) -> index | ||||
| engine.show_keys_menu() | ||||
| engine.file_open_dialog(formname,caption) | ||||
| ^ shows a file open dialog | ||||
| ^ formname is base name of dialog response returned in fields | ||||
| ^     -if dialog was accepted "_accepted"  | ||||
| ^^       will be added to fieldname containing the path | ||||
| ^     -if dialog was canceled "_cancelled"  | ||||
| ^        will be added to fieldname value is set to formname itself | ||||
| ^ returns nil or selected file/folder | ||||
|  | ||||
| Helpers: | ||||
| engine.formspec_escape(string) -> string | ||||
| ^ escapes characters [ ] \ , ; that can not be used in formspecs | ||||
| engine.gettext(string) -> string | ||||
| ^ look up the translation of a string in the gettext message catalog | ||||
| fgettext(string, ...) -> string | ||||
|   | ||||
		Reference in New Issue
	
	Block a user