CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
edm::signalslot::Signal< T > Class Template Reference

#include <Signal.h>

Public Types

typedef std::vector< slot_typeslot_list_type
 
typedef std::function< Tslot_type
 

Public Member Functions

template<typename U >
void connect (U iFunc)
 
template<typename U >
void connect_front (U iFunc)
 
template<typename... Args>
void emit (Args &&...args) const
 
template<typename... Args>
void operator() (Args &&...args) const
 
 Signal ()=default
 
slot_list_type const & slots () const
 
 ~Signal ()=default
 

Private Member Functions

const Signaloperator= (const Signal &)=delete
 
 Signal (const Signal &)=delete
 

Private Attributes

slot_list_type m_slots
 

Detailed Description

template<typename T>
class edm::signalslot::Signal< T >

Definition at line 36 of file Signal.h.

Member Typedef Documentation

template<typename T>
typedef std::vector<slot_type> edm::signalslot::Signal< T >::slot_list_type

Definition at line 41 of file Signal.h.

template<typename T>
typedef std::function<T> edm::signalslot::Signal< T >::slot_type

Definition at line 40 of file Signal.h.

Constructor & Destructor Documentation

template<typename T>
edm::signalslot::Signal< T >::Signal ( )
default
template<typename T>
edm::signalslot::Signal< T >::~Signal ( )
default
template<typename T>
edm::signalslot::Signal< T >::Signal ( const Signal< T > &  )
privatedelete

Member Function Documentation

template<typename T>
template<typename U >
void edm::signalslot::Signal< T >::connect ( iFunc)
inline

Definition at line 64 of file Signal.h.

Referenced by Vispa.Gui.ZoomableScrollArea.ZoomableScrollArea::__init__(), Vispa.Views.PropertyView.BooleanProperty::__init__(), Vispa.Gui.FindDialog.FindDialog::_addScript(), Vispa.Gui.FindDialog.FindDialog::_addStringProperty(), Vispa.Main.Application.Application::_connectSignals(), Vispa.Plugins.ConfigEditor.CodeTableView.CodeTableView::_createItem(), Vispa.Gui.BoxContentDialog.BoxContentDialog::addButton(), Vispa.Gui.ToolBoxContainer.ToolBoxContainer::addWidget(), Vispa.Views.PropertyView.PropertyView::append(), Vispa.Views.PropertyView.PropertyView::appendAddRow(), edm::ActivityRegistry::connectGlobals(), edm::ActivityRegistry::connectLocals(), Vispa.Main.Application.Application::createAction(), Vispa.Views.PropertyView.TextEditWithButtonProperty::createButton(), Vispa.Views.LineDecayView.LineDecayView::createLineDecayContainer(), Vispa.Views.PropertyView.TextEditWithButtonProperty::createLineEdit(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.PropertyView.TextEditWithButtonProperty::createTextEdit(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::filterDialog(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::find(), Vispa.Gui.PortWidget.PortWidget::mouseMoveEvent(), PrintLoadingPlugins::PrintLoadingPlugins(), Vispa.Views.PropertyView.BooleanProperty::setChecked(), Vispa.Main.SplitterTab.SplitterTab::setController(), Vispa.Plugins.Browser.BrowserTab.BrowserTab::setController(), Vispa.Views.PropertyView.BooleanProperty::setReadOnly(), Vispa.Views.PropertyView.DropDownProperty::setReadOnly(), Vispa.Views.PropertyView.TextEditWithButtonProperty::setReadOnly(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::setTab(), Vispa.Views.PropertyView.IntegerProperty::setValue(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::switchCenterView(), Vispa.Plugins.EdmBrowser.EdmBrowserTabController.EdmBrowserTabController::updateViewMenu(), Vispa.Plugins.ConfigEditor.ConfigEditorTabController.ConfigEditorTabController::updateViewMenu(), edm::ActivityRegistry::watchPostBeginJob(), edm::ActivityRegistry::watchPreBeginLumi(), edm::ActivityRegistry::watchPreBeginRun(), edm::ActivityRegistry::watchPreCloseFile(), edm::ActivityRegistry::watchPreEndLumi(), edm::ActivityRegistry::watchPreEndRun(), edm::ActivityRegistry::watchPreModule(), edm::ActivityRegistry::watchPreModuleBeginJob(), edm::ActivityRegistry::watchPreModuleBeginLumi(), edm::ActivityRegistry::watchPreModuleBeginRun(), edm::ActivityRegistry::watchPreModuleConstruction(), edm::ActivityRegistry::watchPreModuleEndJob(), edm::ActivityRegistry::watchPreModuleEndLumi(), edm::ActivityRegistry::watchPreModuleEndRun(), edm::ActivityRegistry::watchPreOpenFile(), edm::ActivityRegistry::watchPrePathBeginLumi(), edm::ActivityRegistry::watchPrePathBeginRun(), edm::ActivityRegistry::watchPrePathEndLumi(), edm::ActivityRegistry::watchPrePathEndRun(), edm::ActivityRegistry::watchPreProcessEvent(), edm::ActivityRegistry::watchPreProcessPath(), edm::ActivityRegistry::watchPreSource(), edm::ActivityRegistry::watchPreSourceConstruction(), edm::ActivityRegistry::watchPreSourceLumi(), and edm::ActivityRegistry::watchPreSourceRun().

64  {
65  m_slots.push_back(std::function<T>(iFunc));
66  }
slot_list_type m_slots
Definition: Signal.h:79
template<typename T>
template<typename U >
void edm::signalslot::Signal< T >::connect_front ( iFunc)
inline

Definition at line 69 of file Signal.h.

Referenced by edm::ActivityRegistry::watchJobFailure(), edm::ActivityRegistry::watchPostBeginLumi(), edm::ActivityRegistry::watchPostBeginRun(), edm::ActivityRegistry::watchPostCloseFile(), edm::ActivityRegistry::watchPostEndJob(), edm::ActivityRegistry::watchPostEndLumi(), edm::ActivityRegistry::watchPostEndRun(), edm::ActivityRegistry::watchPostForkReacquireResources(), edm::ActivityRegistry::watchPostModule(), edm::ActivityRegistry::watchPostModuleBeginJob(), edm::ActivityRegistry::watchPostModuleBeginLumi(), edm::ActivityRegistry::watchPostModuleBeginRun(), edm::ActivityRegistry::watchPostModuleConstruction(), edm::ActivityRegistry::watchPostModuleEndJob(), edm::ActivityRegistry::watchPostModuleEndLumi(), edm::ActivityRegistry::watchPostModuleEndRun(), edm::ActivityRegistry::watchPostOpenFile(), edm::ActivityRegistry::watchPostPathBeginLumi(), edm::ActivityRegistry::watchPostPathBeginRun(), edm::ActivityRegistry::watchPostPathEndLumi(), edm::ActivityRegistry::watchPostPathEndRun(), edm::ActivityRegistry::watchPostProcessEvent(), edm::ActivityRegistry::watchPostProcessPath(), edm::ActivityRegistry::watchPostSource(), edm::ActivityRegistry::watchPostSourceConstruction(), edm::ActivityRegistry::watchPostSourceLumi(), edm::ActivityRegistry::watchPostSourceRun(), and edm::ActivityRegistry::watchPreForkReleaseResources().

69  {
70  m_slots.insert(m_slots.begin(),std::function<T>(iFunc));
71  }
slot_list_type m_slots
Definition: Signal.h:79
template<typename T>
template<typename... Args>
void edm::signalslot::Signal< T >::emit ( Args &&...  args) const
inline

Definition at line 48 of file Signal.h.

Referenced by Vispa.Share.ThreadChain.ThreadChain::addCommand(), Vispa.Views.PropertyView.PropertyView::addProperty(), Vispa.Gui.BoxContentDialog.BoxContentDialog::apply(), Vispa.Plugins.ConfigEditor.CodeTableView.CodeTableView::applyButtonClicked(), Vispa.Views.LineDecayView.LineDecayContainer::autolayoutPostprocess(), Vispa.Gui.WidgetContainer.WidgetContainer::autosize(), Vispa.Gui.PortConnection.PointToPointConnection::delete(), Vispa.Gui.VispaWidget.VispaWidget::delete(), Vispa.Views.WidgetView.WidgetView::deselectAllWidgets(), Vispa.Main.MainWindow.MainWindow::event(), Vispa.Gui.FindDialog.FindDialog::filter(), Vispa.Gui.FindDialog.FindDialog::findNext(), Vispa.Gui.FindDialog.FindDialog::findPrevious(), Vispa.Views.PropertyView.TextEdit::focusOutEvent(), Vispa.Plugins.ConfigEditor.CodeTableView.CodeTableView::importButtonClicked(), Vispa.Views.TreeView.TreeView::itemSelectionChanged(), Vispa.Views.TableView.TableView::itemSelectionChanged(), Vispa.Views.PropertyView.ComboBoxReturn::keyPressEvent(), Vispa.Plugins.ConfigEditor.CodeTableView.CodeTableView::keyPressEvent(), Vispa.Gui.PortConnection.PointToPointConnection::keyPressEvent(), Vispa.Gui.VispaWidget.VispaWidget::keyPressEvent(), Vispa.Views.LineDecayView.ParticleWidget::mouseDoubleClickEvent(), Vispa.Gui.Header.Header::mousePressEvent(), Vispa.Views.AbstractView.NoneView::mousePressEvent(), Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget::mousePressEvent(), Vispa.Views.WidgetView.WidgetView::mousePressEvent(), Vispa.Views.TreeView.TreeView::mousePressEvent(), Vispa.Views.RootCanvasView.RootCanvasView::mousePressEvent(), Vispa.Views.TableView.TableView::mousePressEvent(), Vispa.Views.LineDecayView.ParticleWidget::mousePressEvent(), Vispa.Gui.VispaWidget.VispaWidget::mouseReleaseEvent(), Vispa.Plugins.EventBrowser.EventBrowserTabController.EventBrowserTabController::navigate(), Vispa.Views.LineDecayView.LineDecayView::onSelected(), edm::signalslot::Signal< void(const std::string &, const std::string &)>::operator()(), Vispa.Plugins.ConfigEditor.CodeTableView.CodeTableView::removeButtonClicked(), Vispa.Views.PropertyView.PropertyView::removeProperty(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Share.ThreadChain.ThreadChain::run(), Vispa.Gui.ZoomableScrollArea.ZoomableScrollArea::setZoom(), Vispa.Views.BoxDecayView.BoxDecayView::toggleCollapsed(), Vispa.Views.PropertyView.PropertyView::valueChanged(), Vispa.Views.PropertyView.TextEditWithButtonProperty::valueChanged(), Vispa.Gui.ZoomableScrollArea.ZoomableScrollArea::wheelEvent(), Vispa.Views.WidgetView.WidgetView::widgetDoubleClicked(), and Vispa.Views.WidgetView.WidgetView::widgetSelected().

48  {
49  for(auto& slot:m_slots) {
50  slot(std::forward<Args>(args)...);
51  }
52  }
slot_list_type m_slots
Definition: Signal.h:79
template<typename T>
template<typename... Args>
void edm::signalslot::Signal< T >::operator() ( Args &&...  args) const
inline

Definition at line 55 of file Signal.h.

55  {
56  emit(std::forward<Args>(args)...);
57  }
void emit(Args &&...args) const
Definition: Signal.h:48
template<typename T>
const Signal& edm::signalslot::Signal< T >::operator= ( const Signal< T > &  )
privatedelete
template<typename T>
slot_list_type const& edm::signalslot::Signal< T >::slots ( ) const
inline

Definition at line 59 of file Signal.h.

59 {return m_slots;}
slot_list_type m_slots
Definition: Signal.h:79

Member Data Documentation

template<typename T>
slot_list_type edm::signalslot::Signal< T >::m_slots
private