// Version: $Id: 0ee77ced39ec7697deb6655e2b4cf0d2c64f1752 $ // // // Commentary: // // // Change Log: // // // Code: #pragma once #include "dtkComposerTransmitter_p.h" #include "dtkComposerTransmitterHandler.h" // ///////////////////////////////////////////////////////////////// // dtkComposerTransmitterEmitterBase // ///////////////////////////////////////////////////////////////// inline bool dtkComposerTransmitterEmitterBase::enableCopy(void) { return (d->receivers.count() > 1); } // ///////////////////////////////////////////////////////////////// // dtkComposerTransmitterEmitterVariant template implementation // ///////////////////////////////////////////////////////////////// inline void dtkComposerTransmitterEmitterVariant::setVariant(const QVariant& variant) { d->variant = variant; } template inline void dtkComposerTransmitterEmitterVariant::setData(const T& data) { d->variant.setValue(const_cast(data)); } template inline void dtkComposerTransmitterEmitterVariant::setData(T& data) { d->variant.setValue(data); } // ///////////////////////////////////////////////////////////////// // dtkComposerTransmitterEmitter implementation // ///////////////////////////////////////////////////////////////// //! Constructs an empty emitter. /*! * Initialize the type of the emitter and the variant that it contains. */ template inline dtkComposerTransmitterEmitter::dtkComposerTransmitterEmitter(dtkComposerNode *parent) : dtkComposerTransmitterEmitterBase(parent) { dtkComposerTransmitterHandler::init(*this); }; //! Destroys the emitter. /*! * */ template inline dtkComposerTransmitterEmitter::~dtkComposerTransmitterEmitter(void) { }; template inline void dtkComposerTransmitterEmitter::setData(const T& data) { d->variant.setValue(const_cast(data)); } template inline void dtkComposerTransmitterEmitter::setData(T& data) { d->variant.setValue(data); } template inline int dtkComposerTransmitterEmitter::type(void) const { return d->type_list.first(); } template inline bool dtkComposerTransmitterEmitter::enableConnection(dtkComposerTransmitter *transmitter) { return dtkComposerTransmitterHandler::enableConnection(*transmitter); } // // dtkComposerTransmitterEmitter.tpp ends here