mirror of
https://github.com/OpenMW/openmw.git
synced 2025-04-01 21:06:41 +00:00
Get rid of redundant ControllerRepeatClick class
This commit is contained in:
parent
ac8fa54e6e
commit
675be20a0f
6 changed files with 10 additions and 97 deletions
|
@ -4,6 +4,7 @@
|
|||
#include <MyGUI_Button.h>
|
||||
#include <MyGUI_EditBox.h>
|
||||
#include <MyGUI_ControllerManager.h>
|
||||
#include <MyGUI_ControllerRepeatClick.h>
|
||||
|
||||
#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<Controllers::ControllerRepeatEvent>();
|
||||
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<MyGUI::ControllerRepeatClick*>(item);
|
||||
controller->eventRepeatClick += newDelegate(this, &AlchemyWindow::onRepeatClick);
|
||||
MyGUI::ControllerManager::getInstance().addItem(widget, controller);
|
||||
}
|
||||
|
||||
|
|
|
@ -4,9 +4,10 @@
|
|||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
#include <MyGUI_ControllerItem.h>
|
||||
|
||||
#include <components/widgets/numericeditbox.hpp>
|
||||
|
||||
#include "controllers.hpp"
|
||||
#include "windowbase.hpp"
|
||||
|
||||
namespace MWMechanics
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -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<MyGUI::Widget*, MyGUI::ControllerItem*> 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
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include <MyGUI_Button.h>
|
||||
#include <MyGUI_InputManager.h>
|
||||
#include <MyGUI_ControllerManager.h>
|
||||
#include <MyGUI_ControllerRepeatClick.h>
|
||||
|
||||
#include <components/widgets/numericeditbox.hpp>
|
||||
|
||||
|
@ -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<Controllers::ControllerRepeatEvent>();
|
||||
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<MyGUI::ControllerRepeatClick*>(item);
|
||||
controller->eventRepeatClick += newDelegate(this, &TradeWindow::onRepeatClick);
|
||||
MyGUI::ControllerManager::getInstance().addItem(widget, controller);
|
||||
}
|
||||
|
||||
|
|
|
@ -235,7 +235,6 @@ namespace MWGui
|
|||
MyGUI::ResourceManager::getInstance().unregisterLoadXmlDelegate("Resource");
|
||||
MyGUI::ResourceManager::getInstance().registerLoadXmlDelegate("Resource") = newDelegate(this, &WindowManager::loadFontDelegate);
|
||||
|
||||
MyGUI::FactoryManager::getInstance().registerFactory<MWGui::Controllers::ControllerRepeatEvent>("Controller");
|
||||
MyGUI::FactoryManager::getInstance().registerFactory<MWGui::Controllers::ControllerFollowMouse>("Controller");
|
||||
|
||||
MyGUI::FactoryManager::getInstance().registerFactory<ResourceImageSetPointerFix>("Resource", "ResourceImageSetPointer");
|
||||
|
|
Loading…
Reference in a new issue