38 lines
982 B
Lua
38 lines
982 B
Lua
function todo.create_frame(player, name, caption, close_name)
|
|
local frame = player.gui.screen.add({
|
|
type = "frame",
|
|
name = name,
|
|
direction = "vertical"
|
|
})
|
|
|
|
-- Add title bar
|
|
local title_bar = frame.add({
|
|
type = "flow"
|
|
})
|
|
local title = title_bar.add({
|
|
type = "label",
|
|
caption = caption,
|
|
style = "frame_title"
|
|
})
|
|
title.drag_target = frame
|
|
|
|
-- Add 'dragger' (filler) between title and (close) buttons
|
|
local dragger = title_bar.add({
|
|
type = "empty-widget",
|
|
style = "draggable_space_header"
|
|
})
|
|
dragger.style.vertically_stretchable = true
|
|
dragger.style.horizontally_stretchable = true
|
|
dragger.drag_target = frame
|
|
|
|
if close_name ~= nil then
|
|
title_bar.add({
|
|
type = "sprite-button",
|
|
style = "frame_action_button",
|
|
sprite = "utility/close_white",
|
|
name = close_name
|
|
})
|
|
end
|
|
|
|
return frame
|
|
end |