summaryrefslogtreecommitdiff
path: root/src/gui/windows/npcdialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/windows/npcdialog.h')
-rw-r--r--src/gui/windows/npcdialog.h324
1 files changed, 0 insertions, 324 deletions
diff --git a/src/gui/windows/npcdialog.h b/src/gui/windows/npcdialog.h
deleted file mode 100644
index 4680d774d..000000000
--- a/src/gui/windows/npcdialog.h
+++ /dev/null
@@ -1,324 +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_NPCDIALOG_H
-#define GUI_WINDOWS_NPCDIALOG_H
-
-#include "enums/simpletypes/beingid.h"
-#include "enums/simpletypes/beingtypeid.h"
-
-#include "enums/gui/npcactionstate.h"
-#include "enums/gui/npcinputstate.h"
-
-#include "gui/models/extendedlistmodel.h"
-
-#include "gui/widgets/window.h"
-
-#include "listeners/actionlistener.h"
-
-class Being;
-class Button;
-class BrowserBox;
-class ComplexInventory;
-class ComplexItem;
-class Container;
-class ExtendedListBox;
-class Item;
-class ItemLinkHandler;
-class Inventory;
-class IntTextField;
-class ItemContainer;
-class NpcDialog;
-class PlayerBox;
-class ScrollArea;
-class TextField;
-
-struct NpcDialogInfo;
-
-typedef std::map<BeingId, NpcDialog*> NpcDialogs;
-
-/**
- * The npc dialog.
- *
- * \ingroup Interface
- */
-class NpcDialog final : public Window,
- public ActionListener,
- public ExtendedListModel,
- public ConfigListener
-{
- public:
- /**
- * Constructor.
- *
- * @see Window::Window
- */
- explicit NpcDialog(const BeingId npcId);
-
- A_DELETE_COPY(NpcDialog)
-
- ~NpcDialog();
-
- void postInit() override final;
-
- /**
- * Called when receiving actions from the widgets.
- */
- void action(const ActionEvent &event) override final;
-
- /**
- * Sets the text shows in the dialog.
- *
- * @param string The new text.
- */
-// void setText(const std::string &string);
-
- /**
- * Adds the text to the text shows in the dialog. Also adds a newline
- * to the end.
- *
- * @param string The text to add.
- */
- void addText(const std::string &string, const bool save = true);
-
- /**
- * When called, the widget will show a "Next" button.
- */
- void showNextButton();
-
- /**
- * When called, the widget will show a "Close" button and will close
- * the dialog when clicked.
- */
- void showCloseButton();
-
- /**
- * Notifies the server that client has performed a next action.
- */
- void nextDialog();
-
- /**
- * Notifies the server that the client has performed a close action.
- */
- void closeDialog();
-
- /**
- * Returns the number of items in the choices list.
- */
- int getNumberOfElements() override final A_WARN_UNUSED;
-
- /**
- * Returns the name of item number i of the choices list.
- */
- std::string getElementAt(int i) override final A_WARN_UNUSED;
-
- /**
- * Returns the image of item number i of the choices list.
- */
- const Image *getImageAt(int i) override final A_WARN_UNUSED;
-
- /**
- * Makes this dialog request a choice selection from the user.
- */
- void choiceRequest();
-
- /**
- * Adds a choice to the list box.
- */
- void addChoice(const std::string &);
-
- /**
- * Fills the options list for an NPC dialog.
- *
- * @param itemString A string with the options separated with colons.
- */
- void parseListItems(const std::string &itemString);
-
- /**
- * Requests a text string from the user.
- */
- void textRequest(const std::string &defaultText = "");
-
- bool isInputFocused() const A_WARN_UNUSED;
-
- bool isTextInputFocused() const A_WARN_UNUSED;
-
- static bool isAnyInputFocused() A_WARN_UNUSED;
-
- /**
- * Requests a interger from the user.
- */
- void integerRequest(const int defaultValue = 0, const int min = 0,
- const int max = 2147483647);
-
- void itemRequest(const int size);
-
- void itemIndexRequest(const int size);
-
- void itemCraftRequest(const int size);
-
- void move(const int amount);
-
- void setVisible(Visible visible) override final;
-
- void optionChanged(const std::string &name) override final;
-
- /**
- * Returns true if any instances exist.
- */
- static bool isActive() A_WARN_UNUSED
- { return !instances.empty(); }
-
- /**
- * Returns the first active instance. Useful for pushing user
- * interaction.
- */
- static NpcDialog *getActive() A_WARN_UNUSED;
-
- /**
- * Closes all instances.
- */
- static void closeAll();
-
- /**
- * Closes all instances and destroy also net handler dialogs.
- */
- static void destroyAll();
-
- void saveCamera();
-
- void restoreCamera();
-
- void refocus();
-
- void showAvatar(const BeingTypeId avatarId);
-
- void setAvatarDirection(const uint8_t direction);
-
- void setAvatarAction(const int actionId);
-
- void logic() override final;
-
- void clearRows();
-
- void mousePressed(MouseEvent &event) override final;
-
- int isCloseState() const
- { return static_cast<int>(mActionState == NpcActionState::CLOSE); }
-
- void setSkin(const std::string &skin);
-
- void addCraftItem(Item *const item,
- const int amount,
- const int slot);
-
- NpcInputStateT getInputState()
- { return mInputState; }
-
- void copyToClipboard(const int x, const int y) const;
-
- static NpcDialogs mNpcDialogs;
-
- static void clearDialogs();
-
- private:
- typedef std::list<NpcDialog*> DialogList;
- static DialogList instances;
-
- void buildLayout();
-
- void placeNormalControls();
-
- void placeMenuControls();
-
- void placeSkinControls();
-
- void placeTextInputControls();
-
- void placeIntInputControls();
-
- void placeItemInputControls();
-
- void createSkinControls();
-
- void deleteSkinControls();
-
- void restoreVirtuals();
-
- std::string complexItemToStr(const ComplexItem *const item);
-
- BeingId mNpcId;
-
- int mDefaultInt;
- std::string mDefaultString;
-
- // Used for the main input area
- BrowserBox *mTextBox A_NONNULLPOINTER;
- ScrollArea *mScrollArea A_NONNULLPOINTER;
- std::string mText;
- std::string mNewText;
-
- // Used for choice input
- StringVect mItems;
- STD_VECTOR<Image *> mImages;
- ExtendedListBox *mItemList A_NONNULLPOINTER;
- ScrollArea *mListScrollArea A_NONNULLPOINTER;
- Container *mSkinContainer A_NONNULLPOINTER;
- ScrollArea *mSkinScrollArea A_NONNULLPOINTER;
- ItemLinkHandler *mItemLinkHandler A_NONNULLPOINTER;
-
- // Used for string and integer input
- TextField *mTextField A_NONNULLPOINTER;
- IntTextField *mIntField A_NONNULLPOINTER;
- Button *mPlusButton A_NONNULLPOINTER;
- Button *mMinusButton A_NONNULLPOINTER;
- Button *mClearButton A_NONNULLPOINTER;
-
- // Used for the button
- Button *mButton A_NONNULLPOINTER;
- Button *mButton2 A_NONNULLPOINTER;
- Button *mButton3 A_NONNULLPOINTER;
-
- // Will reset the text and integer input to the provided default
- Button *mResetButton A_NONNULLPOINTER;
-
- Inventory *mInventory A_NONNULLPOINTER;
- ComplexInventory *mComplexInventory A_NONNULLPOINTER;
- ItemContainer *mItemContainer A_NONNULLPOINTER;
- ScrollArea *mItemScrollArea A_NONNULLPOINTER;
-
- NpcInputStateT mInputState;
- NpcActionStateT mActionState;
- STD_VECTOR<Widget*> mSkinControls;
- std::string mSkinName;
- PlayerBox *mPlayerBox A_NONNULLPOINTER;
- Being *mAvatarBeing;
- const NpcDialogInfo *mDialogInfo;
- int mLastNextTime;
- int mCameraMode;
- int mCameraX;
- int mCameraY;
- bool mShowAvatar;
- bool mLogInteraction;
-};
-
-#endif // GUI_WINDOWS_NPCDIALOG_H