xiandie/addons/project-statistics/nodes/StatisticsView.gd

34 lines
1.0 KiB
GDScript3
Raw Normal View History

2024-12-23 01:30:31 +00:00
@tool
extends Control
signal file_selected(path)
const ProjectStatistics: Script = preload("../loaders/ProjectStatistics.gd")
const FileStatistics: Script = preload("../loaders/FileStatistics.gd")
const PieChart: Script = preload("./charts/PieChart.gd")
const ChartData: Script = preload("./charts/ChartData.gd")
var stats: ProjectStatistics
func display(stats: ProjectStatistics) -> void:
self.stats = stats
await get_tree().process_frame
update_icons()
func update_icons() -> void:
pass
func _notification(what: int) -> void:
match what:
NOTIFICATION_THEME_CHANGED:
call_deferred("update_icons")
static func _format_size(item: TreeItem, column: int, size: int) -> void:
var size_text: PackedStringArray = String.humanize_size(size).split(" ")
var size_value: String = size_text[0]
var size_unit: String = size_text[1]
item.set_text(column, size_value)
item.set_suffix(column, size_unit)
item.set_tooltip_text(column, str(size) + " bytes")
item.set_text_alignment(column, HORIZONTAL_ALIGNMENT_CENTER)