Krita Source Code Documentation
Loading...
Searching...
No Matches
SignalToFunctionProxy Class Reference

#include <kis_signal_compressor_with_param.h>

+ Inheritance diagram for SignalToFunctionProxy:

Public Types

using TrivialFunction = std::function<void ()>
 

Public Slots

void start ()
 

Public Member Functions

 SignalToFunctionProxy (TrivialFunction function)
 

Private Attributes

TrivialFunction m_function
 

Detailed Description

A special class that converts a Qt signal into a std::function call.

Usage:

   \code{.cpp}

   std::function<void ()> destinationFunctionCall(std::bind(someNiceFunc, firstParam, secondParam));
   SignalToFunctionProxy proxy(destinationFunctionCall);
   connect(srcObject, SIGNAL(sigSomethingChanged()), &proxy, SLOT(start()));

   \endcode

Now every time sigSomethingChanged() is emitted, someNiceFunc is called. std::bind allows us to call any method of any class without changing signature of the class or creating special wrappers.

Definition at line 31 of file kis_signal_compressor_with_param.h.

Member Typedef Documentation

◆ TrivialFunction

using SignalToFunctionProxy::TrivialFunction = std::function<void ()>

Definition at line 35 of file kis_signal_compressor_with_param.h.

Constructor & Destructor Documentation

◆ SignalToFunctionProxy()

SignalToFunctionProxy::SignalToFunctionProxy ( TrivialFunction function)
inline

Definition at line 38 of file kis_signal_compressor_with_param.h.

39 : m_function(function)
40 {
41 }

Member Function Documentation

◆ start

void SignalToFunctionProxy::start ( )
inlineslot

Definition at line 44 of file kis_signal_compressor_with_param.h.

44 {
45 m_function();
46 }

Member Data Documentation

◆ m_function

TrivialFunction SignalToFunctionProxy::m_function
private

Definition at line 49 of file kis_signal_compressor_with_param.h.


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