@@ -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); | ||||
} | } | ||||