Skip to content

scans

create_range_selector(initial_folder=None, parent=None, config=None)

Create a range selector

Source code in mmg_toolbox/tkguis/apps/scans.py
def create_range_selector(initial_folder: str | None = None,
                          parent: tk.Misc | None = None, config: dict | None = None) -> RootWithStyle:
    """
    Create a range selector
    """
    from ..widgets.scan_range_selector import ScanRangeSelector

    root = create_root(parent=parent, window_title='NeXus Scan Viewer')
    config = get_config() if config is None else config

    ScanRangeSelector(root, initial_folder, config)

    if parent is None:
        root.mainloop()
    return root

list_scans(*file_list, parent=None, config=None, metadata_list=None, button_name='Close')

Create a window displaying a list of scans with metadata

Source code in mmg_toolbox/tkguis/apps/scans.py
def list_scans(*file_list: str, parent: tk.Misc | None = None, config: dict | None = None,
               metadata_list: list[str] | None = None, button_name: str = 'Close') -> list[str]:
    """
    Create a window displaying a list of scans with metadata
    """
    from ..widgets.scan_selector import ScanViewer

    root = create_root(parent=parent, window_title='Select Files')
    config = get_config() if config is None else config
    if metadata_list:
        # replace metadata_list in config
        config = config.copy()
        config[C.metadata_list] = {name: f"{{{name}}}" for name in metadata_list}
    return ScanViewer(root, *file_list, config=config, button_name=button_name).show()