| @@ -23,6 +23,7 @@ struct TextField : widget::OpaqueWidget { | |||||
| void draw(const DrawArgs &args) override; | void draw(const DrawArgs &args) override; | ||||
| void onHover(const event::Hover &e) override; | void onHover(const event::Hover &e) override; | ||||
| void onButton(const event::Button &e) override; | void onButton(const event::Button &e) override; | ||||
| void onDragStart(const event::DragStart &e) override; | |||||
| void onEnter(const event::Enter &e) override; | void onEnter(const event::Enter &e) override; | ||||
| void onSelect(const event::Select &e) override; | void onSelect(const event::Select &e) override; | ||||
| void onSelectText(const event::SelectText &e) override; | void onSelectText(const event::SelectText &e) override; | ||||
| @@ -34,6 +34,7 @@ void TextField::onHover(const event::Hover &e) { | |||||
| OpaqueWidget::onHover(e); | OpaqueWidget::onHover(e); | ||||
| if (this == APP->event->draggedWidget) { | if (this == APP->event->draggedWidget) { | ||||
| DEBUG("asdf"); | |||||
| int pos = getTextPosition(e.pos); | int pos = getTextPosition(e.pos); | ||||
| if (pos != selection) { | if (pos != selection) { | ||||
| cursor = pos; | cursor = pos; | ||||
| @@ -49,6 +50,11 @@ void TextField::onButton(const event::Button &e) { | |||||
| } | } | ||||
| } | } | ||||
| void TextField::onDragStart(const event::DragStart &e) { | |||||
| // Enable dragging so onHover can set the cursor position. | |||||
| e.consume(this); | |||||
| } | |||||
| void TextField::onEnter(const event::Enter &e) { | void TextField::onEnter(const event::Enter &e) { | ||||
| e.consume(this); | e.consume(this); | ||||
| } | } | ||||