Skip to content

Commit

Permalink
Added lots of tooltips, and added better nil checking for numeric inp…
Browse files Browse the repository at this point in the history
…uts.
  • Loading branch information
drdozer committed Jul 1, 2023
1 parent a4fe778 commit a6ee59a
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 32 deletions.
12 changes: 12 additions & 0 deletions locale/en/locale.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,18 @@ tracker-area-player=Use player coordinates to fill in this corner.
tracker-smooth=Enable/Disable smooth behavior of the camera when this tracker is active.
tracker-until-build=Follow the player until an entity is build.
tracker-wrong-surface=Tracker is disabled because tracker surface differs from camera surface.
tracker-cityblock-size=The size of a single city block in tiles.
tracker-cityblock-size-x=The width of a single city block in tiles.
tracker-cityblock-size-y=The height of a single city block in tiles.
tracker-cityblock-offset=The number of tiles to shift the city blocks grid.
tracker-cityblock-offset-x=The number of tiles right to shift the city blocks grid.
tracker-cityblock-offset-y=The number of tiles down to shift the city blocks grid.
tracker-cityblock-currentblock=The city block to focus on, counting in whole blocks.
tracker-cityblock-currentblock-x=The position of the current city block, counting blocks rightwards.
tracker-cityblock-currentblock-y=The position of the current city block, counting blocks downwards.
tracker-cityblock-blockScale=How many city blocks to zoom out, centered on the current block.
tracker-cityblock-blockScale-value=A zoom of 3 will capture the current block and all of the neighbours.
tracker-cityblock-player=Use player coordinates to select the current city block.

[controls]
tlbe-main-window-toggle=Open/Close camera settings
Expand Down
96 changes: 64 additions & 32 deletions scripts/gui.lua
Original file line number Diff line number Diff line change
Expand Up @@ -599,53 +599,74 @@ function GUI.onTextChanged(event)
end
elseif event.element.name == "tlbe-tracker-cityblock-size-x" and event.element.text ~= nil then
local selectedTracker = playerSettings.trackers[playerSettings.guiPersist.selectedTracker]
selectedTracker.cityBlock.blockSize.x = math.floor(tonumber(event.element.text))
Tracker.recalculateCityBlock(selectedTracker)
local value = tonumber(event.element.text)
if value ~= nil then
selectedTracker.cityBlock.blockSize.x = math.floor(value)
Tracker.recalculateCityBlock(selectedTracker)

GUI.updateTrackerConfig(playerSettings.gui.trackerInfo, selectedTracker)
GUI.updateTrackerInfo(playerSettings.gui.trackerInfo, selectedTracker)
GUI.updateTrackerConfig(playerSettings.gui.trackerInfo, selectedTracker)
GUI.updateTrackerInfo(playerSettings.gui.trackerInfo, selectedTracker)
end
elseif event.element.name == "tlbe-tracker-cityblock-size-y" and event.element.text ~= nil then
local selectedTracker = playerSettings.trackers[playerSettings.guiPersist.selectedTracker]
selectedTracker.cityBlock.blockSize.y = math.floor(tonumber(event.element.text))
Tracker.recalculateCityBlock(selectedTracker)
local value = tonumber(event.element.text)
if value ~= nil then
selectedTracker.cityBlock.blockSize.y = math.floor(value)
Tracker.recalculateCityBlock(selectedTracker)

GUI.updateTrackerConfig(playerSettings.gui.trackerInfo, selectedTracker)
GUI.updateTrackerInfo(playerSettings.gui.trackerInfo, selectedTracker)
GUI.updateTrackerConfig(playerSettings.gui.trackerInfo, selectedTracker)
GUI.updateTrackerInfo(playerSettings.gui.trackerInfo, selectedTracker)
end
elseif event.element.name == "tlbe-tracker-cityblock-offset-x" and event.element.text ~= nil then
local selectedTracker = playerSettings.trackers[playerSettings.guiPersist.selectedTracker]
selectedTracker.cityBlock.blockOffset.x = math.floor(tonumber(event.element.text))
Tracker.recalculateCityBlock(selectedTracker)
local value = tonumber(event.element.text)
if value ~= nil then
selectedTracker.cityBlock.blockOffset.x = math.floor(value)
Tracker.recalculateCityBlock(selectedTracker)

GUI.updateTrackerConfig(playerSettings.gui.trackerInfo, selectedTracker)
GUI.updateTrackerInfo(playerSettings.gui.trackerInfo, selectedTracker)
GUI.updateTrackerConfig(playerSettings.gui.trackerInfo, selectedTracker)
GUI.updateTrackerInfo(playerSettings.gui.trackerInfo, selectedTracker)
end
elseif event.element.name == "tlbe-tracker-cityblock-offset-y" and event.element.text ~= nil then
local selectedTracker = playerSettings.trackers[playerSettings.guiPersist.selectedTracker]
selectedTracker.cityBlock.blockOffset.y = math.floor(tonumber(event.element.text))
Tracker.recalculateCityBlock(selectedTracker)
local value = tonumber(event.element.text)
if value ~= nil then
selectedTracker.cityBlock.blockOffset.y = math.floor(value)
Tracker.recalculateCityBlock(selectedTracker)

GUI.updateTrackerConfig(playerSettings.gui.trackerInfo, selectedTracker)
GUI.updateTrackerInfo(playerSettings.gui.trackerInfo, selectedTracker)
GUI.updateTrackerConfig(playerSettings.gui.trackerInfo, selectedTracker)
GUI.updateTrackerInfo(playerSettings.gui.trackerInfo, selectedTracker)
end
elseif event.element.name == "tlbe-tracker-cityblock-currentblock-x" and event.element.text ~= nil then
local selectedTracker = playerSettings.trackers[playerSettings.guiPersist.selectedTracker]
selectedTracker.cityBlock.currentBlock.x = math.floor(tonumber(event.element.text))
Tracker.recalculateCityBlock(selectedTracker)
local value = tonumber(event.element.text)
if value ~= nil then
selectedTracker.cityBlock.currentBlock.x = math.floor(value)
Tracker.recalculateCityBlock(selectedTracker)

GUI.updateTrackerConfig(playerSettings.gui.trackerInfo, selectedTracker)
GUI.updateTrackerInfo(playerSettings.gui.trackerInfo, selectedTracker)
GUI.updateTrackerConfig(playerSettings.gui.trackerInfo, selectedTracker)
GUI.updateTrackerInfo(playerSettings.gui.trackerInfo, selectedTracker)
end
elseif event.element.name == "tlbe-tracker-cityblock-currentblock-y" and event.element.text ~= nil then
local selectedTracker = playerSettings.trackers[playerSettings.guiPersist.selectedTracker]
selectedTracker.cityBlock.currentBlock.y = math.floor(tonumber(event.element.text))
Tracker.recalculateCityBlock(selectedTracker)
local value = tonumber(event.element.text)
if value ~= nil then
selectedTracker.cityBlock.currentBlock.y = math.floor(value)
Tracker.recalculateCityBlock(selectedTracker)

GUI.updateTrackerConfig(playerSettings.gui.trackerInfo, selectedTracker)
GUI.updateTrackerInfo(playerSettings.gui.trackerInfo, selectedTracker)
elseif event.element.name == "tlbe-tracker-cityblock-blockScale" and event.element.text ~= nil then
GUI.updateTrackerConfig(playerSettings.gui.trackerInfo, selectedTracker)
GUI.updateTrackerInfo(playerSettings.gui.trackerInfo, selectedTracker)
end
elseif event.element.name == "tlbe-tracker-cityblock-blockScale-value" and event.element.text ~= nil then
local selectedTracker = playerSettings.trackers[playerSettings.guiPersist.selectedTracker]
selectedTracker.cityBlock.blockScale = math.floor(tonumber(event.element.text) * 100)/100
Tracker.recalculateCityBlock(selectedTracker)
local value = tonumber(event.element.text)
if value ~= nil then
selectedTracker.cityBlock.blockScale = math.floor(value * 100)/100
Tracker.recalculateCityBlock(selectedTracker)

GUI.updateTrackerConfig(playerSettings.gui.trackerInfo, selectedTracker)
GUI.updateTrackerInfo(playerSettings.gui.trackerInfo, selectedTracker)
GUI.updateTrackerConfig(playerSettings.gui.trackerInfo, selectedTracker)
GUI.updateTrackerInfo(playerSettings.gui.trackerInfo, selectedTracker)
end
end
end

Expand Down Expand Up @@ -1467,13 +1488,15 @@ function GUI.createTrackerConfigAndInfo(trackerInfo, tracker)
trackerInfo.add {
type = "label",
caption = { "gui.label-cityblock-size" },
tooltip = { "tooltip.tracker-cityblock-size" },
style = "description_property_name_label"
}
local sizeFlow = trackerInfo.add { type = "flow", name = "cityblock-size" }
sizeFlow.add {
type = "textfield",
name = "tlbe-tracker-cityblock-size-x",
style = "tlbe_config_half_width_textfield",
tooltip = { "tooltip.tracker-cityblock-size-x" },
numeric = true,
allow_negative = true
}
Expand All @@ -1482,20 +1505,23 @@ function GUI.createTrackerConfigAndInfo(trackerInfo, tracker)
type = "textfield",
name = "tlbe-tracker-cityblock-size-y",
style = "tlbe_config_half_width_textfield",
tooltip = { "tooltip.tracker-cityblock-size-y" },
numeric = true,
allow_negative = true
}

trackerInfo.add {
type = "label",
caption = { "gui.label-cityblock-offset" },
tooltip = { "tooltip.tracker-cityblock-offset" },
style = "description_property_name_label"
}
local offsetFlow = trackerInfo.add { type = "flow", name = "cityblock-offset" }
offsetFlow.add {
type = "textfield",
name = "tlbe-tracker-cityblock-offset-x",
style = "tlbe_config_half_width_textfield",
tooltip = { "tooltip.tracker-cityblock-offset-x" },
numeric = true,
allow_negative = true
}
Expand All @@ -1504,20 +1530,23 @@ function GUI.createTrackerConfigAndInfo(trackerInfo, tracker)
type = "textfield",
name = "tlbe-tracker-cityblock-offset-y",
style = "tlbe_config_half_width_textfield",
tooltip = { "tooltip.tracker-cityblock-offset-y" },
numeric = true,
allow_negative = true
}

trackerInfo.add {
type = "label",
caption = { "gui.label-cityblock-currentblock" },
tooltip = { "tooltip.tracker-cityblock-currentblock" },
style = "description_property_name_label"
}
local blockFlow = trackerInfo.add { type = "flow", name = "cityblock-block" }
blockFlow.add {
type = "textfield",
name = "tlbe-tracker-cityblock-currentblock-x",
style = "tlbe_config_half_width_textfield",
tooltip = { "tooltip.tracker-cityblock-currentblock-x" },
numeric = true,
allow_negative = true
}
Expand All @@ -1526,19 +1555,22 @@ function GUI.createTrackerConfigAndInfo(trackerInfo, tracker)
type = "textfield",
name = "tlbe-tracker-cityblock-currentblock-y",
style = "tlbe_config_half_width_textfield",
tooltip = { "tooltip.tracker-cityblock-currentblock-y" },
numeric = true,
allow_negative = true
}

trackerInfo.add {
type = "label",
caption = { "gui.label-cityblock-blockScale" },
tooltip = { "tooltip.tracker-cityblock-blockScale" },
style = "description_property_name_label"
}
trackerInfo.add {
type = "textfield",
name = "tlbe-tracker-cityblock-blockScale",
name = "tlbe-tracker-cityblock-blockScale-value",
style = "tlbe_config_half_width_textfield",
tooltip = { "tooltip.tracker-cityblock-blockScale-value" },
numeric = true,
allow_negative = false
}
Expand All @@ -1551,7 +1583,7 @@ function GUI.createTrackerConfigAndInfo(trackerInfo, tracker)
trackerInfo.add {
type = "sprite-button",
name = "tlbe-tracker-cityblock-player",
tooltip = { "tooltip.tracker-area-player" },
tooltip = { "tooltip.tracker-cityblock-player" },
sprite = "utility/show_player_names_in_map_view_black",
style = "tlbe_config_button"
}
Expand Down Expand Up @@ -1637,7 +1669,7 @@ function GUI.updateTrackerConfig(trackerInfo, tracker)
blockFlow["tlbe-tracker-cityblock-currentblock-x"].text = string.format("%d", cityBlock.currentBlock.x)
blockFlow["tlbe-tracker-cityblock-currentblock-y"].text = string.format("%d", cityBlock.currentBlock.y)

trackerInfo["tlbe-tracker-cityblock-blockScale"].text = string.format("%.2f", cityBlock.blockScale)
trackerInfo["tlbe-tracker-cityblock-blockScale-value"].text = string.format("%.2f", cityBlock.blockScale)
end
end
end
Expand Down

0 comments on commit a6ee59a

Please sign in to comment.