From 675be20a0fc4b9780dd22abcf414d2fbafaad154 Mon Sep 17 00:00:00 2001 From: Andrei Kortunov Date: Fri, 17 May 2019 10:49:00 +0400 Subject: [PATCH] Get rid of redundant ControllerRepeatClick class --- apps/openmw/mwgui/alchemywindow.cpp | 11 +++--- apps/openmw/mwgui/alchemywindow.hpp | 3 +- apps/openmw/mwgui/controllers.cpp | 48 -------------------------- apps/openmw/mwgui/controllers.hpp | 33 ------------------ apps/openmw/mwgui/tradewindow.cpp | 11 +++--- apps/openmw/mwgui/windowmanagerimp.cpp | 1 - 6 files changed, 10 insertions(+), 97 deletions(-) diff --git a/apps/openmw/mwgui/alchemywindow.cpp b/apps/openmw/mwgui/alchemywindow.cpp index 0ef8bae499..ad66735bfd 100644 --- a/apps/openmw/mwgui/alchemywindow.cpp +++ b/apps/openmw/mwgui/alchemywindow.cpp @@ -4,6 +4,7 @@ #include #include #include +#include #include "../mwbase/environment.hpp" #include "../mwbase/world.hpp" @@ -26,9 +27,6 @@ namespace MWGui { - const float AlchemyWindow::sCountChangeInitialPause = 0.5f; - const float AlchemyWindow::sCountChangeInterval = 0.1f; - AlchemyWindow::AlchemyWindow() : WindowBase("openmw_alchemy_window.layout") , mSortModel(nullptr) @@ -282,10 +280,9 @@ namespace MWGui void AlchemyWindow::addRepeatController(MyGUI::Widget *widget) { - MyGUI::ControllerItem* item = MyGUI::ControllerManager::getInstance().createItem(Controllers::ControllerRepeatEvent::getClassTypeName()); - Controllers::ControllerRepeatEvent* controller = item->castType(); - controller->eventRepeatClick += MyGUI::newDelegate(this, &AlchemyWindow::onRepeatClick); - controller->setRepeat(sCountChangeInitialPause, sCountChangeInterval); + MyGUI::ControllerItem* item = MyGUI::ControllerManager::getInstance().createItem(MyGUI::ControllerRepeatClick::getClassTypeName()); + MyGUI::ControllerRepeatClick* controller = static_cast(item); + controller->eventRepeatClick += newDelegate(this, &AlchemyWindow::onRepeatClick); MyGUI::ControllerManager::getInstance().addItem(widget, controller); } diff --git a/apps/openmw/mwgui/alchemywindow.hpp b/apps/openmw/mwgui/alchemywindow.hpp index c6eb00792f..a3f1cb52e2 100644 --- a/apps/openmw/mwgui/alchemywindow.hpp +++ b/apps/openmw/mwgui/alchemywindow.hpp @@ -4,9 +4,10 @@ #include #include +#include + #include -#include "controllers.hpp" #include "windowbase.hpp" namespace MWMechanics diff --git a/apps/openmw/mwgui/controllers.cpp b/apps/openmw/mwgui/controllers.cpp index 72f2eb7f3a..f3932d3ce6 100644 --- a/apps/openmw/mwgui/controllers.cpp +++ b/apps/openmw/mwgui/controllers.cpp @@ -7,54 +7,6 @@ namespace MWGui { namespace Controllers { - - ControllerRepeatEvent::ControllerRepeatEvent() : - mInit(0.5f), - mStep(0.1f), - mEnabled(true), - mTimeLeft(0) - { - } - - ControllerRepeatEvent::~ControllerRepeatEvent() - { - } - - bool ControllerRepeatEvent::addTime(MyGUI::Widget* _widget, float _time) - { - if(mTimeLeft == 0) - mTimeLeft = mInit; - - mTimeLeft -= _time; - while (mTimeLeft <= 0) - { - mTimeLeft += mStep; - eventRepeatClick(_widget, this); - } - return true; - } - - void ControllerRepeatEvent::setRepeat(float init, float step) - { - mInit = init; - mStep = step; - } - - void ControllerRepeatEvent::setEnabled(bool enable) - { - mEnabled = enable; - } - - void ControllerRepeatEvent::setProperty(const std::string& _key, const std::string& _value) - { - } - - void ControllerRepeatEvent::prepareItem(MyGUI::Widget* _widget) - { - } - - // ------------------------------------------------------------- - void ControllerFollowMouse::prepareItem(MyGUI::Widget *_widget) { } diff --git a/apps/openmw/mwgui/controllers.hpp b/apps/openmw/mwgui/controllers.hpp index 4208f048c9..b75fe79ab6 100644 --- a/apps/openmw/mwgui/controllers.hpp +++ b/apps/openmw/mwgui/controllers.hpp @@ -13,39 +13,6 @@ namespace MWGui { namespace Controllers { - // Should be removed when upgrading to MyGUI 3.2.2 (current git), it has ControllerRepeatClick - class ControllerRepeatEvent : - public MyGUI::ControllerItem - { - MYGUI_RTTI_DERIVED( ControllerRepeatEvent ) - - public: - ControllerRepeatEvent(); - virtual ~ControllerRepeatEvent(); - - void setRepeat(float init, float step); - void setEnabled(bool enable); - virtual void setProperty(const std::string& _key, const std::string& _value); - - // Events - typedef MyGUI::delegates::CMultiDelegate2 EventHandle_RepeatClickVoid; - - /** Event : Repeat Click.\n - signature : void method(MyGUI::Widget* _sender, MyGUI::ControllerItem *_controller)\n - */ - EventHandle_RepeatClickVoid eventRepeatClick; - - private: - bool addTime(MyGUI::Widget* _widget, float _time); - void prepareItem(MyGUI::Widget* _widget); - - private: - float mInit; - float mStep; - bool mEnabled; - float mTimeLeft; - }; - /// Automatically positions a widget below the mouse cursor. class ControllerFollowMouse : public MyGUI::ControllerItem diff --git a/apps/openmw/mwgui/tradewindow.cpp b/apps/openmw/mwgui/tradewindow.cpp index f2742d17d8..11dab850d4 100644 --- a/apps/openmw/mwgui/tradewindow.cpp +++ b/apps/openmw/mwgui/tradewindow.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include @@ -44,9 +45,6 @@ namespace namespace MWGui { - const float TradeWindow::sBalanceChangeInitialPause = 0.5f; - const float TradeWindow::sBalanceChangeInterval = 0.1f; - TradeWindow::TradeWindow() : WindowBase("openmw_trade_window.layout") , mSortModel(nullptr) @@ -382,10 +380,9 @@ namespace MWGui void TradeWindow::addRepeatController(MyGUI::Widget *widget) { - MyGUI::ControllerItem* item = MyGUI::ControllerManager::getInstance().createItem(Controllers::ControllerRepeatEvent::getClassTypeName()); - Controllers::ControllerRepeatEvent* controller = item->castType(); - controller->eventRepeatClick += MyGUI::newDelegate(this, &TradeWindow::onRepeatClick); - controller->setRepeat(sBalanceChangeInitialPause, sBalanceChangeInterval); + MyGUI::ControllerItem* item = MyGUI::ControllerManager::getInstance().createItem(MyGUI::ControllerRepeatClick::getClassTypeName()); + MyGUI::ControllerRepeatClick* controller = static_cast(item); + controller->eventRepeatClick += newDelegate(this, &TradeWindow::onRepeatClick); MyGUI::ControllerManager::getInstance().addItem(widget, controller); } diff --git a/apps/openmw/mwgui/windowmanagerimp.cpp b/apps/openmw/mwgui/windowmanagerimp.cpp index 0f49038da9..12af64eb07 100644 --- a/apps/openmw/mwgui/windowmanagerimp.cpp +++ b/apps/openmw/mwgui/windowmanagerimp.cpp @@ -235,7 +235,6 @@ namespace MWGui MyGUI::ResourceManager::getInstance().unregisterLoadXmlDelegate("Resource"); MyGUI::ResourceManager::getInstance().registerLoadXmlDelegate("Resource") = newDelegate(this, &WindowManager::loadFontDelegate); - MyGUI::FactoryManager::getInstance().registerFactory("Controller"); MyGUI::FactoryManager::getInstance().registerFactory("Controller"); MyGUI::FactoryManager::getInstance().registerFactory("Resource", "ResourceImageSetPointer");