from tkinter import *
from tkinter import ttk
from tkcalendar import *
from tkcalendar import DateEntry
import pyperclip
import pandas as pd
from pandas import DataFrame as df
import holidays
from datetime import datetime
import webbrowser
class Bene_tool:
def __init__(lak,root):
lak.root= root
lak.root.title("Beneficiary Tool")
lak.root.geometry("1000x775")
lak.root.resizable(False,False)
lak.Name01= StringVar()
lak.Releation01= StringVar()
lak.percentage01= StringVar()
lak.Name02= StringVar()
lak.Releation02= StringVar()
lak.percentage02= StringVar()
lak.Name03= StringVar()
lak.Releation03= StringVar()
lak.percentage03= StringVar()
lak.Name04= StringVar()
lak.Releation04= StringVar()
lak.percentage04= StringVar()
lak.Name05= StringVar()
lak.Releation05= StringVar()
lak.percentage05= StringVar()
lak.Name06= StringVar()
lak.Releation06= StringVar()
lak.percentage06= StringVar()
lak.percentage2= StringVar()
lak.relation2= StringVar()
lak.percentage3= StringVar()
lak.relation3= StringVar()
lak.percentage4= StringVar()
lak.relation4= StringVar()
lak.Name1= StringVar()
lak.Name2= StringVar()
lak.Name3= StringVar()
lak.Name4= StringVar()
lak.Name5= StringVar()
lak.Name6= StringVar()
lak.Name7= StringVar()
lak.Name8= StringVar()
lak.Name9= StringVar()
lak.Name10= StringVar()
lak.Name11= StringVar()
lak.Name12= StringVar()
lak.detail= StringVar()
lak.TruName1= StringVar()
lak.TruName2= StringVar()
lak.and_or= StringVar()
lak.var_province= StringVar()
lak.Var_address= StringVar()
lak.address1= StringVar()
lak.address2= StringVar()
lak.city= StringVar()
lak.Province= StringVar()
lak.Zip_code= StringVar()
lak.bday_date= StringVar()
lak.bday_date10= StringVar()
lak.bday_date20= StringVar()
lak.Lday_date62= StringVar()
lak.number_days= StringVar()
lak.Main_fram()
lak.percentage2.set(0)
lak.percentage3.set(0)
lak.percentage4.set(0)
def GUI(lak):
label_bg=Label(lak.root,borderwidth=0, background="#53085C")
label_bg.place(x=0,y=0,relwidth=1,relheight=1)
lak.frame= Frame(lak.root,background="#53085C")
lak.frame.place (x=0,y=70,width=1000,height=400)
lak.frame1= Label(lak.root,background="#53085C", text= "Enter Address:", font = ("Arial", 15, "bold"), fg= "white")
lak.frame1.place (x=10,y=40)
# Entrybox for Addreess
entry =Entry(lak.frame, width=53,textvariable=lak.Var_address, borderwidth=10,foreground= "black",font = ("Arial", 25, "bold"))
entry.place(x=15,y=0,height=50)
#Split Button
button1= Button(lak.frame, command=lak.Split, activebackground= "#7FB49A",activeforeground= "white",
text = " Split ",fg= "white",width=41, bg= "#3E0A44",font = ("Arial", 15, "bold"))
button1.place(x=0,y=50)
#Reset Button
button1= Button(lak.frame, command=lak.reset, activebackground= "#7FB49A",activeforeground= "white",
text = " Reset ",fg= "white",width=41, bg= "#3E0A44",font = ("Arial", 15, "bold"))
button1.place(x=502,y=50)
#Search
button4= Button(lak.root,activebackground= "#7FB49A",activeforeground= "white", highlightcolor="black",
text = " BENEFICIARY TOOL ",fg= "black",command=lak.Main_fram,width=41,font = ("Arial", 15, "bold"))
button4.place(x=0,y=0)
button5= Button(lak.root, activebackground= "#7FB49A",activeforeground= "white", background="#AC5CB5",
text = " ADDRESS/CALANDER ",command= lak.GUI,fg= "black",width=41,font = ("Arial", 15, "bold"))
button5.place(x=502,y=0)
Copybutton= Button(lak.frame,command=lak.callback, activebackground= "#7FB49A",activeforeground= "white",
text = " Google Search ",fg= "white",width=41, bg= "#3E0A44",font = ("Arial", 15, "bold"))
Copybutton.place(x=0,y=350)
Copybutton= Button(lak.frame,command=lak.callback_canada, activebackground= "#7FB49A",activeforeground= "white",
text = " Canada Post",fg= "white",width=41, bg= "#3E0A44",font = ("Arial", 15, "bold"))
Copybutton.place(x=502,y=350)
Line= Label(lak.frame,background="#53085C", text= "Line1 :", font = ("Arial", 12, "bold"), fg= "white")
Line.place(x=10,y=106)
# Entrybox for Address line 1
Line1 =Entry(lak.frame,textvariable= lak.address1,bg="#C78BCE", width=75,foreground= "black",font = ("Arial", 14, "bold"),borderwidth=10)
Line1.place(x=120,y=100)
Line= Label(lak.frame,background="#53085C", text= "Line2 :", font = ("Arial", 12, "bold"), fg= "white")
Line.place(x=10,y=156)
lak.Line2 =Entry(lak.frame,textvariable= lak.address2, width=75,foreground= "black",font = ("Arial", 14, "bold"),borderwidth=10,bg="#C78BCE")
lak.Line2.place(x=120,y=150)
Zip_code= Label(lak.frame,background="#53085C", text= "City :", font = ("Arial", 12, "bold"), fg= "white")
Zip_code.place(x=10,y=206)
Zip_code =Entry(lak.frame,textvariable= lak.city , width=75,foreground= "black",font = ("Arial", 14, "bold"),borderwidth=10,bg="#C78BCE")
Zip_code.place(x=120,y=200)
Province= Label(lak.frame,background="#53085C", text= "Province :", font = ("Arial", 12, "bold"), fg= "white")
Province.place(x=10,y=256)
Province =Entry(lak.frame,textvariable= lak.Province, width=75,foreground= "black",font = ("Arial", 14, "bold"),borderwidth=10,bg="#C78BCE")
Province.place(x=120,y=250)
Zip_code= Label(lak.frame,background="#53085C", text= "Zip_code :", font = ("Arial", 12, "bold"), fg= "white")
Zip_code.place(x=10,y=306)
Zip_code =Entry(lak.frame,textvariable= lak.Zip_code , width=75,foreground= "black",font = ("Arial", 14, "bold"),borderwidth=10,bg="#C78BCE")
Zip_code.place(x=120,y=300)
lak.frame1= Label(lak.root,background="#53085C", text= "Calander:", font = ("Arial", 15, "bold"), fg= "white")
lak.frame1.place (x=10,y=465)
notes= Label(lak.root,text= " To find Lapse date => For MLIF : Select Previous Due Date \ For Ing : Select Lapse Start Date",
justify="left",background="#53085C", font = ("Arial",9, "bold"), fg= "white")
notes.place(x=15,y=490,width=530,height= 40)
PTD_lbl= Label(lak.root, text= "Select Date",width=23, font = ("Arial", 12, "bold"), fg= "white", bg= "#3E0A44")
PTD_lbl.place(x=20,y=535,height=33)
PTD_lbl_entry =Entry(lak.root, width=35,borderwidth=10,foreground= "black",font = ("Arial", 12, "bold"))
PTD_lbl_entry.place(x=320,y=530)
cal1= DateEntry(lak.root,selectmode="day",textvariable=lak.bday_date, borderwidth=0,foreground= "black",font = ("Arial",12, "bold"), width=33)
cal1.place(x=327,y=540)
No_of_days= Label(lak.root, text= "Number of Days",width=23, font = ("Arial", 12, "bold"), fg= "white", bg= "#3E0A44")
No_of_days.place(x=20,y=585, height=33)
# Entrybox for Paid to date
No_of_days_entry =Entry(lak.root,textvariable=lak.number_days, width=35,borderwidth=10,foreground= "black",font = ("Arial", 12, "bold"))
No_of_days_entry.place(x=320,y=580)
Holidays=[]
Datelist=[]
F_Datelist=[]
Eventlist=[]
Year_is= int(datetime.now().strftime("%Y"))
for day, name in sorted(holidays.Canada(years=Year_is).items()):
hlist= (day, name)
for i in hlist:
if i not in Holidays:
Holidays.append(i)
for j in range(0,len(Holidays),2):
Datelist.append(Holidays[j])
for K in range(1,len(Holidays),2):
Eventlist.append(Holidays[K])
for n in Datelist:
F_Datelist.append(n.strftime("%d-%b"))
S1= pd.Series(Eventlist, index= F_Datelist)
Even_date_lbl= Label(lak.root,justify="left", text= S1,bg= "white", font = ("Arial",10), fg= "white",background="#53085C")
Even_date_lbl.place(x=750,y=520)
Even_date_lbl= Label(lak.root,background="#53085C")
Even_date_lbl.place(x=750,y=718,width=300,height= 30)
Listofholi= Label(lak.root,text= "List of Holidays(Canada)",justify="right",bg= "#53085C", font = ("Arial",15, "bold"), fg= "white")
Listofholi.place(x=722,y=470,width=300,height= 30)
Backbutton2= Button(lak.root, command=lak.Business_Days10 , activebackground= "yellow",activeforeground= "white",
text = "Business Days",fg= "white",width=23, bg= "#3E0A44",font = ("Arial", 12, "bold"))
Backbutton2.place(x=20,y=635)
but_lbl_10entry =Entry(lak.root,textvariable=lak.bday_date10, width=35,borderwidth=10,foreground= "black",font = ("Arial", 12, "bold"))
but_lbl_10entry.place(x=320,y=630)
Backbutton3= Button(lak.root, command=lak.Business_Days20, activebackground= "yellow",activeforeground= "white",
text = "Regular Days",fg= "white",width=23, bg= "#3E0A44",font = ("Arial", 12, "bold"))
Backbutton3.place(x=20,y=685)
but_lbl_20entry =Entry(lak.root,textvariable=lak.bday_date20, width=35,borderwidth=10,foreground= "black",font = ("Arial", 12, "bold"))
but_lbl_20entry.place(x=320,y=680)
Backbutton4= Button(lak.root, command=lak.Lapse_date, activebackground= "yellow",activeforeground= "white",
text = "Policy Lapse Date",fg= "white",width=23, bg= "#3E0A44",font = ("Arial", 12, "bold"))
Backbutton4.place(x=20,y=735)
but_lbl_4entry =Entry(lak.root,textvariable=lak.Lday_date62, width=35,borderwidth=10,foreground= "black",font = ("Arial", 12, "bold"))
but_lbl_4entry.place(x=320,y=730)
#Back Button
button= Button(lak.root, command=lak.Os_reset1, activebackground= "#031b28",activeforeground= "white",
text = " Reset ",fg= "white",width=24, bg= "#3E0A44",font = ("Arial", 15, "bold"))
button.place(x=700,y=730)
def Os_reset1(lak):
lak.bday_date.set("")
lak.bday_date10.set("")
lak.bday_date20.set("")
lak.Lday_date62.set("")
lak.number_days.set("")
return
def Business_Days10 (lak):
number_of_days= int(lak.number_days.get())
F_Datelist10=[]
bizdate10= pd.date_range(start= lak.bday_date.get(),periods=number_of_days, freq="B")
F_Datelist10.append(bizdate10.strftime("%d/%b/%Y"))
bizdate10= df(F_Datelist10)
B_ness_Days10=bizdate10.iloc[0].values[-1]
lak.bday_date10.set(B_ness_Days10)
def Business_Days20 (lak):
number_of_days= int(lak.number_days.get())
F_Datelist20=[]
bizdate20= pd.date_range(start=lak.bday_date.get(),periods=number_of_days, freq="D")
F_Datelist20.append(bizdate20.strftime("%d/%b/%Y"))
bizdate20= df(F_Datelist20)
B_ness_Days20=bizdate20.iloc[0].values[-1]
lak.B_ness_Days20=bizdate20.values
lak.bday_date20.set(B_ness_Days20)
def Lapse_date (lak):
F_Datelist62=[]
bizdate62= pd.date_range(start=lak.bday_date.get(),periods=62, freq="D")
F_Datelist62.append(bizdate62.strftime("%d/%b/%Y"))
bizdate62= df(F_Datelist62)
B_ness_Days62=bizdate62.iloc[0].values[-1]
lak.Lday_date62.set(B_ness_Days62)
def callback_canada(lak):
webbrowser.open_new(rhttps://www.canadapost-postescanada.ca/cpc/en/home.page)
def callback(lak):
webbrowser.open_new(rhttps://www.google.co.in/)
def reset(lak):
lak.Var_address.set("")
lak.address1.set("")
lak.address2.set("")
lak.city.set("")
lak.Province.set("")
lak.Zip_code.set("")
return
def Split(lak):
lak.Address= lak.Var_address.get()
lak.Address=(lak.Address.split(" "))
#for Zip
z= str(lak.Address[-1])
n= len(z)
if n==6:
lak.pin=z
if n==3:
lak.pin= str(lak.Address[-2])+" "+ str(lak.Address[-1])
lak.pin= lak.pin.split(" ")
address= []
for i in range(len(lak.Address)):
if lak.Address[i] not in lak.pin:
address.append(lak.Address[i])
pin= " ".join(lak.pin)
#for Province
last_p1= ["Columbia", "COLUMBIA","Brunswick", "BRUNSWICK","Territories", "TERRITORIES","SCOTIA"]
last_p2= ["Labrador","ISLAND","Island","LABRADOR"]
short_p= {"Alberta": "AB" ,
"British Columbia" : "BC",
"Manitoba" :"MB" }
if address[-1] in last_p2:
province1= str(address[-3]+" "+address[-2]+" "+address[-1])
elif address[-1] in last_p1:
province1= str(address[-2]+" "+address[-1])
else:
province1= str(address[-1])
if province1 in short_p:
state= short_p.get(province1)
else:
state= province1
dele_pro=(province1).split(" ")
new_add= []
for i in range(len(address)):
if address[i] not in dele_pro:
new_add.append(address[i])
#for city:
city= ["Falls","Payne","Grande","Bend","Vista","Post","Dorado","Smith","Springs","Bluff","Buren","Memphis","Park","Vista","Bay","York","Valley–Goose","VALLEY-GOOSE", 'MARCOS', 'FORK', 'RIVER', 'GEORGE', 'FORK', 'ALBANS', 'JOHNSBURY', 'CHURCH', 'MARKET', 'NEWS', 'DAM', 'HARBOR']
if new_add[-1] in city:
if new_add[-2] in Mid_city:
City= str(new_add[-3]+" "+new_add[-2]+" "+new_add[-1])
else:
City= str(new_add[-2]+" "+new_add[-1])
else:
City= str(new_add[-1])
dele_City=(City).split(" ")
new_add1= []
for i in range(len(new_add)):
if new_add[i] not in dele_City:
new_add1.append(new_add[i])
#for address split
strr= " ".join(new_add1)
PO_BOX= (new_add1[0])
if PO_BOX in ["PO","Po","po","Po"]:
add_lin_1=" ".join(new_add1[0:3])
else:
f_strr= (strr + " ")
index= 0
lst= []
while index<len(f_strr):
if f_strr[index]== " ":
lst.append(index)
index+=1
for i in lst:
if lst[-1]<=30:
add_lin_1= f_strr
elif lst[-2]<=30:
add_lin_1= " ".join(new_add1[0:len(lst)-1])
elif lst[-3]<=30:
add_lin_1= " ".join(new_add1[0:len(lst)-2])
elif lst[-4]<=30:
add_lin_1= " ".join(new_add1[0:len(lst)-3])
elif lst[-5]<=30:
add_lin_1= " ".join(new_add1[0:len(lst)-4])
elif lst[-6]<=30:
add_lin_1= " ".join(new_add1[0:len(lst)-5])
elif lst[-7]<=30:
add_lin_1= " ".join(new_add1[0:len(lst)-6])
elif lst[-8]<=30:
add_lin_1= " ".join(new_add1[0:len(lst)-7])
elif lst[-9]<=30:
add_lin_1= " ".join(new_add1[0:len(lst)-8])
elif lst[-10]<=30:
add_lin_1= " ".join(new_add1[0:len(lst)-9])
elif lst[-11]<=30:
add_lin_1= " ".join(new_add1[0:len(lst)-10])
elif lst[-12]<=30:
add_lin_1= " ".join(new_add1[0:len(lst)-11])
elif lst[-13]<=30:
add_lin_1= " ".join(new_add1[0:len(lst)-12])
elif lst[-14]<=30:
add_lin_1= " ".join(new_add1[0:len(lst)-13])
elif lst[-15]<=30:
add_lin_1= " ".join(new_add1[0:len(lst)-14])
elif lst[-16]<=30:
add_lin_1= " ".join(new_add1[0:len(lst)-15])
elif lst[-17]<=30:
add_lin_1= " ".join(new_add1[0:len(lst)-16])
elif lst[-18]<=30:
add_lin_1= " ".join(new_add1[0:len(lst)-17])
elif lst[-19]<=30:
add_lin_1= " ".join(new_add1[0:len(lst)-18])
g=add_lin_1.split(" ")
last_line= []
for i in new_add1:
if i not in g:
last_line.append(i)
LAST_LINE=" ".join(last_line)
lak.address1.set(add_lin_1)
lak.address2.set(LAST_LINE)
lak.city.set(City)
lak.Province.set(state)
lak.Zip_code.set(pin)
City= "{:<25}{}".format(City, state)
lak.address_to_copy= (add_lin_1+"\n"+LAST_LINE+"\n"+City+"\n"+pin)
pyperclip.copy(lak.address_to_copy)
def Main_fram(lak):
# backgroung image
label_bg=Label(lak.root ,borderwidth=0, background="#268A58")
label_bg.place(x=0,y=0,relwidth=1,relheight=1)
Header1= Label(lak.root,text= "Beneficiary Name",borderwidth=10,
justify="left",bg= "#7FB49A",width=33, font = ("Arial",14, "bold"), fg= "black")
Header1.place(x=0,y=47)
Header1= Label(lak.root,text= "Relationship",borderwidth=10,
justify="left",bg= "#7FB49A",width=33, font = ("Arial",14, "bold"), fg= "black")
Header1.place(x=305,y=47)
Header1= Label(lak.root,text= "Percentage",borderwidth=10,
justify="left",bg= "#7FB49A",width=35, font = ("Arial",14, "bold"), fg= "black")
Header1.place(x=625,y=47)
ComEntry =Entry(lak.root, width=25,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=5,bg="#B7DECA")
ComEntry.place(x=357,y=100)
ComEntry =Entry(lak.root, width=25,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=5,bg="#B7DECA")
ComEntry.place(x=357,y=140)
ComEntry =Entry(lak.root, width=25,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=5,bg="#B7DECA")
ComEntry.place(x=357,y=180)
ComEntry =Entry(lak.root, width=25,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=5,bg="#B7DECA")
ComEntry.place(x=357,y=220)
ComEntry =Entry(lak.root, width=25,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=5,bg="#B7DECA")
ComEntry.place(x=357,y=260)
ComEntry =Entry(lak.root, width=25,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=5,bg="#B7DECA")
ComEntry.place(x=357,y=300)
ComEntry =Entry(lak.root, width=27,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=10,bg="#B7DECA")
ComEntry.place(x=175,y=372)
Nameentry =Entry(lak.root,width=10,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=10,bg="#B7DECA")
Nameentry.place(x=505,y=520)
Nameentry =Entry(lak.root,textvariable=lak.Name01, width=30,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=5,bg="#B7DECA")
Nameentry.place(x=10,y=100)
Que_combo= ttk.Combobox(lak.root,textvariable=lak.Releation01, width=28,font = ("Arial", 13, "bold"))
Que_combo["values"]=("","aunts","brother","brother-in-law","brothers" ,"brothers-in-law","child" )
Que_combo.set("")
Que_combo.place(x=362,y=146)
PerEntry =Entry(lak.root,textvariable=lak.percentage02, width=30,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=5,bg="#B7DECA")
PerEntry.place(x=650,y=140)
#--------
Nameentry =Entry(lak.root,textvariable=lak.Name03, width=30,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=5,bg="#B7DECA")
Nameentry.place(x=10,y=180)
Que_combo= ttk.Combobox(lak.root,textvariable=lak.Releation03, width=28,font = ("Arial", 13, "bold"))
Que_combo["values"]=("","aunts","brother","brother-in-law","brothers" ,"brothers-in-law","child" ,"children" ,"common-law husband" "brother-in-law", "brothers", "brothers-in-law")
Que_combo.set("")
Que_combo.place(x=362,y=186)
PerEntry =Entry(lak.root,textvariable=lak.percentage03, width=30,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=5,bg="#B7DECA")
PerEntry.place(x=650,y=180)
#--------
Nameentry =Entry(lak.root,textvariable=lak.Name04, width=30,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=5,bg="#B7DECA")
Nameentry.place(x=10,y=220)
Que_combo= ttk.Combobox(lak.root,textvariable=lak.Releation04, width=28,font = ("Arial", 13, "bold") )
Que_combo["values"]=("","aunts","brother","brother-in-law","brothers" ,"brothers-in-law","child" )
Que_combo.set(" ")
Que_combo.place(x=362,y=226)
PerEntry =Entry(lak.root,textvariable=lak.percentage04, width=30,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=5,bg="#B7DECA")
PerEntry.place(x=650,y=220)
#--------
Nameentry =Entry(lak.root,textvariable=lak.Name05, width=30,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=5,bg="#B7DECA")
Nameentry.place(x=10,y=260)
Que_combo= ttk.Combobox(lak.root,textvariable=lak.Releation05, width=28,font = ("Arial", 13, "bold") )
Que_combo["values"]=("","aunts","brother","brother-in-law","brothers" ,"brothers-in-law","child" ,"children" ,"common-law husband")
Que_combo.set("")
Que_combo.place(x=362,y=266)
PerEntry =Entry(lak.root,textvariable=lak.percentage05, width=30,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=5,bg="#B7DECA")
PerEntry.place(x=650,y=260)
#--------
Nameentry =Entry(lak.root,textvariable=lak.Name06, width=30,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=5,bg="#B7DECA")
Nameentry.place(x=10,y=300)
Que_combo= ttk.Combobox(lak.root,textvariable=lak.Releation06, width=28,font = ("Arial", 13, "bold") )
Que_combo["values"]=("","aunts","brother","brother-in-law","brothers")
Que_combo.set("")
Que_combo.place(x=362,y=306)
PerEntry =Entry(lak.root, textvariable=lak.percentage06,width=30,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=5,bg="#B7DECA")
PerEntry.place(x=650,y=300)
#Header
Header= Label(lak.root,text= "For Clubbing:",
justify="left",bg= "#268A58", font = ("Arial",15, "bold"), fg= "black")
Header.place(x=10,y=340)
Header1= Label(lak.root,text= " Relationship ",borderwidth=10,
justify="left",bg= "#7FB49A", font = ("Arial",15, "bold"), fg= "black")
Header1.place(x=10,y=372)
Header1= Label(lak.root,text= "Percentage ",borderwidth=10,
justify="left",bg= "#7FB49A", font = ("Arial",15, "bold"), fg= "black")
Header1.place(x=505,y=372)
#---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Que_combo= ttk.Combobox(lak.root,textvariable=lak.relation2, width=23,font = ("Arial", 16, "bold") )
Que_combo["values"]=("","aunts","brother","brother-in-law","brothers" ,"brothers-in-law","child" ,"children" ,"common-law husband" ,"common-law spouse" ,"common-law wife" ,"cousin","cousins" ,'daughter' ,"daughter-in-law" ,"daughters" ,"daughters-in-law" ,"employee" ,"employees" ,"ex-husband" ,"ex-spouse" ,"ex-wife" ,"father" ,"father-in-law" ,"fiance" ,"fiancee" ,"foster-brother" ,"foster-brothers" ,"foster-child" ,"foster-chilren" ,"foster-daughter" ,"foster-daughters" ,"foster-father" ,"foster-mother" ,"foster-parent" ,"foster-parents" ,"foster-sister" ,"foster-sisters" ,"foster-son" ,"foster-sons" ,"friend" ,"friends" ,"godchild" ,"goddaughter" ,"goddaughters" ,"godfather" ,"godmother" ,"godparent" ,"godparents" ,"godson" ,"godsons" ,"grandchild" ,"grandchildren" ,"granddaughter" ,"granddaughters" ,"grandfather" ,"grandmother" ,"grandparent" ,"grandparents" ,"grandson" ,"grandsons" ,"great aunt" ,"great grandchildren" ,"great granddaughter" ,"great grandfather" ,"great grandmother" ,"great grandson" ,"great nephew" ,"great niece" ,"great uncle" ,"guardian" ,"guardians" ,"husband" ,"mother" ,"mother-in-law" ,"nephew" ,"nephews" ,"niece" ,"nieces" ,"no relationship" ,"parent" ,"parent-in-law" ,"parents" ,"parents-in-law" ,"partner" ,"partners" ,'sibling' ,'siblings' ,'sister' ,'sister-in-law' ,'sisters' ,'sisters-in-law' ,'son' ,'son-in-law' ,'sons' ,'sons-in-law' ,'spouse' ,'step-brother' ,'step-brothers' ,'step-child' ,'step-children' ,'step-daughter' ,'step-daughters' ,'step-father' ,'step-mother' ,'step-parent ' ,'step-parents','step-sisters' ,'step-son' ,'step-sons' ,'trustee' ,'uncle' ,'uncles',"wife",
"Fathers", "Mothers", "Sons", "Daughters", "Husbands", "Wifes", "Brothers", "Sisters", "Grandfathers", "Grandmothers", "Grandsons", "Granddaughters", "Uncles", "Aunts", "Nephews",
"brother-in-law", "brothers", "brothers-in-law", "child", "children","common-law husband","common-law spouse", "common-law wife", "cousin", "cousins", "daughter-in-law", "daughters",
"daughters-in-law", "employee", "employees", "ex-husband","ex-spouse", "ex-wife", "father-in-law", "fiance", "fiancee", "foster-brother", "foster-brothers" ,"foster-child","Nieces")
Que_combo.set("")
Que_combo.place(x=182,y=380)
PerEntry =Entry(lak.root,textvariable=lak.percentage2, width=30,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=10,bg="#B7DECA")
PerEntry.place(x=640,y=372)
Nameentry =Entry(lak.root,textvariable=lak.Name1, width=43,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=5,bg="#B7DECA")
Nameentry.place(x=10,y=420)
Nameentry =Entry(lak.root,textvariable=lak.Name2, width=43,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=5,bg="#B7DECA")
Nameentry.place(x=505,y=420)
Nameentry =Entry(lak.root,textvariable=lak.Name3, width=43,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=5,bg="#B7DECA")
Nameentry.place(x=10,y=460)
Nameentry =Entry(lak.root,textvariable=lak.Name4, width=43,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=5,bg="#B7DECA")
Nameentry.place(x=505,y=460)
Header1= Label(lak.root,text= " Trustee(s) ",borderwidth=10,
justify="left",bg= "#7FB49A", font = ("Arial",15, "bold"), fg= "black")
Header1.place(x=10,y=520)
Nameentry =Entry(lak.root,textvariable=lak.TruName1, width=30,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=10,bg="#B7DECA")
Nameentry.place(x=150,y=520)
Que_combo= ttk.Combobox(lak.root,textvariable=lak.and_or, width=8,state= "readonly",font = ("Arial",15, "bold") )
Que_combo["values"]=("","and","or")
Que_combo.set("")
Que_combo.place(x=515,y=528)
Nameentry =Entry(lak.root,textvariable=lak.TruName2, width=30,foreground= "black",font = ("Arial", 15, "bold"),borderwidth=10,bg="#B7DECA")
Nameentry.place(x=640,y=520)
Header= Label(lak.root,text= "Beneficiary Detail",
justify="left",bg= "#268A58", font = ("Arial",25, "bold"), fg= "black")
Header.place(x=370,y=600)
DetailEntry =Entry(lak.root,textvariable=lak.detail, width=107,foreground= "black",font = ("Arial",12, "bold"),borderwidth=10,bg="#B7DECA")
DetailEntry.place(x=5,y=650, height=65)