]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/guiFormSpecMenu.h
Add curl, freetype and luaJIT to CMAKE_BUILD_INFO
[dragonfireclient.git] / src / guiFormSpecMenu.h
index f8d7ff1fb24136332209e92e040f456c4077c9e1..c244e458f08105141e2fa3f6a85cf3acf5dad119 100644 (file)
@@ -30,6 +30,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 class IGameDef;
 class InventoryManager;
+class ISimpleTextureSource;
 
 typedef enum {
        f_Button,
@@ -176,7 +177,8 @@ class GUIFormSpecMenu : public GUIModalMenu
                        gui::IGUIElement* parent, s32 id,
                        IMenuManager *menumgr,
                        InventoryManager *invmgr,
-                       IGameDef *gamedef
+                       IGameDef *gamedef,
+                       ISimpleTextureSource *tsrc
                        );
 
        ~GUIFormSpecMenu();
@@ -206,16 +208,13 @@ class GUIFormSpecMenu : public GUIModalMenu
                m_allowclose = value;
        }
 
-       void useGettext(bool value) {
-               m_use_gettext = true;
-       }
-
        void lockSize(bool lock,v2u32 basescreensize=v2u32(0,0)) {
                m_lock = lock;
                m_lockscreensize = basescreensize;
        }
 
        void removeChildren();
+       void setInitialFocus();
        /*
                Remove and re-add (or reposition) stuff
        */
@@ -229,6 +228,7 @@ class GUIFormSpecMenu : public GUIModalMenu
        ItemStack verifySelectedItem();
 
        void acceptInput();
+       bool preprocessEvent(const SEvent& event);
        bool OnEvent(const SEvent& event);
 
        int getListboxIndex(std::string listboxname);
@@ -247,6 +247,7 @@ class GUIFormSpecMenu : public GUIModalMenu
        irr::IrrlichtDevice* m_device;
        InventoryManager *m_invmgr;
        IGameDef *m_gamedef;
+       ISimpleTextureSource *m_tsrc;
 
        std::string m_formspec_string;
        InventoryLocation m_current_inventory_location;
@@ -282,7 +283,6 @@ class GUIFormSpecMenu : public GUIModalMenu
        gui::IGUIStaticText *m_tooltip_element;
 
        bool m_allowclose;
-       bool m_use_gettext;
        bool m_lock;
        v2u32 m_lockscreensize;
 private:
@@ -293,6 +293,7 @@ class GUIFormSpecMenu : public GUIModalMenu
                v2s32 basepos;
                int bp_set;
                v2u32 screensize;
+               std::wstring focused_fieldname;
                std::map<std::wstring,int> listbox_selections;
                std::map<std::wstring,int> listbox_scroll;
        } parserData;
@@ -304,8 +305,6 @@ class GUIFormSpecMenu : public GUIModalMenu
                bool key_escape;
        } fs_key_pendig;
 
-       std::vector<video::ITexture *> m_Textures;
-
        fs_key_pendig current_keys_pending;
 
        // Determine whether listbox click was double click