mirror of
https://github.com/edubart/otclient.git
synced 2025-04-29 17:19:20 +02:00

When otclient initializes it tries to find all .otpkg files inside the current search paths (./ ./modules ./addons) and then add them to the front of current search paths. This way .otpkg can contains many modules/addons and modifications in a single file that otclient can recognize. otpkg files can be compressed files supported by PhysFS, which are ZIP (.zip) and LZMA (.7z).
69 lines
2.0 KiB
Lua
69 lines
2.0 KiB
Lua
if not UIWindow then dofile 'uiwindow' end
|
|
|
|
-- @docclass
|
|
UIMessageBox = extends(UIWindow)
|
|
|
|
MessageBoxOk = 1
|
|
MessageBoxCancel = 2
|
|
|
|
-- messagebox cannot be created from otui files
|
|
UIMessageBox.create = nil
|
|
|
|
function UIMessageBox.display(title, message, flags)
|
|
local messagebox = UIMessageBox.internalCreate()
|
|
rootWidget:addChild(messagebox)
|
|
|
|
messagebox:setStyle('MessageBoxWindow')
|
|
messagebox:setText(title)
|
|
|
|
local messageLabel = g_ui.createWidget('MessageBoxLabel', messagebox)
|
|
messageLabel:setText(message)
|
|
messageLabel:resizeToText()
|
|
|
|
messagebox:setWidth(math.max(messageLabel:getWidth() + 48, messagebox:getTextSize().width + 20))
|
|
messagebox:setHeight(math.max(messageLabel:getHeight() + 64, messagebox:getHeight()))
|
|
|
|
-- setup messagebox first button
|
|
local buttonRight = g_ui.createWidget('MessageBoxRightButton', messagebox)
|
|
|
|
if flags == MessageBoxOk then
|
|
buttonRight:setText('Ok')
|
|
connect(buttonRight, { onClick = function(self) self:getParent():ok() end })
|
|
connect(messagebox, { onEnter = function(self) self:ok() end })
|
|
connect(messagebox, { onEscape = function(self) self:ok() end })
|
|
elseif flags == MessageBoxCancel then
|
|
buttonRight:setText('Cancel')
|
|
connect(buttonRight, { onClick = function(self) self:getParent():cancel() end })
|
|
connect(messagebox, { onEnter = function(self) self:cancel() end })
|
|
connect(messagebox, { onEscape = function(self) self:cancel() end })
|
|
end
|
|
|
|
--messagebox:lock()
|
|
|
|
return messagebox
|
|
end
|
|
|
|
function displayInfoBox(title, message)
|
|
return UIMessageBox.display(title, message, MessageBoxOk)
|
|
end
|
|
|
|
function displayErrorBox(title, message)
|
|
return UIMessageBox.display(title, message, MessageBoxOk)
|
|
end
|
|
|
|
function displayCancelBox(title, message)
|
|
return UIMessageBox.display(title, message, MessageBoxCancel)
|
|
end
|
|
|
|
function UIMessageBox:ok()
|
|
signalcall(self.onOk, self)
|
|
self.onOk = nil
|
|
self:destroy()
|
|
end
|
|
|
|
function UIMessageBox:cancel()
|
|
signalcall(self.onCancel, self)
|
|
self.onCancel = nil
|
|
self:destroy()
|
|
end
|