summaryrefslogtreecommitdiff
path: root/src/gui/windows/chatwindow.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/windows/chatwindow.h')
-rw-r--r--src/gui/windows/chatwindow.h406
1 files changed, 0 insertions, 406 deletions
diff --git a/src/gui/windows/chatwindow.h b/src/gui/windows/chatwindow.h
deleted file mode 100644
index 7d02e0fd3..000000000
--- a/src/gui/windows/chatwindow.h
+++ /dev/null
@@ -1,406 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- * Copyright (C) 2011-2017 The ManaPlus Developers
- *
- * This file is part of The ManaPlus Client.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef GUI_WINDOWS_CHATWINDOW_H
-#define GUI_WINDOWS_CHATWINDOW_H
-
-#include "enums/gui/chatmsgtype.h"
-#include "enums/gui/chattabtype.h"
-
-#include "enums/simpletypes/ignorerecord.h"
-#include "enums/simpletypes/tryremovecolors.h"
-
-#include "gui/widgets/window.h"
-
-#include "listeners/actionlistener.h"
-#include "listeners/attributelistener.h"
-#include "listeners/debugmessagelistener.h"
-#include "listeners/keylistener.h"
-
-class Button;
-class ChannelTab;
-class ChatTab;
-class ChatInput;
-class ColorListModel;
-class DropDown;
-class TabbedArea;
-class ItemLinkHandler;
-class WhisperTab;
-
-/**
- * The chat window.
- *
- * \ingroup Interface
- */
-class ChatWindow final : public Window,
- public ActionListener,
- public KeyListener,
- public ConfigListener,
- public AttributeListener,
- public DebugMessageListener
-{
- public:
- /**
- * Constructor.
- */
- explicit ChatWindow(const std::string &name);
-
- A_DELETE_COPY(ChatWindow)
-
- /**
- * Destructor: used to write back values to the config file
- */
- ~ChatWindow();
-
- /**
- * Gets the focused tab.
- */
- ChatTab *getFocused() const A_WARN_UNUSED;
-
- /**
- * Clear the given tab.
- */
- static void clearTab(ChatTab *const tab);
-
- /**
- * Clear the current tab.
- */
- void clearTab() const;
-
- /**
- * Switch to the previous tab in order
- */
- void prevTab();
-
- /**
- * Switch to the next tab in order
- */
- void nextTab();
-
- /**
- * Close current chat tab
- */
- void closeTab() const;
-
- /**
- * Switch to the default tab
- */
- void defaultTab();
-
- /**
- * Performs action.
- */
- void action(const ActionEvent &event) override final;
-
- /**
- * Request focus for typing chat message.
- *
- * \returns true if the input was shown
- * false otherwise
- */
- bool requestChatFocus();
-
- /**
- * Checks whether ChatWindow is Focused or not.
- */
- bool isInputFocused() const A_WARN_UNUSED;
-
- /**
- * Passes the text to the current tab as input
- *
- * @param msg The message text which is to be sent.
- */
- void chatInput(const std::string &msg) const;
-
- /**
- * Passes the text to the local chat tab as input
- *
- * @param msg The message text which is to be sent.
- */
- void localChatInput(const std::string &msg) const;
-
- /** Called when key is pressed */
- void keyPressed(KeyEvent &event) override final;
-
- /** Set the chat input as the given text. */
- void setInputText(const std::string &text);
-
- /** Add the given text to the chat input. */
- void addInputText(const std::string &text, const bool space = true);
-
- /** Called to add item to chat */
- void addItemText(const std::string &item);
-
- /** Override to reset mTmpVisible */
- void setVisible(Visible visible) override final;
-
- /**
- * Handles mouse when dragged.
- */
- void mouseDragged(MouseEvent &event) override final;
-
- /**
- * Handles mouse when pressed.
- */
- void mousePressed(MouseEvent &event) override final;
-
- /**
- * Scrolls the chat window
- *
- * @param amount direction and amount to scroll. Negative numbers scroll
- * up, positive numbers scroll down. The absolute amount indicates the
- * amount of 1/8ths of chat window real estate that should be scrolled.
- */
- void scroll(const int amount) const;
-
- /**
- * Sets the file being recorded to
- *
- * @param msg The file to write out to. If null, then stop recording.
- */
- void setRecordingFile(const std::string &msg);
-
- bool getReturnTogglesChat() const noexcept2 A_WARN_UNUSED
- { return mReturnToggles; }
-
- void setReturnTogglesChat(const bool toggles)
- { mReturnToggles = toggles; }
-
- void doPresent() const;
-
- void addWhisper(const std::string &restrict nick,
- const std::string &restrict mes,
- const ChatMsgTypeT own = ChatMsgType::BY_OTHER);
-
- WhisperTab *addWhisperTab(const std::string &caption,
- const std::string &nick,
- const bool switchTo = false) A_WARN_UNUSED;
-
- WhisperTab *getWhisperTab(const std::string &nick) const A_WARN_UNUSED;
-
- ChatTab *addChannelTab(const std::string &name,
- const bool switchTo = false);
-
- ChatTab *addSpecialChannelTab(const std::string &name,
- const bool switchTo = false);
-
- ChatTab *addChatTab(const std::string &name,
- const bool switchTo,
- const bool join) A_WARN_UNUSED;
-
- void joinRoom(const bool isJoin);
-
- void removeAllWhispers();
-
- void removeAllChannels();
-
- void ignoreAllWhispers();
-
- bool resortChatLog(std::string line, ChatMsgTypeT own,
- const std::string &channel,
- const IgnoreRecord ignoreRecord,
- const TryRemoveColors tryRemoveColors);
-
- static void battleChatLog(const std::string &line,
- ChatMsgTypeT own
- = ChatMsgType::BY_UNKNOWN,
- const IgnoreRecord ignoreRecord
- = IgnoreRecord_false,
- const TryRemoveColors tryRemoveColors
- = TryRemoveColors_true);
-
- void channelChatLog(const std::string &channel,
- const std::string &line,
- ChatMsgTypeT own,
- const IgnoreRecord ignoreRecord,
- const TryRemoveColors tryRemoveColors);
-
- void updateOnline(const std::set<std::string> &onlinePlayers) const;
-
- void loadState();
-
- void saveState() const;
-
- bool saveTab(const int num,
- const ChatTab *const tab) const;
-
- void loadCustomList();
-
- void loadGMCommands();
-
- static std::string doReplace(const std::string &msg) A_WARN_UNUSED;
-
- void adjustTabSize();
-
- void addToAwayLog(const std::string &line);
-
- void displayAwayLog() const;
-
- void clearAwayLog()
- { mAwayLog.clear(); }
-
- void parseHighlights();
-
- void parseGlobalsFilter();
-
- bool findHighlight(const std::string &str) A_WARN_UNUSED;
-
- void copyToClipboard(const int x, const int y) const;
-
- void optionChanged(const std::string &name) override final;
-
- void mouseEntered(MouseEvent& event) override final;
-
- void mouseMoved(MouseEvent &event) override final;
-
- void mouseExited(MouseEvent& event A_UNUSED) override final;
-
- void draw(Graphics *const graphics) override final A_NONNULL(2);
-
- void safeDraw(Graphics *const graphics) override final A_NONNULL(2);
-
- void updateVisibility();
-
- void unHideWindow();
-
- void widgetResized(const Event &event) override final;
-
- void addGlobalMessage(const std::string &line);
-
- void postInit() override final;
-
- bool isTabPresent(const ChatTab *const tab) const A_WARN_UNUSED;
-
- void selectTabByType(const ChatTabTypeT &type);
-
- void attributeChanged(const AttributesT id,
- const int64_t oldVal,
- const int64_t newVal) override final;
-
- void postConnection();
-
- void showGMTab();
-
- void debugMessage(const std::string &msg) override final;
-
- void scheduleDelete() override final;
-
-#ifdef USE_PROFILER
- void logicChildren();
-#endif // USE_PROFILER
-
- protected:
- friend class ChannelTab;
- friend class ChatTab;
- friend class WhisperTab;
- friend class PopupMenu;
-
- typedef std::list<std::string> History;
-
- /** Remove the given tab from the window */
- void removeTab(ChatTab *const tab);
-
- /** Add the tab to the window */
- void addTab(ChatTab *const tab);
-
- void removeWhisper(const std::string &nick);
-
- void removeChannel(const std::string &nick);
-
- void autoComplete();
-
- std::string addColors(std::string &msg);
-
- std::string autoCompleteHistory(const std::string &partName) const;
-
- std::string autoComplete(const std::string &partName,
- const History *const words) const;
-
- static std::string autoComplete(const StringVect &names,
- std::string partName);
-
- /** Used for showing item popup on clicking links **/
- ItemLinkHandler *mItemLinkHandler A_NONNULLPOINTER;
-
- /** Tabbed area for holding each channel. */
- TabbedArea *mChatTabs A_NONNULLPOINTER;
-
- /** Input box for typing chat messages. */
- ChatInput *mChatInput A_NONNULLPOINTER;
-
- void initTradeFilter();
-
- void toggleChatFocus();
-
- unsigned int mRainbowColor;
-
- private:
- void fillCommands();
-
- void loadCommandsFile(const std::string &name);
-
- void updateTabsMargin();
-
- bool addCurrentToHistory();
-
- typedef std::map<const std::string, WhisperTab*> TabMap;
- typedef std::map<const std::string, ChannelTab*> ChannelMap;
-
- /** Manage whisper tabs */
- TabMap mWhispers;
- ChannelMap mChannels;
-
- typedef History::iterator HistoryIterator;
- History mHistory; /**< Command history. */
- HistoryIterator mCurHist; /**< History iterator. */
-
- typedef std::list<std::string> ChatCommands;
- typedef ChatCommands::iterator ChatCommandsIterator;
- History mCommands; /**< Command list. */
- History mCustomWords;
-
- StringVect mTradeFilter;
-
- ColorListModel *mColorListModel A_NONNULLPOINTER;
- DropDown *mColorPicker A_NONNULLPOINTER;
- Button *mChatButton A_NONNULLPOINTER;
- std::list<std::string> mAwayLog;
- StringVect mHighlights;
- StringVect mGlobalsFilter;
- int mChatColor;
- int mEmoteButtonSpacing;
- int mEmoteButtonY;
- unsigned int mChatHistoryIndex;
- bool mReturnToggles; // Marks whether <Return> toggles the chat log
- // or not
- bool mGMLoaded;
- bool mHaveMouse;
- bool mAutoHide;
- bool mShowBattleEvents;
- bool mShowAllLang;
- bool mEnableTradeFilter;
- bool mTmpVisible;
-};
-
-extern ChatWindow *chatWindow;
-
-#endif // GUI_WINDOWS_CHATWINDOW_H