mirror of
https://github.com/ComfyFactory/ComfyFactorio.git
synced 2025-02-09 13:37:02 +02:00
made poll movable
This commit is contained in:
parent
3eacd7d7f4
commit
8c7f19de1c
@ -330,6 +330,7 @@ end
|
|||||||
local function draw_main_frame(left, player)
|
local function draw_main_frame(left, player)
|
||||||
local trusted = session.get_trusted_table()
|
local trusted = session.get_trusted_table()
|
||||||
local frame = left.add {type = 'frame', name = main_frame_name, caption = 'Polls', direction = 'vertical'}
|
local frame = left.add {type = 'frame', name = main_frame_name, caption = 'Polls', direction = 'vertical'}
|
||||||
|
frame.location = {x = 1, y = 41}
|
||||||
--frame.style.maximal_width = 640
|
--frame.style.maximal_width = 640
|
||||||
|
|
||||||
local poll_viewer_top_flow = frame.add {type = 'table', column_count = 5}
|
local poll_viewer_top_flow = frame.add {type = 'table', column_count = 5}
|
||||||
@ -363,7 +364,8 @@ local function draw_main_frame(left, player)
|
|||||||
poll_index_label = poll_index_label,
|
poll_index_label = poll_index_label,
|
||||||
poll_viewer_content = poll_viewer_content,
|
poll_viewer_content = poll_viewer_content,
|
||||||
remaining_time_label = remaining_time_label,
|
remaining_time_label = remaining_time_label,
|
||||||
poll_index = poll_index
|
poll_index = poll_index,
|
||||||
|
location = frame.location
|
||||||
}
|
}
|
||||||
|
|
||||||
Gui.set_data(frame, data)
|
Gui.set_data(frame, data)
|
||||||
@ -433,13 +435,13 @@ local function remove_main_frame(main_frame, left, player)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local function toggle(event)
|
local function toggle(event)
|
||||||
local left = event.player.gui.left
|
local screen = event.player.gui.screen
|
||||||
local main_frame = left[main_frame_name]
|
local main_frame = screen[main_frame_name]
|
||||||
|
|
||||||
if main_frame then
|
if main_frame then
|
||||||
remove_main_frame(main_frame, left, event.player)
|
remove_main_frame(main_frame, screen, event.player)
|
||||||
else
|
else
|
||||||
draw_main_frame(left, event.player)
|
draw_main_frame(screen, event.player)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -545,7 +547,7 @@ local function redraw_create_poll_content(data)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function draw_create_poll_frame(parent, player, previous_data)
|
local function draw_create_poll_frame(parent, player, previous_data, parent_data)
|
||||||
previous_data = previous_data or player_create_poll_data[player.index]
|
previous_data = previous_data or player_create_poll_data[player.index]
|
||||||
|
|
||||||
local edit_mode
|
local edit_mode
|
||||||
@ -582,8 +584,16 @@ local function draw_create_poll_frame(parent, player, previous_data)
|
|||||||
confirm_name = create_poll_confirm_name
|
confirm_name = create_poll_confirm_name
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local parent_frame = Gui.get_data(parent)
|
||||||
|
|
||||||
local frame =
|
local frame =
|
||||||
parent.add {type = 'frame', name = create_poll_frame_name, caption = title_text, direction = 'vertical'}
|
parent.add {type = 'frame', name = create_poll_frame_name, caption = title_text, direction = 'vertical'}
|
||||||
|
if #polls >= 1 then
|
||||||
|
frame.location = {x = parent_data.location.x, y = parent_data.location.y + 290}
|
||||||
|
--frame.location = {x = 1, y = 335}
|
||||||
|
else
|
||||||
|
frame.location = {x = parent_data.location.x, y = parent_data.location.y + 130}
|
||||||
|
end
|
||||||
frame.style.maximal_width = 320
|
frame.style.maximal_width = 320
|
||||||
|
|
||||||
local scroll_pane = frame.add {type = 'scroll-pane', vertical_scroll_policy = 'always'}
|
local scroll_pane = frame.add {type = 'scroll-pane', vertical_scroll_policy = 'always'}
|
||||||
@ -648,7 +658,7 @@ local function show_new_poll(poll_data)
|
|||||||
table.concat {poll_data.created_by.name, ' has created a new Poll #', poll_data.id, ': ', poll_data.question}
|
table.concat {poll_data.created_by.name, ' has created a new Poll #', poll_data.id, ': ', poll_data.question}
|
||||||
|
|
||||||
for _, p in pairs(game.connected_players) do
|
for _, p in pairs(game.connected_players) do
|
||||||
local left = p.gui.left
|
local left = p.gui.screen
|
||||||
local frame = left[main_frame_name]
|
local frame = left[main_frame_name]
|
||||||
if no_notify_players[p.index] then
|
if no_notify_players[p.index] then
|
||||||
if frame and frame.valid then
|
if frame and frame.valid then
|
||||||
@ -775,7 +785,7 @@ local function vote(event)
|
|||||||
local vote_button_count, vote_button_tooltip = update_vote(voters, answer, 1)
|
local vote_button_count, vote_button_tooltip = update_vote(voters, answer, 1)
|
||||||
|
|
||||||
for _, p in pairs(game.connected_players) do
|
for _, p in pairs(game.connected_players) do
|
||||||
local frame = p.gui.left[main_frame_name]
|
local frame = p.gui.screen[main_frame_name]
|
||||||
if frame and frame.valid then
|
if frame and frame.valid then
|
||||||
local data = Gui.get_data(frame)
|
local data = Gui.get_data(frame)
|
||||||
|
|
||||||
@ -825,7 +835,7 @@ end
|
|||||||
|
|
||||||
local function tick()
|
local function tick()
|
||||||
for _, p in pairs(game.connected_players) do
|
for _, p in pairs(game.connected_players) do
|
||||||
local frame = p.gui.left[main_frame_name]
|
local frame = p.gui.screen[main_frame_name]
|
||||||
if frame and frame.valid then
|
if frame and frame.valid then
|
||||||
local data = Gui.get_data(frame)
|
local data = Gui.get_data(frame)
|
||||||
local poll = polls[data.poll_index]
|
local poll = polls[data.poll_index]
|
||||||
@ -851,12 +861,14 @@ Gui.on_click(
|
|||||||
create_poll_button_name,
|
create_poll_button_name,
|
||||||
function(event)
|
function(event)
|
||||||
local player = event.player
|
local player = event.player
|
||||||
local left = player.gui.left
|
local screen = player.gui.screen
|
||||||
local frame = left[create_poll_frame_name]
|
local data = screen[main_frame_name]
|
||||||
|
local frame = screen[create_poll_frame_name]
|
||||||
|
local parent = Gui.get_data(data)
|
||||||
if frame and frame.valid then
|
if frame and frame.valid then
|
||||||
remove_create_poll_frame(frame, player.index)
|
remove_create_poll_frame(frame, player.index)
|
||||||
else
|
else
|
||||||
draw_create_poll_frame(left, player)
|
draw_create_poll_frame(screen, player, nil, data)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
@ -865,20 +877,20 @@ Gui.on_click(
|
|||||||
poll_view_edit_name,
|
poll_view_edit_name,
|
||||||
function(event)
|
function(event)
|
||||||
local player = event.player
|
local player = event.player
|
||||||
local left = player.gui.left
|
local screen = player.gui.screen
|
||||||
local frame = left[create_poll_frame_name]
|
local frame = screen[create_poll_frame_name]
|
||||||
|
|
||||||
if frame and frame.valid then
|
if frame and frame.valid then
|
||||||
Gui.remove_data_recursively(frame)
|
Gui.remove_data_recursively(frame)
|
||||||
frame.destroy()
|
frame.destroy()
|
||||||
end
|
end
|
||||||
|
|
||||||
local main_frame = left[main_frame_name]
|
local main_frame = screen[main_frame_name]
|
||||||
local frame_data = Gui.get_data(main_frame)
|
local frame_data = Gui.get_data(main_frame)
|
||||||
local poll = polls[frame_data.poll_index]
|
local poll = polls[frame_data.poll_index]
|
||||||
|
|
||||||
poll.edit_mode = true
|
poll.edit_mode = true
|
||||||
draw_create_poll_frame(left, player, poll)
|
draw_create_poll_frame(screen, player, poll)
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -1001,7 +1013,7 @@ Gui.on_click(
|
|||||||
p.print(message)
|
p.print(message)
|
||||||
end
|
end
|
||||||
|
|
||||||
local main_frame = p.gui.left[main_frame_name]
|
local main_frame = p.gui.screen[main_frame_name]
|
||||||
if main_frame and main_frame.valid then
|
if main_frame and main_frame.valid then
|
||||||
local main_frame_data = Gui.get_data(main_frame)
|
local main_frame_data = Gui.get_data(main_frame)
|
||||||
local poll_index = main_frame_data.poll_index
|
local poll_index = main_frame_data.poll_index
|
||||||
@ -1105,7 +1117,7 @@ Gui.on_click(
|
|||||||
local message = table.concat {player.name, ' has edited Poll #', poll.id, ': ', poll.question}
|
local message = table.concat {player.name, ' has edited Poll #', poll.id, ': ', poll.question}
|
||||||
|
|
||||||
for _, p in pairs(game.connected_players) do
|
for _, p in pairs(game.connected_players) do
|
||||||
local main_frame = p.gui.left[main_frame_name]
|
local main_frame = p.gui.screen[main_frame_name]
|
||||||
|
|
||||||
if no_notify_players[p.index] then
|
if no_notify_players[p.index] then
|
||||||
if main_frame and main_frame.valid then
|
if main_frame and main_frame.valid then
|
||||||
@ -1119,7 +1131,7 @@ Gui.on_click(
|
|||||||
main_frame_data.poll_index = poll_index
|
main_frame_data.poll_index = poll_index
|
||||||
update_poll_viewer(main_frame_data)
|
update_poll_viewer(main_frame_data)
|
||||||
else
|
else
|
||||||
draw_main_frame(p.gui.left, p)
|
draw_main_frame(p.gui.screen, p)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user