ImFusion C++ SDK 4.4.0
ImFusion::DataDisplayHandler Class Referenceabstract

#include <ImFusion/GUI/DataDisplayHandler.h>

Interface to generically show/hide Data in a GUI::View and/or query visibility. More...

Inheritance diagram for ImFusion::DataDisplayHandler:

Detailed Description

Interface to generically show/hide Data in a GUI::View and/or query visibility.

In order to make a specific Data type generically visualizable implement this interface and register the specialization with the DataDisplayHandlerFactory. This enables SDK classes such as GUI::Display, GUI::View, and DataWidget to use them.

Public Member Functions

virtual bool handlesType (const Data *data) const =0
 Check whether this specialization handles the given Data type.
virtual bool canBeShownInView (const Data *data, const GUI::View &view) const =0
 Check whether a particular Data can be shown in the given view.
virtual void show (Data *data, GUI::View &view)=0
 Visualize the given data in the given view.
virtual void hide (Data *data, GUI::View &view)=0
 Remove the given data from the given view.
virtual void onViewDeleted (GUI::View &view)
 Called if a view associated with this DataDisplayHandler is destroyed.
virtual std::unique_ptr< QWidget > createDisplayOptionsWidget (Data *data, GUI::DisplayBase &display, GUI::View &view) const
 Provides an optional QtWidgets-based GUI to configure display options for the given data shown in view.

Member Function Documentation

◆ handlesType()

virtual bool ImFusion::DataDisplayHandler::handlesType ( const Data * data) const
pure virtual

◆ canBeShownInView()

virtual bool ImFusion::DataDisplayHandler::canBeShownInView ( const Data * data,
const GUI::View & view ) const
pure virtual

◆ show()

virtual void ImFusion::DataDisplayHandler::show ( Data * data,
GUI::View & view )
pure virtual

◆ hide()

virtual void ImFusion::DataDisplayHandler::hide ( Data * data,
GUI::View & view )
pure virtual

Remove the given data from the given view.

Warning
Implementations must not access data beyond pointer comparison because the instance may already in the process of deletion when calling this function.

Implemented in ImFusion::ASCDataDisplayHandlerBase, ImFusion::CT::ConeBeamDataDisplayHandler, ImFusion::Dicom::RTStructureDataDisplayHandler, ImFusion::ML::DataItemDisplayHandler, ImFusion::SharedImageSetDisplayHandler, ImFusion::TrackingSequenceDisplayHandler, and ImFusion::US::SweepDisplayHandler.

◆ onViewDeleted()

virtual void ImFusion::DataDisplayHandler::onViewDeleted ( GUI::View & view)
inlinevirtual

◆ createDisplayOptionsWidget()

virtual std::unique_ptr< QWidget > ImFusion::DataDisplayHandler::createDisplayOptionsWidget ( Data * data,
GUI::DisplayBase & display,
GUI::View & view ) const
virtual

Provides an optional QtWidgets-based GUI to configure display options for the given data shown in view.

This function is used to enable InteractiveViewOptionsOverlay showing a suitable GUI for all data shown in its corresponding view. The default implementation returns nullptr.

Note
This function is still considered experimental and may be moved/changed in the future.

Reimplemented in ImFusion::ASCDataDisplayHandlerBase, ImFusion::CT::ConeBeamDataDisplayHandler, ImFusion::Dicom::RTStructureDataDisplayHandler, ImFusion::SharedImageSetDisplayHandler, ImFusion::TrackingSequenceDisplayHandler, and ImFusion::US::SweepDisplayHandler.


The documentation for this class was generated from the following file:
  • ImFusion/GUI/DataDisplayHandler.h
Search Tab / S to search, Esc to close