Archived
55 lines
1.7 KiB
Python
55 lines
1.7 KiB
Python
import dearpygui.dearpygui as dpg
|
|
|
|
from dynalab.state import AppState
|
|
from dynalab.ui.recording import tags
|
|
from dynalab.ui.recording.controller import (
|
|
on_add_signal_clicked,
|
|
on_available_signal_selected,
|
|
on_configuration_name_changed,
|
|
on_remove_signal_clicked,
|
|
)
|
|
|
|
|
|
def build_recording_dialogs(state: AppState) -> None:
|
|
with dpg.window(
|
|
label="Recording Configuration",
|
|
tag=tags.CONFIGURATION_WINDOW,
|
|
no_collapse=True,
|
|
show=False,
|
|
min_size=(500, 300),
|
|
):
|
|
dpg.add_text("Configuration Name")
|
|
dpg.add_input_text(
|
|
tag=tags.CONFIGURATION_NAME,
|
|
callback=on_configuration_name_changed,
|
|
user_data=state,
|
|
)
|
|
dpg.add_text("Selected Signals")
|
|
dpg.add_listbox(tag=tags.SELECTED_SIGNALS, num_items=10, width=480)
|
|
with dpg.group(horizontal=True):
|
|
dpg.add_button(
|
|
label="Add", callback=on_add_signal_clicked, user_data=state
|
|
)
|
|
dpg.add_button(
|
|
label="Remove", callback=on_remove_signal_clicked, user_data=state
|
|
)
|
|
|
|
with dpg.window(
|
|
label="Add Signal",
|
|
tag=tags.ADD_SIGNAL_WINDOW,
|
|
no_collapse=True,
|
|
show=False,
|
|
min_size=(500, 300),
|
|
modal=True,
|
|
):
|
|
dpg.add_listbox(tag=tags.AVAILABLE_SIGNALS, num_items=10, width=480)
|
|
with dpg.group(horizontal=True):
|
|
dpg.add_button(
|
|
label="Select",
|
|
callback=on_available_signal_selected,
|
|
user_data=state,
|
|
)
|
|
dpg.add_button(
|
|
label="Refresh", callback=on_add_signal_clicked, user_data=state
|
|
)
|