mirror of
https://github.com/edubart/otclient.git
synced 2025-10-14 11:34:54 +02:00
drag fixes
This commit is contained in:
@@ -83,13 +83,11 @@ void UIManager::inputEvent(const InputEvent& event)
|
||||
auto clickedChildren = m_rootWidget->recursiveGetChildrenByPos(event.mousePos);
|
||||
UIWidgetPtr droppedWidget;
|
||||
for(const UIWidgetPtr& child : clickedChildren) {
|
||||
if(child != m_draggingWidget) {
|
||||
if(child->onDrop(m_draggingWidget, event.mousePos)) {
|
||||
droppedWidget = child;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(droppedWidget)
|
||||
droppedWidget->onDrop(m_draggingWidget, event.mousePos);
|
||||
|
||||
m_draggingWidget->onDragLeave(droppedWidget, event.mousePos);
|
||||
m_draggingWidget->setDragging(false);
|
||||
|
@@ -1156,9 +1156,9 @@ bool UIWidget::onDragMove(const Point& mousePos, const Point& mouseMoved)
|
||||
return callLuaField("onDragMove", mousePos, mouseMoved);
|
||||
}
|
||||
|
||||
void UIWidget::onDrop(UIWidgetPtr draggedWidget, const Point& mousePos)
|
||||
bool UIWidget::onDrop(UIWidgetPtr draggedWidget, const Point& mousePos)
|
||||
{
|
||||
callLuaField("onDrop", draggedWidget, mousePos);
|
||||
return callLuaField<bool>("onDrop", draggedWidget, mousePos);
|
||||
}
|
||||
|
||||
bool UIWidget::onKeyText(const std::string& keyText)
|
||||
|
@@ -177,7 +177,7 @@ protected:
|
||||
virtual void onDragEnter(const Point& mousePos);
|
||||
virtual void onDragLeave(UIWidgetPtr droppedWidget, const Point& mousePos);
|
||||
virtual bool onDragMove(const Point& mousePos, const Point& mouseMoved);
|
||||
virtual void onDrop(UIWidgetPtr draggedWidget, const Point& mousePos);
|
||||
virtual bool onDrop(UIWidgetPtr draggedWidget, const Point& mousePos);
|
||||
virtual bool onKeyText(const std::string& keyText);
|
||||
virtual bool onKeyDown(uchar keyCode, int keyboardModifiers);
|
||||
virtual bool onKeyPress(uchar keyCode, int keyboardModifiers, int autoRepeatTicks);
|
||||
|
Reference in New Issue
Block a user