tibia-client/modules/core_widgets/uiwindow.lua

39 lines
1008 B
Lua
Raw Normal View History

2012-01-11 00:13:38 +01:00
UIWindow = extends(UIWidget)
function UIWindow.create()
local window = UIWindow.internalCreate()
window:setTextAlign(AlignTopCenter)
2012-02-07 01:41:53 +01:00
window:setDragable(true)
2012-01-11 00:13:38 +01:00
return window
end
function UIWindow:onKeyPress(keyCode, keyboardModifiers)
2012-01-11 00:13:38 +01:00
if keyboardModifiers == KeyboardNoModifier then
2012-02-04 03:11:18 +01:00
if keyCode == KeyEnter then
2012-01-11 00:13:38 +01:00
signalcall(self.onEnter, self)
elseif keyCode == KeyEscape then
signalcall(self.onEscape, self)
end
end
end
2012-01-19 05:12:53 +01:00
function UIWindow:onMousePress(mousePos, mouseButton)
2012-02-07 05:55:20 +01:00
self:raise()
return true
2012-01-19 05:12:53 +01:00
end
2012-02-07 01:41:53 +01:00
function UIWindow:onDragEnter(mousePos)
self:breakAnchors()
self.movingReference = { x = mousePos.x - self:getX(), y = mousePos.y - self:getY() }
end
function UIWindow:onDragLeave(droppedWidget, mousePos)
-- TODO: auto detect and reconnect anchors
end
2012-01-19 05:12:53 +01:00
2012-02-07 01:41:53 +01:00
function UIWindow:onDragMove(mousePos, mouseMoved)
local pos = { x = mousePos.x - self.movingReference.x, y = mousePos.y - self.movingReference.y }
self:setPosition(pos)
self:bindRectToParent()
2012-01-19 05:12:53 +01:00
end