Skip to content
Snippets Groups Projects
Commit 1729e1a3 authored by ulc0011's avatar ulc0011
Browse files

ENH: Added button for selecting all items, modified format #3

parent 49bafdc8
No related branches found
No related tags found
No related merge requests found
......@@ -110,6 +110,9 @@ class Window(QtWidgets.QDialog):
self.head_label = QtWidgets.QLabel("Choose components of your report:")
self.head_label.setFont(self.bf)
self.all_items_button = QtWidgets.QPushButton("Select all")
self.all_items_button.setFont(self.nf)
self.all_items_button.clicked.connect(partial(self.checkAll, "All"))
self.all_heat_button = QtWidgets.QPushButton("Select all heatmaps")
self.all_heat_button.setFont(self.nf)
self.all_heat_button.clicked.connect(partial(self.checkAll, "Heatmap"))
......@@ -121,13 +124,14 @@ class Window(QtWidgets.QDialog):
self.all_tables_button.clicked.connect(partial(self.checkAll, "table"))
self.vl = QtWidgets.QVBoxLayout()
self.vl.addWidget(self.all_items_button)
self.vl.addWidget(self.all_heat_button)
self.vl.addWidget(self.all_plots_button)
self.vl.addWidget(self.all_tables_button)
self.hl = QtWidgets.QHBoxLayout()
self.states = {'Heatmap': 0, 'Plot': 0, 'table': 0}
self.states = {'Heatmap': 0, 'Plot': 0, 'table': 0, 'All':0}
if self.info:
self.checkFromApps()
......@@ -224,11 +228,15 @@ class Window(QtWidgets.QDialog):
def checkAll(self, whatToCheck):
leaves = self.getTreeLeaves()
for leaf in leaves:
if whatToCheck in leaf.text(0) and not self.states[whatToCheck]:
leaf.setCheckState(0,QtCore.Qt.Checked)
elif whatToCheck in leaf.text(0) and self.states[whatToCheck]:
leaf.setCheckState(0,QtCore.Qt.Unchecked)
if whatToCheck == "All":
for leaf in leaves:
leaf.setCheckState(0,QtCore.Qt.Unchecked) if self.states['All'] else leaf.setCheckState(0,QtCore.Qt.Checked)
else:
for leaf in leaves:
if whatToCheck in leaf.text(0) and not self.states[whatToCheck]:
leaf.setCheckState(0,QtCore.Qt.Checked)
elif whatToCheck in leaf.text(0) and self.states[whatToCheck]:
leaf.setCheckState(0,QtCore.Qt.Unchecked)
self.states[whatToCheck] = not self.states[whatToCheck]
......@@ -246,10 +254,14 @@ class Window(QtWidgets.QDialog):
copyfile(os.path.dirname(os.path.dirname(os.path.realpath(__file__)))+'/input/readex_header.tex',target_file)
tex_file = open(save_file_path,"w")
tex_file.write(r'\documentclass{article}')
tex_file.write(r'\documentclass[11pt]{article}')
tex_file.write(r'''
\usepackage{changepage} ''')
\usepackage{float} ''')
tex_file.write('''\n\input{readex_header}\n''')
tex_file.write(r'''\textwidth 6.5in
\evensidemargin 0in
\oddsidemargin 0in
''')
tex_file.write(r'\begin{document}')
if self.tree.topLevelItem(0).checkState(0) == 2:
......@@ -336,11 +348,11 @@ class Window(QtWidgets.QDialog):
tmp_tree = pydot_example.regionTree(pathToData = self.data['root_folder_lst'][0], ownData = self.data, defaultDPI = myDPI)
tmp_tree.G.write_png(imgFile)
code = r'''
\begin{{figure}}
\begin{figure}[H]
\centering
\includegraphics[width=1.0\textwidth]{TeXtree.png}
\caption{{Structure of main and nested functions}}
\end{{figure}}
\caption{Structure of main and nested functions}
\end{figure}
'''
return code
......@@ -384,7 +396,7 @@ class Window(QtWidgets.QDialog):
x_label_unit = "{}\,[{}]".format(self.plot_data[1]["x_label_name"],self.plot_data[1]["x_label_unit"])
func_label_unit = "{}\,[{}]".format(self.plot_data[1]["func_label_name"],self.plot_data[1]["func_label_unit"])
code = r'''
\begin{{table}}
\begin{{table}}[H]
\centering
{0}
\begin{{adjustbox}}{{max width=\textwidth}}
......@@ -558,7 +570,7 @@ class Window(QtWidgets.QDialog):
self.table_contents = self.data["overall_vals"]
tex_code = ""
fixed_part = r'''
\begin{table}
\begin{table}[H]
\centering
\begin{adjustbox}{max width=\textwidth}
\begin{tabular}{lccccc}
......@@ -570,8 +582,7 @@ class Window(QtWidgets.QDialog):
& \makecell[{{p{.18\textwidth}}}]{\textbf{Best static}\\ \textbf{configuration}}
& \makecell[{{p{.18\textwidth}}}]{\textbf{Static}\\ \textbf{Savings}}
& \makecell[{{p{.18\textwidth}}}]{\textbf{Dynamic}\\ \textbf{Savings}}
\\ \hline'''
'''
tex_code = tex_code + fixed_part
table_content_part = r''' '''
for it, t in enumerate(self.table_contents):
......@@ -593,7 +604,7 @@ class Window(QtWidgets.QDialog):
if len(self.table_contents[-1]) == 1:
rtc = self.table_contents[-1][0].replace("%",r'''\%''')
run_time = r'''
\\ \hline \makecell[{{{{p{{.22\textwidth}}}}}}]{{\textbf{{Run-time change with the energy optimal settings:}}}} & \multicolumn{{ 4 }}{{l}}{{ {} }}
\makecell[{{{{p{{.22\textwidth}}}}}}]{{\textbf{{Run-time change with the energy optimal settings:}}}} & \multicolumn{{ 4 }}{{l}}{{ {} }}
\\ \hline
'''.format(rtc)
tex_code = tex_code + run_time
......@@ -617,7 +628,8 @@ class Window(QtWidgets.QDialog):
title = list(self.table_data.keys())[idx]
tex_code = tex_code + (r'''
\setlength\LTleft{{-2cm}}
\begin{{small}}
\setlength\LTleft{{-1cm}}
\begin{{longtable}}{{lcccccc}}
\multicolumn{{7}}{{c}}{{ \textbf{{ {} }} }} \\
\hline
......@@ -652,9 +664,9 @@ class Window(QtWidgets.QDialog):
stat_val = r''' {}\,{} '''.format(*line['static_config_value'])
dyn_val = r''' {}\,{} '''.format(line['dynamic_config_value'][0],line['dynamic_config_value'][1])
dyn_savings = r''' {}\,{} \\({}\%)'''.format(*line['dynamic_savings'])
reg_line = r'''\makecell[{{{{p{{.2\textwidth}}}}}}]{{ {} }} & \makecell[{{{{p{{.1\textwidth}}}}}}]{{ {} }} &
\makecell[{{{{p{{.15\textwidth}}}}}}]{{ {} }} & \makecell[{{{{p{{.10\textwidth}}}}}}]{{ {} }} &
\makecell[{{{{p{{.15\textwidth}}}}}}]{{ {} }} & \makecell[{{{{p{{.10\textwidth}}}}}}]{{ {} }} &
reg_line = r'''\makecell[{{{{p{{.2\textwidth}}}}}}]{{ {} }} & \makecell[{{{{p{{.08\textwidth}}}}}}]{{ {} }} &
\makecell[{{{{p{{.1\textwidth}}}}}}]{{ {} }} & \makecell[{{{{p{{.10\textwidth}}}}}}]{{ {} }} &
\makecell[{{{{p{{.1\textwidth}}}}}}]{{ {} }} & \makecell[{{{{p{{.10\textwidth}}}}}}]{{ {} }} &
\makecell[{{{{p{{.10\textwidth}}}}}}]{{ {} }}
\\ \hline
'''.format(*line['region'], line['percent_of_1_phase'], c3lab, stat_val, c5lab, dyn_val, dyn_savings)
......@@ -668,20 +680,20 @@ class Window(QtWidgets.QDialog):
self.table_contents['stat_saves_sum'],yl, self.table_contents['sig_region_dyn_saves_percent'])
l27lab = r'''{}\,{} of {}\,{}\,({}\%) '''.format(self.table_contents['dyn_saves_sum'],yl,self.table_contents['app_dyn_saves'],yl,self.table_contents['app_dyn_saves_percent'])
l29lab = r'''{}\,{}\,({}\% of {}\,{})'''.format(self.table_contents['total_savings'],yl,self.table_contents['total_savings_percent'],self.table_contents['total_val'],yl)
ending_lines = r'''\multicolumn{{3}}{{l}}{{ \makecell[{{{{p{{.3\textwidth}}}}}}]{{\textbf{{Total value for static tuning for
ending_lines = r'''\multicolumn{{3}}{{l}}{{ \makecell[{{{{p{{.25\textwidth}}}}}}]{{\textbf{{Total value for static tuning for
significant regions}} }} }}
& \multicolumn{{4}}{{r}}{{ \makecell[{{{{p{{.6\textwidth}}}}}}]{{ {} }} }}\\
& \multicolumn{{4}}{{r}}{{ \makecell[{{{{p{{.5\textwidth}}}}}}]{{ {} }} }}\\
\hline
\multicolumn{{3}}{{l}}{{ \makecell[{{{{p{{.3\textwidth}}}}}}]{{\textbf{{Total savings for dynamic tuning
\multicolumn{{3}}{{l}}{{ \makecell[{{{{p{{.25\textwidth}}}}}}]{{\textbf{{Total savings for dynamic tuning
for significant regions}} }} }}
& \multicolumn{{4}}{{r}}{{ \makecell[{{{{p{{.6\textwidth}}}}}}]{{ {} }} }}
& \multicolumn{{4}}{{r}}{{ \makecell[{{{{p{{.5\textwidth}}}}}}]{{ {} }} }}
\\ \hline
\multicolumn{{3}}{{l}}{{\makecell[{{{{p{{.3\textwidth}}}}}}]{{\textbf{{Dynamic savings for application
\multicolumn{{3}}{{l}}{{\makecell[{{{{p{{.25\textwidth}}}}}}]{{\textbf{{Dynamic savings for application
runtime}} }} }}
& \multicolumn{{4}}{{r}}{{ \makecell[{{{{p{{.6\textwidth}}}}}}]{{ {} }} }}
& \multicolumn{{4}}{{r}}{{ \makecell[{{{{p{{.5\textwidth}}}}}}]{{ {} }} }}
\\ \hline
\multicolumn{{3}}{{l}}{{\makecell[{{{{p{{.3\textwidth}}}}}}]{{\textbf{{Total value after savings}} }} }}
& \multicolumn{{4}}{{r}}{{ \makecell[{{{{p{{.6\textwidth}}}}}}]{{ {} }} }}
\multicolumn{{3}}{{l}}{{\makecell[{{{{p{{.25\textwidth}}}}}}]{{\textbf{{Total value after savings}} }} }}
& \multicolumn{{4}}{{r}}{{ \makecell[{{{{p{{.5\textwidth}}}}}}]{{ {} }} }}
'''.format(l23lab, l25lab, l27lab, l29lab)
tex_code = tex_code + ending_lines
......@@ -694,7 +706,7 @@ class Window(QtWidgets.QDialog):
'''.format(rtc_vals)
tex_code = tex_code + rctext
tex_code = tex_code + '\n\end{longtable}\n'
tex_code = tex_code + '\n\end{longtable}\n\end{small}\n'
return tex_code
def getOneRegTex(self,idx):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment