mirror of
https://github.com/edubart/otclient.git
synced 2025-04-30 01:29:21 +02:00

* rework client modules * hide main window when loading * remake top menu functions * rework modules autoload * improve path resolving for otml and lua * move core_widgets to core_lib * fix tooltip issues * split some styles * add bit32 lua library * fix assert issues * fix compilation on linux 32 systems * rework gcc compile options * renable and fix some warnings * remove unused constants * speedup sprite cache * move UIGame to lua (not funcional yet) * fix a lot of issues in x11 window * fix crash handler * add some warnings do uiwidget and much more...
39 lines
1014 B
Lua
39 lines
1014 B
Lua
UIWindow = extends(UIWidget)
|
|
|
|
function UIWindow.create()
|
|
local window = UIWindow.internalCreate()
|
|
window:setTextAlign(AlignTopCenter)
|
|
window:setDragable(true)
|
|
return window
|
|
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
|