summaryrefslogtreecommitdiff
path: root/src/gui/chat.h
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2011-04-04 04:03:47 +0300
committerAndrei Karas <akaras@inbox.ru>2011-04-04 04:03:47 +0300
commitfc1de272d5e3d9f5666ecd792d770b63dce7d8e4 (patch)
tree182ad496d842037b4fda7a8be70f4863a2eaa2ca /src/gui/chat.h
parentd18b9616bbe54db5d33363a197c8b9efa6161fa8 (diff)
downloadmv-fc1de272d5e3d9f5666ecd792d770b63dce7d8e4.tar.gz
mv-fc1de272d5e3d9f5666ecd792d770b63dce7d8e4.tar.bz2
mv-fc1de272d5e3d9f5666ecd792d770b63dce7d8e4.tar.xz
mv-fc1de272d5e3d9f5666ecd792d770b63dce7d8e4.zip
Rename some gui class files to real class names.
Diffstat (limited to 'src/gui/chat.h')
-rw-r--r--src/gui/chat.h319
1 files changed, 0 insertions, 319 deletions
diff --git a/src/gui/chat.h b/src/gui/chat.h
deleted file mode 100644
index 58405405d..000000000
--- a/src/gui/chat.h
+++ /dev/null
@@ -1,319 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- * Copyright (C) 2011 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 CHAT_H
-#define CHAT_H
-
-#include "listener.h"
-
-#include "gui/widgets/window.h"
-
-#include <guichan/actionlistener.hpp>
-#include <guichan/keylistener.hpp>
-#include <guichan/widget.hpp>
-#include <guichan/widgetlistener.hpp>
-
-#include <list>
-#include <string>
-#include <map>
-#include <vector>
-#include <set>
-
-#ifdef __GNUC__
-#define _UNUSED_ __attribute__ ((unused))
-#else
-#define _UNUSED_
-#endif
-
-class BrowserBox;
-class ChatTab;
-class Channel;
-class ChatInput;
-class ColorListModel;
-class ScrollArea;
-class TabbedArea;
-class ItemLinkHandler;
-class Tab;
-class WhisperTab;
-
-#define DEFAULT_CHAT_WINDOW_SCROLL 7 // 1 means `1/8th of the window size'.
-
-enum Own
-{
- BY_GM = 0,
- BY_PLAYER,
- BY_OTHER,
- BY_SERVER,
- BY_CHANNEL,
- ACT_WHISPER, // getting whispered at
- ACT_IS, // equivalent to "/me" on IRC
- BY_LOGGER,
- BY_UNKNOWN = -1
-};
-
-/** One item in the chat log */
-struct CHATLOG
-{
- std::string nick;
- std::string text;
- Own own;
-};
-
-/**
- * The chat window.
- *
- * \ingroup Interface
- */
-class ChatWindow : public Window,
- public gcn::ActionListener,
- public gcn::KeyListener,
- public Mana::Listener
-{
- public:
- /**
- * Constructor.
- */
- ChatWindow();
-
- /**
- * Destructor: used to write back values to the config file
- */
- ~ChatWindow();
-
- /**
- * Reset the chat window to default positions.
- */
- void resetToDefaultSize();
-
- /**
- * Gets the focused tab.
- */
- ChatTab *getFocused() const;
-
- /**
- * Clear the given tab.
- */
- void clearTab(ChatTab *tab);
-
- /**
- * Clear the current tab.
- */
- void clearTab();
-
- /**
- * Switch to the previous tab in order
- */
- void prevTab();
-
- /**
- * Switch to the next tab in order
- */
- void nextTab();
-
- /**
- * Switch to the default tab
- */
- void defaultTab();
-
- /**
- * Performs action.
- */
- void action(const gcn::ActionEvent &event);
-
- /**
- * 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;
-
- /**
- * 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);
-
- /**
- * 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);
-
- /** Called when key is pressed */
- void keyPressed(gcn::KeyEvent &event);
-
- /** 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, bool space = true);
-
- /** Called to add item to chat */
- void addItemText(const std::string &item);
-
- /** Override to reset mTmpVisible */
- void setVisible(bool visible);
-
- /**
- * Handles mouse when dragged.
- */
- void mouseDragged(gcn::MouseEvent &event);
-
- /**
- * Handles mouse when pressed.
- */
- void mousePressed(gcn::MouseEvent &event);
-
- void event(Channels channel, const Mana::Event &event);
-
- /**
- * 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(int amount);
-
- /**
- * 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
- { return mReturnToggles; }
-
- void setReturnTogglesChat(bool toggles)
- { mReturnToggles = toggles; }
-
- void doPresent();
-
- void whisper(const std::string &nick, const std::string &mes,
- Own own = BY_OTHER);
-
- ChatTab *addWhisperTab(const std::string &nick, bool switchTo = false);
-
- ChatTab *getWhisperTab(const std::string &nick) const;
-
- void removeAllWhispers();
-
- void ignoreAllWhispers();
-
- void resortChatLog(std::string line, Own own = BY_UNKNOWN,
- bool ignoreRecord = false,
- bool tryRemoveColors = true);
-
- void battleChatLog(std::string line, Own own = BY_UNKNOWN,
- bool ignoreRecord = false,
- bool tryRemoveColors = true);
-
- void updateOnline(std::set<std::string> &onlinePlayers);
-
- void loadState();
-
- void saveState();
-
- std::string doReplace(const std::string &msg);
-
- protected:
- friend class ChatTab;
- friend class WhisperTab;
- friend class PopupMenu;
-
- /** Remove the given tab from the window */
- void removeTab(ChatTab *tab);
-
- /** Add the tab to the window */
- void addTab(ChatTab *tab);
-
- void removeWhisper(const std::string &nick);
-
- void adjustTabSize();
-
- void autoComplete();
-
- std::string addColors(std::string &msg);
-
- std::string autoCompleteHistory(std::string partName);
-
- std::string autoCompleteCommands(std::string partName);
-
- std::string autoComplete(std::vector<std::string> &names,
- std::string partName) const;
-
- /** Used for showing item popup on clicking links **/
- ItemLinkHandler *mItemLinkHandler;
-
- /** Input box for typing chat messages. */
- ChatInput *mChatInput;
-
- void widgetResized(const gcn::Event &event);
-
- void initTradeFilter();
-
- int mRainbowColor;
-
- private:
- void fillCommands();
-
- bool mTmpVisible;
-
- /** Tabbed area for holding each channel. */
- TabbedArea *mChatTabs;
-
- typedef std::map<const std::string, ChatTab*> TabMap;
- /** Manage whisper tabs */
- TabMap mWhispers;
-
- typedef std::list<std::string> History;
- typedef History::iterator HistoryIterator;
- History mHistory; /**< Command history. */
- HistoryIterator mCurHist; /**< History iterator. */
-
- typedef std::list<std::string> Commands;
- typedef Commands::iterator CommandsIterator;
- History mCommands; /**< Command list. */
-
- bool mReturnToggles; /**< Marks whether <Return> toggles the chat log
- or not */
-
- std::list<std::string> mTradeFilter;
-
- gcn::DropDown *mColorPicker;
- ColorListModel *mColorListModel;
- int mChatColor;
- unsigned int mChatHistoryIndex;
-};
-
-extern ChatWindow *chatWindow;
-
-#endif