added potential method for timer
This commit is contained in:
70
GUI.py
70
GUI.py
@@ -1,7 +1,8 @@
|
|||||||
import dearpygui.dearpygui as dpg
|
import dearpygui.dearpygui as dpg
|
||||||
import backend
|
import backend
|
||||||
|
import time
|
||||||
|
|
||||||
def GUI():
|
if __name__ == '__main__':
|
||||||
dpg.create_context()
|
dpg.create_context()
|
||||||
dpg.create_viewport(title='RocketLaunchCountdown', min_width=600, min_height=400, width=600, height=400)
|
dpg.create_viewport(title='RocketLaunchCountdown', min_width=600, min_height=400, width=600, height=400)
|
||||||
|
|
||||||
@@ -10,9 +11,8 @@ def GUI():
|
|||||||
default_font = dpg.add_font("OpenSans-Medium.ttf", 128)
|
default_font = dpg.add_font("OpenSans-Medium.ttf", 128)
|
||||||
second_font = dpg.add_font("OpenSans-Medium.ttf", 36)
|
second_font = dpg.add_font("OpenSans-Medium.ttf", 36)
|
||||||
|
|
||||||
|
|
||||||
with dpg.window(tag="Primary Window"):
|
with dpg.window(tag="Primary Window"):
|
||||||
BIG = dpg.add_button(label="T- 00:00:00", tag="text item")
|
timer = dpg.add_button(label="T- 00:00:00", tag="text item")
|
||||||
dpg.add_separator()
|
dpg.add_separator()
|
||||||
with dpg.group(horizontal=True):
|
with dpg.group(horizontal=True):
|
||||||
dpg.add_button(label="Start", tag="Start")
|
dpg.add_button(label="Start", tag="Start")
|
||||||
@@ -23,7 +23,7 @@ def GUI():
|
|||||||
dpg.add_input_int(min_value=0, max_value=23, min_clamped=True, max_clamped=True, step=0, tag="Hours")
|
dpg.add_input_int(min_value=0, max_value=23, min_clamped=True, max_clamped=True, step=0, tag="Hours")
|
||||||
dpg.add_input_int(min_value=0, max_value=59, min_clamped=True, max_clamped=True, step=0, tag="Minutes")
|
dpg.add_input_int(min_value=0, max_value=59, min_clamped=True, max_clamped=True, step=0, tag="Minutes")
|
||||||
dpg.add_input_int(min_value=0, max_value=59, min_clamped=True, max_clamped=True, step=0, tag="Seconds")
|
dpg.add_input_int(min_value=0, max_value=59, min_clamped=True, max_clamped=True, step=0, tag="Seconds")
|
||||||
dpg.add_button(label="Toggle Date Till", tag="toggleDate", callback="toggleDateView")
|
dpg.add_button(label="Toggle Date Till", tag="toggleDate", callback="toggledateview")
|
||||||
with dpg.group(horizontal=True):
|
with dpg.group(horizontal=True):
|
||||||
dpg.add_input_int(min_value=1, max_value=31, min_clamped=True, max_clamped=True, step=0, tag="Day")
|
dpg.add_input_int(min_value=1, max_value=31, min_clamped=True, max_clamped=True, step=0, tag="Day")
|
||||||
dpg.add_input_int(min_value=1, max_value=12, min_clamped=True, max_clamped=True, step=0, tag="Month")
|
dpg.add_input_int(min_value=1, max_value=12, min_clamped=True, max_clamped=True, step=0, tag="Month")
|
||||||
@@ -48,39 +48,57 @@ def GUI():
|
|||||||
dpg.add_text("Year")
|
dpg.add_text("Year")
|
||||||
|
|
||||||
dpg.bind_font(second_font)
|
dpg.bind_font(second_font)
|
||||||
dpg.bind_item_font(BIG, default_font)
|
dpg.bind_item_font(timer, default_font)
|
||||||
|
|
||||||
dpg.show_style_editor()
|
dpg.show_metrics()
|
||||||
|
|
||||||
dpg.setup_dearpygui()
|
dpg.setup_dearpygui()
|
||||||
dpg.show_viewport()
|
dpg.show_viewport()
|
||||||
dpg.set_primary_window("Primary Window", True)
|
dpg.set_primary_window("Primary Window", True)
|
||||||
|
|
||||||
currentViewportSize = 0
|
currentViewportSize = 0
|
||||||
|
seccondPassed = 0
|
||||||
|
|
||||||
while dpg.is_dearpygui_running():
|
while dpg.is_dearpygui_running(): # on every frame
|
||||||
if not dpg.get_viewport_client_width() == currentViewportSize:
|
if not dpg.get_viewport_client_width() == currentViewportSize: # has it been resized
|
||||||
dpg.configure_item("text item", width=int(dpg.get_viewport_width() - 16))
|
|
||||||
dpg.configure_item("Start", width=int((dpg.get_viewport_client_width() / 4) - 10))
|
|
||||||
dpg.configure_item("Hold", width=int((dpg.get_viewport_client_width() / 4) - 10))
|
|
||||||
dpg.configure_item("Scrub", width=int((dpg.get_viewport_client_width() / 4) - 10))
|
|
||||||
dpg.configure_item("toggle", width=int((dpg.get_viewport_client_width() / 4) - 10))
|
|
||||||
dpg.configure_item("Day", width=int((dpg.get_viewport_client_width() / 3) - 11))
|
|
||||||
dpg.configure_item("Month", width=int((dpg.get_viewport_client_width() / 3) - 11))
|
|
||||||
dpg.configure_item("Year", width=int((dpg.get_viewport_client_width() / 3) - 11))
|
|
||||||
dpg.configure_item("Hours", width=int((dpg.get_viewport_client_width() / 4) - 10))
|
|
||||||
dpg.configure_item("Minutes", width=int((dpg.get_viewport_client_width() / 4) - 10))
|
|
||||||
dpg.configure_item("Seconds", width=int((dpg.get_viewport_client_width() / 4) - 10))
|
|
||||||
dpg.configure_item("toggleDate",width=int((dpg.get_viewport_client_width() / 4) - 10))
|
|
||||||
currentViewportSize = dpg.get_viewport_client_width()
|
currentViewportSize = dpg.get_viewport_client_width()
|
||||||
#if seccondPassed:
|
dpg.configure_item("text item", width=int(currentViewportSize - 16))
|
||||||
# backend.countdownTime()
|
dpg.configure_item("Start", width=int((currentViewportSize / 4) - 10))
|
||||||
# seccondPassed = False
|
dpg.configure_item("Hold", width=int((currentViewportSize / 4) - 10))
|
||||||
# timeFinished = 0
|
dpg.configure_item("Scrub", width=int((currentViewportSize / 4) - 10))
|
||||||
|
dpg.configure_item("toggle", width=int((currentViewportSize / 4) - 10))
|
||||||
|
dpg.configure_item("Day", width=int((currentViewportSize / 3) - 11))
|
||||||
|
dpg.configure_item("Month", width=int((currentViewportSize / 3) - 11))
|
||||||
|
dpg.configure_item("Year", width=int((currentViewportSize / 3) - 11))
|
||||||
|
dpg.configure_item("Hours", width=int((currentViewportSize / 4) - 10))
|
||||||
|
dpg.configure_item("Minutes", width=int((currentViewportSize / 4) - 10))
|
||||||
|
dpg.configure_item("Seconds", width=int((currentViewportSize / 4) - 10))
|
||||||
|
dpg.configure_item("toggleDate",width=int((currentViewportSize / 4) - 10))
|
||||||
|
|
||||||
|
#if seccondPassed == abs(time.monotonic()): # has a seccond passed since last run
|
||||||
|
# seccondPassed = abs(time.monotonic() + 1)
|
||||||
|
# if not onHold:
|
||||||
|
# countTime = backend.countTime(countTime)
|
||||||
|
# displayTime = abs(countTime)
|
||||||
|
# holdTime = 0
|
||||||
|
# else:
|
||||||
|
# holdTime = backend.holdTime(holdTime)
|
||||||
|
# displayTime = abs(countTime)
|
||||||
|
|
||||||
|
#update button to display time
|
||||||
|
|
||||||
dpg.render_dearpygui_frame()
|
dpg.render_dearpygui_frame()
|
||||||
|
|
||||||
dpg.destroy_context()
|
dpg.destroy_context()
|
||||||
|
|
||||||
if __name__ == '__main__':
|
def toggledateview(sender, app_data):
|
||||||
GUI()
|
if dateInputVisable:
|
||||||
|
dateInputVisable = False
|
||||||
|
dpg.configure_item("Day", enabled=False)
|
||||||
|
dpg.configure_item("Month", enabled=False)
|
||||||
|
dpg.configure_item("Year", enabled=False)
|
||||||
|
else:
|
||||||
|
dateInputVisable = True
|
||||||
|
dpg.configure_item("Day", enabled=True)
|
||||||
|
dpg.configure_item("Month", enabled=True)
|
||||||
|
dpg.configure_item("Year", enabled=True)
|
||||||
|
|||||||
24
backend.py
24
backend.py
@@ -62,25 +62,11 @@ def pullSpreedsheet(inputCol, inputRow, link):
|
|||||||
print(f"[ERROR] Failed to fetch Go/No-Go from sheet: {e}")
|
print(f"[ERROR] Failed to fetch Go/No-Go from sheet: {e}")
|
||||||
return "N/A"
|
return "N/A"
|
||||||
|
|
||||||
def countdownTime(countTime, onHold):
|
def countTime(timeNow):
|
||||||
TimeNow = countTime
|
pass
|
||||||
while True:
|
|
||||||
while not onHold:
|
def holdTime(timeNow):
|
||||||
t1 = monotonic()
|
pass
|
||||||
TimeNow = TimeNow - 1
|
|
||||||
if TimeNow <= 0: # are we counting up?
|
|
||||||
countUp = True
|
|
||||||
else: countUp = False
|
|
||||||
yield(abs(TimeNow), countUp)
|
|
||||||
t2 = monotonic()
|
|
||||||
sleep(1.0 - (t2 - t1)) # sleep till next seccond
|
|
||||||
HoldTime = 0
|
|
||||||
while onHold:
|
|
||||||
t1 = monotonic()
|
|
||||||
HoldTime = HoldTime + 1
|
|
||||||
yield(HoldTime, True)
|
|
||||||
t2 = monotonic()
|
|
||||||
sleep(1.0 - (t2 - t1)) # sleep till next seccond
|
|
||||||
|
|
||||||
|
|
||||||
def convertEpoch(inputTime, isDate):
|
def convertEpoch(inputTime, isDate):
|
||||||
|
|||||||
Reference in New Issue
Block a user