@@ -141,10 +141,14 @@ struct EventState { | |||
return selectedWidget; | |||
} | |||
void setHovered(Widget* w); | |||
void setDragged(Widget* w, int button); | |||
void setDragHovered(Widget* w); | |||
void setSelected(Widget* w); | |||
void setHoveredWidget(Widget* w); | |||
void setDraggedWidget(Widget* w, int button); | |||
void setDragHoveredWidget(Widget* w); | |||
void setSelectedWidget(Widget* w); | |||
DEPRECATED void setHovered(Widget* w) {setHoveredWidget(w);} | |||
DEPRECATED void setDragged(Widget* w, int button) {setDraggedWidget(w, button);} | |||
DEPRECATED void setDragHovered(Widget* w) {setDragHoveredWidget(w);} | |||
DEPRECATED void setSelected(Widget* w) {setSelectedWidget(w);} | |||
/** Prepares a widget for deletion */ | |||
void finalizeWidget(Widget* w); | |||
@@ -315,7 +315,7 @@ struct BrowserSearchField : ui::TextField { | |||
void step() override { | |||
// Steal focus when step is called | |||
APP->event->setSelected(this); | |||
APP->event->setSelectedWidget(this); | |||
TextField::step(); | |||
} | |||
@@ -324,7 +324,7 @@ struct BrowserSearchField : ui::TextField { | |||
void onAction(const ActionEvent& e) override; | |||
void onHide(const HideEvent& e) override { | |||
APP->event->setSelected(NULL); | |||
APP->event->setSelectedWidget(NULL); | |||
ui::TextField::onHide(e); | |||
} | |||
@@ -20,7 +20,7 @@ struct ParamField : ui::TextField { | |||
void step() override { | |||
// Keep selected | |||
APP->event->setSelected(this); | |||
APP->event->setSelectedWidget(this); | |||
TextField::step(); | |||
} | |||
@@ -351,14 +351,14 @@ struct MIDI_MapChoice : LedDisplayChoice { | |||
// HACK | |||
if (APP->event->selectedWidget != this) | |||
APP->event->setSelected(this); | |||
APP->event->setSelectedWidget(this); | |||
} | |||
else { | |||
bgColor = nvgRGBA(0, 0, 0, 0); | |||
// HACK | |||
if (APP->event->selectedWidget == this) | |||
APP->event->setSelected(NULL); | |||
APP->event->setSelectedWidget(NULL); | |||
} | |||
// Set text | |||
@@ -91,7 +91,7 @@ struct CcChoice : LedDisplayChoice { | |||
// Cancel focus if no longer learning | |||
if (APP->event->getSelectedWidget() == this) | |||
APP->event->setSelected(NULL); | |||
APP->event->setSelectedWidget(NULL); | |||
} | |||
// Set text | |||
@@ -178,7 +178,7 @@ struct NoteChoice : LedDisplayChoice { | |||
// Cancel focus if no longer learning | |||
if (APP->event->getSelectedWidget() == this) | |||
APP->event->setSelected(NULL); | |||
APP->event->setSelectedWidget(NULL); | |||
} | |||
// Set text | |||
@@ -13,7 +13,7 @@ struct TextFieldCopyItem : ui::MenuItem { | |||
if (!textField) | |||
return; | |||
textField->copyClipboard(); | |||
APP->event->setSelected(textField); | |||
APP->event->setSelectedWidget(textField); | |||
} | |||
}; | |||
@@ -24,7 +24,7 @@ struct TextFieldCutItem : ui::MenuItem { | |||
if (!textField) | |||
return; | |||
textField->cutClipboard(); | |||
APP->event->setSelected(textField); | |||
APP->event->setSelectedWidget(textField); | |||
} | |||
}; | |||
@@ -35,7 +35,7 @@ struct TextFieldPasteItem : ui::MenuItem { | |||
if (!textField) | |||
return; | |||
textField->pasteClipboard(); | |||
APP->event->setSelected(textField); | |||
APP->event->setSelectedWidget(textField); | |||
} | |||
}; | |||
@@ -46,7 +46,7 @@ struct TextFieldSelectAllItem : ui::MenuItem { | |||
if (!textField) | |||
return; | |||
textField->selectAll(); | |||
APP->event->setSelected(textField); | |||
APP->event->setSelectedWidget(textField); | |||
} | |||
}; | |||
@@ -223,13 +223,13 @@ void TextField::onSelectKey(const SelectKeyEvent& e) { | |||
// Tab | |||
if (e.key == GLFW_KEY_TAB && (e.mods & RACK_MOD_MASK) == 0) { | |||
if (nextField) | |||
APP->event->setSelected(nextField); | |||
APP->event->setSelectedWidget(nextField); | |||
e.consume(this); | |||
} | |||
// Shift-Tab | |||
if (e.key == GLFW_KEY_TAB && (e.mods & RACK_MOD_MASK) == GLFW_MOD_SHIFT) { | |||
if (prevField) | |||
APP->event->setSelected(prevField); | |||
APP->event->setSelectedWidget(prevField); | |||
e.consume(this); | |||
} | |||
// Consume all printable keys | |||
@@ -9,7 +9,7 @@ namespace rack { | |||
namespace widget { | |||
void EventState::setHovered(widget::Widget* w) { | |||
void EventState::setHoveredWidget(widget::Widget* w) { | |||
if (w == hoveredWidget) | |||
return; | |||
@@ -31,7 +31,7 @@ void EventState::setHovered(widget::Widget* w) { | |||
} | |||
} | |||
void EventState::setDragged(widget::Widget* w, int button) { | |||
void EventState::setDraggedWidget(widget::Widget* w, int button) { | |||
if (w == draggedWidget) | |||
return; | |||
@@ -57,7 +57,7 @@ void EventState::setDragged(widget::Widget* w, int button) { | |||
} | |||
} | |||
void EventState::setDragHovered(widget::Widget* w) { | |||
void EventState::setDragHoveredWidget(widget::Widget* w) { | |||
if (w == dragHoveredWidget) | |||
return; | |||
@@ -83,7 +83,7 @@ void EventState::setDragHovered(widget::Widget* w) { | |||
} | |||
} | |||
void EventState::setSelected(widget::Widget* w) { | |||
void EventState::setSelectedWidget(widget::Widget* w) { | |||
if (w == selectedWidget) | |||
return; | |||
@@ -107,13 +107,13 @@ void EventState::setSelected(widget::Widget* w) { | |||
void EventState::finalizeWidget(widget::Widget* w) { | |||
if (hoveredWidget == w) | |||
setHovered(NULL); | |||
setHoveredWidget(NULL); | |||
if (draggedWidget == w) | |||
setDragged(NULL, 0); | |||
setDraggedWidget(NULL, 0); | |||
if (dragHoveredWidget == w) | |||
setDragHovered(NULL); | |||
setDragHoveredWidget(NULL); | |||
if (selectedWidget == w) | |||
setSelected(NULL); | |||
setSelectedWidget(NULL); | |||
if (lastClickedWidget == w) | |||
lastClickedWidget = NULL; | |||
} | |||
@@ -136,11 +136,11 @@ bool EventState::handleButton(math::Vec pos, int button, int action, int mods) { | |||
} | |||
if (action == GLFW_PRESS) { | |||
setDragged(clickedWidget, button); | |||
setDraggedWidget(clickedWidget, button); | |||
} | |||
if (action == GLFW_RELEASE) { | |||
setDragHovered(NULL); | |||
setDragHoveredWidget(NULL); | |||
if (clickedWidget && draggedWidget) { | |||
// Dispatch DragDropEvent | |||
@@ -150,12 +150,12 @@ bool EventState::handleButton(math::Vec pos, int button, int action, int mods) { | |||
clickedWidget->onDragDrop(eDragDrop); | |||
} | |||
setDragged(NULL, 0); | |||
setDraggedWidget(NULL, 0); | |||
} | |||
if (button == GLFW_MOUSE_BUTTON_LEFT) { | |||
if (action == GLFW_PRESS) { | |||
setSelected(clickedWidget); | |||
setSelectedWidget(clickedWidget); | |||
} | |||
if (action == GLFW_PRESS) { | |||
@@ -206,7 +206,7 @@ bool EventState::handleHover(math::Vec pos, math::Vec mouseDelta) { | |||
eDragHover.origin = draggedWidget; | |||
rootWidget->onDragHover(eDragHover); | |||
setDragHovered(cDragHover.target); | |||
setDragHoveredWidget(cDragHover.target); | |||
// If consumed, don't continue after DragMoveEvent so HoverEvent is not triggered. | |||
if (cDragHover.target) | |||
dragHovered = true; | |||
@@ -230,7 +230,7 @@ bool EventState::handleHover(math::Vec pos, math::Vec mouseDelta) { | |||
eHover.mouseDelta = mouseDelta; | |||
rootWidget->onHover(eHover); | |||
setHovered(cHover.target); | |||
setHoveredWidget(cHover.target); | |||
if (cHover.target) | |||
return true; | |||
} | |||
@@ -240,8 +240,8 @@ bool EventState::handleHover(math::Vec pos, math::Vec mouseDelta) { | |||
bool EventState::handleLeave() { | |||
heldKeys.clear(); | |||
// When leaving the window, don't un-hover widgets because the mouse might be dragging. | |||
// setDragHovered(NULL); | |||
// setHovered(NULL); | |||
// setDragHoveredWidget(NULL); | |||
// setHoveredWidget(NULL); | |||
return true; | |||
} | |||