mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Add scroll_container formspec element (redo) (#9101)
New formspec elements: - `scroll_container[<X>,<Y>;<W>,<H>;<scrollbar name>;<orientation>;<scroll factor>]` - `scroll_container_end[]` Other elements can be embedded in this element. Scrollbar must be placed manually.
This commit is contained in:
parent
6cf15cf872
commit
0ac999ded7
11 changed files with 411 additions and 50 deletions
|
@ -39,6 +39,7 @@ class ISimpleTextureSource;
|
|||
class Client;
|
||||
class GUIScrollBar;
|
||||
class TexturePool;
|
||||
class GUIScrollContainer;
|
||||
|
||||
typedef enum {
|
||||
f_Button,
|
||||
|
@ -310,6 +311,7 @@ protected:
|
|||
std::vector<std::pair<FieldSpec, GUIScrollBar *>> m_scrollbars;
|
||||
std::vector<std::pair<FieldSpec, std::vector<std::string>>> m_dropdowns;
|
||||
std::vector<gui::IGUIElement *> m_clickthrough_elements;
|
||||
std::vector<std::pair<std::string, GUIScrollContainer *>> m_scroll_containers;
|
||||
|
||||
GUIInventoryList::ItemSpec *m_selected_item = nullptr;
|
||||
u16 m_selected_amount = 0;
|
||||
|
@ -359,6 +361,7 @@ private:
|
|||
std::string focused_fieldname;
|
||||
GUITable::TableOptions table_options;
|
||||
GUITable::TableColumns table_columns;
|
||||
gui::IGUIElement *current_parent = nullptr;
|
||||
|
||||
GUIInventoryList::Options inventorylist_options;
|
||||
|
||||
|
@ -391,6 +394,8 @@ private:
|
|||
void parseSize(parserData* data, const std::string &element);
|
||||
void parseContainer(parserData* data, const std::string &element);
|
||||
void parseContainerEnd(parserData* data);
|
||||
void parseScrollContainer(parserData *data, const std::string &element);
|
||||
void parseScrollContainerEnd(parserData *data);
|
||||
void parseList(parserData* data, const std::string &element);
|
||||
void parseListRing(parserData* data, const std::string &element);
|
||||
void parseCheckbox(parserData* data, const std::string &element);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue