13 from __future__
import absolute_import
14 from __future__
import print_function
20 import tkinter.messagebox
as tkinter_messagebox
23 import tkMessageBox
as tkinter_messagebox
25 from project_gui_modules.statusview
import ProjectStatusView
26 from project_gui_modules.textwindow
import TextWindow
34 def __init__(self, parent, project_name=None, xml_path=None, project_defs=[]):
40 tk.Frame.__init__(self, self.
parent)
41 self.pack(expand=1, fill=tk.BOTH)
46 self.
set_project(project_name, xml_path, project_defs)
54 self.
infoframe = tk.Frame(self, relief=tk.FLAT, bg=
'aliceblue')
55 self.infoframe.pack(side=tk.TOP, fill=tk.X)
56 self.infoframe.columnconfigure(1, weight=1)
61 self.pathlabel.grid(row=0, column=0)
63 self.path.grid(row=0, column=1, sticky=tk.E+tk.W)
69 self.projectlabel.grid(row=1, column=0)
71 self.projectname.grid(row=1, column=1, sticky=tk.E+tk.W)
75 self.
ps = ProjectStatusView(self)
76 self.ps.pack(side=tk.BOTTOM, expand=1, fill=tk.BOTH)
81 self.
path[
'text'] = xml_path
83 if len(project_defs) > 0:
84 self.ps.set_project(project_defs)
90 xml_path = self.
path[
'text']
91 if xml_path ==
None or xml_path ==
'':
92 tkinter_messagebox.showerror(
'',
'No xml file specified.')
99 tkinter_messagebox.showerror(
'',
'Error opening xml file %s.' % xml_path)
113 self.ps.update_status()
118 self.ps.update_jobs()
123 self.ps.highlight_stage(stagename)
open(RACETRACK) or die("Could not open file $RACETRACK for writing")