from tools.cfg_util.cfg_util_qt.layout import TABLE_KEYS, TABLE_HEADERS, window from tools.cfg_util.cfg_util_qt.imgs import LIGHT import PySimpleGUI as sg def clear_tables(): for table in TABLE_KEYS["table"]: window[table].update([]) for tree in TABLE_KEYS["tree"]: window[tree].update(sg.TreeData()) def update_tables(data: list): tables = { "SCAN": [["" for _ in TABLE_HEADERS["SCAN"]] for _ in data], "CMD": [["" for _ in TABLE_HEADERS["CMD"]] for _ in data], "POOLS": [["" for _ in TABLE_HEADERS["POOLS"]] for _ in data], "CONFIG": [["" for _ in TABLE_HEADERS["CONFIG"]] for _ in data], } for data_idx, item in enumerate(data): for key in item.keys(): for table in TABLE_HEADERS.keys(): for idx, header in enumerate(TABLE_HEADERS[table]): if key == header: tables[table][data_idx][idx] = item[key] window["scan_table"].update(tables["SCAN"]) window["pools_table"].update(tables["POOLS"]) window["cfg_table"].update(tables["CONFIG"]) treedata = sg.TreeData() for idx, item in enumerate(tables["CMD"]): treedata.insert("", idx, "", item, icon=LIGHT) window["cmd_table"].update(treedata)