(self, db_path, *args, **kwargs)
| 18 | """ |
| 19 | |
| 20 | def __init__(self, db_path, *args, **kwargs): |
| 21 | super().__init__(*args, **kwargs) |
| 22 | |
| 23 | # Configure Main Window |
| 24 | self.title("Expense Tracker") |
| 25 | self.geometry("1500x730") |
| 26 | |
| 27 | # Configure Layout |
| 28 | self.grid_rowconfigure((0, 1, 2, 3), weight=2) |
| 29 | self.grid_rowconfigure(3, weight=1) |
| 30 | self.grid_columnconfigure((0, 1, 2), weight=1) |
| 31 | |
| 32 | # ============================================================================================================== |
| 33 | |
| 34 | # Table for the Expense Items |
| 35 | self._items_db = ItemsDB(db_path) |
| 36 | self.items_table = ItemsTable(self, self._items_db) |
| 37 | self.items_table.grid( |
| 38 | row=0, column=0, padx=5, pady=5, columnspan=3, sticky="nswe" |
| 39 | ) |
| 40 | self.items_table.bind("<ButtonRelease-1>", self.on_row_selected) |
| 41 | |
| 42 | # ============================================================================================================== |
| 43 | # Settings Tab |
| 44 | # Unfortunately, Customtkinter does not support menu bar |
| 45 | self.tab_view_settings = ctk.CTkTabview(self) |
| 46 | self.tab_view_settings.grid(row=1, column=0, padx=5, pady=5, sticky="nswe") |
| 47 | |
| 48 | # Edit Tab |
| 49 | self.tab_view_settings.add("Edit") |
| 50 | |
| 51 | button = ctk.CTkButton( |
| 52 | self.tab_view_settings.tab("Edit"), |
| 53 | text="Deselect Table", |
| 54 | command=lambda: self.items_table.deselect(), |
| 55 | ) |
| 56 | button.pack(pady=5) |
| 57 | |
| 58 | button = ctk.CTkButton( |
| 59 | self.tab_view_settings.tab("Edit"), |
| 60 | text="Update Summaries", |
| 61 | command=self.update_pivot_tables, |
| 62 | ) |
| 63 | button.pack(pady=5) |
| 64 | |
| 65 | # Report Tab |
| 66 | self.tab_view_settings.add("Report") |
| 67 | |
| 68 | self.btn_generate_excel_report = ctk.CTkButton( |
| 69 | self.tab_view_settings.tab("Report"), |
| 70 | text="Generate Excel Report", |
| 71 | command=self.generate_excel_report, |
| 72 | ) |
| 73 | self.btn_generate_excel_report.pack(pady=5) |
| 74 | |
| 75 | self.btn_generate_pdf_report = ctk.CTkButton( |
| 76 | self.tab_view_settings.tab("Report"), |
| 77 | text="Generate PDF Report", |
nothing calls this directly
no test coverage detected