From 03ab375bc3e18cadc31def987199dec0ebb24ba0 Mon Sep 17 00:00:00 2001 From: JP-Carr Date: Sun, 6 Sep 2020 00:56:34 +0100 Subject: [PATCH 1/4] -ve hour change can go back day when the hour goes below 0, the day and time adjust accordingly --- console_test.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/console_test.py b/console_test.py index 82361af..c79b0b2 100644 --- a/console_test.py +++ b/console_test.py @@ -67,8 +67,12 @@ def hour(x): db["hour"]+=int(x) while db["hour"]>=24: db["hour"]-=24 - db["day"]+=1 + db["day_raw"]+=1 next_day() + while db["hour"]<0: + db["hour"]+=24 + db["day_raw"]-=1 + next_day(-1) print("Time: {}:00".format(db["hour"])) except TypeError as e: print("INVALID TIME INCREMENT") From c1f7d6d6a01de91398b76a6e95f830802011c314 Mon Sep 17 00:00:00 2001 From: JP-Carr Date: Sun, 6 Sep 2020 00:58:42 +0100 Subject: [PATCH 2/4] Removed old code --- tracker_gui.py | 53 ++------------------------------------------------ 1 file changed, 2 insertions(+), 51 deletions(-) diff --git a/tracker_gui.py b/tracker_gui.py index 523e3d3..03f0122 100644 --- a/tracker_gui.py +++ b/tracker_gui.py @@ -1,55 +1,6 @@ import PySimpleGUI as sg import console_test as ct -""" -sg.theme('DarkAmber') # Add a touch of color -# All the stuff inside your window. -layout = [ [sg.Text('Some text on Row 1')], - [sg.Text('Enter something on Row 2'), sg.InputText("inout",readonly=True)], - [sg.Button('Ok'), sg.Button('Cancel'), sg.Button("Save")] ] - -# Create the Window -window = sg.Window('Window Title', layout) -# Event Loop to process "events" and get the "values" of the inputs -while True: - event, values = window.read() - if event == sg.WIN_CLOSED or event == 'Cancel': # if user closes window or clicks cancel - break - if event=="Save": - print("saved") - if event=="Ok": - print('You entered ', values[0]) - layout[1][1].update(value="ewatwe") - - - print(event) -window.close() -""" -""" -x=0 -layout=[ - [sg.Text("Time"), sg.InputText(str(x), readonly=True,key="number")], - [sg.Button("+1",key="+1"), sg.Button("-1",key="-1")] - ] - -window=sg.Window("Test",layout) -while True: - event, values = window.read() - if event == sg.WIN_CLOSED: - print("asdf") - break - elif event=="+1": - x+=1 - window["number"].Update(str(x)) - #layout[0][1].Update(str(x)) - elif event=="-1": - x-=1 - layout[0][1].Update(str(x)) - -window.close() - -""" - layout=[ [sg.Text("Time")], @@ -62,10 +13,10 @@ [sg.InputText("0", size=(5,1), key="hour_input"), sg.InputText("0", size=(5,1), key="day_input"), sg.Button("Submit")] ] -#updatable=[i for i in layout[1]]+[layout[2][1], layout[2][3]]+[layout[3][1], layout[3][3]] updatable=["hour_display", "day_display", "tenday_display", "month_display", "year_display"]+["temp_display", "precip_display"]+["WS_display", "WD_display"] update_values=["{}:00".format(ct.db["hour"]), ct.db["day"], ct.db["tenday"], "{}. {}".format(ct.db["month"][0],ct.db["month"][1]), ct.db["year"]]+[ct.db["temperature"], ct.db["precipitation"]]+[ct.db["windspeed"], ct.db["wind_dir"]] -window=sg.Window("D&D Time Manager",layout, finalize=True) + +window=sg.Window("D&D Time Manager", layout, finalize=True) #print(len(updatable), len(update_values)) while True: event, values = window.read() From bf70bef71f23cfc9366c140fba9f199b1dbb3047 Mon Sep 17 00:00:00 2001 From: JP-Carr Date: Sun, 6 Sep 2020 15:02:17 +0100 Subject: [PATCH 3/4] Create dnd_logo.ico --- dnd_logo.ico | Bin 0 -> 114569 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 dnd_logo.ico diff --git a/dnd_logo.ico b/dnd_logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..75406b842cab7ca6576a953a09d8c8a31cfb73da GIT binary patch literal 114569 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 Date: Sun, 6 Sep 2020 15:03:30 +0100 Subject: [PATCH 4/4] Added tooltips Unlabled textboxes now have simple tooltips --- tracker_gui.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/tracker_gui.py b/tracker_gui.py index 03f0122..0caefb9 100644 --- a/tracker_gui.py +++ b/tracker_gui.py @@ -4,24 +4,28 @@ layout=[ [sg.Text("Time")], - [sg.InputText("{}:00".format(ct.db["hour"]),size=(10,1), readonly=True,key="hour_display"), sg.InputText(ct.db["day"], size=(7,1), readonly=True,key="day_display"), sg.InputText(ct.db["tenday"], size=(10,1), readonly=True,key="tenday_display"), sg.InputText("{}. {}".format(ct.db["month"][0],ct.db["month"][1]), size=(30,1), readonly=True,key="month_display"), sg.InputText(ct.db["year"], size=(5,1), readonly=True,key="year_display")], + [sg.InputText("{}:00".format(ct.db["hour"]),size=(6,1), readonly=True,key="hour_display", tooltip="Time - 24 hour"), sg.InputText(ct.db["day"], size=(3,1), readonly=True,key="day_display", tooltip="Day of the month"), sg.InputText(ct.db["tenday"], size=(2,1), readonly=True,key="tenday_display", tooltip="Tenday"), sg.InputText("{}. {}".format(ct.db["month"][0],ct.db["month"][1]), size=(30,1), readonly=True,key="month_display", tooltip="Month"), sg.InputText(ct.db["year"], size=(5,1), readonly=True,key="year_display", tooltip="Year - DR")], [sg.Text("Temperature"), sg.InputText(ct.db["temperature"], size=(20,1), readonly=True,key="temp_display"), sg.Text("Precipitation"), sg.InputText(ct.db["precipitation"], size=(6,1), readonly=True,key="precip_display")], [sg.Text("Wind Speed"), sg.InputText(ct.db["windspeed"], size=(6,1), readonly=True,key="WS_display"), sg.Text("Wind Direction"), sg.InputText(ct.db["wind_dir"], size=(3,1), readonly=True,key="WD_display")], - [sg.InputText("0", size=(5,1), key="hour_input"), sg.InputText("0", size=(5,1), key="day_input"), sg.Button("Submit")] + [sg.InputText("0", size=(5,1), key="hour_input", enable_events=True, tooltip="Hour Change"), sg.InputText("0", size=(5,1), key="day_input", tooltip="Day Change"), sg.Button("Submit")] ] updatable=["hour_display", "day_display", "tenday_display", "month_display", "year_display"]+["temp_display", "precip_display"]+["WS_display", "WD_display"] update_values=["{}:00".format(ct.db["hour"]), ct.db["day"], ct.db["tenday"], "{}. {}".format(ct.db["month"][0],ct.db["month"][1]), ct.db["year"]]+[ct.db["temperature"], ct.db["precipitation"]]+[ct.db["windspeed"], ct.db["wind_dir"]] -window=sg.Window("D&D Time Manager", layout, finalize=True) +window=sg.Window("D&D Time Manager", layout, finalize=True, icon="dnd_logo.ico") +#sg.theme("DarkRed1") #print(len(updatable), len(update_values)) while True: event, values = window.read() if event == sg.WIN_CLOSED: break + # elif event==window["hour_input"]: + # print("asdfaf") + elif event == "Submit": try: h=int(window["hour_input"].Get()) @@ -39,9 +43,8 @@ for i in range(len(updatable)): window[updatable[i]].Update(update_values[i]) window["hour_input"].Update("0") - window["day_input"].Update("0") - - - + window["day_input"].Update("0") + else: + print (event) window.close() \ No newline at end of file