implement onMouseDoubleClick event in UIWidget

This commit is contained in:
Eduardo Bart
2012-02-03 03:25:01 -02:00
parent 4563471790
commit 1340699b01
4 changed files with 22 additions and 0 deletions

View File

@@ -35,6 +35,7 @@ UIWidget::UIWidget()
{
m_lastFocusReason = Fw::ActiveFocusReason;
m_states = Fw::DefaultState;
m_clickTimer.stop();
initBaseStyle();
initText();
@@ -1111,6 +1112,14 @@ bool UIWidget::onKeyUp(uchar keyCode, int keyboardModifiers)
bool UIWidget::onMousePress(const Point& mousePos, Fw::MouseButton button)
{
if(button == Fw::MouseLeftButton) {
if(m_clickTimer.running() && m_clickTimer.ticksElapsed() <= 500) {
if(onMouseDoubleClick(mousePos))
return true;
m_clickTimer.stop();
} else
m_clickTimer.restart();
}
return callLuaField<bool>("onMousePress", mousePos, button);
}
@@ -1145,6 +1154,11 @@ bool UIWidget::onMouseWheel(const Point& mousePos, Fw::MouseWheelDirection direc
return callLuaField<bool>("onMouseWheel", mousePos, direction);
}
bool UIWidget::onMouseDoubleClick(const Point& mousePos)
{
return callLuaField<bool>("onMouseDoubleClick", mousePos);
}
bool UIWidget::propagateOnKeyText(const std::string& keyText)
{
// do a backup of children list, because it may change while looping it