ImFusion SDK 4.3
StreamController Class Reference

#include <ImFusion/Stream/StreamController.h>

Implementation of the DataController interface for manipulating streams. More...

+ Inheritance diagram for StreamController:

Detailed Description

Implementation of the DataController interface for manipulating streams.

This controller shows a toolbar with buttons to control streams (start, stop, etc.) and shows the current state of the currently selected stream. It is instantiated automatically when a stream is selected in the DataControllerManager.

As a DataController, it is fundamentally different from the StreamControllerBase or classes derived from it, which are controllers aimed at configuring streams.

Public Slots

void onPauseResume ()
 
void onStartStop ()
 
void onOpenClose ()
 
void onRecord ()
 
void updateQualityOverlay ()
 
void updateStatusBar (QString text)
 
void onDataDeleting (Data *d)
 

Public Member Functions

 StreamController (const std::vector< Stream * > &streams)
 Constructor with the algorithm instance.
 
void onSelectedDataChanged (const DataList &data) override
 Called by MainWindowBase in the case that the selection in the data model has changed.
 
void onNewStreamData (std::shared_ptr< const StreamData > data)
 
void onStreamStateChanged (Stream::StateChange state)
 
void setTrackingQualityBarVisibilityMode (GlScalarBarOverlay::RenderMode mode)
 
GlScalarBarOverlay::RenderMode trackingQualityBarVisibilityMode () const
 
- Public Member Functions inherited from DataController
std::string title () const override
 Returns the shown widget title if the controller is shown in a mode that supports this (e.g.
 
std::string factoryName () const
 Returns the name used to identify this DataController in the factory.
 
void setFactoryName (const std::string &factoryName)
 Sets the name used to identify this DataController in the factory.
 
std::vector< LocationsupportedLocations () const override
 Returns the list of locations in which this controller is allowed to be placed by the parent MainWindowBase.
 
Location preferredLocation () const override
 Returns the preferred location in which the parent MainWindowBase should place this controller.
 
- Public Member Functions inherited from Controller
void setMainWindowBase (MainWindowBase *mw)
 Complete the initialization by providing the parent MainWindowBase instance hosting the controller by setting m_main and m_disp and eventually call init().
 
virtual void onVisibleDataChanged (const DataList &)
 Called by MainWindowBase in the case that the currently visible data has changed.
 
virtual void onLocationChanged (Location newLocation)
 Callback function called by the parent MainWindowBase/ControllerDecorator whenever the place was changed.
 
Location location () const
 Convenience function to query the current controller Location from the parent ControllerDecorator.
 
ControllerDecoratorgetDecorator () const
 Convenience function to return m_main->getControllerDecorator(this) if m_main is set or nullptr otherwise.
 
template<typename T>
T * getDecorator () const
 Convenience function to dynamic_cast the return value of getDecorator() to a derived type.
 
- Public Member Functions inherited from Configurable
virtual void configure (const Properties *p)
 Configure this object instance by de-serializing the given Properties.
 
virtual void configuration (Properties *p) const
 Serialize the current object configuration into the given Properties object.
 
virtual void configureDefaults ()
 Retrieve the properties of this object, replaces values with their defaults and sets it again.
 
void registerParameter (ParameterBase *param)
 Register the given Parameter or SubProperty, so that it will be configured during configure()/configuration().
 
void unregisterParameter (const ParameterBase *param)
 Remove the given Parameter or SubProperty from the list of registered parameters.
 
 Configurable (const Configurable &rhs)
 
 Configurable (Configurable &&rhs) noexcept
 
Configurableoperator= (const Configurable &)
 
Configurableoperator= (Configurable &&) noexcept
 
- Public Member Functions inherited from SignalReceiver
 SignalReceiver ()=default
 Default constructor.
 
 SignalReceiver (const SignalReceiver &other)
 Copy constructor, does not copy any existing signal connections from other.
 
SignalReceiveroperator= (SignalReceiver rhs)
 Assignment operator, disconnects all existing connections, does not copy any existing signal connections from rhs.
 
virtual ~SignalReceiver ()
 Virtual destructor disconnects from all connected signals.
 

Static Public Member Functions

static bool createCompatible (const DataList &data, DataController **a=0)
 
- Static Public Member Functions inherited from DataController
static bool createCompatible (const DataList &, DataController **=0)
 Factory interface for DataControllers: If data is compatible with data controller return true.
 

Protected Member Functions

bool supportsToolBar () const override
 Subclasses can return true if they support showing their GUI in Location::ToolBar.
 
void connectSignals (Stream *)
 
void disconnectSignals (Stream *)
 
GUI::ViewOverlaytrackingQualityOverlay (GUI::View *view)
 
- Protected Member Functions inherited from SignalReceiver
void disconnectAll ()
 Disconnects all existing connections.
 

Additional Inherited Members

- Public Types inherited from Controller
enum class  Location : int {
  Unknown = -1 , Naked = 0 , PrimaryDock = 1 , SecondaryDock = 2 ,
  Detached = 3 , ToolBar = 4 , UserLocation = 100
}
 Enumeration of possible placement/decoration options of a Controller. More...
 
- Public Attributes inherited from Controller
Signal signalTitleChanged
 Signal emitted when the title() has changed.
 
- Public Attributes inherited from Configurable
Signal signalParametersChanged
 Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted.
 
- Protected Attributes inherited from DataController
std::string m_factoryName
 
- Protected Attributes inherited from Controller
MainWindowBasem_main = nullptr
 The parent MainWindowBase instance hosting this Controller.
 
DisplayWidgetMultim_disp = nullptr
 The main DisplayWidget instance, convenience shortcut for m_main->display().
 
- Protected Attributes inherited from Configurable
std::vector< Paramm_params
 List of all registered Parameter and SubProperty instances.
 

Member Function Documentation

◆ onSelectedDataChanged()

void onSelectedDataChanged ( const DataList & )
overridevirtual

Called by MainWindowBase in the case that the selection in the data model has changed.

Reimplemented from Controller.

◆ supportsToolBar()

bool supportsToolBar ( ) const
inlineoverrideprotectedvirtual

Subclasses can return true if they support showing their GUI in Location::ToolBar.

This interface is used by the default implementation of supportedLocations() and preferredLocation() to decide whether to use Location::ToolBar.

Reimplemented from DataController.


The documentation for this class was generated from the following file:
Search Tab / S to search, Esc to close