improved settings bar
This commit is contained in:
25
gui.py
25
gui.py
@ -79,6 +79,12 @@ H_SEPARATOR_PAD = (1, 20)
|
|||||||
OUTPUT_TEXT_PAD = (5, (20, 5))
|
OUTPUT_TEXT_PAD = (5, (20, 5))
|
||||||
WINDOW_MARGIN = (60, 90)
|
WINDOW_MARGIN = (60, 90)
|
||||||
MIN_WINDOW_SIZE = (880, 660)
|
MIN_WINDOW_SIZE = (880, 660)
|
||||||
|
SETTINGS_PANEL_MIN_HEIGHT = 320
|
||||||
|
SETTINGS_PANEL_HEIGHT_MARGIN = 230
|
||||||
|
SETTINGS_PANEL_MIN_WIDTH = 320
|
||||||
|
SETTINGS_PANEL_WIDTH_COMPACT = 420
|
||||||
|
SETTINGS_PANEL_WIDTH_WIDE = 480
|
||||||
|
SETTINGS_PANEL_WIDTH_MARGIN = 60
|
||||||
|
|
||||||
|
|
||||||
#### ---- Setting GUI
|
#### ---- Setting GUI
|
||||||
@ -120,11 +126,27 @@ def get_screen_size():
|
|||||||
|
|
||||||
return WINDOW_SIZE
|
return WINDOW_SIZE
|
||||||
|
|
||||||
|
def get_settings_panel_size(window_size):
|
||||||
|
window_width, window_height = window_size
|
||||||
|
desired_width = SETTINGS_PANEL_WIDTH_COMPACT if COMPACT_LAYOUT else SETTINGS_PANEL_WIDTH_WIDE
|
||||||
|
available_width = window_width - (GRAPH_CANVAS_SIZE[0] * 2) - SETTINGS_PANEL_WIDTH_MARGIN
|
||||||
|
|
||||||
|
if available_width > 0:
|
||||||
|
width = min(desired_width, available_width)
|
||||||
|
if available_width >= SETTINGS_PANEL_MIN_WIDTH:
|
||||||
|
width = max(width, SETTINGS_PANEL_MIN_WIDTH)
|
||||||
|
else:
|
||||||
|
width = desired_width
|
||||||
|
|
||||||
|
height = max(SETTINGS_PANEL_MIN_HEIGHT, window_height - SETTINGS_PANEL_HEIGHT_MARGIN)
|
||||||
|
return (int(width), int(height))
|
||||||
|
|
||||||
def setup_gui(params):
|
def setup_gui(params):
|
||||||
|
|
||||||
sg.theme("DarkBlue12")
|
sg.theme("DarkBlue12")
|
||||||
|
|
||||||
window_size = get_screen_size()
|
window_size = get_screen_size()
|
||||||
|
settings_panel_size = get_settings_panel_size(window_size)
|
||||||
|
|
||||||
layout_input_col1 = [[sg.Text(SET_TEMPERATURE_TEXT_1, size=(SET_TEXT_WIDTH, 1)), sg.Push(),
|
layout_input_col1 = [[sg.Text(SET_TEMPERATURE_TEXT_1, size=(SET_TEXT_WIDTH, 1)), sg.Push(),
|
||||||
sg.Input(params['Temp_1'], disabled_readonly_background_color="Gray", size=(SET_INPUT_WIDTH,1), key='-InputT1-', disabled = True)],
|
sg.Input(params['Temp_1'], disabled_readonly_background_color="Gray", size=(SET_INPUT_WIDTH,1), key='-InputT1-', disabled = True)],
|
||||||
@ -273,7 +295,8 @@ def setup_gui(params):
|
|||||||
[sg.Button(SET_START_BUTTON_TEXT, key='-StartCycle-', disabled_button_color=("Gray22", "Blue"), disabled=True), sg.Button(SET_STOP_BUTTON_TEXT, disabled_button_color=("Gray22", "Blue"), key='-StopCycle-', disabled=True), sg.Button(SET_RAMP_BUTTON_TEXT, key='-StartRamp-', disabled_button_color=("Gray22", "Blue")), sg.Button(SET_AD9833_BUTTON_TEXT, key='-StartRamp9833-', disabled_button_color=("Gray22", "Blue"))]]
|
[sg.Button(SET_START_BUTTON_TEXT, key='-StartCycle-', disabled_button_color=("Gray22", "Blue"), disabled=True), sg.Button(SET_STOP_BUTTON_TEXT, disabled_button_color=("Gray22", "Blue"), key='-StopCycle-', disabled=True), sg.Button(SET_RAMP_BUTTON_TEXT, key='-StartRamp-', disabled_button_color=("Gray22", "Blue")), sg.Button(SET_AD9833_BUTTON_TEXT, key='-StartRamp9833-', disabled_button_color=("Gray22", "Blue"))]]
|
||||||
|
|
||||||
|
|
||||||
layout = [[sg.Column(layout_input_col1, pad=(0,0)), sg.VSeparator(pad=(4,0)), sg.Column(layout_input_col2, pad=(0,0)), sg.VSeparator(pad=(4,0)), sg.Column(layout_input_col3, pad=(0,0))],
|
layout = [[sg.Column(layout_input_col1, pad=(0,0)), sg.VSeparator(pad=(4,0)), sg.Column(layout_input_col2, pad=(0,0)), sg.VSeparator(pad=(4,0)),
|
||||||
|
sg.Column(layout_input_col3, pad=(0,0), scrollable=True, vertical_scroll_only=True, size=settings_panel_size, key='-SettingsPanel-', expand_y=True)],
|
||||||
|
|
||||||
[sg.HSeparator(pad=(25,10))],
|
[sg.HSeparator(pad=(25,10))],
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user