tkinter widget containing scan pair selector, grid plot and average plot
widget = XMCD_Visualiser(root, 'initial/folder', config)
Source code in mmg_toolbox/tkguis/xmcd_visualiser/widget.py
| class XMCDVisualiser:
"""
tkinter widget containing scan pair selector, grid plot and average plot
widget = XMCD_Visualiser(root, 'initial/folder', config)
"""
def __init__(self, root: tk.Misc, scan_range_str: str = None,
pairs: list[tuple[int, int]] = None, config: dict | None = None):
from .average_tab import Average
from .processed_data_plot import Comparison
from .sum_rules_tab import SumRules
self.root = root
self.config = config or get_config()
# Window
self.root.rowconfigure(0, weight=1)
self.root.columnconfigure(0, weight=1)
# Tabs
self.view_tabs = ttk.Notebook(self.root)
tab1 = ttk.Frame(self.view_tabs)
tab2 = ttk.Frame(self.view_tabs)
tab3 = ttk.Frame(self.view_tabs)
# self.view_tabs.bind('<<NotebookTabChanged>>', self.tab_change)
self.view_tabs.add(tab1, text='Average Data')
self.view_tabs.add(tab2, text='Compare Data')
self.view_tabs.add(tab3, text='Sum Rule Analysis')
# Average Tab
self.average = Average(tab1, self)
# Comparison Tab
self.comparison = Comparison(tab2, self)
# Sum Rule Tab
self.sum_rules = SumRules(tab3, self)
self.view_tabs.grid(column=0, row=0, sticky='nsew')
if scan_range_str:
self.average.pair_selector.scan_range.set(scan_range_str)
if pairs:
self.average.pair_selector.set_pair_numbers(pairs)
self.average.plot_pairs()
|