Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
5001CEM/FinalJawaraMain.py
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
492 lines (420 sloc)
26.2 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import tkinter as tk | |
from tkinter import ttk | |
from PIL import ImageTk, Image | |
import jawaraSQL | |
from designSpecTest import * | |
#import timetable | |
class Main: | |
def __init__(self): | |
self.master = tk.Tk() | |
self.master.wm_title("Jawara") | |
self.master.geometry("1000x500") | |
self.mainContainer = tk.Frame(self.master, bg = "#c3c3c3") | |
self.mainContainer.grid(row = 0, column = 1) | |
self.sidePanelFrame = tk.Frame(self.master, bg = "#c3c3c3") | |
self.sidePanelFrame.grid(row = 0, column = 0) | |
self.frames = {} | |
self.CreateLoginScreen() | |
self.CreatePlantOperatorSidePanel() | |
self.CreatePlantManagerSidePanel() | |
self.CreateProductEngineerSidePanel() | |
self.CreateAccessoriesProductionOperativeSidePanel() | |
self.CreateAccessoriesProductionManagerSidePanel() | |
self.CreateMachineStatusScreen() | |
self.CreateScheduleScreen() | |
self.CreateJobPreparationScreen() | |
self.CreateOperatorTimetableScreen() | |
self.CreateGenerateReportScreen() | |
self.CreateProductLineInfoScreen() | |
self.CreateDesignSpecScreen() | |
self.CreateManufacturingInstructionsScreen() | |
self.CreateMaterialInfoScreen() | |
self.CreateCompanyMeetingScreen() | |
self.CreateLogOutScreen() | |
self.CreateCompanyEventsScreen() | |
self.RaiseLogin() | |
def CreatePlantOperatorSidePanel(self): | |
self.sideFrame = tk.Frame(self.sidePanelFrame) | |
self.sideFrame.config(bg = "#c3c3c3") | |
self.SidePanelButton("Dashboard", self.RaiseDashboard, 0) | |
self.SidePanelButton("Machine Status", self.RaiseMachineStatus, 1) | |
self.SidePanelButton("Schedule", self.RaiseSchedule, 2) | |
self.SidePanelButton("Company Meeting", self.RaiseCompanyMeeting, 3) | |
self.SidePanelButton("Company Events", self.RaiseCompanyEvents, 4) | |
self.SidePanelButton("Log out", self.RaiseLogOut, 5) | |
self.frames["POSide"] = self.sideFrame | |
def CreatePlantManagerSidePanel(self): | |
self.sideFrame = tk.Frame(self.sidePanelFrame) | |
self.sideFrame.config(bg = "#c3c3c3") | |
self.SidePanelButton("Dashboard", self.RaiseDashboard, 0) | |
self.SidePanelButton("Machine Status", self.RaiseMachineStatus, 1) | |
self.SidePanelButton("Operator Timetable", self.RaiseOperatorTimetable, 2) | |
self.SidePanelButton("Company Meeting", self.RaiseCompanyMeeting, 3) | |
self.SidePanelButton("Company Events", self.RaiseCompanyEvents, 4) | |
self.SidePanelButton("Log out", self.RaiseLogOut, 5) | |
self.frames["PMSide"] = self.sideFrame | |
def CreateProductEngineerSidePanel(self): | |
self.sideFrame = tk.Frame(self.sidePanelFrame) | |
self.sideFrame.config(bg = "#c3c3c3") | |
self.SidePanelButton("Dashboard", self.RaiseDashboard, 0) | |
self.SidePanelButton("Product Line Info", self.RaiseProductLineInfo, 1) | |
self.SidePanelButton("Design Spec", self.RaiseDesignSpec, 2) | |
self.SidePanelButton("Manufacturing Info", self.RaiseManufacturingInstructions, 3) | |
self.SidePanelButton("Generate Report", self.RaiseGenerateReport, 4) | |
self.SidePanelButton("Company Meeting", self.RaiseCompanyMeeting, 5) | |
self.SidePanelButton("Company Events", self.RaiseCompanyEvents, 6) | |
self.SidePanelButton("Log out", self.RaiseLogOut, 7) | |
self.frames["PESide"] = self.sideFrame | |
def CreateAccessoriesProductionOperativeSidePanel(self): | |
self.sideFrame = tk.Frame(self.sidePanelFrame) | |
self.sideFrame.config(bg = "#c3c3c3") | |
self.SidePanelButton("Dashboard", self.RaiseDashboard, 0) | |
self.SidePanelButton("Design Spec", self.RaiseDesignSpec, 1) | |
self.SidePanelButton("Material Info", self.RaiseMaterialInfo, 2) | |
self.SidePanelButton("Company Meeting", self.RaiseCompanyMeeting, 3) | |
self.SidePanelButton("Company Events", self.RaiseCompanyEvents, 4) | |
self.SidePanelButton("Log out", self.RaiseLogOut, 5) | |
self.frames["APOSide"] = self.sideFrame | |
def CreateAccessoriesProductionManagerSidePanel(self): | |
self.sideFrame = tk.Frame(self.sidePanelFrame) | |
self.sideFrame.config(bg = "#c3c3c3") | |
self.SidePanelButton("Dashboard", self.RaiseDashboard, 0) | |
self.SidePanelButton("Manufacturing Info", self.RaiseManufacturingInstructions, 1) | |
self.SidePanelButton("Machine Status", self.RaiseMachineStatus, 2) | |
self.SidePanelButton("Schedule", self.RaiseSchedule, 3) | |
self.SidePanelButton("Operator Timetable", self.RaiseOperatorTimetable, 4) | |
self.SidePanelButton("Material Info", self.RaiseMaterialInfo, 5) | |
self.SidePanelButton("Generate Report", self.RaiseGenerateReport, 6) | |
self.SidePanelButton("Company Meeting", self.RaiseCompanyMeeting, 7) | |
self.SidePanelButton("Company Events", self.RaiseCompanyEvents, 8) | |
self.SidePanelButton("Log out", self.RaiseLogOut, 9) | |
self.frames["APMSide"] = self.sideFrame | |
def CreateDashboardScreen(self, jobTitleMsg, jobImg): | |
self.DashboardFrame = tk.Frame(self.mainContainer) | |
self.DashboardFrame.config(bg = "#AAC9DD") | |
mainTitle = tk.Label(self.DashboardFrame, text = "Dashboard", bg = "#AAC9DD") | |
mainTitle.grid(row = 1, column = 0, padx = 100, pady = 15) | |
personalisedMessage = tk.Label(self.DashboardFrame, text = jobTitleMsg, bg = "#AAC9DD") | |
personalisedMessage.grid(row = 2, column = 0, padx = 100, pady = 15) | |
self.AddImage(self.DashboardFrame, jobImg, 3, 0) | |
box = tk.Label(self.DashboardFrame, text = "", bg = "#AAC9DD") | |
box.grid(row = 4, column = 0, padx = 100, pady = 15) | |
self.frames["Dashboard"] = self.DashboardFrame | |
def CreateMachineStatusScreen(self): | |
self.MachineStatusFrame = tk.Frame(self.mainContainer) | |
tabControl = ttk.Notebook(self.MachineStatusFrame) | |
tab1 = ttk.Frame(tabControl) | |
tabControl.add(tab1, text ='Machine Status') | |
tabControl.pack(expand = 1, fill ="both") | |
tk.Label(tab1,text ="Welcome to Machine Status Control").grid(column = 0, row = 0, padx = 30, pady = 30) | |
v = tk.IntVar() | |
v.set(1) | |
languages = [("Working", 101), ("Not Working", 102), ("Needs Supervision", 103)] | |
def ShowChoice(): | |
print(v.get()) | |
tk.Label(self.MachineStatusFrame, | |
text="""Choose the machine Status:""", | |
justify = tk.LEFT, | |
padx = 20).pack() | |
for language, val in languages: | |
tk.Radiobutton(self.MachineStatusFrame, text=language, indicatoron = 0, padx = 20, variable=v, command=ShowChoice, value=val).pack(anchor=tk.W) | |
self.frames["MachineStatus"] = self.MachineStatusFrame | |
def CreateScheduleScreen(self): | |
self.ScheduleFrame = tk.Frame(self.mainContainer) | |
self.ScheduleFrame.config(bg = "#AAC9DD") | |
mainTitle = tk.Label(self.ScheduleFrame, text = "Production Schedule", bg = "#AAC9DD") | |
mainTitle.grid(row = 1, column = 0, columnspan = 7, padx = 100, pady = 30) | |
self.GridMaker(self.ScheduleFrame, ["","Monday", "Tuesday", "Wednesday", "Thursday", "Friday"], 2, 0) | |
self.GridMaker(self.ScheduleFrame, ["08:00 - 10:00","Task", "Task", "Task", "Task", "Task"], 3, 0) | |
self.GridMaker(self.ScheduleFrame, ["10:00 - 12:00","Task", "Task", "Task", "Task", "Task"], 4, 0) | |
self.GridMaker(self.ScheduleFrame, ["12:00 - 14:00","Task", "Task", "Task", "Task", "Task"], 5, 0) | |
self.GridMaker(self.ScheduleFrame, ["14:00 - 16:00", "Task", "Task", "Task", "Task", "Task"], 6, 0) | |
self.GridMaker(self.ScheduleFrame, ["16:00 - 18:00","Task", "Task", "Task", "Task", "Task"], 7, 0) | |
self.frames["Schedule"] = self.ScheduleFrame | |
def CreateJobPreparationScreen(self): | |
self.JobPreparationFrame = tk.Frame(self.mainContainer) | |
self.JobPreparationFrame.config(bg = "#AAC9DD") | |
mainTitle = tk.Label(self.JobPreparationFrame, text = "Job Preparation", bg = "#AAC9DD") | |
mainTitle.grid(row = 1, column = 0, padx = 100, pady = 30) | |
self.frames["JobPreparation"] = self.JobPreparationFrame | |
def CreateOperatorTimetableScreen(self): | |
self.OperatorTimetableFrame = tk.Frame(self.mainContainer) | |
self.OperatorTimetableFrame.config(bg = "#AAC9DD") | |
mainTitle = tk.Label(self.OperatorTimetableFrame, text = "Operator Timetable", bg = "#AAC9DD") | |
mainTitle.grid(row = 1, column = 0,columnspan = 7, padx = 100, pady = 30) | |
#timetableButton = tk.Button(self.OperatorTimetableFrame, text = "Open Timetable", command = timetable.open_timetable_root(), height = 2, width = 15) | |
#timetableButton.grid(row = 2, column = 0, padx = 10, pady = 10) | |
self.frames["OperatorTimetable"] = self.OperatorTimetableFrame | |
def CreateGenerateReportScreen(self): | |
self.GenerateReportFrame = tk.Frame(self.mainContainer) | |
self.GenerateReportFrame.config(bg = "#AAC9DD") | |
mainTitle = tk.Label(self.GenerateReportFrame, text = "Generate Report", bg = "#AAC9DD") | |
mainTitle.grid(row = 1, column = 0, padx = 100, pady = 30) | |
self.frames["GenerateReport"] = self.GenerateReportFrame | |
def CreateProductLineInfoScreen(self): | |
self.ProductLineInfoFrame = tk.Frame(self.mainContainer) | |
self.ProductLineInfoFrame.config(bg = "#AAC9DD") | |
mainTitle = tk.Label(self.ProductLineInfoFrame, text = "Product Line Info", bg = "#AAC9DD") | |
mainTitle.grid(row = 1, column = 0, columnspan = 5, padx = 25, pady = 15) | |
newProductSubheading = tk.Label(self.ProductLineInfoFrame, text = "New Products:", bg = "#AAC9DD") | |
newProductSubheading.grid(row = 2, column = 0, padx = 25, pady = 5) | |
self.AddMultiImage(self.ProductLineInfoFrame, ["Product1.jfif", "Product2.jfif", "Product3.jfif", "Product4.jfif", "Product5.jfif"], 3) | |
self.ProductNum(self.ProductLineInfoFrame, 4, ["Product 1", "Product 2", "Product 3", "Product 4", "Product 5"]) | |
availableProductSubheading = tk.Label(self.ProductLineInfoFrame, text = "Available Products:", bg = "#AAC9DD") | |
availableProductSubheading.grid(row = 5, column = 0, padx = 25, pady = 5) | |
self.AddMultiImage(self.ProductLineInfoFrame, ["Product6.jfif", "Product7.jpg", "Product8.jfif", "Product9.png", "Product10.jfif"], 6) | |
self.ProductNum(self.ProductLineInfoFrame, 7, ["Product 1", "Product 2", "Product 3", "Product 4", "Product 5"]) | |
self.frames["ProductLineInfo"] = self.ProductLineInfoFrame | |
def CreateDesignSpecScreen(self): | |
self.DesignSpecFrame = tk.Frame(self.mainContainer) | |
def nextpage(): | |
import designSpecTest | |
empty_label = tk.Label(self.DesignSpecFrame, text=" ") | |
jawara_label = tk.Label(self.DesignSpecFrame, text="Jawara", font="Verdana 24 bold", fg="Red") | |
title_label = tk.Label(self.DesignSpecFrame, text="Design Specifications", font=("Verdana 23 bold"), fg="Black") | |
button_roadster = tk.Button(self.DesignSpecFrame, text = "Roadster", height=4, width=20, command= open_roadster_page ) | |
button_SUV = tk.Button(self.DesignSpecFrame, text="Sport Utility Vehicle (SUV)",height=4, width=20, command= open_suv_page) | |
button_hatchback = tk.Button(self.DesignSpecFrame, text="Hatchback",height = 4, width=20, command= open_hatchback_page) | |
button_sedan = tk.Button(self.DesignSpecFrame, text="Sedan",height=4, width=20, command= open_sedan_page) | |
jawara_label.grid(row = 0, column = 0) | |
title_label.grid(row = 0, column = 2) | |
button_roadster.grid(row=2, column=0) | |
button_SUV.grid(row=3, column=0) | |
button_hatchback.grid(row=4, column=0) | |
button_sedan.grid(row=5, column=0) | |
self.frames["DesignSpec"] = self.DesignSpecFrame | |
def CreateManufacturingInstructionsScreen(self): | |
self.ManufacturingInstructionsFrame = tk.Frame(self.mainContainer) | |
self.ManufacturingInstructionsFrame.config(bg = "#AAC9DD") | |
mainTitle = tk.Label(self.ManufacturingInstructionsFrame, text = "Manufacturing Information", bg = "#AAC9DD") | |
mainTitle.grid(row = 1, column = 0, columnspan = 5, padx = 25, pady = 30) | |
TechnicalDrawingsSubheading = tk.Label(self.ManufacturingInstructionsFrame, text = "TechnicalDrawings:", bg = "#AAC9DD") | |
TechnicalDrawingsSubheading.grid(row = 2, column = 0, padx = 15, pady = 5) | |
self.AddMultiImage(self.ManufacturingInstructionsFrame, ["TechnicalD1.jfif", "TechnicalD2.jfif", "TechnicalD3.jfif", "TechnicalD4.jfif", "TechnicalD5.jfif"], 3) | |
self.ProductNum(self.ManufacturingInstructionsFrame, 4, ["Model 1", "Model 2", "Model 3", "Model 4", "Model 5"]) | |
ManufacturingInfoSubheading = tk.Label(self.ManufacturingInstructionsFrame, text = "Manufacturing Instructions:", bg = "#AAC9DD") | |
ManufacturingInfoSubheading.grid(row = 5, column = 0, padx = 15, pady = 5) | |
manufactInst = """Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, | |
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum | |
dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Facilisis | |
gravida neque convallis a cras semper auctor neque vitae. A arcu cursus vitae congue mauris rhoncus aenean vel. Cursus sit amet dictum sit amet. Feugiat | |
scelerisque varius morbi enim nunc faucibus a pellentesque. Amet purus gravida quis blandit turpis. Diam maecenas ultricies mi eget mauris pharetra et | |
ultrices neque. Consequat nisl vel pretium lectus quam. Cras fermentum odio eu feugiat pretium nibh. Eu consequat ac felis donec et odio pellentesque. | |
Eget mi proin sed libero enim sed. Aenean euismod elementum nisi quis. | |
A diam sollicitudin tempor id. Est pellentesque elit ullamcorper dignissim cras tincidunt. Sed felis eget velit aliquet sagittis id consectetur purus | |
ut. Penatibus et magnis dis parturient montes nascetur ridiculus mus. Elit ut aliquam purus sit amet luctus. Habitant morbi tristique senectus et netus | |
et malesuada. Vivamus arcu felis bibendum ut tristique et egestas quis. Sed vulputate mi sit amet mauris commodo quis imperdiet massa. Dictum sit amet | |
justo donec enim. Fermentum odio eu feugiat pretium nibh ipsum consequat nisl. Mauris a diam maecenas sed enim ut sem viverra. Nulla facilisi morbi | |
tempus iaculis urna id volutpat lacus laoreet. Nulla pharetra diam sit amet nisl suscipit adipiscing bibendum. Mattis molestie a iaculis at erat. Id | |
faucibus nisl tincidunt eget. Ac orci phasellus egestas tellus rutrum tellus pellentesque eu tincidunt. Metus aliquam eleifend mi in nulla posuere. In | |
mollis nunc sed id semper risus in hendrerit. Molestie at elementum eu facilisis sed. Amet cursus sit amet dictum.""" | |
ManufacturingInstructions = tk.Label(self.ManufacturingInstructionsFrame, text = manufactInst, bg = "#AAC9DD") | |
ManufacturingInstructions.grid(row = 6, column = 0, columnspan = 5, padx = 15, pady = 5) | |
self.frames["ManufacturingInstructions"] = self.ManufacturingInstructionsFrame | |
def CreateMaterialInfoScreen(self): | |
self.MaterialInfoFrame = tk.Frame(self.mainContainer) | |
self.MaterialInfoFrame.config(bg = "#AAC9DD") | |
mainTitle = tk.Label(self.MaterialInfoFrame, text = "Material Info", bg = "#AAC9DD") | |
mainTitle.grid(row = 1, column = 0, padx = 100, pady = 30) | |
self.frames["MaterialInfo"] = self.MaterialInfoFrame | |
def CreateCompanyMeetingScreen(self): | |
self.CompanyMeetingFrame = tk.Frame(self.mainContainer) | |
temp_date = "12/12/2022" | |
date = temp_date | |
temp_time = "11AM" | |
time = temp_time | |
temp_location = "Floor 3, Room no. 8" | |
location = temp_location | |
meeting_img = self.AddSecondImage(self.CompanyMeetingFrame, "meeting.jpg", 2, 0) | |
jawara_label = tk.Label(self.CompanyMeetingFrame, text="Jawara", font="Verdana 24 bold", fg="Red") | |
meeting_label = tk.Label(self.CompanyMeetingFrame, text= "Company Meeting", font= "Verdana 20", fg="Black") | |
date_text = tk.Label(self.CompanyMeetingFrame, text= "Date:"+date, font="Verdana 10", bg="Light Blue") | |
time_text = tk.Label(self.CompanyMeetingFrame, text="Time:"+ time, font="Verdana 10", bg="Light Blue") | |
place_text= tk.Label(self.CompanyMeetingFrame, text="Location:"+location, font="Verdana 10", bg="Light Blue") | |
image_label = tk.Label(self.CompanyMeetingFrame, image=meeting_img) | |
jawara_label.grid(row=0, column=0) | |
meeting_label.grid(row=1, column=0) | |
image_label.grid(row=2, column=0) | |
date_text.grid(row=3, column=0) | |
time_text.grid(row=4, column=0) | |
place_text.grid(row=5, column=0) | |
self.frames["CompanyMeeting"] = self.CompanyMeetingFrame | |
def CreateCompanyEventsScreen(self): | |
self.CompanyEventsFrame = tk.Frame(self.mainContainer) | |
lorem_ipsum ="""Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse maximus fringilla ipsum, et ornare lectus imperdiet sit amet. Etiam | |
feugiat quam ligula, at laoreet leo blandit vel. Nullam ornare tellus a tellus accumsan, id euismod erat aliquet. Pellentesque blandit justo a | |
rutrum scelerisque. In commodo euismod felis sed tempor. In hac habitasse platea dictumst. Maecenas ornare nec ipsum at lobortis. Sed | |
ac odio felis. Ut vitae magna quis augue lacinia suscipit vel quis ante. Quisque a sodales quam. Duis vulputate, metus imperdiet accumsan | |
venenatis, purus felis aliquam libero, ut rhoncus magna turpis a ipsum. Ut vestibulum, lacus sed molestie tristique, magna magna | |
accumsan felis, vel suscipit ipsum nunc nec nulla. Donec sed luctus lorem. Curabitur in turpis imperdiet, feugiat justo id, finibus tellus. | |
Quisque iaculis eu risus id fermentum.""" | |
jawara_label = tk.Label(self.CompanyEventsFrame, text="Jawara", font="Verdana 24 bold", fg="Red") | |
events_label = tk.Label(self.CompanyEventsFrame, text= "Latest Events", font= "Verdana 20", fg="Black") | |
placeholder_text = tk.Label(self.CompanyEventsFrame, text=lorem_ipsum, font="Verdana 10", bg="Light Blue") | |
date_label = tk.Label(self.CompanyEventsFrame, text="Today", font="Verdana 12") | |
jawara_label.grid(row=0, column=0) | |
events_label.grid(row=1, column=0) | |
date_label.grid(row=2, column=0) | |
placeholder_text.grid(row=3, column=0) | |
self.frames["CompanyEvents"] = self.CompanyEventsFrame | |
def CreateLoginScreen(self): | |
self.LoginFrame = tk.Frame(self.mainContainer) | |
self.LoginFrame.config(bg = "#AAC9DD") | |
titleLabel = tk.Label(self.LoginFrame, text = "Login Screen", bg = "#AAC9DD") | |
titleLabel.grid(row = 0, padx = 100, pady = 30, columnspan = 2) | |
userLabel = tk.Label(self.LoginFrame, text = "Username", bg = "#AAC9DD") | |
userLabel.grid(row = 1, column = 0) | |
self.userEntry = tk.Entry(self.LoginFrame) | |
self.userEntry.grid(row = 1, column = 1) | |
passwordLabel = tk.Label(self.LoginFrame, text = "Password", bg = "#AAC9DD") | |
passwordLabel.grid(row = 2, column = 0) | |
self.passwordEntry = tk.Entry(self.LoginFrame) | |
self.passwordEntry.grid(row = 2, column = 1) | |
enterButton = tk.Button(self.LoginFrame, text ="Login", command = self.ValidateUser) | |
enterButton.grid(row = 3, column = 0) | |
self.infoLabel = tk.Label(self.LoginFrame, text = "", fg = "red", bg = "#AAC9DD") | |
self.infoLabel.grid(row = 4, column = 0) | |
self.frames["Login"] = self.LoginFrame | |
def CreateLogOutScreen(self): | |
self.logOutFrame = tk.Frame(self.mainContainer) | |
self.logOutFrame.config(bg = "#AAC9DD") | |
logOutButton = tk.Button(self.logOutFrame, text = "logOut", command = self.LogOut) | |
logOutButton.grid(row = 0, column = 0, padx = 20, pady = 20) | |
self.frames["LogOut"] = self.logOutFrame | |
def ValidateUser(self): | |
self.username = self.userEntry.get() | |
self.password = self.passwordEntry.get() | |
valid = jawaraSQL.CheckLogin(self.username, self.password) | |
self.userEntry.delete(0,"end") | |
self.passwordEntry.delete(0,"end") | |
if valid: | |
job = jawaraSQL.CheckJob(self.username) | |
if job == ('PlantOperator',): | |
self.sideFrame.grid(row = 0, column = 0) | |
self.CreateDashboardScreen("Welcome Plant Operator", "PlantOP.jfif") | |
self.RaisePOSide() | |
self.RaiseDashboard() | |
elif job == ('PlantManager',): | |
self.sideFrame.grid(row = 0, column = 0) | |
self.CreateDashboardScreen("Welcome Plant Manager", "PlantM.jfif") | |
self.RaisePMSide() | |
self.RaiseDashboard() | |
elif job == ('ProductEngineer',): | |
self.sideFrame.grid(row = 0, column = 0) | |
self.CreateDashboardScreen("Welcome Product Engineer", "ProductE.jfif") | |
self.RaisePESide() | |
self.RaiseDashboard() | |
elif job == ('AccessoriesProductionOperative',): | |
self.sideFrame.grid(row = 0, column = 0) | |
self.CreateDashboardScreen("Welcome Accessories Production Operative", "AccessoriesPO.jfif") | |
self.RaiseAPOSide() | |
self.RaiseDashboard() | |
elif job == ('AccessoriesProductionManager',): | |
self.sideFrame.grid(row = 0, column = 0) | |
self.CreateDashboardScreen("Welcome Accessories Production Manager", "AccessoriesPM.jpg") | |
self.RaiseAPMSide() | |
self.RaiseDashboard() | |
else: | |
self.infoLabel = tk.Label(self.LoginFrame, text = "INCORRECT", fg = "red", bg = "#AAC9DD") | |
def LogOut(self): | |
for widget in self.sidePanelFrame.winfo_children(): | |
widget.grid_forget() | |
self.FrameToRaise = self.frames["Login"] | |
self.RaiseFrame() | |
def RaiseFrame(self): | |
for widget in self.mainContainer.winfo_children(): | |
widget.grid_forget() | |
self.FrameToRaise.grid(row = 0, column = 0, sticky = "nesw") | |
self.FrameToRaise.tkraise() | |
def RaiseSideFrame(self): | |
for widget in self.sidePanelFrame.winfo_children(): | |
widget.grid_forget() | |
self.FrameToRaise.grid(row = 0, column = 0, sticky = "nesw") | |
self.FrameToRaise.tkraise() | |
def RaiseDashboard(self): | |
self.FrameToRaise = self.frames["Dashboard"] | |
self.RaiseFrame() | |
def RaiseLogin(self): | |
self.FrameToRaise = self.frames["Login"] | |
self.RaiseFrame() | |
def RaisePOSide(self): | |
self.FrameToRaise = self.frames["POSide"] | |
self.RaiseSideFrame() | |
def RaisePMSide(self): | |
self.FrameToRaise = self.frames["PMSide"] | |
self.RaiseSideFrame() | |
def RaisePESide(self): | |
self.FrameToRaise = self.frames["PESide"] | |
self.RaiseSideFrame() | |
def RaiseAPOSide(self): | |
self.FrameToRaise = self.frames["APOSide"] | |
self.RaiseSideFrame() | |
def RaiseAPMSide(self): | |
self.FrameToRaise = self.frames["APMSide"] | |
self.RaiseSideFrame() | |
def RaiseMachineStatus(self): | |
self.FrameToRaise = self.frames["MachineStatus"] | |
self.RaiseFrame() | |
def RaiseSchedule(self): | |
self.FrameToRaise = self.frames["Schedule"] | |
self.RaiseFrame() | |
def RaiseJobPreparation(self): | |
self.FrameToRaise = self.frames["JobPreparation"] | |
self.RaiseFrame() | |
def RaiseOperatorTimetable(self): | |
self.FrameToRaise = self.frames["OperatorTimetable"] | |
self.RaiseFrame() | |
def RaiseGenerateReport(self): | |
self.FrameToRaise = self.frames["GenerateReport"] | |
self.RaiseFrame() | |
def RaiseProductLineInfo(self): | |
self.FrameToRaise = self.frames["ProductLineInfo"] | |
self.RaiseFrame() | |
def RaiseDesignSpec(self): | |
self.FrameToRaise = self.frames["DesignSpec"] | |
self.RaiseFrame() | |
def RaiseManufacturingInstructions(self): | |
self.FrameToRaise = self.frames["ManufacturingInstructions"] | |
self.RaiseFrame() | |
def RaiseMaterialInfo(self): | |
self.FrameToRaise = self.frames["MaterialInfo"] | |
self.RaiseFrame() | |
def RaiseLogOut(self): | |
self.FrameToRaise = self.frames["LogOut"] | |
self.RaiseFrame() | |
def RaiseCompanyMeeting(self): | |
self.FrameToRaise = self.frames["CompanyMeeting"] | |
self.RaiseFrame() | |
def RaiseCompanyEvents(self): | |
self.FrameToRaise = self.frames["CompanyEvents"] | |
self.RaiseFrame() | |
def AddImage(self,frame, path, rowNum, colNum): | |
img = ImageTk.PhotoImage(Image.open(path).resize((150, 150))) | |
Product1Image = tk.Label(frame, image = img) | |
Product1Image.photo = img | |
Product1Image.grid(row = rowNum, column = colNum) | |
def AddSecondImage(self,frame, path, rowNum, colNum): | |
img = ImageTk.PhotoImage(Image.open(path).resize((200, 150))) | |
Product1Image = tk.Label(frame, image = img) | |
Product1Image.photo = img | |
Product1Image.grid(row = rowNum, column = colNum) | |
def ProductNum(self,frame, rowNum, txt): | |
col = 0 | |
for i in txt: | |
Product = tk.Label(frame, text = i, bg = "#AAC9DD") | |
Product.grid(row = rowNum, column = col, padx = 50, pady = 5) | |
col += 1 | |
def AddMultiImage(self, frame, path, row): | |
col = 0 | |
for i in path: | |
self.AddImage(frame, i, row, col) | |
col += 1 | |
def SidePanelButton(self, txt, cmnd, rowNum): | |
button = tk.Button(self.sideFrame, text = txt, command = cmnd, height = 2, width = 15) | |
button.grid(row = rowNum, column = 0, padx = 10, pady = 10) | |
def GridMaker(self,frame, txt, rowNum, col): | |
for i in txt: | |
cell = tk.Button(frame, text = i, height = 2, width = 15) | |
cell.grid(row = rowNum, column = col) | |
col += 1 | |
app = Main() |