from tkinter import * 
from tkinter import ttk

class Interface:
    '''Cria a interface do programa'''
    def __init__(self):
        self.__janela = Tk()
        self.__janela.resizable(0, 0)
        self.__janela.title("Ferramenta de Estudo de Idioma")

    def limparWidgets(self):
        '''Limpa todos os widgets da interface'''
        widgets = self.__janela.grid_slaves()
        for widget in widgets:
            widget.destroy()

    def telaInicial(self):
        '''Cria a tela inicial da aplicação'''

        # Limpando a tela
        self.limparWidgets()

        # Configurando a janela
        self.__janela.geometry("640x480")
        self.__janela.rowconfigure(1, weight= 3)
        self.__janela.columnconfigure(0, weight= 1)
        self.__janela.columnconfigure(1, weight=1)

        # Criando os widgets
        titulo = ttk.Label(self.__janela, text="Escolha o Idioma o qual irá responder", font=("Arial", 12), style= "TLabel")
        botaoEsquerdo = ttk.Button(self.__janela, text= 'Portugues', command= self.telaEscolhaPortugues, style= "Left.TButton")
        botaoDireito = ttk.Button(self.__janela, text= 'Coreano', command= self.telaEscolhaCoreano, style= "Right.TButton")

        # Estilizando os widgets
        self.__janela.style = ttk.Style()
        self.__janela.style.configure(
            "Left.TButton",
            font=("Arial", 14),
            background="#00796B",
            width=20,
            bordercolor="#00796B",
            lightcolor="#4DB6AC",
            darkcolor="#004D40",
            padding=10,
            relief="raised",
        )

        self.__janela.style.configure(
            "Right.TButton",
            font=("Arial", 14),
            background= "#FF5722",
            width= 20,
            bordercolor= "#FF5722",
            lightcolor= "#FF8A65",
            darkcolor= "#BF360C",
            padding= 10,
            relief= "raised",
        )
        self.__janela.style.configure(
            "TLabel",
            foreground= "#009688",
            padding= 10,
        )
        titulo.configure(anchor= "center")

    
        # Posicionando os widgets
        titulo.grid(padx= 50, sticky= "nsew", columnspan= 2)
        botaoEsquerdo.grid(column= 0, row= 1, sticky= "nsew")
        botaoDireito.grid(column= 1, row= 1, sticky= "nsew")

    def telaEscolhaPortugues(self):
        '''Crai a tela de escolha do tipo de exercício em que a resposta será em português'''

        # Limpando a tela
        self.limparWidgets()

        # Configurando a janela
        self.__janela.geometry("640x480")
        self.__janela.columnconfigure(0, weight=1)
        self.__janela.rowconfigure(0, weight=1)
        self.__janela.rowconfigure(1, weight=3)

        # Criando os widgets
            # Botão de Voltar
        btn_voltar = ttk.Button(self.__janela, text="Voltar", command= self.telaInicial)        

            # Título
        titulo = ttk.Label(self.__janela, text="Escolha o tipo de exercício", font=("Arial", 16))

            # Botões das frases
        area_frase = ttk.Frame(self.__janela)
        area_frase.grid(row=1, column=0, sticky="nsew")

        btn_texto_frase = ttk.Button(area_frase, text="Texto")
        btn_texto_frase.grid(row=0, column=0, padx=10, pady=10)

        btn_audio_frase = ttk.Button(area_frase, text="Áudio")
        btn_audio_frase.grid(row=0, column=1, padx=10, pady=10)

        # Botões de palavra
        area_palavra = ttk.Frame(self.__janela)
        area_palavra.grid(row=1, column=1, sticky="nsew")

        btn_texto_palavra = ttk.Button(area_palavra, text="Texto")
        btn_texto_palavra.grid(row=0, column=0, padx=10, pady=10)

        btn_audio_palavra = ttk.Button(area_palavra, text="Áudio")
        btn_audio_palavra.grid(row=0, column=1, padx=10, pady=10)



        btn_voltar.grid(row=0, column=0, sticky="nw", padx=10, pady=10)
        titulo.grid(row=0, column=1, sticky="n", padx=10, pady=10)

    def telaEscolhaCoreano(self):
        pass

    def iniciar(self):
        self.telaInicial()
        self.__janela.mainloop()


i = Interface()
i.iniciar()