mirror of
https://github.com/RGBCube/serenity
synced 2025-07-24 23:37:43 +00:00
LibGUI: Add "drag enter" and "drag leave" events
These events allow widgets to react when a drag enters/leaves their rectangle. The enter event carries position + mime type, while the leave event has no information.
This commit is contained in:
parent
4728d0dd6a
commit
9acb72e804
7 changed files with 60 additions and 3 deletions
|
@ -273,8 +273,12 @@ void Widget::event(Core::Event& event)
|
|||
return handle_mouseup_event(static_cast<MouseEvent&>(event));
|
||||
case Event::MouseWheel:
|
||||
return mousewheel_event(static_cast<MouseEvent&>(event));
|
||||
case Event::DragEnter:
|
||||
return drag_enter_event(static_cast<DragEvent&>(event));
|
||||
case Event::DragMove:
|
||||
return drag_move_event(static_cast<DragEvent&>(event));
|
||||
case Event::DragLeave:
|
||||
return drag_leave_event(static_cast<Event&>(event));
|
||||
case Event::Drop:
|
||||
return drop_event(static_cast<DropEvent&>(event));
|
||||
case Event::ThemeChange:
|
||||
|
@ -497,13 +501,24 @@ void Widget::change_event(Event&)
|
|||
|
||||
void Widget::drag_move_event(DragEvent& event)
|
||||
{
|
||||
dbg() << class_name() << "{" << this << "} DRAG MOVE position: " << event.position() << ", data_type: '" << event.data_type() << "'";
|
||||
event.ignore();
|
||||
}
|
||||
|
||||
void Widget::drag_enter_event(DragEvent& event)
|
||||
{
|
||||
dbgln("{} {:p} DRAG ENTER @ {}, {}", class_name(), this, event.position(), event.data_type());
|
||||
event.ignore();
|
||||
}
|
||||
|
||||
void Widget::drag_leave_event(Event& event)
|
||||
{
|
||||
dbgln("{} {:p} DRAG LEAVE", class_name(), this);
|
||||
event.ignore();
|
||||
}
|
||||
|
||||
void Widget::drop_event(DropEvent& event)
|
||||
{
|
||||
dbg() << class_name() << "{" << this << "} DROP position: " << event.position() << ", text: '" << event.text() << "'";
|
||||
dbgln("{} {:p} DROP @ {}, '{}'", class_name(), this, event.position(), event.text());
|
||||
event.ignore();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue