Differences between revisions 7 and 9 (spanning 2 versions)
Revision 7 as of 2016-02-03 11:32:51
Size: 2118
Comment:
Revision 9 as of 2016-02-03 11:43:23
Size: 2199
Comment:
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
== CGuiMain == == CGuiMain: Main User Interface ==
Line 13: Line 13:
plot controller and experiment controller are created. Plot controller and experiment controller are created.
Line 17: Line 17:
In the Idle() method, the controllers' Idle() methods are called. In the Idle() method, the controllers' Idle() methods are called (e.g. to refresh the data plots).
Line 21: Line 21:
Administration of the plot windows configuration for the current !ParadigmType in "GUI/PLOTTING/[PARADIGMTYPE]/PLOTWIN[N]" Holding the '''plot windows configuration''' for the current !ParadigmType in "GUI/PLOTTING/[PARADIGMTYPE]/PLOTWIN[N]"
Line 23: Line 23:
!SetConfiguration: creation and showing of CPlotWindow's with given configuration '''!SetConfiguration''': Creation and showing of CPlotWindow's with given configuration
Line 25: Line 25:
AddPlotGenerator: Hand a new plot generator over to the controller. Data produced by the generator can now be displayed in each plot window. '''!AddPlotGenerator''': Hand a new plot generator over to the controller. Data produced by the generator can now be displayed in each plot window.
Line 27: Line 27:
Data identification via m_poDataKeys. Data identification via '''m_poDataKeys'''.
Line 29: Line 29:
Data in m_mapChannelData.CPlotDataHandle Data in '''m_mapChannelData.CPlotDataHandle'''
Line 31: Line 31:
Classes identification via m_lstDisplayClasses. Classes identification via '''m_lstDisplayClasses'''.

Understanding the Plotting

The Plotting is used to handle the data plot windows containing qwt plots and streaming data into them.

1. CGuiMain: Main User Interface

Plot controller and experiment controller are created.

SIGNALs and SLOTs to e.g. CPlotController::CreateWindow() are established.

In the Idle() method, the controllers' Idle() methods are called (e.g. to refresh the data plots).

2. CPlotController

Holding the plot windows configuration for the current ParadigmType in "GUI/PLOTTING/[PARADIGMTYPE]/PLOTWIN[N]"

SetConfiguration: Creation and showing of CPlotWindow's with given configuration

AddPlotGenerator: Hand a new plot generator over to the controller. Data produced by the generator can now be displayed in each plot window.

Data identification via m_poDataKeys.

Data in m_mapChannelData.CPlotDataHandle

Classes identification via m_lstDisplayClasses.

3. CExperimentController

CExperimentController::MakeEyeposPlots Create a CADaqPlotGenerator that receives all eye position data recorded in the course of the given trial and turns it into plot data which can be displayed in a plot window. Push the generator to the plot controller.

CExperimentController::MakeAnalogPlots similar (CADaqPlotGenerator)

CExperimentController::MakeRasterPlots similar, but create and register CDDaqPlotGenerator as receiver for the trial's recorded data at CDaqFacade

CExperimentController::MakeHistograms similar, but create and register CDDaqHistogramGenerator as receiver for the trial's recorded data at CDaqFacade

4. CQwtPlot

holds CPlotDataChannels for each registered channel to be plotted

Handles curves: add, delete, clear, setNumberOfCurves etc.

MakeDataChannel: create CHistogramDataChannel or CPlotDataChannel (both in CPlotDataChannel.cpp)

5. CPlotDataChannel

CPlotDataChannel::InitLooks(): actual visual properties of the plots

DoAddCurve: add curve data as new QwtPlotCurve and attach it to the plot

nrec: UnderstandingThePlotting (last edited 2016-02-05 09:44:02 by FriedemannBunjes)