Initial implementation

Contains JSON hanshake and heartbeat procedure, including rejecting
handshake when no data exposed by connector
Simple loading screen, and then UI opens, no major UI work has been done
yet
This commit is contained in:
2026-07-07 16:33:41 +02:00
parent a94f845cdb
commit 2748a90576
11 changed files with 806 additions and 4 deletions

29
src/dynalab/ui/windows.py Normal file
View File

@@ -0,0 +1,29 @@
# Copyright (C) 2026 Hector van der Aa <hector@h3cx.dev>
# Copyright (C) 2026 Association Exergie <association.exergie@gmail.com>
# SPDX-License-Identifier: GPL-3.0-or-later
import dearpygui.dearpygui as dpg
import dpg_gauges as dpgg
from dynalab.tags import MENU_WINDOW_DATA_INPUT
def build_loading() -> None:
with dpg.window(label="DynaLab", tag="loading_window", no_collapse=True):
dpg.set_global_font_scale(0.5)
dpg.add_text(default_value="Loading DynaLab", tag="loading_text")
def build_windows() -> None:
with dpg.window(label="DynaLab", tag="main_window", no_collapse=True):
with dpg.menu_bar():
with dpg.menu(label="File"):
dpg.add_menu_item(label="Quit", enabled=True)
with dpg.menu(label="Window"):
dpg.add_menu_item(label="Data Input")
with dpg.child_window(
tag="content_area", autosize_x=True, height=0, border=False
):
with dpg.group(tag=MENU_WINDOW_DATA_INPUT):
dpgg.status_light(label="JSON", show_value=False)