Preview Image
This commit is contained in:
parent
c58c0324c0
commit
a2497722bd
58
main.py
58
main.py
@ -379,7 +379,7 @@ def dashboard_frame(self):
|
||||
|
||||
|
||||
|
||||
# Dashboard untuk semua kecuali adminnn
|
||||
# Bagian Search dan Filter
|
||||
|
||||
|
||||
def build_menu_view_tab(self, parent):
|
||||
@ -407,3 +407,59 @@ def build_menu_view_tab(self, parent):
|
||||
self.view_tree.pack(fill='both', expand=True)
|
||||
self.view_tree.bind("<<TreeviewSelect>>", self.on_view_select)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Preview Image
|
||||
|
||||
|
||||
ttk.Label(right, text="Preview Item", font=("Arial", 12, "bold")).pack(pady=6)
|
||||
self.preview_label = ttk.Label(right, text="Pilih menu di kiri")
|
||||
self.preview_label.pack()
|
||||
self.preview_img_label = ttk.Label(right)
|
||||
self.preview_img_label.pack(pady=6)
|
||||
self.preview_detail = tk.Text(right, width=45, height=12)
|
||||
self.preview_detail.pack()
|
||||
|
||||
self.reload_view_table()
|
||||
|
||||
def reload_view_table(self, available_only=False):
|
||||
s = self.view_search_var.get().strip() if hasattr(self, 'view_search_var') else ""
|
||||
results = menu_list(search_text=s or None, available_only=available_only)
|
||||
for r in self.view_tree.get_children():
|
||||
self.view_tree.delete(r)
|
||||
for row in results:
|
||||
mid,nama,kategori,harga,stok,foto,tersedia,item_disc = row
|
||||
self.view_tree.insert("", tk.END, values=(mid,nama,kategori,harga,stok, "Yes" if tersedia else "No", item_disc))
|
||||
|
||||
def reset_view_filters(self):
|
||||
self.view_search_var.set("")
|
||||
self.reload_view_table()
|
||||
|
||||
def on_view_select(self, event):
|
||||
sel = self.view_tree.selection()
|
||||
if not sel:
|
||||
return
|
||||
item = self.view_tree.item(sel)['values']
|
||||
menu_id = item[0]
|
||||
data = menu_get(menu_id)
|
||||
if not data:
|
||||
return
|
||||
mid,nama,kategori,harga,stok,foto,tersedia,item_disc = data
|
||||
self.preview_detail.delete('1.0', tk.END)
|
||||
txt = f"ID: {mid}\nNama: {nama}\nKategori: {kategori}\nHarga: {harga}\nStok: {stok}\nTersedia: {'Yes' if tersedia else 'No'}\nItem Discount: {item_disc}%\nFoto path: {foto}\n"
|
||||
self.preview_detail.insert(tk.END, txt)
|
||||
if foto and os.path.exists(foto):
|
||||
try:
|
||||
img = Image.open(foto)
|
||||
img.thumbnail(IMG_PREVIEW_SIZE)
|
||||
tkimg = ImageTk.PhotoImage(img)
|
||||
self.img_cache['preview'] = tkimg
|
||||
self.preview_img_label.config(image=tkimg)
|
||||
except Exception as e:
|
||||
self.preview_img_label.config(image='')
|
||||
else:
|
||||
self.preview_img_label.config(image='')
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user