Merge branch 'master' of git://github.com/zinnschlag/openmw
commit
5c8950f91c
@ -0,0 +1,54 @@
|
||||
#include "controllers.hpp"
|
||||
|
||||
namespace MWGui
|
||||
{
|
||||
namespace Controllers
|
||||
{
|
||||
|
||||
ControllerRepeatClick::ControllerRepeatClick() :
|
||||
mInit(0.5),
|
||||
mStep(0.1),
|
||||
mEnabled(true),
|
||||
mTimeLeft(0)
|
||||
{
|
||||
}
|
||||
|
||||
ControllerRepeatClick::~ControllerRepeatClick()
|
||||
{
|
||||
}
|
||||
|
||||
bool ControllerRepeatClick::addTime(MyGUI::Widget* _widget, float _time)
|
||||
{
|
||||
if(mTimeLeft == 0)
|
||||
mTimeLeft = mInit;
|
||||
|
||||
mTimeLeft -= _time;
|
||||
if(mTimeLeft <= 0)
|
||||
{
|
||||
mTimeLeft = mStep;
|
||||
eventRepeatClick(_widget, this);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void ControllerRepeatClick::setRepeat(float init, float step)
|
||||
{
|
||||
mInit = init;
|
||||
mStep = step;
|
||||
}
|
||||
|
||||
void ControllerRepeatClick::setEnabled(bool enable)
|
||||
{
|
||||
mEnabled = enable;
|
||||
}
|
||||
|
||||
void ControllerRepeatClick::setProperty(const std::string& _key, const std::string& _value)
|
||||
{
|
||||
}
|
||||
|
||||
void ControllerRepeatClick::prepareItem(MyGUI::Widget* _widget)
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
#ifndef MWGUI_CONTROLLERS_H
|
||||
#define MWGUI_CONTROLLERS_H
|
||||
|
||||
#include <MyGUI_Widget.h>
|
||||
#include <MyGUI_ControllerItem.h>
|
||||
|
||||
|
||||
namespace MWGui
|
||||
{
|
||||
namespace Controllers
|
||||
{
|
||||
class ControllerRepeatClick :
|
||||
public MyGUI::ControllerItem
|
||||
{
|
||||
MYGUI_RTTI_DERIVED( ControllerRepeatClick )
|
||||
|
||||
public:
|
||||
ControllerRepeatClick();
|
||||
virtual ~ControllerRepeatClick();
|
||||
|
||||
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;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue