96 lines
2.7 KiB
Python
96 lines
2.7 KiB
Python
#!/usr/bin/python
|
|
#coding: utf-8
|
|
# DESCRIPTION: display module for install (tk)
|
|
#
|
|
# SCRIPT NAME: ri_inst_tk.py
|
|
#
|
|
# MENTOR: Li Zhi
|
|
#
|
|
# AUTHOR: Ling Fen
|
|
#
|
|
# EMAIL: fling@linx-info.com
|
|
#
|
|
# DATE: 2010-09-20
|
|
#
|
|
# HISTORY:
|
|
# REVISOR DATE MODIFICATION
|
|
# Ling Fen 2010-09-04 create
|
|
#
|
|
|
|
from Tkinter import *
|
|
import tkMessageBox
|
|
import os
|
|
from ri_oper import language, Rate
|
|
|
|
def set_task(task_name):
|
|
lab_operation.configure(text=task_name)
|
|
lab_operation.update()
|
|
|
|
def set_sub_task(sub_task):
|
|
txt_suboperation.insert(END,sub_task)
|
|
txt_suboperation.see(END)
|
|
|
|
def set_task_scale():
|
|
scl_progress.configure(state='normal')
|
|
scl_progress.set(Rate.value)
|
|
scl_progress.update()
|
|
scl_progress.configure(state='disable')
|
|
|
|
def set_task_over():
|
|
ret = tkMessageBox.askokcancel(title="Linx",message="%s"%(language=='chinese' and "凝思磐石系统安装完成,请重新启动系统"or "Rocky system install completed,plase reboot"))
|
|
return ret
|
|
|
|
def root_destroy():
|
|
root.destroy()
|
|
|
|
def error(oper, ret):
|
|
if language == 'chinese':
|
|
tkMessageBox.showerror('Linx',u"%s:\n 错误值: %d\n %s"%(oper.chinese_name, ret, oper.return_value[ret][1]))
|
|
else:
|
|
tkMessageBox.showerror('Linx',"%s:\n Error number: %d\n %s"%(oper.english_name, ret, oper.return_value[ret][0]))
|
|
|
|
def start(func):
|
|
root.protocol('WM_TAKE_FOCUS', func)
|
|
root.mainloop()
|
|
|
|
#root widget
|
|
root = Tk()
|
|
root.geometry("%sx%s+0+0" %(root.winfo_screenwidth(),root.winfo_screenheight()))
|
|
root.title('Linx')
|
|
|
|
# root subwidget
|
|
stringvar_bar=StringVar()
|
|
|
|
#label
|
|
lab_task=Label(root,text='%s:'%(language=="chinese" and u"任务" or "Task"))
|
|
lab_progress_bar=Label(root,text='%s:'%(language=="chinese" and u"进度"\
|
|
or 'Progress bar'))
|
|
lab_operation=Label(root,text="")
|
|
lab_linx=Label(root,text="Linx")
|
|
|
|
txt_suboperation=Text(root,width=100,height=10)
|
|
|
|
#operation lable and taskname
|
|
lab_task.grid (row=1, column=0, sticky='E')
|
|
lab_operation.grid (row=1, column=1)
|
|
txt_suboperation.grid(row=2, column=1)
|
|
lab_progress_bar.grid(row=3, column=0, sticky='E')
|
|
lab_linx.grid (row=4, column=1)
|
|
|
|
#logo
|
|
photo_bm = PhotoImage(file="%s/../data/linxlogo.gif"\
|
|
%os.path.split(os.path.realpath(__file__))[0])
|
|
logo_label=Label(root,image=photo_bm)
|
|
logo_label.grid(row=0,column=0,padx=50, pady=50, sticky='NW')
|
|
|
|
#progress bar
|
|
scl_progress=Scale(root,orient=HORIZONTAL,resolution=0.01,digits=4,from_=0,to=100,variable=stringvar_bar,label='%')
|
|
scl_progress.grid(row=3,column=1,padx=50, sticky='EW')
|
|
|
|
#root
|
|
root.rowconfigure(0,weight=1)
|
|
root.rowconfigure(1,weight=1)
|
|
root.rowconfigure(3,weight=1)
|
|
root.rowconfigure(4,weight=1)
|
|
root.columnconfigure(1,weight=1)
|