| 59 | self.canvas.get_tk_widget().grid(row=1, column=0) |
| 60 | |
| 61 | def create_transaction_frame(self, title, button_command, row, transactions): |
| 62 | frame = ctk.CTkFrame(self.main_frame) |
| 63 | ctk.CTkLabel(frame, text=f"Add {title}", font=ctk.CTkFont(size=20)).grid(row=0, column=0) |
| 64 | |
| 65 | ctk.CTkLabel(frame, text="Category").grid(row=1, column=0) |
| 66 | category_entry = ctk.CTkEntry(frame) |
| 67 | category_entry.grid(row=1, column=1) |
| 68 | |
| 69 | ctk.CTkLabel(frame, text="Amount").grid(row=2, column=0) |
| 70 | amount_entry = ctk.CTkEntry(frame) |
| 71 | amount_entry.grid(row=2, column=1) |
| 72 | |
| 73 | ctk.CTkButton(frame, text=f"Add {title}", command=lambda: button_command(category_entry, amount_entry)).grid(row=3, column=0) |
| 74 | |
| 75 | # Add a transactions table |
| 76 | tree = ttk.Treeview(frame) |
| 77 | tree["columns"]=("Category","Amount") |
| 78 | tree.column("#0", width=0, stretch="NO") |
| 79 | tree.column("Category", anchor="w", width=120) |
| 80 | tree.column("Amount", anchor="w", width=120) |
| 81 | tree.heading("Category", text="Category",anchor='w') |
| 82 | tree.heading("Amount", text="Amount",anchor='w') |
| 83 | tree.grid(row=4, column=0, padx=20, pady=50) |
| 84 | |
| 85 | return frame, tree |
| 86 | |
| 87 | def create_balance_frame(self, row): |
| 88 | frame = ctk.CTkFrame(self.main_frame) |