diff --git a/Uptated-Prototype/PiperTTS-GUI-Test-working.py b/Uptated-Prototype/PiperTTS-GUI-Test-working.py new file mode 100644 index 0000000..3f98414 --- /dev/null +++ b/Uptated-Prototype/PiperTTS-GUI-Test-working.py @@ -0,0 +1,195 @@ +from tkinter import * +import atexit + +# Start of Code - Start of Tkinter loop +Root_Window = Tk() +Root_Window.title("PiperTTS - Prototype GUI") # Sets the GUI Title + +# Setting up Window Starting Size and Position (can only be even numbers) +Window_Width = 426 +Window_Height = 576 +# Getting Screen Width and Height +Screen_Width = Root_Window.winfo_screenwidth() +Screen_Height = Root_Window.winfo_screenheight() +# Calculate Center of Screen for the window +Window_PosX = (Screen_Width/2) - (Window_Width/2) +Window_PosY = (Screen_Height/2) - (Window_Height/2) +# Sets the GUI geometry and attempts to centers window on screen +Root_Window.geometry(f'{Window_Width}x{Window_Height}+{int(Window_PosX)}+{int(Window_PosY)}') +#Root_Window.minsize(Window_Width, Window_Height) + +# Attempts to create a Input Frame +try: + Input_Box_Frame = Frame(Root_Window) +except: + print("An exception occurred - when creating input Frame.") + +# Attempts to create a Controls Frame +try: + Controls_Box_Frame = Frame(Root_Window) +except: + print("An exception occurred - when creating Controls Frame.") + +# Attempts to Place Input and Controls frames +try: + Input_Box_Frame.place(x = 0, y = 0, relwidth = 1, relheight = 0.7) + Controls_Box_Frame.place(x = 0, rely = 0.8, relwidth = 1, relheight = 0.7) +except: + print("An exception occurred - when placing Frames.") + +# Attempts to create a Input box +try: + Input_Box = Text(Input_Box_Frame, selectbackground="yellow", selectforeground="black", undo=True) + Input_Box.pack(padx=5, pady=5, expand = True, fill = "both") +except: + print("An exception occurred - when creating input box.") + +# Attempts to create a scrollbar for the Input box +try: + Main_Text_Scrollbar = Scrollbar(Input_Box_Frame, command = Input_Box_Frame.yview) + Input_Box_Frame.configure(yscrollcommand = Main_Text_Scrollbar.set) + Main_Text_Scrollbar.place(relx = 1, rely = 0, relheight = 1, anchor = "ne") +except: + print("An exception occurred - when creating a scroll bar.") + +# +def PiperTTS_GUI_Play(): + try: + My_Test_Label["text"] = "Playing?" + C_Button_Pause["state"] == "normal" + C_Button_Play["state"] = "disabled" + except: + print("An exception occurred - when pressing Play Button.") + +# +def PiperTTS_GUI_Pause(): + try: + My_Test_Label["text"] = "Pause?" + C_Button_Pause["state"] == "disabled" + C_Button_Play["state"] = "normal" + except: + print("An exception occurred - when pressing Pause Button.") + +# +def PiperTTS_GUI_Stop(): + try: + My_Test_Label["text"] = "Stop?" + C_Button_Pause["state"] == "disabled" + C_Button_Play["state"] = "normal" + except: + print("An exception occurred - when pressing Stop Button.") + +# +def PiperTTS_GUI_Previous(): + try: + My_Test_Label["text"] = "Previous?" + except: + print("An exception occurred - when pressing Previous Button.") + +# +def PiperTTS_GUI_Next(): + try: + My_Test_Label["text"] = "Next?" + except: + print("An exception occurred - when pressing Next Button.") + +# +def PiperTTS_GUI_New_File(): + try: + My_Test_Label["text"] = "New File?" + Input_Box.delete("1.0", END) + except: + print("An exception occurred - when pressing New File Button.") + +# +def PiperTTS_GUI_Get_Selection(): + try: + Cursor_Position = Input_Box.index(INSERT) + Selected = Root_Window.selection_get() + Input_Box.insert(Cursor_Position, Selected) + except: + print("An exception occurred - when grabbing Selection.") + +# +def PiperTTS_GUI_Get_Clipboard(): + try: + Cursor_Position = Input_Box.index(INSERT) + Selected = Root_Window.clipboard_get() + Input_Box.insert(Cursor_Position, Selected) + except: + print("An exception occurred - when grabbing Clipboard.") + +''' +# +def PiperTTS_GUI_Clipboard(): + try: + #PiperTTS_GUI_Hide_All_Labels() + My_Label = Label(Controls_Box_Frame, text="Clipboard?").grid(row=3, column=0, columnspan=5) + #global labels = [] + labels.append(My_Label) + except: + print("An exception occurred - when pressing Clipboard Button.") +# Deleting info messages +def PiperTTS_GUI_Hide_All_Labels(): + try: + for label in labels: + label.destroy() + except: + print("An exception occurred - when attempting to hide previous messages.") +''' +# Creating Buttons +#C_Button_Clipboard = Button(Controls_Box_Frame, text="📋", pady=5, padx=5, command=PiperTTS_GUI_Clipboard) +C_Button_Play = Button(Controls_Box_Frame, text="▶", pady=5, padx=5, command=PiperTTS_GUI_Play) +C_Button_Pause = Button(Controls_Box_Frame, text="⏸", pady=5, padx=5, command=PiperTTS_GUI_Pause) +C_Button_Stop = Button(Controls_Box_Frame, text="⏹", pady=5, padx=5, command=PiperTTS_GUI_Stop) +C_Button_previous = Button(Controls_Box_Frame, text="⏮", pady=5, padx=5, command=PiperTTS_GUI_Previous) +C_Button_Next = Button(Controls_Box_Frame, text="⏭", pady=5, padx=5, command=PiperTTS_GUI_Next) + +# Creating a Test Text Label +My_Test_Label = Label(Controls_Box_Frame, text="Test Text?") +My_Test_Label.grid(row=0, column=0, columnspan=4) + +# Aligning Buttons to grid +#C_Button_Clipboard.grid(row=1, column=4) +C_Button_Play.grid(row=1, column=0) +C_Button_Pause.grid(row=1, column=1) +C_Button_Stop.grid(row=1, column=2) +C_Button_previous.grid(row=1, column=3) +C_Button_Next.grid(row=1, column=4) + +#Creating Toolbar menu +Root_Toolbar = Menu(Root_Window) +Root_Window.configure(menu=Root_Toolbar) +#Creating File menu for Toolbar +File_Toolbar = Menu(Root_Toolbar, tearoff=False) +Root_Toolbar.add_cascade(label="File", menu=File_Toolbar) +File_Toolbar.add_command(label="New", command=PiperTTS_GUI_New_File) +File_Toolbar.add_command(label="Open") +File_Toolbar.add_command(label="Save") +File_Toolbar.add_separator() +File_Toolbar.add_command(label="Exit", command=Root_Window.quit) +#Creating Playback menu for Toolbar +Playback_Toolbar = Menu(Root_Toolbar, tearoff=False) +Root_Toolbar.add_cascade(label="Playback", menu=Playback_Toolbar) +Playback_Toolbar.add_command(label="▶\tPlay", command=PiperTTS_GUI_Play) +Playback_Toolbar.add_command(label="⏸\tPause", command=PiperTTS_GUI_Pause) +Playback_Toolbar.add_command(label="⏹\tStop", command=PiperTTS_GUI_Stop) +Playback_Toolbar.add_command(label="⏮\tPrevious", command=PiperTTS_GUI_Previous) +Playback_Toolbar.add_command(label="⏭\tNext", command=PiperTTS_GUI_Next) +#Creating Tools menu for Toolbar +Tools_Toolbar = Menu(Root_Toolbar, tearoff=False) +Root_Toolbar.add_cascade(label="Tools", menu=Tools_Toolbar) +Tools_Toolbar.add_command(label="Insert Selection", command=PiperTTS_GUI_Get_Selection) +Tools_Toolbar.add_command(label="Insert Clipboard", command=PiperTTS_GUI_Get_Clipboard) +Tools_Toolbar.add_separator() +Tools_Toolbar.add_command(label="Prefrences") + +# End of Code - Emd of Tkinter loop +Root_Window.mainloop() + +# Function called on Exit +def Registered_Exit(): + print("Goodbye!?") + +# Regestering Exit +atexit.register(Registered_Exit) \ No newline at end of file