The Battle for Wesnoth 1.21.0-dev
 
Loading...
Searching...
No Matches
lua_widget.hpp
Go to the documentation of this file.
1/*
2 Copyright (C) 2009 - 2025
3 by Guillaume Melquiond <guillaume.melquiond@gmail.com>
4 Part of the Battle for Wesnoth Project https://www.wesnoth.org/
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY.
12
13 See the COPYING file for more details.
14*/
15
16#pragma once
17
18
19#include "scripting/lua_ptr.hpp"
21
22namespace gui2 {
23 class widget;
24 class window;
25}
26struct lua_State;
27
28namespace lua_widget {
29 void register_metatable(lua_State* L);
30}
31
32void luaW_pushwidget(lua_State* L, gui2::widget& w);
33bool luaW_iswidget(lua_State* L, int idx);
34gui2::widget& luaW_checkwidget(lua_State* L, int idx);
35lua_ptr<gui2::widget>& luaW_checkwidget_ptr(lua_State* L, int idx);
36
37
38
39/** [-0, +1, -] */
40void luaW_pushwindowtable(lua_State* L, gui2::window* owner);
41/** [-0, +0, -] */
42void luaW_clearwindowtable(lua_State* L, gui2::window* owner);
43/** [-0, +1, -] */
44void luaW_pushwidgettable(lua_State* L, gui2::widget* wg, gui2::window* owner);
45/** returns true if a callback already existed. [-1, +0, -] */
46bool luaW_setwidgetcallback(lua_State* L, gui2::widget* wg, gui2::window* owner, std::string_view name);
47/** pushed ther callback function onoto the stack [-0, +1, -] */
48void luaW_getwidgetcallback(lua_State* L, gui2::widget* wg, gui2::window* owner, std::string_view name);
49/** callas a widgets callback [-0, +0, e] */
50void luaW_callwidgetcallback(lua_State* L, gui2::widget* wg, gui2::window* owner, std::string_view name);
Base class for all widgets.
Definition widget.hpp:55
base class of top level items, the only item which needs to store the final canvases to draw on.
Definition window.hpp:59
T must inherit enable_lua_ptr<T>
Definition lua_ptr.hpp:66
void luaW_pushwidget(lua_State *L, gui2::widget &w)
void luaW_clearwindowtable(lua_State *L, gui2::window *owner)
[-0, +0, -]
void luaW_pushwindowtable(lua_State *L, gui2::window *owner)
[-0, +1, -]
lua_ptr< gui2::widget > & luaW_checkwidget_ptr(lua_State *L, int idx)
bool luaW_iswidget(lua_State *L, int idx)
bool luaW_setwidgetcallback(lua_State *L, gui2::widget *wg, gui2::window *owner, std::string_view name)
returns true if a callback already existed.
void luaW_getwidgetcallback(lua_State *L, gui2::widget *wg, gui2::window *owner, std::string_view name)
pushed ther callback function onoto the stack [-0, +1, -]
void luaW_pushwidgettable(lua_State *L, gui2::widget *wg, gui2::window *owner)
[-0, +1, -]
gui2::widget & luaW_checkwidget(lua_State *L, int idx)
void luaW_callwidgetcallback(lua_State *L, gui2::widget *wg, gui2::window *owner, std::string_view name)
callas a widgets callback [-0, +0, e]
Generic file dialog.
void register_metatable(lua_State *L)
int w
Definition pathfind.cpp:188