got ltn manager to open the manager

This commit is contained in:
mamoniot
2023-03-03 15:45:23 -05:00
parent a9ac0b4fb0
commit c3b2502b87
14 changed files with 307 additions and 46 deletions

View File

@@ -28,13 +28,13 @@ function manager.create(player)
type = "frame",
direction = "vertical",
visible = false,
handler = manager.handle.close,
handler = manager.handle.manager_close,
children = {
{
name = "manager_titlebar",
type = "flow",
style = "flib_titlebar_flow",
handler = manager.handle.titlebar_click,
handler = manager.handle.manager_titlebar_click,
children = {
{ type = "label", style = "frame_title", caption = { "mod-name.LtnManager" }, ignored_by_interaction = true },
{ type = "empty-widget", style = "flib_titlebar_drag_handle", ignored_by_interaction = true },
@@ -47,9 +47,9 @@ function manager.create(player)
tooltip = { "gui.ltnm-dispatcher-disabled-description" },
visible = not settings.global["cybersyn-enable-planner"].value,
},
templates.frame_action_button("manager_pin_button", "ltnm_pin", { "gui.ltnm-keep-open" }, manager.handle.pin),--on_gui_clicked
templates.frame_action_button("manager_refresh_button", "ltnm_refresh", { "gui.ltnm-refresh-tooltip" }, manager.handle.refresh_click),--on_gui_clicked
templates.frame_action_button(nil, "utility/close", { "gui.close-instruction" }, manager.handle.close),--on_gui_clicked
templates.frame_action_button("manager_pin_button", "ltnm_pin", { "gui.ltnm-keep-open" }, manager.handle.manager_pin),--on_gui_clicked
templates.frame_action_button("manager_refresh_button", "ltnm_refresh", { "gui.ltnm-refresh-tooltip" }, manager.handle.manager_refresh_click),--on_gui_clicked
templates.frame_action_button(nil, "utility/close", { "gui.close-instruction" }, manager.handle.manager_close),--on_gui_clicked
},
},
{
@@ -66,7 +66,7 @@ function manager.create(player)
name = "manager_text_search_field",
type = "textfield",
clear_and_focus_on_right_click = true,
handler = manager.handle.update_text_search, --on_gui_text_changed
handler = manager.handle.manager_update_text_search, --on_gui_text_changed
},
{ type = "empty-widget", style = "flib_horizontal_pusher" },
{ type = "label", style = "caption_label", caption = { "gui.ltnm-network-id-label" } },
@@ -78,13 +78,13 @@ function manager.create(player)
allow_negative = true,
clear_and_focus_on_right_click = true,
text = "-1",
handler = manager.handle.update_network_mask, --on_gui_text_changed
handler = manager.handle.manager_update_network_mask, --on_gui_text_changed
},
{ type = "label", style = "caption_label", caption = { "gui.ltnm-surface-label" } },
{
name = "manager_surface_dropdown",
type = "drop-down",
handler = manager.handle.update_surface, --on_gui_selection_state_changed
handler = manager.handle.manager_update_surface, --on_gui_selection_state_changed
},
},
},
@@ -111,8 +111,8 @@ end
--- @param player LuaPlayer
--- @param player_data PlayerData
function manager.update(map_data, player, player_data)
local tab = trains_tab.build(map_data, player_data)
gui.add(_, tab, player_data.refs)
--local tab = trains_tab.build(map_data, player_data)
--gui.add(_, tab, player_data.refs)
end
@@ -123,7 +123,7 @@ manager.handle = {}
function manager.wrapper(e, handler)
local player = game.get_player(e.player_index)
if not player then return end
local player_data = global.manager_data.players[e.player_index]
local player_data = global.manager.players[e.player_index]
handler(player, player_data, player_data.refs, e)
end
@@ -143,7 +143,7 @@ end
--- @param player LuaPlayer
--- @param player_data PlayerData
--- @param refs table<string, LuaGuiElement>
function manager.handle.open(player, player_data, refs)
function manager.handle.manager_open(player, player_data, refs)
refs.manager_window.bring_to_front()
refs.manager_window.visible = true
player_data.visible = true
@@ -152,6 +152,7 @@ function manager.handle.open(player, player_data, refs)
player.opened = refs.manager_window
end
player_data.is_manager_open = true
player.set_shortcut_toggled("ltnm-toggle-gui", true)
end
@@ -159,7 +160,7 @@ end
--- @param player LuaPlayer
--- @param player_data PlayerData
--- @param refs table<string, LuaGuiElement>
function manager.handle.close(player, player_data, refs)
function manager.handle.manager_close(player, player_data, refs)
if player_data.pinning then
return
end
@@ -171,27 +172,32 @@ function manager.handle.close(player, player_data, refs)
player.opened = nil
end
player_data.is_manager_open = false
player.set_shortcut_toggled("ltnm-toggle-gui", false)
end
--- @param player LuaPlayer
--- @param player_data PlayerData
--- @param refs table<string, LuaGuiElement>
function manager.handle.toggle(player, player_data, refs)
function manager.handle.manager_toggle(player, player_data, refs)
if player_data.is_manager_open then
manager.handle.manager_close(player, player_data, refs)
else
manager.handle.manager_open(player, player_data, refs)
end
end
--- @param player LuaPlayer
--- @param player_data PlayerData
--- @param refs table<string, LuaGuiElement>
function manager.handle.recenter(player, player_data, refs)
function manager.handle.manager_recenter(player, player_data, refs)
refs.window.force_auto_center()
end
--- @param player LuaPlayer
--- @param player_data PlayerData
--- @param refs table<string, LuaGuiElement>
function manager.handle.toggle_auto_refresh(player, player_data, refs)
function manager.handle.manager_toggle_auto_refresh(player, player_data, refs)
player_data.auto_refresh = not player_data.auto_refresh
toggle_fab(refs.manager_refresh_button, "ltnm_refresh", player_data.auto_refresh)
end
@@ -199,7 +205,7 @@ end
--- @param player LuaPlayer
--- @param player_data PlayerData
--- @param refs table<string, LuaGuiElement>
function manager.handle.toggle_pinned(player, player_data, refs)
function manager.handle.manager_toggle_pinned(player, player_data, refs)
player_data.pinned = not player_data.pinned
toggle_fab(refs.manager_pin_button, "ltnm_pin", player_data.pinned)
end
@@ -208,7 +214,7 @@ end
--- @param player_data PlayerData
--- @param refs table<string, LuaGuiElement>
--- @param e GuiEventData
function manager.handle.update_text_search(player, player_data, refs, e)
function manager.handle.manager_update_text_search(player, player_data, refs, e)
local query = e.text
-- Input sanitization
for pattern, replacement in pairs(constants.input_sanitizers) do
@@ -221,7 +227,7 @@ end
--- @param player LuaPlayer
--- @param player_data PlayerData
--- @param refs table<string, LuaGuiElement>
function manager.handle.update_network_name(player, player_data, refs)
function manager.handle.manager_update_network_name(player, player_data, refs)
local signal = refs.manager_network_name.elem_value
if signal then
player_data.search_network_name = signal.name
@@ -232,13 +238,13 @@ end
--- @param player LuaPlayer
--- @param player_data PlayerData
--- @param refs table<string, LuaGuiElement>
function manager.handle.update_network_mask(player, player_data, refs)
function manager.handle.manager_update_network_mask(player, player_data, refs)
player_data.search_network_mask = tonumber(refs.manager_network_mask_field.text) or -1
end
--- @param player LuaPlayer
--- @param player_data PlayerData
--- @param refs table<string, LuaGuiElement>
function manager.handle.update_surface(player, player_data, refs)
function manager.handle.manager_update_surface(player, player_data, refs)
local i = refs.manager_surface_dropdown.selected_index
player_data.search_surface_idx = i--TODO: fix this
end