Medical Imaging Interaction Toolkit  2021.10.99-9c07a326 Medical Imaging Interaction Toolkit
mitk::DisplayActionEventHandler Class Reference

This class simplifies the process of adding an itkEventObject-itkCommand pair as an observer of a DisplayActionEventBroadcast instance. The 'SetObservableBroadcast'-function can be used to define the broadcast instance that should be observed. The 'ConnectDisplayActionEvent'-function can be used to add a an observer to the broadcast. Such an observer consists of a DisplayActionEvent (an itkEventObject) and a StdFunctionCommand (an itkCommand). The StdFunctionCommand is created inside the function by the given two std::functions. More...

#include <mitkDisplayActionEventHandler.h>

Inheritance diagram for mitk::DisplayActionEventHandler:
Collaboration diagram for mitk::DisplayActionEventHandler:

Public Types

using OberserverTagType = unsigned long

Public Member Functions

virtual ~DisplayActionEventHandler ()

Sets the display action event broadcast class that should be observed. This class receives events from the given broadcast class and triggers the "corresponding functions" to perform the custom actions. "Corresponding functions" are std::functions inside commands that observe the specific display action event. More...

OberserverTagType ConnectDisplayActionEvent (const DisplayActionEvent &displayActionEvent, const StdFunctionCommand::ActionFunction &actionFunction, const StdFunctionCommand::FilterFunction &filterFunction=[](const itk::EventObject &) { return true;})
Uses the given std::functions to customize a command: The display action event is used to define on which event the command should react. The display action event broadcast class member is then observed by the newly created command. A tag for the command is returned and stored in a member vector. More...

void DisconnectObserver (OberserverTagType observerTag)
Uses the given observer tag to remove the corresponding custom command as an observer of the observed display action event broadcast class. If the given tag is not contained in the member vector of observer tags, nothing happens. More...

const std::vector< OberserverTagType > & GetAllObserverTags ()

void InitActions ()
This function can be used by sub-classes to initialize a set of pre-defined DisplayActionEventFunctions and connect them to the observable broadcast member. In order to customize a sub-class behavior this function calls the virtual function InitActionsImpl. All currently connected display action events will be removed as observer from the broadcast instance. More...

Protected Member Functions

virtual void InitActionsImpl ()
Sub-classes need to implement this function to define a customized behavior for default action pre-definition. More...

Protected Attributes

std::vector< OberserverTagTypem_ObserverTags

Detailed Description

This class simplifies the process of adding an itkEventObject-itkCommand pair as an observer of a DisplayActionEventBroadcast instance. The 'SetObservableBroadcast'-function can be used to define the broadcast instance that should be observed. The 'ConnectDisplayActionEvent'-function can be used to add a an observer to the broadcast. Such an observer consists of a DisplayActionEvent (an itkEventObject) and a StdFunctionCommand (an itkCommand). The StdFunctionCommand is created inside the function by the given two std::functions.

Definition at line 33 of file mitkDisplayActionEventHandler.h.

◆ OberserverTagType

 using mitk::DisplayActionEventHandler::OberserverTagType = unsigned long

Definition at line 37 of file mitkDisplayActionEventHandler.h.

◆ ~DisplayActionEventHandler()

 virtual mitk::DisplayActionEventHandler::~DisplayActionEventHandler ( )
virtual

◆ ConnectDisplayActionEvent()

 OberserverTagType mitk::DisplayActionEventHandler::ConnectDisplayActionEvent ( const DisplayActionEvent & displayActionEvent, const StdFunctionCommand::ActionFunction & actionFunction, const StdFunctionCommand::FilterFunction & filterFunction = [](const itk::EventObject &) { return true;} )

Uses the given std::functions to customize a command: The display action event is used to define on which event the command should react. The display action event broadcast class member is then observed by the newly created command. A tag for the command is returned and stored in a member vector.

Precondition
The class' observable (the display action event broadcast) has to be set to connect display events.
Exceptions
 mitk::Exception,if the class' observable is null.
Parameters
 displayActionEvent The 'DisplayActionEvent' on which the command should react. actionFunction A custom std::Function that will be executed if the command receives the correct event. filterFunction A custom std::Function that will be checked before the execution of the action function. If the filter function is not specified, a default filter always returning 'true' will be used.
Returns
A tag to identify, receive or remove the newly created 'StdFunctionCommand'.

◆ DisconnectObserver()

 void mitk::DisplayActionEventHandler::DisconnectObserver ( OberserverTagType observerTag )

Uses the given observer tag to remove the corresponding custom command as an observer of the observed display action event broadcast class. If the given tag is not contained in the member vector of observer tags, nothing happens.

Precondition
The class' observable (the display action event broadcast) has to be set to connect display events.
Exceptions
 mitk::Exception,if the class' observable is null.
Parameters
 observerTag The tag to identify the 'StdFunctionCommand' observer.

◆ GetAllObserverTags()

 const std::vector& mitk::DisplayActionEventHandler::GetAllObserverTags ( )
inline

Definition at line 86 of file mitkDisplayActionEventHandler.h.

◆ InitActions()

 void mitk::DisplayActionEventHandler::InitActions ( )

This function can be used by sub-classes to initialize a set of pre-defined DisplayActionEventFunctions and connect them to the observable broadcast member. In order to customize a sub-class behavior this function calls the virtual function InitActionsImpl. All currently connected display action events will be removed as observer from the broadcast instance.

Precondition
The class' observable (the display action event broadcast) has to be set.
Exceptions
 mitk::Exception,if the class' observable is null.

◆ InitActionsImpl()

 virtual void mitk::DisplayActionEventHandler::InitActionsImpl ( )
inlineprotectedvirtual

Sub-classes need to implement this function to define a customized behavior for default action pre-definition.

Definition at line 106 of file mitkDisplayActionEventHandler.h.

Sets the display action event broadcast class that should be observed. This class receives events from the given broadcast class and triggers the "corresponding functions" to perform the custom actions. "Corresponding functions" are std::functions inside commands that observe the specific display action event.

Postcondition
If a different broadcast class was already set, the observing commands are removed as observer. Attention: All registered commands are removed from the list of observer.
Parameters