DynExp
Highly flexible laboratory automation for dynamically changing experiments.
Loading...
Searching...
No Matches
DynExpModule::SignalPlotter::SignalPlotterData Class Reference

#include <SignalPlotter.h>

+ Inheritance diagram for DynExpModule::SignalPlotter::SignalPlotterData:

Classes

struct  SampleDataType
 

Public Member Functions

 SignalPlotterData ()
 
virtual ~SignalPlotterData ()=default
 
void LockInstruments (DynExp::ModuleInstance *Instance, const DynExp::ParamsBase::ListParam< DynExp::ObjectLink< DynExpInstr::DataStreamInstrument > > &InstrParam)
 
void UnlockInstruments (DynExp::ModuleInstance *Instance)
 
auto & GetDataStreamInstr (size_t Index)
 
auto GetDataStreamInstrCount () const noexcept
 
const auto & GetDataStreamInstrLabels () const noexcept
 
std::string_view GetDataStreamInstrIconPath () const
 
bool IsUIInitialized () const noexcept
 
void SetUIInitialized () noexcept
 
- Public Member Functions inherited from DynExp::QMLModuleDataBase
 QMLModuleDataBase ()=default
 
virtual ~QMLModuleDataBase ()=default
 
- Public Member Functions inherited from DynExp::QModuleDataBase
 QModuleDataBase ()=default
 
virtual ~QModuleDataBase ()=default
 
- Public Member Functions inherited from DynExp::ModuleDataBase
 ModuleDataBase ()
 
virtual ~ModuleDataBase ()
 
bool IsExceptionIndicated () const noexcept
 Getter for HasException. Only performs atomic operations. Hence, this module data instance does not need to be locked for this function call.
 
std::exception_ptr GetException () const noexcept
 Getter for ModuleDataBase::ModuleException. If ModuleDataBase::ModuleException is nullptr and ModuleDataBase::HasException is still true, returns a pointer to a Util::Exception instance.
 
void EnqueueEvent (EventPtrType &&Event)
 Enqueues Event at the module event queue's back. Takes ownership of the event. Notifies the module owning the respective ModuleDataBase's instance that a new event has been enqueued.
 
EventPtrType PopEvent ()
 Removes one event from the event queue's front and returns the event. Ownership of the event is transferred to the caller of this method.
 
const auto & GetEventFront () const noexcept
 Returns a pointer to the event in the front of the module's event queue without transferring ownership and without removing the event from the queue.
 
auto & GetEventFront () noexcept
 Returns a pointer to the event in the front of the module's event queue without transferring ownership and without removing the event from the queue.
 
size_t GetNumEnqueuedEvents () const noexcept
 Getter for the module event queue's length.
 
void RunQueue ()
 Wakes up a module waiting for events and forces it to run its main loop once.
 
- Public Member Functions inherited from Util::INonCopyable
 INonCopyable (const INonCopyable &)=delete
 
INonCopyableoperator= (const INonCopyable &)=delete
 

Public Attributes

bool Running
 
bool RollingView
 
bool Autoscale
 
Graph::LineGraphPlotInfo PlotInfo
 
std::vector< SampleDataTypeSampleDataList
 
- Public Attributes inherited from DynExp::ModuleDataBase
ModuleBaseOnlyType ModuleBaseOnly
 Allow exclusive access to some of ModuleDataBase's private methods to ModuleBase.
 
ModuleThreadOnlyType ModuleThreadOnly
 Allow exclusive access to some of ModuleDataBase's private methods to the module thread ModuleThreadMain().
 

Private Member Functions

void ResetImpl (dispatch_tag< QMLModuleDataBase >) override final
 
virtual void ResetImpl (dispatch_tag< SignalPlotterData >)
 
void Init ()
 

Private Attributes

bool UIInitialized
 
DynExp::LinkedObjectWrapperContainerList< DynExpInstr::DataStreamInstrumentDataStreamInstr
 

Additional Inherited Members

- Public Types inherited from DynExp::ModuleDataBase
using EventPtrType = std::unique_ptr< EventBase >
 Pointer owning an event.
 
using EventQueueType = std::queue< EventPtrType >
 A module's event queue is a FIFO queue owning the enqueued events.
 
- Protected Member Functions inherited from Util::ISynchronizedPointerLockable
 ISynchronizedPointerLockable ()
 
 ~ISynchronizedPointerLockable ()
 Object should never be destroyed before completely unlocked.
 
- Protected Member Functions inherited from Util::INonCopyable
constexpr INonCopyable ()=default
 
 ~INonCopyable ()=default
 

Detailed Description

Definition at line 19 of file SignalPlotter.h.


Class Documentation

◆ DynExpModule::SignalPlotter::SignalPlotterData::SampleDataType

struct DynExpModule::SignalPlotter::SignalPlotterData::SampleDataType

Definition at line 22 of file SignalPlotter.h.

Class Members
QList< QPointF > Samples Data points of a single data series to plot.
bool Visible = true Determines whether this series should be processed and plotted.

Constructor & Destructor Documentation

◆ SignalPlotterData()

DynExpModule::SignalPlotter::SignalPlotterData::SignalPlotterData ( )
inline

Definition at line 35 of file SignalPlotter.h.

◆ ~SignalPlotterData()

virtual DynExpModule::SignalPlotter::SignalPlotterData::~SignalPlotterData ( )
virtualdefault

Member Function Documentation

◆ GetDataStreamInstr()

auto & DynExpModule::SignalPlotter::SignalPlotterData::GetDataStreamInstr ( size_t  Index)
inline

Definition at line 41 of file SignalPlotter.h.

◆ GetDataStreamInstrCount()

auto DynExpModule::SignalPlotter::SignalPlotterData::GetDataStreamInstrCount ( ) const
inlinenoexcept

Definition at line 42 of file SignalPlotter.h.

◆ GetDataStreamInstrIconPath()

std::string_view DynExpModule::SignalPlotter::SignalPlotterData::GetDataStreamInstrIconPath ( ) const
inline

Definition at line 44 of file SignalPlotter.h.

◆ GetDataStreamInstrLabels()

const auto & DynExpModule::SignalPlotter::SignalPlotterData::GetDataStreamInstrLabels ( ) const
inlinenoexcept

Definition at line 43 of file SignalPlotter.h.

◆ Init()

void DynExpModule::SignalPlotter::SignalPlotterData::Init ( )
private

Definition at line 15 of file SignalPlotter.cpp.

◆ IsUIInitialized()

bool DynExpModule::SignalPlotter::SignalPlotterData::IsUIInitialized ( ) const
inlinenoexcept

Definition at line 46 of file SignalPlotter.h.

◆ LockInstruments()

void DynExpModule::SignalPlotter::SignalPlotterData::LockInstruments ( DynExp::ModuleInstance Instance,
const DynExp::ParamsBase::ListParam< DynExp::ObjectLink< DynExpInstr::DataStreamInstrument > > &  InstrParam 
)
inline

Definition at line 38 of file SignalPlotter.h.

◆ ResetImpl() [1/2]

void DynExpModule::SignalPlotter::SignalPlotterData::ResetImpl ( dispatch_tag< QMLModuleDataBase )
finaloverrideprivate

Definition at line 10 of file SignalPlotter.cpp.

◆ ResetImpl() [2/2]

virtual void DynExpModule::SignalPlotter::SignalPlotterData::ResetImpl ( dispatch_tag< SignalPlotterData )
inlineprivatevirtual

Definition at line 58 of file SignalPlotter.h.

◆ SetUIInitialized()

void DynExpModule::SignalPlotter::SignalPlotterData::SetUIInitialized ( )
inlinenoexcept

Definition at line 47 of file SignalPlotter.h.

◆ UnlockInstruments()

void DynExpModule::SignalPlotter::SignalPlotterData::UnlockInstruments ( DynExp::ModuleInstance Instance)
inline

Definition at line 39 of file SignalPlotter.h.

Member Data Documentation

◆ Autoscale

bool DynExpModule::SignalPlotter::SignalPlotterData::Autoscale

Definition at line 51 of file SignalPlotter.h.

◆ DataStreamInstr

DynExp::LinkedObjectWrapperContainerList<DynExpInstr::DataStreamInstrument> DynExpModule::SignalPlotter::SignalPlotterData::DataStreamInstr
private

Definition at line 64 of file SignalPlotter.h.

◆ PlotInfo

Graph::LineGraphPlotInfo DynExpModule::SignalPlotter::SignalPlotterData::PlotInfo

Definition at line 53 of file SignalPlotter.h.

◆ RollingView

bool DynExpModule::SignalPlotter::SignalPlotterData::RollingView

Definition at line 50 of file SignalPlotter.h.

◆ Running

bool DynExpModule::SignalPlotter::SignalPlotterData::Running

Definition at line 49 of file SignalPlotter.h.

◆ SampleDataList

std::vector<SampleDataType> DynExpModule::SignalPlotter::SignalPlotterData::SampleDataList

Definition at line 54 of file SignalPlotter.h.

◆ UIInitialized

bool DynExpModule::SignalPlotter::SignalPlotterData::UIInitialized
private

Definition at line 62 of file SignalPlotter.h.


The documentation for this class was generated from the following files: