Window structure

The AnalysisWindow is comprised of three main widgets and a menu bar.

../../_images/analysis_window_labeled.png

The widgets use PyQt’s signal and slot mechanism to interact with each other, rather than interacting directly.

Local toolbox

Accessed as toolbox in AnalysisWindow.

The local toolbox contains all the operations and conversions that are associated with the widget that is currently showing in the display TabWidget. If something changes the channel data, or changes the way that the data is viewed, then it goes in the local toolbox.

Functions in the local toolbox should be grouped into tabs (eg. ‘Conversion’, ‘Peaks’) and then into grouped boxes within a tab (eg. ‘Transfer function conversion options’, ‘Sonogram conversion options’).

Display TabWidget

Accessed as display_tabwidget in AnalysisWindow.

This is the central widget for the AnalysisWindow, where graphs, data, and results are displayed. For each section of the analysis window (time domain, sonogram, etc) there is one QWidget that is created for display, which is the focal point of that section.

In general it is simply an InteractivePlotWidget, but it can contain other widgets (eg. CircleFitWidget) if they are absolutely necessary to smooth operation (such as the results tree in the CircleFitWidget).

The user should not have to jump around between the toolboxes and the display TabWidget to view their results. Operations are kept in the toolboxes; the display TabWidget is for data interaction and visualisation.

Note

Currently no decision has been made about how future modal analysis tools will be added to the DataLogger. Will the Circle Fit tab remain solely for circle fitting or will it become a Modal Analysis tab containing options for circle fitting, RFP fitting, etc?

Global toolbox

Accessed as global_toolbox in AnalysisWindow.

The global toolbox contains operations that have a universal effect, and are not limited to one specific analysis widget. Examples include interacting with channel selection and metadata, or running addons.

The global toolbox is actually contained within a MasterToolbox, global_master_toolbox to provide an interface symmetric with the local toolbox. However, the user should never need to interact with the MasterToolbox, and all of the global functionality should be located in the the global_toolbox.

AnalysisWindow widget