summaryrefslogtreecommitdiff
path: root/src/gui/windows/shortcutwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/windows/shortcutwindow.cpp')
-rw-r--r--src/gui/windows/shortcutwindow.cpp269
1 files changed, 0 insertions, 269 deletions
diff --git a/src/gui/windows/shortcutwindow.cpp b/src/gui/windows/shortcutwindow.cpp
deleted file mode 100644
index 1bb35d3f1..000000000
--- a/src/gui/windows/shortcutwindow.cpp
+++ /dev/null
@@ -1,269 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2007-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/>.
- */
-
-#include "gui/windows/shortcutwindow.h"
-
-#include "enums/gui/layouttype.h"
-
-#include "gui/windows/setupwindow.h"
-#include "gui/widgets/tabbedarea.h"
-
-#include "gui/widgets/button.h"
-#include "gui/widgets/createwidget.h"
-#include "gui/widgets/layout.h"
-#include "gui/widgets/scrollarea.h"
-#include "gui/widgets/shortcutcontainer.h"
-
-#include "gui/widgets/tabs/shortcuttab.h"
-
-#include "utils/delete2.h"
-#include "utils/foreach.h"
-
-#include "debug.h"
-
-ShortcutWindow *dropShortcutWindow = nullptr;
-ShortcutWindow *emoteShortcutWindow = nullptr;
-ShortcutWindow *itemShortcutWindow = nullptr;
-ShortcutWindow *spellShortcutWindow = nullptr;
-static const int SCROLL_PADDING = 0;
-
-int ShortcutWindow::mBoxesWidth = 0;
-
-ShortcutWindow::ShortcutWindow(const std::string &restrict title,
- ShortcutContainer *restrict const content,
- const std::string &restrict skinFile,
- int width, int height) :
- Window("Window", Modal_false, nullptr, skinFile),
- mItems(content),
- mScrollArea(new ScrollArea(this, mItems, Opaque_false)),
- mTabs(nullptr),
- mPages(),
- mButtonIndex(0)
-{
- setWindowName(title);
- setTitleBarHeight(getPadding() + getTitlePadding());
-
- setShowTitle(false);
- setResizable(true);
- setDefaultVisible(false);
- setSaveVisible(true);
- setAllowClose(true);
-
- mDragOffsetX = 0;
- mDragOffsetY = 0;
-
- if (content != nullptr)
- content->setWidget2(this);
- if (setupWindow != nullptr)
- setupWindow->registerWindowForReset(this);
-
- setMinWidth(32);
- setMinHeight(32);
- const int border = SCROLL_PADDING * 2 + getPadding() * 2;
- if (mItems != nullptr)
- {
- const int bw = mItems->getBoxWidth();
- const int bh = mItems->getBoxHeight();
- const int maxItems = mItems->getMaxItems();
- setMaxWidth(bw * maxItems + border);
- setMaxHeight(bh * maxItems + border);
-
- if (width == 0)
- width = bw + border;
- if (height == 0)
- height = bh * maxItems + border;
-
- setDefaultSize(width, height, ImagePosition::LOWER_RIGHT);
-
- mBoxesWidth += bw + border;
- }
-
- mScrollArea->setPosition(SCROLL_PADDING, SCROLL_PADDING);
- mScrollArea->setHorizontalScrollPolicy(ScrollArea::SHOW_NEVER);
-
- place(0, 0, mScrollArea, 5, 5).setPadding(0);
-
- Layout &layout = getLayout();
- layout.setRowHeight(0, LayoutType::SET);
- layout.setMargin(0);
-
- loadWindowState();
- enableVisibleSound(true);
-}
-
-ShortcutWindow::ShortcutWindow(const std::string &restrict title,
- const std::string &restrict skinFile,
- const int width, const int height) :
- Window("Window", Modal_false, nullptr, skinFile),
- mItems(nullptr),
- mScrollArea(nullptr),
- mTabs(CREATEWIDGETR(TabbedArea, this)),
- mPages(),
- mButtonIndex(0)
-{
- setWindowName(title);
- setTitleBarHeight(getPadding() + getTitlePadding());
- setShowTitle(false);
- setResizable(true);
- setDefaultVisible(false);
- setSaveVisible(true);
- setAllowClose(true);
-
- mDragOffsetX = 0;
- mDragOffsetY = 0;
-
- if (setupWindow != nullptr)
- setupWindow->registerWindowForReset(this);
-
- if ((width != 0) && (height != 0))
- setDefaultSize(width, height, ImagePosition::LOWER_RIGHT);
-
- setMinWidth(32);
- setMinHeight(32);
-
- place(0, 0, mTabs, 5, 5);
-
- Layout &layout = getLayout();
- layout.setRowHeight(0, LayoutType::SET);
- layout.setMargin(0);
-
- loadWindowState();
- enableVisibleSound(true);
-}
-
-ShortcutWindow::~ShortcutWindow()
-{
- if (mTabs != nullptr)
- mTabs->removeAll();
- delete2(mTabs);
- delete2(mItems);
-}
-
-void ShortcutWindow::addButton(const std::string &text,
- const std::string &eventName,
- ActionListener *const listener)
-{
- place(mButtonIndex++, 5, new Button(this, text, eventName, listener));
- Window::widgetResized(Event(nullptr));
-}
-
-void ShortcutWindow::addTab(const std::string &name,
- ShortcutContainer *const content)
-{
- if ((content == nullptr) || (mTabs == nullptr))
- return;
- ScrollArea *const scroll = new ScrollArea(this, content, Opaque_false);
- scroll->setPosition(SCROLL_PADDING, SCROLL_PADDING);
- scroll->setHorizontalScrollPolicy(ScrollArea::SHOW_NEVER);
- content->setWidget2(this);
- Tab *const tab = new ShortcutTab(this, name, content);
- mTabs->addTab(tab, scroll);
- mPages.push_back(content);
-}
-
-int ShortcutWindow::getTabIndex() const
-{
- if (mTabs == nullptr)
- return 0;
- return mTabs->getSelectedTabIndex();
-}
-
-void ShortcutWindow::widgetHidden(const Event &event)
-{
- Window::widgetHidden(event);
- if (mItems != nullptr)
- mItems->widgetHidden(event);
- if (mTabs != nullptr)
- {
- ScrollArea *const scroll = static_cast<ScrollArea *>(
- mTabs->getCurrentWidget());
- if (scroll != nullptr)
- {
- ShortcutContainer *const content = static_cast<ShortcutContainer*>(
- scroll->getContent());
-
- if (content != nullptr)
- content->widgetHidden(event);
- }
- }
-}
-
-void ShortcutWindow::mousePressed(MouseEvent &event)
-{
- Window::mousePressed(event);
-
- if (event.isConsumed())
- return;
-
- if (event.getButton() == MouseButton::LEFT)
- {
- mDragOffsetX = event.getX();
- mDragOffsetY = event.getY();
- }
-}
-
-void ShortcutWindow::mouseDragged(MouseEvent &event)
-{
- Window::mouseDragged(event);
-
- if (event.isConsumed())
- return;
-
- if (canMove() && isMovable() && mMoved)
- {
- int newX = std::max(0, getX() + event.getX() - mDragOffsetX);
- int newY = std::max(0, getY() + event.getY() - mDragOffsetY);
- newX = std::min(mainGraphics->mWidth - getWidth(), newX);
- newY = std::min(mainGraphics->mHeight - getHeight(), newY);
- setPosition(newX, newY);
- }
-}
-
-void ShortcutWindow::widgetMoved(const Event& event)
-{
- Window::widgetMoved(event);
- if (mItems != nullptr)
- mItems->setRedraw(true);
- FOR_EACH (STD_VECTOR<ShortcutContainer*>::iterator, it, mPages)
- (*it)->setRedraw(true);
-}
-
-void ShortcutWindow::nextTab()
-{
- if (mTabs != nullptr)
- mTabs->selectNextTab();
-}
-
-void ShortcutWindow::prevTab()
-{
- if (mTabs != nullptr)
- mTabs->selectPrevTab();
-}
-
-#ifdef USE_PROFILER
-void ShortcutWindow::logicChildren()
-{
- BLOCK_START("ShortcutWindow::logicChildren")
- BasicContainer::logicChildren();
- BLOCK_END("ShortcutWindow::logicChildren")
-}
-#endif // USE_PROFILER