2099
Comment:
|
2118
|
Deletions are marked like this. | Additions are marked like this. |
Line 14: | Line 14: |
Line 15: | Line 16: |
Line 19: | Line 21: |
Administration of the plot windows configuration for the current !ParadigmType in "GUI/PLOTTING/[PARADIGMTYPE]/PLOTWIN[N]" |
Administration of the plot windows configuration for the current !ParadigmType in "GUI/PLOTTING/[PARADIGMTYPE]/PLOTWIN[N]" |
Line 22: | Line 24: |
Line 23: | Line 26: |
Line 24: | Line 28: |
Line 25: | Line 30: |
Line 31: | Line 37: |
Line 33: | Line 40: |
Line 35: | Line 43: |
Understanding the Plotting
The Plotting is used to handle the data plot windows containing qwt plots and streaming data into them.
1. CGuiMain
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.
2. CPlotController
Administration of 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