-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfrontend.py
137 lines (87 loc) · 2.87 KB
/
frontend.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
"""
Ali Alian
"""
from tkinter import *
import backend
def get_selected_row(event): #To select the element in case of farther action on the element like deleting it
try:
global selected_tuple
index=list1.curselection()[0]
selected_tuple=list1.get(index)
#showing the element in the box
e1.delete(0,END)
e1.insert(END,selected_tuple[1])
e2.delete(0,END)
e2.insert(END,selected_tuple[2])
e3.delete(0,END)
e3.insert(END,selected_tuple[3])
e4.delete(0,END)
e4.insert(END,selected_tuple[4])
except IndexError:
pass
def view_command():
list1.delete(0,END)
for row in backend.view():
list1.insert(END,row)
def search_command():
list1.delete(0,END)
for row in backend.serching(title_text.get(), author_text.get(),year_text.get(),isbn_text.get()):
list1.insert(END,row)
def add_command():
backend.insert(title_text.get(), author_text.get(),year_text.get(),isbn_text.get())
list1.delete(0,END)
list1.insert(END,(title_text.get(), author_text.get(),year_text.get(),isbn_text.get()))
def delete_command():
backend.delete(selected_tuple[0])
def update_command():
backend.update(selected_tuple[0],title_text.get(), author_text.get(),year_text.get(),isbn_text.get())
window =Tk()
#window.wm_iconbitmap('1.ico')
#root = Tk()
img = PhotoImage(file='pic.png')
window.tk.call('wm', 'iconphoto', window._w, img)
window.wm_title("bookstore")
# Input lable
l1=Label(window, text="Title")
l1.grid(row=0, column=0)
l2=Label(window, text="Author")
l2.grid(row=0, column=2)
l3=Label(window, text="year")
l3.grid(row=1, column=0)
l4=Label(window, text="ISBN")
l4.grid(row=1, column=2)
title_text=StringVar()
e1=Entry(window, textvariable=title_text)
e1.grid(row=0,column=1)
author_text=StringVar()
e2=Entry(window, textvariable=author_text)
e2.grid(row=0,column=3)
year_text=StringVar()
e3=Entry(window, textvariable=year_text)
e3.grid(row=1,column=1)
isbn_text=StringVar()
e4=Entry(window, textvariable=isbn_text)
e4.grid(row=1,column=3)
#text bux for the output and the scroll bar
list1=Listbox(window, height=10, width=35)
list1.grid(row=2 ,column=0, rowspan=10, columnspan=2)
sb1=Scrollbar(window)
sb1.grid(row=2,column=2, rowspan=6, sticky=N+S+W)
list1.configure(yscrollcommand=sb1.set)
sb1.configure(command=list1.yview)
list1.bind('<<ListboxSelect>>', get_selected_row)
#buttons
b1=Button(window, text="View all", width=12, command=view_command)
b1.grid(row=2,column=3)
b2=Button(window, text="Search entry", width=12, command=search_command)
b2.grid(row=3,column=3)
b3=Button(window, text="Add entry", width=12, command=add_command)
b3.grid(row=4,column=3)
b4=Button(window, text="Update", width=12,command=update_command)
b4.grid(row=5,column=3)
b5=Button(window, text="Delete", width=12,command=delete_command)
b5.grid(row=6,column=3)
b6=Button(window, text="Close", width=12,command=window.destroy)
b6.grid(row=7,column=3)
window.mainloop()