97 lines
3.7 KiB
Python
97 lines
3.7 KiB
Python
import tkinter as tk
|
|
from tkinter import messagebox
|
|
|
|
class DialogoAdicionarPet(tk.Toplevel):
|
|
def __init__(self, parent):
|
|
super().__init__(parent)
|
|
self.result = None
|
|
|
|
self.title("Adicionar Novo Pet")
|
|
self.geometry("300x200")
|
|
self.configure(bg="#1e1e1e")
|
|
self.transient(parent)
|
|
self.grab_set()
|
|
|
|
self._criar_widgets()
|
|
self.wait_window(self)
|
|
|
|
def _criar_widgets(self):
|
|
main_frame = tk.Frame(self, bg="#1e1e1e", padx=20, pady=20)
|
|
main_frame.pack(fill="both", expand=True)
|
|
|
|
tk.Label(main_frame, text="Nome:", bg="#1e1e1e", fg="white").pack(anchor="w")
|
|
self.entry_nome = tk.Entry(main_frame, bg="#2c2c2c", fg="white", insertbackground="white")
|
|
self.entry_nome.pack(fill="x", pady=(0, 10))
|
|
|
|
tk.Label(main_frame, text="Espécie:", bg="#1e1e1e", fg="white").pack(anchor="w")
|
|
self.entry_especie = tk.Entry(main_frame, bg="#2c2c2c", fg="white", insertbackground="white")
|
|
self.entry_especie.pack(fill="x", pady=(0, 20))
|
|
|
|
botoes_frame = tk.Frame(main_frame, bg="#1e1e1e")
|
|
botoes_frame.pack(fill="x")
|
|
|
|
btn_ok = tk.Button(botoes_frame, text="Adicionar", command=self._on_ok, bg="#4CAF50", fg="white", relief="flat")
|
|
btn_ok.pack(side="right", padx=(10, 0))
|
|
|
|
btn_cancelar = tk.Button(botoes_frame, text="Cancelar", command=self.destroy, bg="#f44336", fg="white", relief="flat")
|
|
btn_cancelar.pack(side="right")
|
|
|
|
self.entry_nome.focus_set()
|
|
|
|
def _on_ok(self):
|
|
nome = self.entry_nome.get().strip()
|
|
especie = self.entry_especie.get().strip()
|
|
if not nome or not especie:
|
|
messagebox.showwarning("Campos Vazios", "Por favor, preencha o nome e a espécie.", parent=self)
|
|
return
|
|
self.result = {"nome": nome, "especie": especie}
|
|
self.destroy()
|
|
|
|
|
|
class DialogoEditarPet(tk.Toplevel):
|
|
def __init__(self, parent, pet_atual):
|
|
super().__init__(parent)
|
|
self.result = None
|
|
self.pet_atual = pet_atual
|
|
|
|
self.title("Editar Pet")
|
|
self.geometry("300x200")
|
|
self.configure(bg="#1e1e1e")
|
|
self.transient(parent)
|
|
self.grab_set()
|
|
|
|
self._criar_widgets()
|
|
|
|
def _criar_widgets(self):
|
|
main_frame = tk.Frame(self, bg="#1e1e1e", padx=20, pady=20)
|
|
main_frame.pack(fill="both", expand=True)
|
|
|
|
tk.Label(main_frame, text="Nome:", bg="#1e1e1e", fg="white").pack(anchor="w")
|
|
self.entry_nome = tk.Entry(main_frame, bg="#2c2c2c", fg="white", insertbackground="white")
|
|
self.entry_nome.insert(0, self.pet_atual.nome)
|
|
self.entry_nome.pack(fill="x", pady=(0, 10))
|
|
|
|
tk.Label(main_frame, text="Espécie:", bg="#1e1e1e", fg="white").pack(anchor="w")
|
|
self.entry_especie = tk.Entry(main_frame, bg="#2c2c2c", fg="white", insertbackground="white")
|
|
self.entry_especie.insert(0, self.pet_atual.especie)
|
|
self.entry_especie.pack(fill="x", pady=(0, 20))
|
|
|
|
botoes_frame = tk.Frame(main_frame, bg="#1e1e1e")
|
|
botoes_frame.pack(fill="x")
|
|
|
|
btn_ok = tk.Button(botoes_frame, text="Salvar", command=self._on_ok, bg="#4CAF50", fg="white", relief="flat")
|
|
btn_ok.pack(side="right", padx=(10, 0))
|
|
|
|
btn_cancelar = tk.Button(botoes_frame, text="Cancelar", command=self.destroy, bg="#f44336", fg="white", relief="flat")
|
|
btn_cancelar.pack(side="right")
|
|
|
|
def _on_ok(self):
|
|
nome = self.entry_nome.get().strip()
|
|
especie = self.entry_especie.get().strip()
|
|
|
|
if not nome or not especie:
|
|
messagebox.showerror("Erro", "Nome e espécie não podem ser vazios.", parent=self)
|
|
return
|
|
|
|
self.result = {"nome": nome, "especie": especie}
|
|
self.destroy() |