X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2FguiChatConsole.h;h=3013a1d3134d905d4c0c4424cda38b2d6e30bb72;hb=65c09a96f41705bb8e75fc5ff4276342be91ed11;hp=652b265a42d677f0e468e3651821075f114e9182;hpb=a19ec3328ceab7f8ea37748afcdcfcc2d6d2653d;p=minetest.git diff --git a/src/guiChatConsole.h b/src/guiChatConsole.h index 652b265a4..3013a1d31 100644 --- a/src/guiChatConsole.h +++ b/src/guiChatConsole.h @@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #define GUICHATCONSOLE_HEADER #include "irrlichttypes_extrabloated.h" +#include "modalMenu.h" #include "chat.h" #include "config.h" @@ -33,7 +34,8 @@ class GUIChatConsole : public gui::IGUIElement gui::IGUIElement* parent, s32 id, ChatBackend* backend, - Client* client); + Client* client, + IMenuManager* menumgr); virtual ~GUIChatConsole(); // Open the console (height = desired fraction of screen size) @@ -51,11 +53,16 @@ class GUIChatConsole : public gui::IGUIElement void closeConsole(); // Close the console immediately, without animation. void closeConsoleAtOnce(); + // Set whether to close the console after the user presses enter. + void setCloseOnEnter(bool close) { m_close_on_enter = close; } // Return the desired height (fraction of screen size) // Zero if the console is closed or getting closed f32 getDesiredHeight() const; + // Replace actual line when adding the actual to the history (if there is any) + void replaceAndAddToHistory(std::wstring line); + // Change how the cursor looks void setCursor( bool visible, @@ -70,6 +77,8 @@ class GUIChatConsole : public gui::IGUIElement virtual bool OnEvent(const SEvent& event); + virtual void setVisible(bool visible); + private: void reformatConsole(); void recalculateConsolePosition(); @@ -81,11 +90,9 @@ class GUIChatConsole : public gui::IGUIElement void drawPrompt(); private: - // pointer to the chat backend ChatBackend* m_chat_backend; - - // pointer to the client Client* m_client; + IMenuManager* m_menumgr; // current screen size v2u32 m_screensize; @@ -95,6 +102,8 @@ class GUIChatConsole : public gui::IGUIElement // should the console be opened or closed? bool m_open; + // should it close after you press enter? + bool m_close_on_enter; // current console height [pixels] s32 m_height; // desired height [pixels]