''' 
Wyświetla graficzny interfejs użytkownika, który pozwala użytkownikom konwertować pomiędzy temperaturami w różnych skalach
'''

from tkinter import *
from tkinter import messagebox

class Converter(object):
    '''
    Wyświetla interfejs użytkownika Tkinter do konwersji między stopniami Fahrenheita, a Celsjusza 
    Wywołaj funkcję display w celu wyświetlenia konwertera na ekranie 
    '''

    def display(self):
        '''
        Wyświetla okno konwertera
        Kiedy okno zostanie zamknięte, ta metoda zakończy się 
        '''

        root = Tk()

        cent_label = Label(root, text='Celsjusza:')
        cent_label.grid(row=0, column=0, padx=5, pady=5, stick=E)

        cent_entry = Entry(root, width=5)
        cent_entry.grid(row=0, column=1, padx=5, pady=5)

        fah_label = Label(root, text='Fahrenheita:')
        fah_label.grid(row=2, column=0, padx=5, pady=5, stick=E)

        fah_entry = Entry(root, width=5)
        fah_entry.grid(row=2, column=1, padx=5, pady=5)

        def fah_to_cent():
            '''
            Przelicza ze stopni Fahrenheita na stopnie Celsjusza i wyświetla wynik 
            '''
            fah_string = fah_entry.get()
            fah_float = float(fah_string)
            result = (fah_float - 32) / 1.89
            cent_entry.delete(0) # usunięcie starego tekstu
            cent_entry.insert(0, str(result)) # wstawienie nowego tekstu

        def cent_to_fah():
            '''
            Przelicza ze stopni Celsjusza na Fahrenheita i wyświetla wynik
            '''
            cent_string = cent_entry.get()
            cent_float = float(cent_string)
            result = cent_float * 1.8 + 32


            fah_entry.delete(0) # usunięcie starego tekstu
            fah_entry.insert(0, str(result))

        fah_to_cent_button = Button(root, text="Fahrenheit -> Celsjusz", command=fah_to_cent)
        fah_to_cent_button.grid(row=1, column=0, padx=5, pady=5)

        cent_to_fah_button = Button(root, text="Celsjusz -> Fahrenheit", command=cent_to_fah)
        cent_to_fah_button.grid(row=1, column=1, padx=5, pady=5)
        
        root.mainloop()



if __name__ == '__main__':
    app = Converter()
    app.display()
