diff options
Diffstat (limited to 'src/gui/guiFormSpecMenu.h')
-rw-r--r-- | src/gui/guiFormSpecMenu.h | 207 |
1 files changed, 92 insertions, 115 deletions
diff --git a/src/gui/guiFormSpecMenu.h b/src/gui/guiFormSpecMenu.h index 613acaa04..ea9731258 100644 --- a/src/gui/guiFormSpecMenu.h +++ b/src/gui/guiFormSpecMenu.h @@ -41,7 +41,8 @@ class Client; class TexturePool; class GUIScrollContainer; -typedef enum { +typedef enum +{ f_Button, f_Table, f_TabHeader, @@ -55,7 +56,8 @@ typedef enum { f_Unknown } FormspecFieldType; -typedef enum { +typedef enum +{ quit_mode_no, quit_mode_accept, quit_mode_cancel @@ -88,9 +90,9 @@ class GUIFormSpecMenu : public GUIModalMenu ListRingSpec() = default; ListRingSpec(const InventoryLocation &a_inventoryloc, - const std::string &a_listname): - inventoryloc(a_inventoryloc), - listname(a_listname) + const std::string &a_listname) : + inventoryloc(a_inventoryloc), + listname(a_listname) { } @@ -103,17 +105,15 @@ class GUIFormSpecMenu : public GUIModalMenu FieldSpec() = default; FieldSpec(const std::string &name, const std::wstring &label, - const std::wstring &default_text, s32 id, int priority = 0, + const std::wstring &default_text, s32 id, + int priority = 0, gui::ECURSOR_ICON cursor_icon = ECI_NORMAL) : - fname(name), - flabel(label), - fdefault(unescape_enriched(translate_string(default_text))), - fid(id), - send(false), - ftype(f_Unknown), - is_exit(false), - priority(priority), - fcursor_icon(cursor_icon) + fname(name), + flabel(label), + fdefault(unescape_enriched( + translate_string(default_text))), + fid(id), send(false), ftype(f_Unknown), is_exit(false), + priority(priority), fcursor_icon(cursor_icon) { } @@ -134,10 +134,9 @@ class GUIFormSpecMenu : public GUIModalMenu { TooltipSpec() = default; TooltipSpec(const std::wstring &a_tooltip, irr::video::SColor a_bgcolor, - irr::video::SColor a_color): - tooltip(translate_string(a_tooltip)), - bgcolor(a_bgcolor), - color(a_color) + irr::video::SColor a_color) : + tooltip(translate_string(a_tooltip)), + bgcolor(a_bgcolor), color(a_color) { } @@ -147,21 +146,16 @@ class GUIFormSpecMenu : public GUIModalMenu }; public: - GUIFormSpecMenu(JoystickController *joystick, - gui::IGUIElement* parent, s32 id, - IMenuManager *menumgr, - Client *client, - ISimpleTextureSource *tsrc, - IFormSource* fs_src, - TextDest* txt_dst, - const std::string &formspecPrepend, - bool remap_dbl_click = true); + GUIFormSpecMenu(JoystickController *joystick, gui::IGUIElement *parent, s32 id, + IMenuManager *menumgr, Client *client, ISimpleTextureSource *tsrc, + IFormSource *fs_src, TextDest *txt_dst, + const std::string &formspecPrepend, bool remap_dbl_click = true); ~GUIFormSpecMenu(); static void create(GUIFormSpecMenu *&cur_formspec, Client *client, - JoystickController *joystick, IFormSource *fs_src, TextDest *txt_dest, - const std::string &formspecPrepend); + JoystickController *joystick, IFormSource *fs_src, + TextDest *txt_dest, const std::string &formspecPrepend); void setFormSpec(const std::string &formspec_string, const InventoryLocation ¤t_inventory_location) @@ -196,12 +190,9 @@ public: m_text_dst = text_dst; } - void allowClose(bool value) - { - m_allowclose = value; - } + void allowClose(bool value) { m_allowclose = value; } - void lockSize(bool lock,v2u32 basescreensize=v2u32(0,0)) + void lockSize(bool lock, v2u32 basescreensize = v2u32(0, 0)) { m_lock = lock; m_lockscreensize = basescreensize; @@ -210,30 +201,18 @@ public: void removeChildren(); void setInitialFocus(); - void setFocus(const std::string &elementname) - { - m_focused_element = elementname; - } + void setFocus(const std::string &elementname) { m_focused_element = elementname; } - Client *getClient() const - { - return m_client; - } + Client *getClient() const { return m_client; } const GUIInventoryList::ItemSpec *getSelectedItem() const { return m_selected_item; } - const u16 getSelectedAmount() const - { - return m_selected_amount; - } + const u16 getSelectedAmount() const { return m_selected_amount; } - bool doTooltipAppendItemname() const - { - return m_tooltip_append_itemname; - } + bool doTooltipAppendItemname() const { return m_tooltip_append_itemname; } void addHoveredItemTooltip(const std::string &name) { @@ -252,13 +231,13 @@ public: ItemStack verifySelectedItem(); void acceptInput(FormspecQuitMode quitmode); - bool preprocessEvent(const SEvent& event); - bool OnEvent(const SEvent& event); + bool preprocessEvent(const SEvent &event); + bool OnEvent(const SEvent &event); bool doPause; bool pausesGame() { return doPause; } - GUITable* getTable(const std::string &tablename); - std::vector<std::string>* getDropDownValues(const std::string &name); + GUITable *getTable(const std::string &tablename); + std::vector<std::string> *getDropDownValues(const std::string &name); #ifdef __ANDROID__ bool getAndroidUIInput(); @@ -267,7 +246,7 @@ public: protected: v2s32 getBasePos() const { - return padding + offset + AbsoluteRect.UpperLeftCorner; + return padding + offset + AbsoluteRect.UpperLeftCorner; } std::wstring getLabelByID(s32 id); std::string getNameByID(s32 id); @@ -281,9 +260,11 @@ protected: std::unordered_set<std::string> property_warned; StyleSpec getDefaultStyleForElement(const std::string &type, - const std::string &name="", const std::string &parent_type=""); - std::array<StyleSpec, StyleSpec::NUM_STATES> getStyleForElement(const std::string &type, - const std::string &name="", const std::string &parent_type=""); + const std::string &name = "", + const std::string &parent_type = ""); + std::array<StyleSpec, StyleSpec::NUM_STATES> getStyleForElement( + const std::string &type, const std::string &name = "", + const std::string &parent_type = ""); v2s32 padding; v2f32 spacing; @@ -345,15 +326,16 @@ protected: video::SColor m_default_tooltip_color; private: - IFormSource *m_form_src; - TextDest *m_text_dst; - std::string m_last_formname; - u16 m_formspec_version = 1; - std::string m_focused_element = ""; + IFormSource *m_form_src; + TextDest *m_text_dst; + std::string m_last_formname; + u16 m_formspec_version = 1; + std::string m_focused_element = ""; JoystickController *m_joystick; bool m_show_debug = false; - typedef struct { + typedef struct + { bool explicit_size; bool real_coordinates; u8 simple_field_count; @@ -370,20 +352,23 @@ private: GUIInventoryList::Options inventorylist_options; - struct { + struct + { s32 max = 1000; s32 min = 0; s32 small_step = 10; s32 large_step = 100; s32 thumb_size = 1; - GUIScrollBar::ArrowVisibility arrow_visiblity = GUIScrollBar::DEFAULT; + GUIScrollBar::ArrowVisibility arrow_visiblity = + GUIScrollBar::DEFAULT; } scrollbar_options; // used to restore table selection/scroll/treeview state std::unordered_map<std::string, GUITable::DynamicData> table_dyndata; } parserData; - typedef struct { + typedef struct + { bool key_up; bool key_down; bool key_enter; @@ -394,49 +379,50 @@ private: std::string current_field_enter_pending = ""; std::vector<std::string> m_hovered_item_tooltips; - void parseElement(parserData* data, const std::string &element); + void parseElement(parserData *data, const std::string &element); - void parseSize(parserData* data, const std::string &element); - void parseContainer(parserData* data, const std::string &element); - void parseContainerEnd(parserData* data); + 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); - void parseImage(parserData* data, const std::string &element); + void parseList(parserData *data, const std::string &element); + void parseListRing(parserData *data, const std::string &element); + void parseCheckbox(parserData *data, const std::string &element); + void parseImage(parserData *data, const std::string &element); void parseAnimatedImage(parserData *data, const std::string &element); - void parseItemImage(parserData* data, const std::string &element); - void parseButton(parserData* data, const std::string &element, + void parseItemImage(parserData *data, const std::string &element); + void parseButton(parserData *data, const std::string &element, const std::string &typ); - void parseBackground(parserData* data, const std::string &element); - void parseTableOptions(parserData* data, const std::string &element); - void parseTableColumns(parserData* data, const std::string &element); - void parseTable(parserData* data, const std::string &element); - void parseTextList(parserData* data, const std::string &element); - void parseDropDown(parserData* data, const std::string &element); + void parseBackground(parserData *data, const std::string &element); + void parseTableOptions(parserData *data, const std::string &element); + void parseTableColumns(parserData *data, const std::string &element); + void parseTable(parserData *data, const std::string &element); + void parseTextList(parserData *data, const std::string &element); + void parseDropDown(parserData *data, const std::string &element); void parseFieldCloseOnEnter(parserData *data, const std::string &element); - void parsePwdField(parserData* data, const std::string &element); - void parseField(parserData* data, const std::string &element, const std::string &type); - void createTextField(parserData *data, FieldSpec &spec, - core::rect<s32> &rect, bool is_multiline); - void parseSimpleField(parserData* data,std::vector<std::string> &parts); - void parseTextArea(parserData* data,std::vector<std::string>& parts, + void parsePwdField(parserData *data, const std::string &element); + void parseField(parserData *data, const std::string &element, + const std::string &type); + void createTextField(parserData *data, FieldSpec &spec, core::rect<s32> &rect, + bool is_multiline); + void parseSimpleField(parserData *data, std::vector<std::string> &parts); + void parseTextArea(parserData *data, std::vector<std::string> &parts, const std::string &type); void parseHyperText(parserData *data, const std::string &element); - void parseLabel(parserData* data, const std::string &element); - void parseVertLabel(parserData* data, const std::string &element); - void parseImageButton(parserData* data, const std::string &element, + void parseLabel(parserData *data, const std::string &element); + void parseVertLabel(parserData *data, const std::string &element); + void parseImageButton(parserData *data, const std::string &element, const std::string &type); - void parseItemImageButton(parserData* data, const std::string &element); - void parseTabHeader(parserData* data, const std::string &element); - void parseBox(parserData* data, const std::string &element); - void parseBackgroundColor(parserData* data, const std::string &element); - void parseListColors(parserData* data, const std::string &element); - void parseTooltip(parserData* data, const std::string &element); + void parseItemImageButton(parserData *data, const std::string &element); + void parseTabHeader(parserData *data, const std::string &element); + void parseBox(parserData *data, const std::string &element); + void parseBackgroundColor(parserData *data, const std::string &element); + void parseListColors(parserData *data, const std::string &element); + void parseTooltip(parserData *data, const std::string &element); bool parseVersionDirect(const std::string &data); - bool parseSizeDirect(parserData* data, const std::string &element); - void parseScrollBar(parserData* data, const std::string &element); + bool parseSizeDirect(parserData *data, const std::string &element); + void parseScrollBar(parserData *data, const std::string &element); void parseScrollBarOptions(parserData *data, const std::string &element); bool parsePositionDirect(parserData *data, const std::string &element); void parsePosition(parserData *data, const std::string &element); @@ -448,7 +434,7 @@ private: void tryClose(); void showTooltip(const std::wstring &text, const irr::video::SColor &color, - const irr::video::SColor &bgcolor); + const irr::video::SColor &bgcolor); /** * In formspec version < 2 the elements were not ordered properly. Some element @@ -461,25 +447,16 @@ private: gui::IGUIFont *m_font = nullptr; }; -class FormspecFormSource: public IFormSource +class FormspecFormSource : public IFormSource { public: - FormspecFormSource(const std::string &formspec): - m_formspec(formspec) - { - } + FormspecFormSource(const std::string &formspec) : m_formspec(formspec) {} ~FormspecFormSource() = default; - void setForm(const std::string &formspec) - { - m_formspec = formspec; - } + void setForm(const std::string &formspec) { m_formspec = formspec; } - const std::string &getForm() const - { - return m_formspec; - } + const std::string &getForm() const { return m_formspec; } std::string m_formspec; }; |