mirror of
				https://github.com/edubart/otclient.git
				synced 2025-11-04 04:36:23 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
-- @docclass
 | 
						|
UIWindow = extends(UIWidget, "UIWindow")
 | 
						|
 | 
						|
function UIWindow.create()
 | 
						|
  local window = UIWindow.internalCreate()
 | 
						|
  window:setTextAlign(AlignTopCenter)
 | 
						|
  window:setDraggable(true)
 | 
						|
  window:setAutoFocusPolicy(AutoFocusFirst)
 | 
						|
  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
 |