-- @docclass UIWindow = extends(UIWidget) function UIWindow.create() local window = UIWindow.internalCreate() window:setTextAlign(AlignTopCenter) window:setDraggable(true) return window end function UIWindow:getClassName() return 'UIWindow' end function UIWindow:onKeyDown(keyCode, keyboardModifiers) if keyboardModifiers == KeyboardNoModifier then if keyCode == KeyEnter then signalcall(self.onEnter, self) elseif keyCode == KeyEscape then signalcall(self.onEscape, self) end end end function UIWindow:onFocusChange(focused) if focused then self:raise() end end function UIWindow:onDragEnter(mousePos) self:breakAnchors() self.movingReference = { x = mousePos.x - self:getX(), y = mousePos.y - self:getY() } return true end function UIWindow:onDragLeave(droppedWidget, mousePos) -- TODO: auto detect and reconnect anchors end function UIWindow:onDragMove(mousePos, mouseMoved) local pos = { x = mousePos.x - self.movingReference.x, y = mousePos.y - self.movingReference.y } self:setPosition(pos) self:bindRectToParent() end