44 lines
1.4 KiB
Python
44 lines
1.4 KiB
Python
import tkinter as tk
|
|
from database import setup_database
|
|
|
|
# Pastikan nama file dan nama class sesuai
|
|
from login import LoginPage
|
|
from admin_menu import AdminPage # Class diganti jadi AdminPage di file admin_menu
|
|
from pembeli_menu import PembeliMenu # Class tetap PembeliMenu
|
|
from kasir import KasirPage
|
|
from pemilik import PemilikPage
|
|
from waiter_dashboard import WaiterPage
|
|
|
|
class CafeApp(tk.Tk):
|
|
def __init__(self):
|
|
super().__init__()
|
|
self.title("Sistem Manajemen Kafe")
|
|
self.geometry("1000x700")
|
|
|
|
setup_database()
|
|
|
|
self.container = tk.Frame(self)
|
|
self.container.pack(side="top", fill="both", expand=True)
|
|
self.container.grid_rowconfigure(0, weight=1)
|
|
self.container.grid_columnconfigure(0, weight=1)
|
|
|
|
self.frames = {}
|
|
|
|
# Loop semua class halaman
|
|
for F in (LoginPage, AdminPage, PembeliMenu, KasirPage, PemilikPage, WaiterPage):
|
|
page_name = F.__name__
|
|
frame = F(parent=self.container, controller=self)
|
|
self.frames[page_name] = frame
|
|
frame.grid(row=0, column=0, sticky="nsew")
|
|
|
|
self.show_frame("LoginPage")
|
|
|
|
def show_frame(self, page_name):
|
|
frame = self.frames[page_name]
|
|
if hasattr(frame, "update_data"):
|
|
frame.update_data()
|
|
frame.tkraise()
|
|
|
|
if __name__ == "__main__":
|
|
app = CafeApp()
|
|
app.mainloop() |